get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 807121,
    "url": "http://patchwork.ozlabs.org/api/patches/807121/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/05956f46-6882-7f7b-1c4c-5851b4e8b8e6@sigmadesigns.com/",
    "project": {
        "id": 28,
        "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api",
        "name": "Linux PCI development",
        "link_name": "linux-pci",
        "list_id": "linux-pci.vger.kernel.org",
        "list_email": "linux-pci@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<05956f46-6882-7f7b-1c4c-5851b4e8b8e6@sigmadesigns.com>",
    "list_archive_url": null,
    "date": "2017-08-29T14:27:20",
    "name": "[2/3] PCI: Use of_pci_dma_range_parser_init API",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "c1a5d42d8f67802ca1351cb161c8650682078cd6",
    "submitter": {
        "id": 67482,
        "url": "http://patchwork.ozlabs.org/api/people/67482/?format=api",
        "name": "Marc Gonzalez",
        "email": "marc_gonzalez@sigmadesigns.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/05956f46-6882-7f7b-1c4c-5851b4e8b8e6@sigmadesigns.com/mbox/",
    "series": [
        {
            "id": 381,
            "url": "http://patchwork.ozlabs.org/api/series/381/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=381",
            "date": "2017-08-29T14:25:55",
            "name": "Tango PCIe host bridge MSI support + required API",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/381/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/807121/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/807121/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<linux-pci-owner@vger.kernel.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-pci-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xhWS317klz9s7f\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 30 Aug 2017 00:37:07 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754510AbdH2OhE convert rfc822-to-8bit (ORCPT\n\t<rfc822;incoming@patchwork.ozlabs.org>);\n\tTue, 29 Aug 2017 10:37:04 -0400",
            "from us-smtp-delivery-107.mimecast.com ([216.205.24.107]:53626\n\t\"EHLO us-smtp-delivery-107.mimecast.com\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1754509AbdH2OhC (ORCPT\n\t<rfc822; linux-pci@vger.kernel.org>); Tue, 29 Aug 2017 10:37:02 -0400",
            "from CPH-EX1.SDESIGNS.COM\n\t(195-215-56-170-static.dk.customer.tdc.net [195.215.56.170]) (Using\n\tTLS) by us-smtp-1.mimecast.com with ESMTP id\n\tus-mta-44-tnX7XmsiNJez1e_UrGiaTg-1; \n\tTue, 29 Aug 2017 10:35:28 -0400",
            "from [172.27.0.114] (172.27.0.114) by CPH-EX1.sdesigns.com\n\t(192.168.10.36) with Microsoft SMTP Server (TLS) id 14.3.294.0;\n\tTue, 29 Aug 2017 16:35:25 +0200"
        ],
        "Subject": "[PATCH 2/3] PCI: Use of_pci_dma_range_parser_init API",
        "From": "Marc Gonzalez <marc_gonzalez@sigmadesigns.com>",
        "To": "Bjorn Helgaas <helgaas@kernel.org>",
        "CC": "linux-pci <linux-pci@vger.kernel.org>,\n\tLinux ARM <linux-arm-kernel@lists.infradead.org>,\n\tRobin Murphy <robin.murphy@arm.com>, Liviu Dudau <liviu.dudau@arm.com>,\n\tThibaud Cornic <thibaud_cornic@sigmadesigns.com>,\n\tMason <slash.tmp@free.fr>, Linus Walleij <linus.walleij@linaro.org>,\n\tRay Jui <ray.jui@broadcom.com>, Simon Horman <horms@verge.net.au>",
        "References": "<f10055cc-4430-ff30-f892-3d3d6f24354c@sigmadesigns.com>",
        "Message-ID": "<05956f46-6882-7f7b-1c4c-5851b4e8b8e6@sigmadesigns.com>",
        "Date": "Tue, 29 Aug 2017 16:27:20 +0200",
        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tFirefox/52.0 SeaMonkey/2.49.1",
        "MIME-Version": "1.0",
        "In-Reply-To": "<f10055cc-4430-ff30-f892-3d3d6f24354c@sigmadesigns.com>",
        "X-Originating-IP": "[172.27.0.114]",
        "X-MC-Unique": "tnX7XmsiNJez1e_UrGiaTg-1",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8BIT",
        "Sender": "linux-pci-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<linux-pci.vger.kernel.org>",
        "X-Mailing-List": "linux-pci@vger.kernel.org"
    },
    "content": "Use the factorized implementation.\n\nSigned-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>\n---\n drivers/pci/host/pci-ftpci100.c  | 20 +-------------------\n drivers/pci/host/pci-rcar-gen2.c | 20 +-------------------\n drivers/pci/host/pci-xgene.c     | 20 +-------------------\n drivers/pci/host/pcie-iproc.c    | 20 +-------------------\n drivers/pci/host/pcie-rcar.c     | 20 +-------------------\n 5 files changed, 5 insertions(+), 95 deletions(-)",
    "diff": "diff --git a/drivers/pci/host/pci-ftpci100.c b/drivers/pci/host/pci-ftpci100.c\nindex 5162dffc102b..12d78bba1bd3 100644\n--- a/drivers/pci/host/pci-ftpci100.c\n+++ b/drivers/pci/host/pci-ftpci100.c\n@@ -370,24 +370,6 @@ static int faraday_pci_setup_cascaded_irq(struct faraday_pci *p)\n \treturn 0;\n }\n \n-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n-\t\t\t\t     struct device_node *node)\n-{\n-\tconst int na = 3, ns = 2;\n-\tint rlen;\n-\n-\tparser->node = node;\n-\tparser->pna = of_n_addr_cells(node);\n-\tparser->np = parser->pna + na + ns;\n-\n-\tparser->range = of_get_property(node, \"dma-ranges\", &rlen);\n-\tif (!parser->range)\n-\t\treturn -ENOENT;\n-\tparser->end = parser->range + rlen / sizeof(__be32);\n-\n-\treturn 0;\n-}\n-\n static int faraday_pci_parse_map_dma_ranges(struct faraday_pci *p,\n \t\t\t\t\t    struct device_node *np)\n {\n@@ -402,7 +384,7 @@ static int faraday_pci_parse_map_dma_ranges(struct faraday_pci *p,\n \tint i = 0;\n \tu32 val;\n \n-\tif (pci_dma_range_parser_init(&parser, np)) {\n+\tif (of_pci_dma_range_parser_init(&parser, np)) {\n \t\tdev_err(dev, \"missing dma-ranges property\\n\");\n \t\treturn -EINVAL;\n \t}\ndiff --git a/drivers/pci/host/pci-rcar-gen2.c b/drivers/pci/host/pci-rcar-gen2.c\nindex 6f879685fedd..e46de69f0380 100644\n--- a/drivers/pci/host/pci-rcar-gen2.c\n+++ b/drivers/pci/host/pci-rcar-gen2.c\n@@ -293,24 +293,6 @@ static struct pci_ops rcar_pci_ops = {\n \t.write\t= pci_generic_config_write,\n };\n \n-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n-\t\t\t\t     struct device_node *node)\n-{\n-\tconst int na = 3, ns = 2;\n-\tint rlen;\n-\n-\tparser->node = node;\n-\tparser->pna = of_n_addr_cells(node);\n-\tparser->np = parser->pna + na + ns;\n-\n-\tparser->range = of_get_property(node, \"dma-ranges\", &rlen);\n-\tif (!parser->range)\n-\t\treturn -ENOENT;\n-\n-\tparser->end = parser->range + rlen / sizeof(__be32);\n-\treturn 0;\n-}\n-\n static int rcar_pci_parse_map_dma_ranges(struct rcar_pci_priv *pci,\n \t\t\t\t\t struct device_node *np)\n {\n@@ -320,7 +302,7 @@ static int rcar_pci_parse_map_dma_ranges(struct rcar_pci_priv *pci,\n \tint index = 0;\n \n \t/* Failure to parse is ok as we fall back to defaults */\n-\tif (pci_dma_range_parser_init(&parser, np))\n+\tif (of_pci_dma_range_parser_init(&parser, np))\n \t\treturn 0;\n \n \t/* Get the dma-ranges from DT */\ndiff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c\nindex bd897479a215..f660513946d3 100644\n--- a/drivers/pci/host/pci-xgene.c\n+++ b/drivers/pci/host/pci-xgene.c\n@@ -542,24 +542,6 @@ static void xgene_pcie_setup_ib_reg(struct xgene_pcie_port *port,\n \txgene_pcie_setup_pims(port, pim_reg, pci_addr, ~(size - 1));\n }\n \n-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n-\t\t\t\t     struct device_node *node)\n-{\n-\tconst int na = 3, ns = 2;\n-\tint rlen;\n-\n-\tparser->node = node;\n-\tparser->pna = of_n_addr_cells(node);\n-\tparser->np = parser->pna + na + ns;\n-\n-\tparser->range = of_get_property(node, \"dma-ranges\", &rlen);\n-\tif (!parser->range)\n-\t\treturn -ENOENT;\n-\tparser->end = parser->range + rlen / sizeof(__be32);\n-\n-\treturn 0;\n-}\n-\n static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie_port *port)\n {\n \tstruct device_node *np = port->node;\n@@ -568,7 +550,7 @@ static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie_port *port)\n \tstruct device *dev = port->dev;\n \tu8 ib_reg_mask = 0;\n \n-\tif (pci_dma_range_parser_init(&parser, np)) {\n+\tif (of_pci_dma_range_parser_init(&parser, np)) {\n \t\tdev_err(dev, \"missing dma-ranges property\\n\");\n \t\treturn -EINVAL;\n \t}\ndiff --git a/drivers/pci/host/pcie-iproc.c b/drivers/pci/host/pcie-iproc.c\nindex c57486348856..aa4f6d519053 100644\n--- a/drivers/pci/host/pcie-iproc.c\n+++ b/drivers/pci/host/pcie-iproc.c\n@@ -1000,24 +1000,6 @@ static int iproc_pcie_setup_ib(struct iproc_pcie *pcie,\n \treturn ret;\n }\n \n-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n-\t\t\t\t     struct device_node *node)\n-{\n-\tconst int na = 3, ns = 2;\n-\tint rlen;\n-\n-\tparser->node = node;\n-\tparser->pna = of_n_addr_cells(node);\n-\tparser->np = parser->pna + na + ns;\n-\n-\tparser->range = of_get_property(node, \"dma-ranges\", &rlen);\n-\tif (!parser->range)\n-\t\treturn -ENOENT;\n-\n-\tparser->end = parser->range + rlen / sizeof(__be32);\n-\treturn 0;\n-}\n-\n static int iproc_pcie_map_dma_ranges(struct iproc_pcie *pcie)\n {\n \tstruct of_pci_range range;\n@@ -1025,7 +1007,7 @@ static int iproc_pcie_map_dma_ranges(struct iproc_pcie *pcie)\n \tint ret;\n \n \t/* Get the dma-ranges from DT */\n-\tret = pci_dma_range_parser_init(&parser, pcie->dev->of_node);\n+\tret = of_pci_dma_range_parser_init(&parser, pcie->dev->of_node);\n \tif (ret)\n \t\treturn ret;\n \ndiff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c\nindex 246d485b24c6..7975b10e21e8 100644\n--- a/drivers/pci/host/pcie-rcar.c\n+++ b/drivers/pci/host/pcie-rcar.c\n@@ -1029,24 +1029,6 @@ static int rcar_pcie_inbound_ranges(struct rcar_pcie *pcie,\n \treturn 0;\n }\n \n-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n-\t\t\t\t     struct device_node *node)\n-{\n-\tconst int na = 3, ns = 2;\n-\tint rlen;\n-\n-\tparser->node = node;\n-\tparser->pna = of_n_addr_cells(node);\n-\tparser->np = parser->pna + na + ns;\n-\n-\tparser->range = of_get_property(node, \"dma-ranges\", &rlen);\n-\tif (!parser->range)\n-\t\treturn -ENOENT;\n-\n-\tparser->end = parser->range + rlen / sizeof(__be32);\n-\treturn 0;\n-}\n-\n static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie *pcie,\n \t\t\t\t\t  struct device_node *np)\n {\n@@ -1055,7 +1037,7 @@ static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie *pcie,\n \tint index = 0;\n \tint err;\n \n-\tif (pci_dma_range_parser_init(&parser, np))\n+\tif (of_pci_dma_range_parser_init(&parser, np))\n \t\treturn -EINVAL;\n \n \t/* Get the dma-ranges from DT */\n",
    "prefixes": [
        "2/3"
    ]
}