get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/17909/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 17909,
    "url": "http://patches.dpdk.org/api/patches/17909/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1481636232-2300-6-git-send-email-shreyansh.jain@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1481636232-2300-6-git-send-email-shreyansh.jain@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1481636232-2300-6-git-send-email-shreyansh.jain@nxp.com",
    "date": "2016-12-13T13:37:05",
    "name": "[dpdk-dev,v2,05/12] eal: integrate bus scan and probe with EAL",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "bc8eb0fb778f021af6615cff85bd2ccd4da80fe2",
    "submitter": {
        "id": 497,
        "url": "http://patches.dpdk.org/api/people/497/?format=api",
        "name": "Shreyansh Jain",
        "email": "shreyansh.jain@nxp.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1481636232-2300-6-git-send-email-shreyansh.jain@nxp.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/17909/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/17909/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 018515591;\n\tTue, 13 Dec 2016 14:35:19 +0100 (CET)",
            "from NAM01-BN3-obe.outbound.protection.outlook.com\n\t(mail-bn3nam01on0050.outbound.protection.outlook.com [104.47.33.50])\n\tby dpdk.org (Postfix) with ESMTP id CB3072A5D\n\tfor <dev@dpdk.org>; Tue, 13 Dec 2016 14:34:59 +0100 (CET)",
            "from BN3PR0301CA0071.namprd03.prod.outlook.com (10.160.152.167) by\n\tCY4PR03MB2471.namprd03.prod.outlook.com (10.168.165.7) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.761.9; Tue, 13 Dec 2016 13:34:58 +0000",
            "from BN1AFFO11FD018.protection.gbl (2a01:111:f400:7c10::135) by\n\tBN3PR0301CA0071.outlook.office365.com (2a01:111:e400:401e::39) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8 via\n\tFrontend Transport; Tue, 13 Dec 2016 13:34:58 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBN1AFFO11FD018.mail.protection.outlook.com (10.58.52.78) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.761.6\n\tvia Frontend Transport; Tue, 13 Dec 2016 13:34:57 +0000",
            "from Tophie.ap.freescale.net ([10.232.14.87])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tuBDDYRw9005048; Tue, 13 Dec 2016 06:34:54 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)\n\theader.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com;\n\tnxp.com; \n\tdkim=none (message not signed) header.d=none;",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "X-IncomingTopHeaderMarker": "OriginalChecksum:; UpperCasedChecksum:;\n\tSizeAsReceived:805; Count:10",
        "From": "Shreyansh Jain <shreyansh.jain@nxp.com>",
        "To": "<dev@dpdk.org>, <david.marchand@6wind.com>",
        "CC": "<thomas.monjalon@6wind.com>, <ferruh.yigit@intel.com>,\n\t<jianbo.liu@linaro.org>, Shreyansh Jain <shreyansh.jain@nxp.com>",
        "Date": "Tue, 13 Dec 2016 19:07:05 +0530",
        "Message-ID": "<1481636232-2300-6-git-send-email-shreyansh.jain@nxp.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1481636232-2300-1-git-send-email-shreyansh.jain@nxp.com>",
        "References": "<1480846288-2517-1-git-send-email-shreyansh.jain@nxp.com>\n\t<1481636232-2300-1-git-send-email-shreyansh.jain@nxp.com>",
        "X-IncomingHeaderCount": "10",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131261096981339439;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(7916002)(39400400002)(39840400002)(39860400002)(39450400003)(39410400002)(39380400002)(39850400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(104016004)(36756003)(47776003)(5660300001)(85426001)(626004)(2950100002)(575784001)(6666003)(5890100001)(86362001)(50226002)(8936002)(50986999)(106466001)(305945005)(356003)(76176999)(105606002)(50466002)(48376002)(77096006)(81166006)(68736007)(92566002)(81156014)(8676002)(8666005)(5003940100001)(33646002)(38730400001)(189998001)(5001770100001)(97736004)(4326007)(2906002)(7059030)(2101003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB2471;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN1AFFO11FD018;\n\t1:ztEQ38gaomRYCab6XVvT4ioiQObMVGGhPsZGkct2z3aAjMz/PqHe6y7eEyVYDk4Dh8RLHFwXdi43WWKJfFqfNxE6wGi1p4QF6KgymQLcJWy8Mvym9pp1TKPIVYUeqo3cx2vkskqcnDNbDxaNIUyaW4QeReXnDg4bzdyQUrpEPJ7tGYNJH2mos605hSLV3zgRFzVX72UIYJU5B6d+Gzj5Yiqwa+1boKLI4qLPLUObkGwIjZ4rRSQcU66uIT2fQaksykQa/226924f6JrBXi1zb0tTR0MZeqy0WeCGwiTctXZ61OE4mh6gn70FUkCc4KeF9smRwfguVdO0fJbbd5aKbiyQdWmmu62bpiUHlW6bonuDgfMWOwbs+sgjv2Hn953at8+ZPckB9evywT2gI7NkvGEPBS3VaNAJUm17xP1r37+lxC8j7zKJPGu2UO6H08b364/Jv8WVlOPUJ/QufKx/Wj/xk+fd26HkNgHyKnSD+WgqCmpeVTeezHfjOLyqEJ7oveVE9kgYNfDkSHWSl44YuAYqULNQruSl54Rod/Bc8Si+7A7UPktDmZdp2lFR7GLZOHhOkR6YXPN44JMINzIqTVHZ/tgAORf3mMXLCE+KaGgmmWx3sCKLyBqFtWwgUhbYspJzlZYUzcbn6WuuYUoxuTIRDMJg0fF9A/uHABxTtm0kAR43hz4ennUOxYLHw0LLHxRODZMUnXylo8SGkUq+EBV4lMsa9IXNYyEdHsWUo2oHfwGrWwkYjg1TvkIq5535zs4UNSL7FazPhQW0MWFU8g==",
            "1; CY4PR03MB2471;\n\t3:oTVH6bvb7ZJxx1omcLEOaRbCIjE8CoMC06vbN6Ob3t/0+rSN71LFWgmRehuGMcoQ+WOqxkCIfXFvJTv0WcgQ+HnzY5V20M/4w0r6z90PCJ6mEbm21GOC0aXVJK/3+crGj5wbeuMZanVe3hFHFvhambSle/7OzFlghjus/ar3kHXrwYFYzjgO5/yS98Mm4Xb2UVmKbjvJau7pJEAaA01okb157qO3+TKtkxgxbMFSJgLaw2BH1Y/u0E8tpUS4NDQNAUtwWUiyJuUn7omgv80IVtK04Be9LAf69pzHIcdintjf8ONVcit+J1WhvEdB/SVXj3qq/IX/XRIOC1b5qMg7Wj9K/0RGDz8erWlmpX9cl6zq2VEg+edVJvlk3HfhpZIy;\n\t25:MA6li5VgbrvcCCXQ8opkf9XOr9KSclLWob+40D1wdWuq4ETlUyyWGDw78lIQNTa+Rjt9LYq4cajZ7v30jBi7jukb742Uj8Al2XV7wlhpNiEi0Ku+gCvDEokPxfucyQDObiOWWtHRNprqmM0FByMKs/GsQGxdYZt1IqL6qaYT4KxpNyLMEXLYV7duC+T3hm0N3q8WAzk1tOT0hTb6lRZpLVLvuPhEqs1cCaeuIhEtk+/pJIovWqG3QOV6Gp13a64wxj597xR3fu01B6xgdOKWNYXundWq44Z1WyIxQV40EoyEsvw7xmwLbX+RDIQUbu4WqDK+8Coah+0qnFIKmQ4wCRHWgq/6dQZAJASF+PrkkiPRVsPnlR16GlX22FBxcNf80D9BnefHwykiplhTM6XdLW4RkSBlCkJPW2g5rRVx2MNChupnaKQIR8CmuDQEh6rmNl6Ywe50pwPyZYVZQAOgWA==",
            "1; CY4PR03MB2471;\n\t31:g/r/66IO46+mS5ea1ecUze7kKJ9zGfaQOBUqchvYLFmkI7Su/i8g1pKu6I4XCPus/0cQjPpOAjqUntXwHMD0oleAHMWCKOVY+n8LNmoAdx0N9qyKycP6g2dbg5jGne5RXwZQUYwMCQa4kHIjsgwP4SPXfdaDMhn73E13QxZhByAjZNknG6YjYJWlZjdfuLyLSBEEtvRo7O0637TcTrOPYXozcsK9KOZqBHew3MuTIG9Lb/fDRtkxdmWK108MSfnYF53GUsZHVg9sOL7QeEW/m7NkB2ZyZadoP7bu4fJ/QH4=",
            "1; CY4PR03MB2471;\n\t4:vB08Y6qFaOarlFNB3WdLyXM/Jz4pRURhDkS1cFmEyYoKuM1CqBdr3olTvX1UySrSXpdfcL+Ivtwu5FD5mLBnzQtsxyycRd8xASUXE4R2fxlA9FCkTk92D9SYLNEsvMr521CzNo7SpmnIqokGEkWchr6/gmGtmE/YrdPJSXuSPjkxtNWTCj5yrxCRMyNIIfjr85STfcCkNm8xxVARWzz/3VWM03BWORbwzRaw+yXbs+H6Rs6gusUSD0H0Su7+cMg+8jROzQeXRVmwaQHf3E06sQgku3nEkzZS3KHFH7XqJbhew/EXWkdZtMnTl3hvJg+KX1hG7b+bVBcG+IR7Xs0tkJ3cG82XUJjZ9IAWi2sleX8tKJdtSOxapwzjTZguq/a/4G4gsvOsjFTZAx5qdP8aS3ooihfrWmE693VVfqN5V6k0kXhmgh1V9yuJtkWsABz11VhwHX4ktc2UlM2x7CgaYz3Stjde00HBP9KSJ38iEjg7fqyW9Nk5BhEw5f/6ScTlCyJX35wcsdNIw1JaLagsTQrj8sjFLffqU/g0dZ9oxXBar1xW7lrbRXQck1u0jfrQTiP3sbX45pFATDU8V1Vzrl/gGPAURk4kpAdCMx4WhQSFKyqaz6DWOyvtacoU+XiBTysW3fOuoR2vqurjDUkEgiP7tbpp6Ja3MTL4OXeXOEfJWs51dW4JJy/BeqtoXMIqW7zDxlLWbIsVXrRYxN7IFvPfJp0RYIOGFz0Q6YSGBrkEp8CfLfd7DD/aai9+lsQx",
            "=?us-ascii?Q?1; CY4PR03MB2471;\n\t23:pScgDLlx2B+Y0yU8QshcHF5Gt9c00tyKATPFJdLWF?=\n\tXWE2Cd40Xl8biIWCBC5lJL3+CillxExJv95v76/GuIeLeAa/CCY2t42QjG5adapE/O83b8eU7ZvsuTexqCIB94aeC1WHnIoPqQ7tfOzm+jMjjqGTsRpLVOkrt93EvC6+w6kIwehJfjmoFDr3Tv9uIr8WJszUbYcqutKTzW0fMr/Q9m2WTDRfqA3n0zDX1Ox4kMg8rxm068Z1U/MP3Lh1vEDdqJmhDj4JycLa645oH9AtZQ2QkfMyLTA93KzaZ70QBwGhnNlXwGAdaqoQV+HWnn/GX/IEjvKOmM45rKLG3VXH/+jxxLeh0vJ2lEHBzAHtbjnRBzlwSOBvEXjZiVTVjBRNRJXRqk/jXAlgz47F5D1GyX/9LXodmiCbp2FfpMgqIvqedBF0asbZ2zNj2zwRtANGA/8I02jtz8JkdduBjNMTF0eYlROQ2uRtuW7xp7ADhsTvhXVW0eNNlcRvdf3bL9v9oDPtKynd8tBYOQbM/o0kRUzEBLCs7/BHt629wqV10fwWeGRHtcE4WEwh0+91aJ2idFGo5GmYpNy4ihJFbmjFNianEgox6/eFXMD5F9cMKBQKF0P+CNV89YxXkF9Jau+Y2hc2AYDiIzIf8eqyGQwgfCMg5cbimFN1XkvEdA0qWNXb1rD3HVWBMwSXJdxLeCQfPP9WjUW+ccizUG6tgd9yAaxEiOhIAseVmt7WgyaxCx1S6ete2X9v5qRLqDjcnzxC26HEn3QGoTh9b5ijhQ3kIVv2seozqcKygI6Oe7QcOS+fAe5D6ho+BUjYqx8YwHN6Q89Hb0OfYxAhTIA3E//NttDNACoHIVezCaCKC7uECEAtc3p1Sdy6kNh3/LIm7JWcahUw3o5x4ZfYJdNLCHPbleCZb1LY6Nsv1bBjdc6t/Hla6CJENZeP6lborxnL9YicQabKILqI9AQpyF04RS9TT+8lYr7i/7gR70R7lFJQwsgMqq+9ZC/6wIXS9Gd/PDpbJP/9ux1MS24THxYIqH0mg58Zmh+AA7s5IgQrz7pYnqpRKVQjg/loDT5i7XIchZBbHn1wMkhZQqPIAWteWZhX4Il3lEnI0CJVTZmOV26z5uHGKvJlkbsW1QV9FwUUPXWoxwnSNREX9aCvj5iBvlN0qwVUAm3RVqBwMvi/xqE4zGtTVgrwDI7J+G7tes6AAfwn1ugiKxwhXonP9Rkl0/st7UhLazDMw6VWJq4ZI76sNtiIACIDOjW/u947lsh2kQwcxPbIg65qy4KnThPmqwcnUeONu8Ci5xTSU0D5xmlkvL5AiCT+8jelvfJtFm0ZzSD",
            "1; CY4PR03MB2471;\n\t6:ddvZinpFviEqcRD5ohqnGhzp7EQFNF++OZV1xc2rSIfZFiVNt+K7KLu6lEr4NqN3Er8BXEsoDENv2bJlYcbM+uepKGbZRVpRdlo5sgXsayKpNcyyHjLbyNvAgLl4zNyBHkiOGAWbzv34Y1oiSeUvqEwUtuMoj4qQyZK0IhqODGG4fNY7x60UpINYsFLmoMyiMoFlkbZjnsAWoRYDqVp0GciBprlcnC+s5OrQ3KIAZgUznRklCJzC2uvgKOJWHCbvvn/Fky+h7XZS+GEen+bJLVlMFxbQyQ/ABWrQN6khN+P2zZ41WH/YpleMZWPeusE2yxrakowzIiki4qFn8D3MqWxSGnRwVQpfVs+tOnVpMOKdquZYdOivQl6sWXyXsuyIx3nKy0pSr0J29ponSo8aoNESFkhwNUkyvRsOlcBC8+tVZUWCY8kjLIznmaaVnd0j;\n\t5:nvwtWZvPObaLaNIU4xNnBZwJy+B5X4vStmRa9spISdC640uhkR0wrrI0awJbd4N3Tm3tSq62IIc5bVkefPLj4kpIgHxNxFmJTJuZlSx8Tl0fwqs8hs9zuE7UdONVfkedh+bP9tDDuN/csRNeBJmZoXj75rLn+Kkrhaw7DU6AEJRrllF+pdEgQJzf6eDWP5z+;\n\t24:s7DaGAnlOMcJcl/AjbJSPnG+DWj1pmAJ/kfyXK0fedltbGU4oVMSg04dGCncDRPYJXD7+eu/ss6XzJH2CTP2IIxUDGfmYbXCxn40XzkD1YY=",
            "1; CY4PR03MB2471;\n\t7:LBQKiHW5NEdVttj9CATKhsuhfOG98OSENVPiXG6yqDIb0CnIYGiDDozwBpLR0uiSLt7ODNVMAPTHRq7LxKiLMv9B1nKvVzNVTQCWc/wtWIt6lL0yI15/kGW5nq+H9lrIoNxxYoEnowvchmps93Fgq13/5q/9XZs9iPutouA7IV2TJgjYNAc/xLgT04pwoFtLajEzYjfqaseVwh+n7YdSj+/+8YaOrZfFIiCfDRB0WzGwLHf/H3PmWbo1Z7+qybm1M6OQCi+ipSyorAD2ElMyS9irnFGlIAavL7wO6BpxGcfw+5CJcMy9e2bN4nRjs1eB3IsiNqBDyL9tYuY98zk9tN8ipHllijPZ+VEMR6wrmORwIBKCw8e/MyXAxYNQYlZhdxJdDrutEAFqyIFbYrP0e0LuHTENtq5THGKDMwFFYjddJOCJz02OahRL0qUG+fE5L7LY2JcYY5JQsZeI85qfdQ=="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "3b899601-37a4-4e22-3bcf-08d4235cd4db",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:CY4PR03MB2471; ",
        "X-Microsoft-Antispam-PRVS": "<CY4PR03MB2471D84F09BC8CEA3A3941F5909B0@CY4PR03MB2471.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6095060)(601004)(2401047)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123556025)(20161123561025)(20161123563025)(20161123565025)(20161123559025);\n\tSRVR:CY4PR03MB2471; BCL:0; PCL:0; RULEID:(400006); SRVR:CY4PR03MB2471;",
        "X-Forefront-PRVS": "01559F388D",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "13 Dec 2016 13:34:57.9311\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CY4PR03MB2471",
        "Subject": "[dpdk-dev] [PATCH v2 05/12] eal: integrate bus scan and probe with\n\tEAL",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Still a dummy implementation as no real bus driver exists. This adds calls\nfrom EAL to bus specific scan, match functions.\nOnce driver->probe is in place, and a bus handler has been installed,\nthe code would become effective.\n\nSigned-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>\n---\n lib/librte_eal/bsdapp/eal/eal.c         |  7 +++++++\n lib/librte_eal/common/eal_common_bus.c  | 30 ++++++++++++++++++++++++++++++\n lib/librte_eal/common/include/rte_bus.h | 19 +++++++++++++++++++\n lib/librte_eal/linuxapp/eal/eal.c       |  7 +++++++\n 4 files changed, 63 insertions(+)",
    "diff": "diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c\nindex 35e3117..30afc6b 100644\n--- a/lib/librte_eal/bsdapp/eal/eal.c\n+++ b/lib/librte_eal/bsdapp/eal/eal.c\n@@ -64,6 +64,7 @@\n #include <rte_string_fns.h>\n #include <rte_cpuflags.h>\n #include <rte_interrupts.h>\n+#include <rte_bus.h>\n #include <rte_pci.h>\n #include <rte_dev.h>\n #include <rte_devargs.h>\n@@ -580,6 +581,9 @@ rte_eal_init(int argc, char **argv)\n \tif (rte_eal_dev_init() < 0)\n \t\trte_panic(\"Cannot init pmd devices\\n\");\n \n+\tif (rte_eal_bus_scan())\n+\t\trte_panic(\"Cannot scan the buses for devices\\n\");\n+\n \tRTE_LCORE_FOREACH_SLAVE(i) {\n \n \t\t/*\n@@ -616,6 +620,9 @@ rte_eal_init(int argc, char **argv)\n \tif (rte_eal_pci_probe())\n \t\trte_panic(\"Cannot probe PCI\\n\");\n \n+\tif (rte_eal_bus_probe())\n+\t\trte_panic(\"Cannot probe devices\\n\");\n+\n \trte_eal_mcfg_complete();\n \n \treturn fctret;\ndiff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c\nindex 3be9c77..67b808b 100644\n--- a/lib/librte_eal/common/eal_common_bus.c\n+++ b/lib/librte_eal/common/eal_common_bus.c\n@@ -173,6 +173,36 @@ rte_eal_bus_unregister(struct rte_bus *bus)\n \tRTE_LOG(INFO, EAL, \"Unregistered [%s] bus.\\n\", bus->name);\n }\n \n+/* Scan all the buses for registering devices */\n+int\n+rte_eal_bus_scan(void)\n+{\n+\tint ret;\n+\tstruct rte_bus *bus = NULL;\n+\n+\tTAILQ_FOREACH(bus, &rte_bus_list, next) {\n+\t\tret = bus->scan(bus);\n+\t\tif (ret) {\n+\t\t\tRTE_LOG(ERR, EAL, \"Scan for (%s) bus failed.\\n\",\n+\t\t\t\tbus->name);\n+\t\t\t/* TODO: Should error on a particular bus block scan\n+\t\t\t * for all others?\n+\t\t\t */\n+\t\t\treturn ret;\n+\t\t}\n+\t}\n+\n+\treturn 0;\n+}\n+\n+/* Match driver<->device and call driver->probe() */\n+int\n+rte_eal_bus_probe(void)\n+{\n+\t/* Until driver->probe is available, this is dummy implementation */\n+\treturn 0;\n+}\n+\n /* dump one bus info */\n static int\n bus_dump_one(FILE *f, struct rte_bus *bus)\ndiff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/common/include/rte_bus.h\nindex d1bd2e8..9bd8650 100644\n--- a/lib/librte_eal/common/include/rte_bus.h\n+++ b/lib/librte_eal/common/include/rte_bus.h\n@@ -209,6 +209,25 @@ void rte_eal_bus_unregister(struct rte_bus *bus);\n  */\n struct rte_bus *rte_eal_get_bus(const char *bus_name);\n \n+/** @internal\n+ * Scan all the buses attached to the framework.\n+ *\n+ * @param void\n+ * @return void\n+ */\n+int rte_eal_bus_scan(void);\n+\n+/** @internal\n+ * For each device on the bus, perform a driver 'match' and call the\n+ * driver's probe for device initialization.\n+ *\n+ * @param void\n+ * @return\n+ *\t0 for successful match/probe\n+ *\t!0 otherwise\n+ */\n+int rte_eal_bus_probe(void);\n+\n /**\n  * Dump information of all the buses registered with EAL.\n  *\ndiff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c\nindex 2075282..01d0cee 100644\n--- a/lib/librte_eal/linuxapp/eal/eal.c\n+++ b/lib/librte_eal/linuxapp/eal/eal.c\n@@ -69,6 +69,7 @@\n #include <rte_string_fns.h>\n #include <rte_cpuflags.h>\n #include <rte_interrupts.h>\n+#include <rte_bus.h>\n #include <rte_pci.h>\n #include <rte_dev.h>\n #include <rte_devargs.h>\n@@ -847,6 +848,9 @@ rte_eal_init(int argc, char **argv)\n \tif (rte_eal_intr_init() < 0)\n \t\trte_panic(\"Cannot init interrupt-handling thread\\n\");\n \n+\tif (rte_eal_bus_scan())\n+\t\trte_panic(\"Cannot scan the buses for devices\\n\");\n+\n \tRTE_LCORE_FOREACH_SLAVE(i) {\n \n \t\t/*\n@@ -887,6 +891,9 @@ rte_eal_init(int argc, char **argv)\n \tif (rte_eal_pci_probe())\n \t\trte_panic(\"Cannot probe PCI\\n\");\n \n+\tif (rte_eal_bus_probe())\n+\t\trte_panic(\"Cannot probe devices\\n\");\n+\n \trte_eal_mcfg_complete();\n \n \treturn fctret;\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "05/12"
    ]
}