net: gemini: Use devm_platform_get_and_ioremap_resource()
Use devm_platform_get_and_ioremap_resource() to simplify code. Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4fb473fe73
commit
ef91f79810
|
@ -2356,8 +2356,6 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)
|
|||
struct device *dev = &pdev->dev;
|
||||
struct gemini_ethernet *geth;
|
||||
struct net_device *netdev;
|
||||
struct resource *gmacres;
|
||||
struct resource *dmares;
|
||||
struct device *parent;
|
||||
unsigned int id;
|
||||
int irq;
|
||||
|
@ -2390,24 +2388,18 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)
|
|||
port->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
|
||||
|
||||
/* DMA memory */
|
||||
dmares = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!dmares) {
|
||||
dev_err(dev, "no DMA resource\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
port->dma_base = devm_ioremap_resource(dev, dmares);
|
||||
if (IS_ERR(port->dma_base))
|
||||
port->dma_base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
|
||||
if (IS_ERR(port->dma_base)) {
|
||||
dev_err(dev, "get DMA address failed\n");
|
||||
return PTR_ERR(port->dma_base);
|
||||
}
|
||||
|
||||
/* GMAC config memory */
|
||||
gmacres = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
if (!gmacres) {
|
||||
dev_err(dev, "no GMAC resource\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
port->gmac_base = devm_ioremap_resource(dev, gmacres);
|
||||
if (IS_ERR(port->gmac_base))
|
||||
port->gmac_base = devm_platform_get_and_ioremap_resource(pdev, 1, NULL);
|
||||
if (IS_ERR(port->gmac_base)) {
|
||||
dev_err(dev, "get GMAC address failed\n");
|
||||
return PTR_ERR(port->gmac_base);
|
||||
}
|
||||
|
||||
/* Interrupt */
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
|
@ -2502,10 +2494,6 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)
|
|||
if (ret)
|
||||
goto unprepare;
|
||||
|
||||
netdev_info(netdev,
|
||||
"irq %d, DMA @ 0x%pap, GMAC @ 0x%pap\n",
|
||||
port->irq, &dmares->start,
|
||||
&gmacres->start);
|
||||
return 0;
|
||||
|
||||
unprepare:
|
||||
|
@ -2544,17 +2532,13 @@ static int gemini_ethernet_probe(struct platform_device *pdev)
|
|||
struct device *dev = &pdev->dev;
|
||||
struct gemini_ethernet *geth;
|
||||
unsigned int retry = 5;
|
||||
struct resource *res;
|
||||
u32 val;
|
||||
|
||||
/* Global registers */
|
||||
geth = devm_kzalloc(dev, sizeof(*geth), GFP_KERNEL);
|
||||
if (!geth)
|
||||
return -ENOMEM;
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res)
|
||||
return -ENODEV;
|
||||
geth->base = devm_ioremap_resource(dev, res);
|
||||
geth->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
|
||||
if (IS_ERR(geth->base))
|
||||
return PTR_ERR(geth->base);
|
||||
geth->dev = dev;
|
||||
|
|
Loading…
Reference in New Issue