{"id":807118,"url":"http://patchwork.ozlabs.org/api/1.2/patches/807118/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/patch/0d4313c7-6595-a7fb-680a-e231dc9c0902@sigmadesigns.com/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.2/projects/28/?format=json","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":"<0d4313c7-6595-a7fb-680a-e231dc9c0902@sigmadesigns.com>","list_archive_url":null,"date":"2017-08-29T14:25:55","name":"[1/3] of/pci: Add dma-ranges parsing support","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"8fde7c4f54dd47e1cefcd830761cf7893e6816e5","submitter":{"id":67482,"url":"http://patchwork.ozlabs.org/api/1.2/people/67482/?format=json","name":"Marc Gonzalez","email":"marc_gonzalez@sigmadesigns.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/0d4313c7-6595-a7fb-680a-e231dc9c0902@sigmadesigns.com/mbox/","series":[{"id":381,"url":"http://patchwork.ozlabs.org/api/1.2/series/381/?format=json","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/807118/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/807118/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 3xhWS106qzz9s7f\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 30 Aug 2017 00:37:05 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754507AbdH2OhC convert rfc822-to-8bit (ORCPT\n\t<rfc822;incoming@patchwork.ozlabs.org>);\n\tTue, 29 Aug 2017 10:37:02 -0400","from us-smtp-delivery-107.mimecast.com ([216.205.24.107]:52696\n\t\"EHLO us-smtp-delivery-107.mimecast.com\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1754508AbdH2OhC (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-168-g1mbZVjDMDmd1lkFyAayEA-1; \n\tTue, 29 Aug 2017 10:35:22 -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:19 +0200"],"From":"Marc Gonzalez <marc_gonzalez@sigmadesigns.com>","Subject":"[PATCH 1/3] of/pci: Add dma-ranges parsing support","To":"Rob Herring <robh+dt@kernel.org>, Frank Rowand <frowand.list@gmail.com>,\n\tMark Rutland <mark.rutland@arm.com>","CC":"Bjorn Helgaas <helgaas@kernel.org>, Marc Zyngier <marc.zyngier@arm.com>,\n\tlinux-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>, Andrew Murray <amurray@embedded-bits.co.uk>,\n\tThomas Petazzoni <thomas.petazzoni@free-electrons.com>,\n\tLinus Walleij <linus.walleij@linaro.org>,\n\tJason Cooper <jason@lakedaemon.net>, DT <devicetree@vger.kernel.org>","References":"<f10055cc-4430-ff30-f892-3d3d6f24354c@sigmadesigns.com>","Message-ID":"<0d4313c7-6595-a7fb-680a-e231dc9c0902@sigmadesigns.com>","Date":"Tue, 29 Aug 2017 16:25:55 +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":"g1mbZVjDMDmd1lkFyAayEA-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":"Several host bridge drivers duplicate of_pci_range_parser_init()\nin order to parse their dma-ranges property.\n\nProvide of_pci_dma_range_parser_init() for that use-case.\n\nSigned-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>\n---\n drivers/of/address.c       | 19 ++++++++++++++++---\n include/linux/of_address.h | 10 +++++++++-\n 2 files changed, 25 insertions(+), 4 deletions(-)","diff":"diff --git a/drivers/of/address.c b/drivers/of/address.c\nindex 580bbf6ca2b1..4cfd29e4ee1b 100644\n--- a/drivers/of/address.c\n+++ b/drivers/of/address.c\n@@ -232,8 +232,8 @@ int of_pci_address_to_resource(struct device_node *dev, int bar,\n }\n EXPORT_SYMBOL_GPL(of_pci_address_to_resource);\n \n-int of_pci_range_parser_init(struct of_pci_range_parser *parser,\n-\t\t\t\tstruct device_node *node)\n+static int parser_init(struct of_pci_range_parser *parser,\n+\t\t\tstruct device_node *node, const char *name)\n {\n \tconst int na = 3, ns = 2;\n \tint rlen;\n@@ -242,7 +242,7 @@ int of_pci_range_parser_init(struct of_pci_range_parser *parser,\n \tparser->pna = of_n_addr_cells(node);\n \tparser->np = parser->pna + na + ns;\n \n-\tparser->range = of_get_property(node, \"ranges\", &rlen);\n+\tparser->range = of_get_property(node, name, &rlen);\n \tif (parser->range == NULL)\n \t\treturn -ENOENT;\n \n@@ -250,8 +250,21 @@ int of_pci_range_parser_init(struct of_pci_range_parser *parser,\n \n \treturn 0;\n }\n+\n+int of_pci_range_parser_init(struct of_pci_range_parser *parser,\n+\t\t\t\tstruct device_node *node)\n+{\n+\treturn parser_init(parser, node, \"ranges\");\n+}\n EXPORT_SYMBOL_GPL(of_pci_range_parser_init);\n \n+int of_pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n+\t\t\t\tstruct device_node *node)\n+{\n+\treturn parser_init(parser, node, \"dma-ranges\");\n+}\n+EXPORT_SYMBOL_GPL(of_pci_dma_range_parser_init);\n+\n struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser,\n \t\t\t\t\t\tstruct of_pci_range *range)\n {\ndiff --git a/include/linux/of_address.h b/include/linux/of_address.h\nindex 37864734ca50..8beed2de98e9 100644\n--- a/include/linux/of_address.h\n+++ b/include/linux/of_address.h\n@@ -49,6 +49,8 @@ extern const __be32 *of_get_address(struct device_node *dev, int index,\n \n extern int of_pci_range_parser_init(struct of_pci_range_parser *parser,\n \t\t\tstruct device_node *node);\n+extern int of_pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n+\t\t\tstruct device_node *node);\n extern struct of_pci_range *of_pci_range_parser_one(\n \t\t\t\t\tstruct of_pci_range_parser *parser,\n \t\t\t\t\tstruct of_pci_range *range);\n@@ -85,7 +87,13 @@ static inline const __be32 *of_get_address(struct device_node *dev, int index,\n static inline int of_pci_range_parser_init(struct of_pci_range_parser *parser,\n \t\t\tstruct device_node *node)\n {\n-\treturn -1;\n+\treturn -ENOSYS;\n+}\n+\n+static inline int of_pci_dma_range_parser_init(struct of_pci_range_parser *parser,\n+\t\t\tstruct device_node *node)\n+{\n+\treturn -ENOSYS;\n }\n \n static inline struct of_pci_range *of_pci_range_parser_one(\n","prefixes":["1/3"]}