get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 958760,
    "url": "http://patchwork.ozlabs.org/api/patches/958760/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20180817102645.3839621-6-arnd@arndb.de/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/",
        "list_archive_url": "https://lore.kernel.org/linuxppc-dev/",
        "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/",
        "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"
    },
    "msgid": "<20180817102645.3839621-6-arnd@arndb.de>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20180817102645.3839621-6-arnd@arndb.de/",
    "date": "2018-08-17T10:26:35",
    "name": "[RFC,05/15] PCI: move pci_create_root_bus into callers",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "675865506aa3cd8d77ecd87331c246e7105f5b10",
    "submitter": {
        "id": 30,
        "url": "http://patchwork.ozlabs.org/api/people/30/?format=api",
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20180817102645.3839621-6-arnd@arndb.de/mbox/",
    "series": [
        {
            "id": 61229,
            "url": "http://patchwork.ozlabs.org/api/series/61229/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=61229",
            "date": "2018-08-17T10:26:32",
            "name": "PCI: turn some __weak functions into callbacks",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/61229/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/958760/comments/",
    "check": "warning",
    "checks": "http://patchwork.ozlabs.org/api/patches/958760/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 41sKlw0SYBz9ryn\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 17 Aug 2018 20:52:28 +1000 (AEST)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 41sKlv6KSczF0ph\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 17 Aug 2018 20:52:27 +1000 (AEST)",
            "from mout.kundenserver.de (mout.kundenserver.de [212.227.17.10])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 41sKKW4LFrzF0kx\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tFri, 17 Aug 2018 20:33:03 +1000 (AEST)",
            "from wuerfel.lan ([109.193.40.16]) by mrelayeu.kundenserver.de\n\t(mreue101 [212.227.15.145]) with ESMTPA (Nemesis) id\n\t0M40t0-1g7af110mg-00rZtP; Fri, 17 Aug 2018 12:27:17 +0200"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=arndb.de",
            "lists.ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=arndb.de",
            "lists.ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=arndb.de\n\t(client-ip=212.227.17.10; helo=mout.kundenserver.de;\n\tenvelope-from=arnd@arndb.de; receiver=<UNKNOWN>)",
            "lists.ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=arndb.de"
        ],
        "From": "Arnd Bergmann <arnd@arndb.de>",
        "To": "linux-pci@vger.kernel.org,\n\tBjorn Helgaas <bhelgaas@google.com>",
        "Subject": "[RFC 05/15] PCI: move pci_create_root_bus into callers",
        "Date": "Fri, 17 Aug 2018 12:26:35 +0200",
        "Message-Id": "<20180817102645.3839621-6-arnd@arndb.de>",
        "X-Mailer": "git-send-email 2.18.0",
        "In-Reply-To": "<20180817102645.3839621-1-arnd@arndb.de>",
        "References": "<20180817102645.3839621-1-arnd@arndb.de>",
        "X-Provags-ID": "V03:K1:vNkQe7G80rrJcSh/6xIdR1XKwwCej6w5is+lloFStD924Tqfn0L\n\tyGVewaIh1+4Vgki1oP1wIOx6XkkD8GqaEGxmZE/7FaVmqAKP6giye+TP/hkfc6OKPffr61n\n\tBKj4FMOs1JjhhEoTVwABpSAUn4IGk9rSZ4N6mT4NrMHQ6maNd+haxnEQ2CqoGVIgcApxPg0\n\tJhwKxIDMDp3jSLLSD7sug==",
        "X-UI-Out-Filterresults": "notjunk:1; V01:K0:/zf2tNgXlnM=:vYWFeFSOmdZ5gdseNRCLWT\n\ti/38cE+419ghJALH+b4shgekXlfB3l/lyYqFzkBYpk9XmpRYDe1SAcyB2/7sX4E6THtoX5YGg\n\t3UL2hOoC7NYoo60j3LQQXdbXv2wOnxAzROhUls4qj3CamvDJLJDbwRdeSn0QH9SsiqTpGgelH\n\tGzy0IYO3oqpPNs1KC2O9zeH583JjyJm6Z0ty6Yjyjk0TFXjkX5iftelTc3WMtZWHJfTVFRvJd\n\taMIC2skS2wiq7IzuXWn95COMEOnvs/s3lUuB/2O26VNdgsAuH7fVjsb2hkEGVPH+h6hXYOXvV\n\toJA7VXdm4fK4PZu38fFVIYGK+VI5UcCFRmlNCApoxCO4oEHAEixGBc+udgJXrGMvxp7gQ7u2/\n\tXw0/gK4GBpUe2hJo+op2zDRyOi9vUAN3oGlLkrbnXhttYNYsWCAXy0ssTEJoIazkGhTi/IoHi\n\t2Ss32My9qNM1qQy2O1YkTpsdUBgHcKZttrFGlE4+OHUMIMWw7UTSXnwQOff+Lb5ZqTx8hMwsB\n\tjBZEUmEAAzOBoocfjwBvnL2JLcn4UVMyLgRVHrAHNedrLJQQiojNE1+rIbZ7AN5v8l6P/6Md8\n\tyTynijlr/KnWIsRfMdAdDGyPQE2rh/Oe0Ta5tY6pbpDDWWwPgZzXsJXvYlwgvtciince2wQNV\n\tFWM52JZHr+YPhiilnVR5soZXKmyzh3inYH5QPrrs192qwdRjI+ZppcwBE56Wk5DhGooQ=",
        "X-BeenThere": "linuxppc-dev@lists.ozlabs.org",
        "X-Mailman-Version": "2.1.27",
        "Precedence": "list",
        "List-Id": "Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>",
        "List-Unsubscribe": "<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>",
        "List-Subscribe": "<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>",
        "Cc": "Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,\n\tArnd Bergmann <arnd@arndb.de>, linux-kernel@vger.kernel.org,\n\tChristoph Hellwig <hch@infradead.org>, linux-acpi@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org",
        "Errors-To": "linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org",
        "Sender": "\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"
    },
    "content": "There are only seven remaining callers of the old pci_scan_root_bus()\ninterface. Since we want to expose the pci_host_bridge structure\neverywhere and discourage users from calling the old interfaces, let's\nmove the implementation into the respective callsites.\n\nWhile this duplicates the source code, it makes the object code smaller\nfor almost all users by avoiding the global implementation, and it allows\nfurther cleanup of the callers.\n\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\n---\n arch/powerpc/kernel/pci-common.c    | 28 +++++++++++++++++++++++++++\n arch/sparc/kernel/pci.c             | 28 +++++++++++++++++++++++++++\n drivers/acpi/pci_root.c             | 30 ++++++++++++++++++++++++++++-\n drivers/parisc/dino.c               | 28 +++++++++++++++++++++++++++\n drivers/parisc/lba_pci.c            | 28 +++++++++++++++++++++++++++\n drivers/pci/controller/pci-hyperv.c | 28 +++++++++++++++++++++++++++\n drivers/pci/controller/vmd.c        | 30 ++++++++++++++++++++++++++++-\n drivers/pci/probe.c                 | 29 ----------------------------\n include/linux/pci.h                 |  3 ---\n 9 files changed, 198 insertions(+), 34 deletions(-)",
    "diff": "diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c\nindex 88e4f69a09e5..57ca621a32f4 100644\n--- a/arch/powerpc/kernel/pci-common.c\n+++ b/arch/powerpc/kernel/pci-common.c\n@@ -1587,6 +1587,34 @@ struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus)\n \treturn of_node_get(hose->dn);\n }\n \n+static struct pci_bus *pci_create_root_bus(struct device *parent, int bus,\n+\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n+{\n+\tint error;\n+\tstruct pci_host_bridge *bridge;\n+\n+\tbridge = pci_alloc_host_bridge(0);\n+\tif (!bridge)\n+\t\treturn NULL;\n+\n+\tbridge->dev.parent = parent;\n+\n+\tlist_splice_init(resources, &bridge->windows);\n+\tbridge->sysdata = sysdata;\n+\tbridge->busnr = bus;\n+\tbridge->ops = ops;\n+\n+\terror = pci_register_host_bridge(bridge);\n+\tif (error < 0)\n+\t\tgoto err_out;\n+\n+\treturn bridge->bus;\n+\n+err_out:\n+\tkfree(bridge);\n+\treturn NULL;\n+}\n+\n /**\n  * pci_scan_phb - Given a pci_controller, setup and scan the PCI bus\n  * @hose: Pointer to the PCI host controller instance structure\ndiff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c\nindex 17ea16a1337c..afbce59d9231 100644\n--- a/arch/sparc/kernel/pci.c\n+++ b/arch/sparc/kernel/pci.c\n@@ -691,6 +691,34 @@ static void pci_claim_bus_resources(struct pci_bus *bus)\n \t\tpci_claim_bus_resources(child_bus);\n }\n \n+static struct pci_bus *pci_create_root_bus(struct device *parent, int bus,\n+\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n+{\n+\tint error;\n+\tstruct pci_host_bridge *bridge;\n+\n+\tbridge = pci_alloc_host_bridge(0);\n+\tif (!bridge)\n+\t\treturn NULL;\n+\n+\tbridge->dev.parent = parent;\n+\n+\tlist_splice_init(resources, &bridge->windows);\n+\tbridge->sysdata = sysdata;\n+\tbridge->busnr = bus;\n+\tbridge->ops = ops;\n+\n+\terror = pci_register_host_bridge(bridge);\n+\tif (error < 0)\n+\t\tgoto err_out;\n+\n+\treturn bridge->bus;\n+\n+err_out:\n+\tkfree(bridge);\n+\treturn NULL;\n+}\n+\n struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,\n \t\t\t\t struct device *parent)\n {\ndiff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c\nindex 7433035ded95..85dbcf47015b 100644\n--- a/drivers/acpi/pci_root.c\n+++ b/drivers/acpi/pci_root.c\n@@ -873,6 +873,34 @@ static void acpi_pci_root_release_info(struct pci_host_bridge *bridge)\n \t__acpi_pci_root_release_info(bridge->release_data);\n }\n \n+static struct pci_bus *acpi_pci_create_root_bus(struct device *parent, int bus,\n+\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n+{\n+\tint error;\n+\tstruct pci_host_bridge *bridge;\n+\n+\tbridge = pci_alloc_host_bridge(0);\n+\tif (!bridge)\n+\t\treturn NULL;\n+\n+\tbridge->dev.parent = parent;\n+\n+\tlist_splice_init(resources, &bridge->windows);\n+\tbridge->sysdata = sysdata;\n+\tbridge->busnr = bus;\n+\tbridge->ops = ops;\n+\n+\terror = pci_register_host_bridge(bridge);\n+\tif (error < 0)\n+\t\tgoto err_out;\n+\n+\treturn bridge->bus;\n+\n+err_out:\n+\tkfree(bridge);\n+\treturn NULL;\n+}\n+\n struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root,\n \t\t\t\t     struct acpi_pci_root_ops *ops,\n \t\t\t\t     struct acpi_pci_root_info *info,\n@@ -902,7 +930,7 @@ struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root,\n \n \tpci_acpi_root_add_resources(info);\n \tpci_add_resource(&info->resources, &root->secondary);\n-\tbus = pci_create_root_bus(NULL, busnum, ops->pci_ops,\n+\tbus = acpi_pci_create_root_bus(NULL, busnum, ops->pci_ops,\n \t\t\t\t  sysdata, &info->resources);\n \tif (!bus)\n \t\tgoto out_release_info;\ndiff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c\nindex 7390fb8ca9d1..91c837de7616 100644\n--- a/drivers/parisc/dino.c\n+++ b/drivers/parisc/dino.c\n@@ -882,6 +882,34 @@ static const char *cujo_vers[] = {\n \n void ccio_cujo20_fixup(struct parisc_device *dev, u32 iovp);\n \n+static struct pci_bus *pci_create_root_bus(struct device *parent, int bus,\n+\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n+{\n+\tint error;\n+\tstruct pci_host_bridge *bridge;\n+\n+\tbridge = pci_alloc_host_bridge(0);\n+\tif (!bridge)\n+\t\treturn NULL;\n+\n+\tbridge->dev.parent = parent;\n+\n+\tlist_splice_init(resources, &bridge->windows);\n+\tbridge->sysdata = sysdata;\n+\tbridge->busnr = bus;\n+\tbridge->ops = ops;\n+\n+\terror = pci_register_host_bridge(bridge);\n+\tif (error < 0)\n+\t\tgoto err_out;\n+\n+\treturn bridge->bus;\n+\n+err_out:\n+\tkfree(bridge);\n+\treturn NULL;\n+}\n+\n /*\n ** Determine if dino should claim this chip (return 0) or not (return 1).\n ** If so, initialize the chip appropriately (card-mode vs bridge mode).\ndiff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c\nindex 69bd98421eb1..901b7f07fe91 100644\n--- a/drivers/parisc/lba_pci.c\n+++ b/drivers/parisc/lba_pci.c\n@@ -1464,6 +1464,34 @@ lba_hw_init(struct lba_device *d)\n  */\n static unsigned int lba_next_bus = 0;\n \n+static struct pci_bus *pci_create_root_bus(struct device *parent, int bus,\n+\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n+{\n+\tint error;\n+\tstruct pci_host_bridge *bridge;\n+\n+\tbridge = pci_alloc_host_bridge(0);\n+\tif (!bridge)\n+\t\treturn NULL;\n+\n+\tbridge->dev.parent = parent;\n+\n+\tlist_splice_init(resources, &bridge->windows);\n+\tbridge->sysdata = sysdata;\n+\tbridge->busnr = bus;\n+\tbridge->ops = ops;\n+\n+\terror = pci_register_host_bridge(bridge);\n+\tif (error < 0)\n+\t\tgoto err_out;\n+\n+\treturn bridge->bus;\n+\n+err_out:\n+\tkfree(bridge);\n+\treturn NULL;\n+}\n+\n /*\n  * Determine if lba should claim this chip (return 0) or not (return 1).\n  * If so, initialize the chip and tell other partners in crime they\ndiff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c\nindex c00f82cc54aa..df7cddea8e30 100644\n--- a/drivers/pci/controller/pci-hyperv.c\n+++ b/drivers/pci/controller/pci-hyperv.c\n@@ -1457,6 +1457,34 @@ static void prepopulate_bars(struct hv_pcibus_device *hbus)\n \tspin_unlock_irqrestore(&hbus->device_list_lock, flags);\n }\n \n+static struct pci_bus *pci_create_root_bus(struct device *parent, int bus,\n+\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n+{\n+\tint error;\n+\tstruct pci_host_bridge *bridge;\n+\n+\tbridge = pci_alloc_host_bridge(0);\n+\tif (!bridge)\n+\t\treturn NULL;\n+\n+\tbridge->dev.parent = parent;\n+\n+\tlist_splice_init(resources, &bridge->windows);\n+\tbridge->sysdata = sysdata;\n+\tbridge->busnr = bus;\n+\tbridge->ops = ops;\n+\n+\terror = pci_register_host_bridge(bridge);\n+\tif (error < 0)\n+\t\tgoto err_out;\n+\n+\treturn bridge->bus;\n+\n+err_out:\n+\tkfree(bridge);\n+\treturn NULL;\n+}\n+\n /**\n  * create_root_hv_pci_bus() - Expose a new root PCI bus\n  * @hbus:\tRoot PCI bus, as understood by this driver\ndiff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c\nindex fd2dbd7eed7b..311c9f6761ae 100644\n--- a/drivers/pci/controller/vmd.c\n+++ b/drivers/pci/controller/vmd.c\n@@ -579,6 +579,34 @@ static int vmd_find_free_domain(void)\n \treturn domain + 1;\n }\n \n+static struct pci_bus *vmd_create_root_bus(struct device *parent, int bus,\n+\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n+{\n+\tint error;\n+\tstruct pci_host_bridge *bridge;\n+\n+\tbridge = pci_alloc_host_bridge(0);\n+\tif (!bridge)\n+\t\treturn NULL;\n+\n+\tbridge->dev.parent = parent;\n+\n+\tlist_splice_init(resources, &bridge->windows);\n+\tbridge->sysdata = sysdata;\n+\tbridge->busnr = bus;\n+\tbridge->ops = ops;\n+\n+\terror = pci_register_host_bridge(bridge);\n+\tif (error < 0)\n+\t\tgoto err_out;\n+\n+\treturn bridge->bus;\n+\n+err_out:\n+\tkfree(bridge);\n+\treturn NULL;\n+}\n+\n static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)\n {\n \tstruct pci_sysdata *sd = &vmd->sysdata;\n@@ -705,7 +733,7 @@ static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)\n \tpci_add_resource_offset(&resources, &vmd->resources[1], offset[0]);\n \tpci_add_resource_offset(&resources, &vmd->resources[2], offset[1]);\n \n-\tvmd->bus = pci_create_root_bus(&vmd->dev->dev, busn_start, &vmd_ops,\n+\tvmd->bus = vmd_create_root_bus(&vmd->dev->dev, busn_start, &vmd_ops,\n \t\t\t\t       sd, &resources);\n \tif (!vmd->bus) {\n \t\tpci_free_resource_list(&resources);\ndiff --git a/drivers/pci/probe.c b/drivers/pci/probe.c\nindex 5ca7d5941ad0..eaedb4fe143a 100644\n--- a/drivers/pci/probe.c\n+++ b/drivers/pci/probe.c\n@@ -2909,35 +2909,6 @@ void __weak pcibios_remove_bus(struct pci_bus *bus)\n {\n }\n \n-struct pci_bus *pci_create_root_bus(struct device *parent, int bus,\n-\t\tstruct pci_ops *ops, void *sysdata, struct list_head *resources)\n-{\n-\tint error;\n-\tstruct pci_host_bridge *bridge;\n-\n-\tbridge = pci_alloc_host_bridge(0);\n-\tif (!bridge)\n-\t\treturn NULL;\n-\n-\tbridge->dev.parent = parent;\n-\n-\tlist_splice_init(resources, &bridge->windows);\n-\tbridge->sysdata = sysdata;\n-\tbridge->busnr = bus;\n-\tbridge->ops = ops;\n-\n-\terror = pci_register_host_bridge(bridge);\n-\tif (error < 0)\n-\t\tgoto err_out;\n-\n-\treturn bridge->bus;\n-\n-err_out:\n-\tkfree(bridge);\n-\treturn NULL;\n-}\n-EXPORT_SYMBOL_GPL(pci_create_root_bus);\n-\n int pci_host_probe(struct pci_host_bridge *bridge)\n {\n \tstruct pci_bus *bus, *child;\ndiff --git a/include/linux/pci.h b/include/linux/pci.h\nindex e1337148cf9f..1dd8a3ecf753 100644\n--- a/include/linux/pci.h\n+++ b/include/linux/pci.h\n@@ -905,9 +905,6 @@ void pcibios_bus_to_resource(struct pci_bus *bus, struct resource *res,\n void pcibios_scan_specific_bus(int busn);\n struct pci_bus *pci_find_bus(int domain, int busnr);\n void pci_bus_add_devices(const struct pci_bus *bus);\n-struct pci_bus *pci_create_root_bus(struct device *parent, int bus,\n-\t\t\t\t    struct pci_ops *ops, void *sysdata,\n-\t\t\t\t    struct list_head *resources);\n int pci_host_probe(struct pci_host_bridge *bridge);\n int pci_register_host_bridge(struct pci_host_bridge *);\n int pci_bus_insert_busn_res(struct pci_bus *b, int bus, int busmax);\n",
    "prefixes": [
        "RFC",
        "05/15"
    ]
}