Skip to content

Commit 83e519b

Browse files
Fabio Estevamdavem330
authored andcommitted
fec: Use devm_request_and_ioremap()
Using devm_request_and_ioremap() can make the code cleaner and simpler. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent a2e4b59 commit 83e519b

File tree

1 file changed

+3
-18
lines changed
  • drivers/net/ethernet/freescale

1 file changed

+3
-18
lines changed

drivers/net/ethernet/freescale/fec.c

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1731,16 +1731,10 @@ fec_probe(struct platform_device *pdev)
17311731
if (!r)
17321732
return -ENXIO;
17331733

1734-
r = request_mem_region(r->start, resource_size(r), pdev->name);
1735-
if (!r)
1736-
return -EBUSY;
1737-
17381734
/* Init network device */
17391735
ndev = alloc_etherdev(sizeof(struct fec_enet_private));
1740-
if (!ndev) {
1741-
ret = -ENOMEM;
1742-
goto failed_alloc_etherdev;
1743-
}
1736+
if (!ndev)
1737+
return -ENOMEM;
17441738

17451739
SET_NETDEV_DEV(ndev, &pdev->dev);
17461740

@@ -1752,7 +1746,7 @@ fec_probe(struct platform_device *pdev)
17521746
(pdev->id_entry->driver_data & FEC_QUIRK_HAS_GBIT))
17531747
fep->pause_flag |= FEC_PAUSE_FLAG_AUTONEG;
17541748

1755-
fep->hwp = ioremap(r->start, resource_size(r));
1749+
fep->hwp = devm_request_and_ioremap(&pdev->dev, r);
17561750
fep->pdev = pdev;
17571751
fep->dev_id = dev_id++;
17581752

@@ -1874,11 +1868,8 @@ fec_probe(struct platform_device *pdev)
18741868
clk_disable_unprepare(fep->clk_ptp);
18751869
failed_pin:
18761870
failed_clk:
1877-
iounmap(fep->hwp);
18781871
failed_ioremap:
18791872
free_netdev(ndev);
1880-
failed_alloc_etherdev:
1881-
release_mem_region(r->start, resource_size(r));
18821873

18831874
return ret;
18841875
}
@@ -1888,7 +1879,6 @@ fec_drv_remove(struct platform_device *pdev)
18881879
{
18891880
struct net_device *ndev = platform_get_drvdata(pdev);
18901881
struct fec_enet_private *fep = netdev_priv(ndev);
1891-
struct resource *r;
18921882
int i;
18931883

18941884
unregister_netdev(ndev);
@@ -1904,13 +1894,8 @@ fec_drv_remove(struct platform_device *pdev)
19041894
if (irq > 0)
19051895
free_irq(irq, ndev);
19061896
}
1907-
iounmap(fep->hwp);
19081897
free_netdev(ndev);
19091898

1910-
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1911-
BUG_ON(!r);
1912-
release_mem_region(r->start, resource_size(r));
1913-
19141899
platform_set_drvdata(pdev, NULL);
19151900

19161901
return 0;

0 commit comments

Comments
 (0)