提交 1e61a57c 编写于 作者: M Marc Gonzalez 提交者: Bjorn Helgaas

PCI: Use of_pci_dma_range_parser_init() to reduce duplication

Use the new of_pci_dma_range_parser_init() to reduce code duplication.
Signed-off-by: NMarc Gonzalez <marc_gonzalez@sigmadesigns.com>
Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
Acked-by: NLinus Walleij <linus.walleij@linaro.org>
上级 a060c210
...@@ -370,24 +370,6 @@ static int faraday_pci_setup_cascaded_irq(struct faraday_pci *p) ...@@ -370,24 +370,6 @@ static int faraday_pci_setup_cascaded_irq(struct faraday_pci *p)
return 0; 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, static int faraday_pci_parse_map_dma_ranges(struct faraday_pci *p,
struct device_node *np) struct device_node *np)
{ {
...@@ -402,7 +384,7 @@ static int faraday_pci_parse_map_dma_ranges(struct faraday_pci *p, ...@@ -402,7 +384,7 @@ static int faraday_pci_parse_map_dma_ranges(struct faraday_pci *p,
int i = 0; int i = 0;
u32 val; 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"); dev_err(dev, "missing dma-ranges property\n");
return -EINVAL; return -EINVAL;
} }
......
...@@ -293,24 +293,6 @@ static struct pci_ops rcar_pci_ops = { ...@@ -293,24 +293,6 @@ static struct pci_ops rcar_pci_ops = {
.write = pci_generic_config_write, .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, static int rcar_pci_parse_map_dma_ranges(struct rcar_pci_priv *pci,
struct device_node *np) struct device_node *np)
{ {
...@@ -320,7 +302,7 @@ static int rcar_pci_parse_map_dma_ranges(struct rcar_pci_priv *pci, ...@@ -320,7 +302,7 @@ static int rcar_pci_parse_map_dma_ranges(struct rcar_pci_priv *pci,
int index = 0; int index = 0;
/* Failure to parse is ok as we fall back to defaults */ /* 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; return 0;
/* Get the dma-ranges from DT */ /* Get the dma-ranges from DT */
......
...@@ -542,24 +542,6 @@ static void xgene_pcie_setup_ib_reg(struct xgene_pcie_port *port, ...@@ -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)); 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) static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie_port *port)
{ {
struct device_node *np = port->node; struct device_node *np = port->node;
...@@ -568,7 +550,7 @@ static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie_port *port) ...@@ -568,7 +550,7 @@ static int xgene_pcie_parse_map_dma_ranges(struct xgene_pcie_port *port)
struct device *dev = port->dev; struct device *dev = port->dev;
u8 ib_reg_mask = 0; 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"); dev_err(dev, "missing dma-ranges property\n");
return -EINVAL; return -EINVAL;
} }
......
...@@ -1097,24 +1097,6 @@ static int iproc_pcie_setup_ib(struct iproc_pcie *pcie, ...@@ -1097,24 +1097,6 @@ static int iproc_pcie_setup_ib(struct iproc_pcie *pcie,
return ret; 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) static int iproc_pcie_map_dma_ranges(struct iproc_pcie *pcie)
{ {
struct of_pci_range range; struct of_pci_range range;
...@@ -1122,7 +1104,7 @@ static int iproc_pcie_map_dma_ranges(struct iproc_pcie *pcie) ...@@ -1122,7 +1104,7 @@ static int iproc_pcie_map_dma_ranges(struct iproc_pcie *pcie)
int ret; int ret;
/* Get the dma-ranges from DT */ /* 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) if (ret)
return ret; return ret;
......
...@@ -1027,24 +1027,6 @@ static int rcar_pcie_inbound_ranges(struct rcar_pcie *pcie, ...@@ -1027,24 +1027,6 @@ static int rcar_pcie_inbound_ranges(struct rcar_pcie *pcie,
return 0; 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, static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie *pcie,
struct device_node *np) struct device_node *np)
{ {
...@@ -1053,7 +1035,7 @@ static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie *pcie, ...@@ -1053,7 +1035,7 @@ static int rcar_pcie_parse_map_dma_ranges(struct rcar_pcie *pcie,
int index = 0; int index = 0;
int err; int err;
if (pci_dma_range_parser_init(&parser, np)) if (of_pci_dma_range_parser_init(&parser, np))
return -EINVAL; return -EINVAL;
/* Get the dma-ranges from DT */ /* Get the dma-ranges from DT */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册