PCI: Use of_pci_dma_range_parser_init() to reduce duplication
authorMarc Gonzalez <marc_gonzalez@sigmadesigns.com>
Tue, 26 Sep 2017 10:26:55 +0000 (12:26 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 5 Oct 2017 20:52:34 +0000 (15:52 -0500)
Use the new of_pci_dma_range_parser_init() to reduce code duplication.

Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pci/host/pci-ftpci100.c
drivers/pci/host/pci-rcar-gen2.c
drivers/pci/host/pci-xgene.c
drivers/pci/host/pcie-iproc.c
drivers/pci/host/pcie-rcar.c

index 96028f0..06d9687 100644 (file)
@@ -370,24 +370,6 @@ static int faraday_pci_setup_cascaded_irq(struct faraday_pci *p)
        return 0;
 }
 
-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,
-                                    struct device_node *node)
-{
-       const int na = 3, ns = 2;
-       int rlen;
-
-       parser->node = node;
-       parser->pna = of_n_addr_cells(node);
-       parser->np = parser->pna + na + ns;
-
-       parser->range = of_get_property(node, "dma-ranges", &rlen);
-       if (!parser->range)
-               return -ENOENT;
-       parser->end = parser->range + rlen / sizeof(__be32);
-
-       return 0;
-}
-
 static int faraday_pci_parse_map_dma_ranges(struct faraday_pci *p,
                                            struct device_node *np)
 {
@@ -402,7 +384,7 @@ static int faraday_pci_parse_map_dma_ranges(struct faraday_pci *p,
        int i = 0;
        u32 val;
 
-       if (pci_dma_range_parser_init(&parser, np)) {
+       if (of_pci_dma_range_parser_init(&parser, np)) {
                dev_err(dev, "missing dma-ranges property\n");
                return -EINVAL;
        }
index 6f87968..e46de69 100644 (file)
@@ -293,24 +293,6 @@ static struct pci_ops rcar_pci_ops = {
        .write  = pci_generic_config_write,
 };
 
-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,
-                                    struct device_node *node)
-{
-       const int na = 3, ns = 2;
-       int rlen;
-
-       parser->node = node;
-       parser->pna = of_n_addr_cells(node);
-       parser->np = parser->pna + na + ns;
-
-       parser->range = of_get_property(node, "dma-ranges", &rlen);
-       if (!parser->range)
-               return -ENOENT;
-
-       parser->end = parser->range + rlen / sizeof(__be32);
-       return 0;
-}
-
 static int rcar_pci_parse_map_dma_ranges(struct rcar_pci_priv *pci,
                                         struct device_node *np)
 {
@@ -320,7 +302,7 @@ static int rcar_pci_parse_map_dma_ranges(struct rcar_pci_priv *pci,
        int index = 0;
 
        /* Failure to parse is ok as we fall back to defaults */
-       if (pci_dma_range_parser_init(&parser, np))
+       if (of_pci_dma_range_parser_init(&parser, np))
                return 0;
 
        /* Get the dma-ranges from DT */
index 0876451..8fc45d9 100644 (file)
@@ -542,24 +542,6 @@ static void xgene_pcie_setup_ib_reg(struct xgene_pcie_port *port,
        xgene_pcie_setup_pims(port, pim_reg, pci_addr, ~(size - 1));
 }
 
-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,
-                                    struct device_node *node)
-{
-       const int na = 3, ns = 2;
-       int rlen;
-
-       parser->node = node;
-       parser->pna = of_n_addr_cells(node);
-       parser->np = parser->pna + na + ns;
-
-       parser->range = of_get_property(node, "dma-ranges", &rlen);
-       if (!parser->range)
-               return -ENOENT;
-       parser->end = parser->range + rlen / sizeof(__be32);
-
-       return 0;
-}
-
 static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie_port *port)
 {
        struct device_node *np = port->node;
@@ -568,7 +550,7 @@ static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie_port *port)
        struct device *dev = port->dev;
        u8 ib_reg_mask = 0;
 
-       if (pci_dma_range_parser_init(&parser, np)) {
+       if (of_pci_dma_range_parser_init(&parser, np)) {
                dev_err(dev, "missing dma-ranges property\n");
                return -EINVAL;
        }
index 3a8b9d2..935909b 100644 (file)
@@ -1097,24 +1097,6 @@ err_ib:
        return ret;
 }
 
-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,
-                                    struct device_node *node)
-{
-       const int na = 3, ns = 2;
-       int rlen;
-
-       parser->node = node;
-       parser->pna = of_n_addr_cells(node);
-       parser->np = parser->pna + na + ns;
-
-       parser->range = of_get_property(node, "dma-ranges", &rlen);
-       if (!parser->range)
-               return -ENOENT;
-
-       parser->end = parser->range + rlen / sizeof(__be32);
-       return 0;
-}
-
 static int iproc_pcie_map_dma_ranges(struct iproc_pcie *pcie)
 {
        struct of_pci_range range;
@@ -1122,7 +1104,7 @@ static int iproc_pcie_map_dma_ranges(struct iproc_pcie *pcie)
        int ret;
 
        /* Get the dma-ranges from DT */
-       ret = pci_dma_range_parser_init(&parser, pcie->dev->of_node);
+       ret = of_pci_dma_range_parser_init(&parser, pcie->dev->of_node);
        if (ret)
                return ret;
 
index 4e0b25d..12796ec 100644 (file)
@@ -1027,24 +1027,6 @@ static int rcar_pcie_inbound_ranges(struct rcar_pcie *pcie,
        return 0;
 }
 
-static int pci_dma_range_parser_init(struct of_pci_range_parser *parser,
-                                    struct device_node *node)
-{
-       const int na = 3, ns = 2;
-       int rlen;
-
-       parser->node = node;
-       parser->pna = of_n_addr_cells(node);
-       parser->np = parser->pna + na + ns;
-
-       parser->range = of_get_property(node, "dma-ranges", &rlen);
-       if (!parser->range)
-               return -ENOENT;
-
-       parser->end = parser->range + rlen / sizeof(__be32);
-       return 0;
-}
-
 static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie *pcie,
                                          struct device_node *np)
 {
@@ -1053,7 +1035,7 @@ static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie *pcie,
        int index = 0;
        int err;
 
-       if (pci_dma_range_parser_init(&parser, np))
+       if (of_pci_dma_range_parser_init(&parser, np))
                return -EINVAL;
 
        /* Get the dma-ranges from DT */