get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 958763,
    "url": "http://patchwork.ozlabs.org/api/patches/958763/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20180817102645.3839621-16-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-16-arnd@arndb.de>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20180817102645.3839621-16-arnd@arndb.de/",
    "date": "2018-08-17T10:26:45",
    "name": "[RFC,15/15] PCI: make pcibios_add_bus/remove_bus callbacks",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "ded4a91038510e24356ceca6ce2a368ceef14653",
    "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-16-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/958763/comments/",
    "check": "fail",
    "checks": "http://patchwork.ozlabs.org/api/patches/958763/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 [IPv6:2401:3900:2:1::3])\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 41sKqx5MTpz9ryn\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 17 Aug 2018 20:55:57 +1000 (AEST)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 41sKqx3x4JzF0ph\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 17 Aug 2018 20:55:57 +1000 (AEST)",
            "from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75])\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 41sKKW6MDgzF0vb\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\t0LnjcV-1gM7mA1Qsh-00hrda; Fri, 17 Aug 2018 12:27:21 +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=217.72.192.75; 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 15/15] PCI: make pcibios_add_bus/remove_bus callbacks",
        "Date": "Fri, 17 Aug 2018 12:26:45 +0200",
        "Message-Id": "<20180817102645.3839621-16-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:rGoCCDOtdTx0VIyssezT4pFtEqNhxuve6iKaXwJBHf+4WU+8faw\n\tDpu9wq8RQiguXqn4V5akgwPWXgaOy5cgDTJiHcHLT3xv/oOaMtG54uC8vvLQSdW///4q0nw\n\tI5RKZeCd07/18v074X+Gqwju9Ri5zhyU1Epl7WlCft+LD22RQMCW/zNHZIYUSLUK+qnJWcB\n\ts4jqjjsW1kamBVSX4DlSQ==",
        "X-UI-Out-Filterresults": "notjunk:1; V01:K0:dvnAj65ZFk0=:VDZz8f5vebrAq/ejMgOjie\n\t8GyIQqycNcIjvjvExiOocGOAUqnYGIWU/GPr3VlveyEov22HhpNdGxGf/bsY002217lItjy6h\n\tVoxKTupeKpH67W+bXJkWRoqklPmUmpb1fNxUAfmkRbM1r9io4i21ka6OTjAYe9RG9kXC2zokv\n\tEhbteks6J3NYY0o6b4UDg4zMihthl+jRPCDPFG8/6oMHMHQw1+TvpeWuOOXOoF7yTprRj9HcS\n\tYpyClDchECbHOW7LYaf4s/laoMpumYks4bT0bT+y4zGgIoY5Ucm3hA/+4dgRuJOQ6b+pwWdLA\n\tmtE2Jdbhg7ZuTwHM4JlpKb5gCg6vA003Qr+XxFzDv8z8d4PlxsPqgsP9UDiXg0jHaOjZROh1h\n\tCGbOHnX14PWKO/OfpGznpCJs8iQiMfJp+oQZKL0GZAxI7b5VexFCawSq4cF3j/U/eCoF+cpKk\n\tNn4MlOjtFvrSWnh/H1GQk9NMh/Bxr6e5CXiZIfm0qXqzkJGI5gNQV8Lb76AUxAork3vZuETPA\n\t3Hsnaonx4c43qnu982RWXcxqfzToGmZ79byd5UFTROEe8FtyyMuIiMl1b5YVzNvrhXJNpmzG8\n\teJOTazidq4DgvQhXN+PZpkkVZjFQOQQj+4b9UAdXo4zMUM71Uc5rvlNLYFv03ZsI9FRi1Et0I\n\tK8wkUQd2CtRY7r9IXecV6AttFf/QbE7LJhT0+5b1krOYE3NR21BYg/iubv7KQt442+C8=",
        "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": "These are mostly not architecture specific but are meant for particular\nPCI host bridge implementations, in particular for the ACPI version.\n\nTurn them both into callback functions that are implemented by the\nAPCI PCI implementation as well as the one architecture that overrides\npcibios_remove_bus.\n\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\n---\n arch/arm64/kernel/pci.c | 10 ----------\n arch/ia64/pci/pci.c     | 10 ----------\n arch/s390/pci/pci.c     |  3 ++-\n arch/x86/pci/common.c   | 10 ----------\n drivers/acpi/pci_root.c |  2 ++\n drivers/pci/probe.c     | 12 ++++++++++--\n include/linux/pci.h     |  2 ++\n 7 files changed, 16 insertions(+), 33 deletions(-)",
    "diff": "diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c\nindex 8958a7c32a9f..99fac25efe88 100644\n--- a/arch/arm64/kernel/pci.c\n+++ b/arch/arm64/kernel/pci.c\n@@ -191,14 +191,4 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)\n \treturn bus;\n }\n \n-void pcibios_add_bus(struct pci_bus *bus)\n-{\n-\tacpi_pci_add_bus(bus);\n-}\n-\n-void pcibios_remove_bus(struct pci_bus *bus)\n-{\n-\tacpi_pci_remove_bus(bus);\n-}\n-\n #endif\ndiff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c\nindex 511b8a058d80..f47e0920d308 100644\n--- a/arch/ia64/pci/pci.c\n+++ b/arch/ia64/pci/pci.c\n@@ -367,16 +367,6 @@ void pcibios_fixup_bus(struct pci_bus *b)\n \tplatform_pci_fixup_bus(b);\n }\n \n-void pcibios_add_bus(struct pci_bus *bus)\n-{\n-\tacpi_pci_add_bus(bus);\n-}\n-\n-void pcibios_remove_bus(struct pci_bus *bus)\n-{\n-\tacpi_pci_remove_bus(bus);\n-}\n-\n void pcibios_set_master (struct pci_dev *dev)\n {\n \t/* No special bus mastering setup handling */\ndiff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c\nindex b21205f131ce..120beb83b6a5 100644\n--- a/arch/s390/pci/pci.c\n+++ b/arch/s390/pci/pci.c\n@@ -769,7 +769,7 @@ static void zpci_free_domain(struct zpci_dev *zdev)\n \tspin_unlock(&zpci_domain_lock);\n }\n \n-void pcibios_remove_bus(struct pci_bus *bus)\n+static void zpci_remove_bus(struct pci_bus *bus)\n {\n \tstruct zpci_dev *zdev = get_zdev_by_bus(bus);\n \n@@ -801,6 +801,7 @@ static struct pci_bus *pci_scan_root_bus(struct device *parent, int bus,\n \tbridge->sysdata = sysdata;\n \tbridge->busnr = bus;\n \tbridge->ops = ops;\n+\tbridge->remove_bus = zpci_remove_bus;\n \n \terror = pci_scan_root_bus_bridge(bridge);\n \tif (error < 0)\ndiff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c\nindex 920d0885434c..987e6fefd5d3 100644\n--- a/arch/x86/pci/common.c\n+++ b/arch/x86/pci/common.c\n@@ -168,16 +168,6 @@ void pcibios_fixup_bus(struct pci_bus *b)\n \t\tpcibios_fixup_device_resources(dev);\n }\n \n-void pcibios_add_bus(struct pci_bus *bus)\n-{\n-\tacpi_pci_add_bus(bus);\n-}\n-\n-void pcibios_remove_bus(struct pci_bus *bus)\n-{\n-\tacpi_pci_remove_bus(bus);\n-}\n-\n /*\n  * Only use DMI information to set this if nothing was passed\n  * on the kernel command line (which was parsed earlier).\ndiff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c\nindex 5da0f70c4e65..cf7a9a7bf1e7 100644\n--- a/drivers/acpi/pci_root.c\n+++ b/drivers/acpi/pci_root.c\n@@ -911,6 +911,8 @@ struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root,\n \tbridge->busnr = busnum;\n \tbridge->ops = ops->pci_ops;\n \tbridge->prepare = acpi_pci_root_bridge_prepare;\n+\tbridge->add_bus = acpi_pci_add_bus;\n+\tbridge->remove_bus = acpi_pci_remove_bus;\n \tpci_set_host_bridge_release(bridge, acpi_pci_root_release_info,\n \t\t\t\t    info);\n \ndiff --git a/drivers/pci/probe.c b/drivers/pci/probe.c\nindex f493d7e299e6..86a678fa8c13 100644\n--- a/drivers/pci/probe.c\n+++ b/drivers/pci/probe.c\n@@ -2905,12 +2905,20 @@ unsigned int pci_scan_child_bus(struct pci_bus *bus)\n }\n EXPORT_SYMBOL_GPL(pci_scan_child_bus);\n \n-void __weak pcibios_add_bus(struct pci_bus *bus)\n+void pcibios_add_bus(struct pci_bus *bus)\n {\n+\tstruct pci_host_bridge *bridge = pci_find_host_bridge(bus);\n+\n+\tif (bridge->add_bus)\n+\t\tbridge->add_bus(bus);\n }\n \n-void __weak pcibios_remove_bus(struct pci_bus *bus)\n+void pcibios_remove_bus(struct pci_bus *bus)\n {\n+\tstruct pci_host_bridge *bridge = pci_find_host_bridge(bus);\n+\n+\tif (bridge->remove_bus)\n+\t\tbridge->remove_bus(bus);\n }\n \n int pci_host_probe(struct pci_host_bridge *bridge)\ndiff --git a/include/linux/pci.h b/include/linux/pci.h\nindex 24216daef6f8..bc9635313747 100644\n--- a/include/linux/pci.h\n+++ b/include/linux/pci.h\n@@ -479,6 +479,8 @@ struct pci_host_bridge {\n \tvoid (*bus_add_device)(struct pci_dev *pdev);\n \tint (*alloc_irq)(struct pci_dev *);\n \tint (*free_irq)(struct pci_dev *);\n+\tvoid (*add_bus)(struct pci_bus *);\n+\tvoid (*remove_bus)(struct pci_bus *);\n \tvoid\t\t*release_data;\n \tstruct msi_controller *msi;\n \tunsigned int\tignore_reset_delay:1;\t/* For entire hierarchy */\n",
    "prefixes": [
        "RFC",
        "15/15"
    ]
}