aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/cadence
diff options
context:
space:
mode:
authorSoren Brinkmann <soren.brinkmann@xilinx.com>2013-12-10 19:07:22 -0500
committerDavid S. Miller <davem@davemloft.net>2013-12-10 22:56:23 -0500
commit0a4acf08ea62d8c8a7ed394bb075f0e1f10ac021 (patch)
tree000395dfad1ba9b4e4684643d76ae6072897830b /drivers/net/ethernet/cadence
parent60fe716f005a0add0447796c38821b22ef379856 (diff)
net: macb: Use devm_request_irq()
Use the device managed interface to request the IRQ, simplifying error paths. Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/cadence')
-rw-r--r--drivers/net/ethernet/cadence/macb.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c
index 436aecc31732..603844b1d483 100644
--- a/drivers/net/ethernet/cadence/macb.c
+++ b/drivers/net/ethernet/cadence/macb.c
@@ -1825,7 +1825,8 @@ static int __init macb_probe(struct platform_device *pdev)
1825 } 1825 }
1826 1826
1827 dev->irq = platform_get_irq(pdev, 0); 1827 dev->irq = platform_get_irq(pdev, 0);
1828 err = request_irq(dev->irq, macb_interrupt, 0, dev->name, dev); 1828 err = devm_request_irq(&pdev->dev, dev->irq, macb_interrupt, 0,
1829 dev->name, dev);
1829 if (err) { 1830 if (err) {
1830 dev_err(&pdev->dev, "Unable to request IRQ %d (error %d)\n", 1831 dev_err(&pdev->dev, "Unable to request IRQ %d (error %d)\n",
1831 dev->irq, err); 1832 dev->irq, err);
@@ -1892,7 +1893,7 @@ static int __init macb_probe(struct platform_device *pdev)
1892 err = register_netdev(dev); 1893 err = register_netdev(dev);
1893 if (err) { 1894 if (err) {
1894 dev_err(&pdev->dev, "Cannot register net device, aborting.\n"); 1895 dev_err(&pdev->dev, "Cannot register net device, aborting.\n");
1895 goto err_out_free_irq; 1896 goto err_out_disable_clocks;
1896 } 1897 }
1897 1898
1898 err = macb_mii_init(bp); 1899 err = macb_mii_init(bp);
@@ -1915,8 +1916,6 @@ static int __init macb_probe(struct platform_device *pdev)
1915 1916
1916err_out_unregister_netdev: 1917err_out_unregister_netdev:
1917 unregister_netdev(dev); 1918 unregister_netdev(dev);
1918err_out_free_irq:
1919 free_irq(dev->irq, dev);
1920err_out_disable_clocks: 1919err_out_disable_clocks:
1921 clk_disable_unprepare(bp->hclk); 1920 clk_disable_unprepare(bp->hclk);
1922err_out_disable_pclk: 1921err_out_disable_pclk:
@@ -1942,7 +1941,6 @@ static int __exit macb_remove(struct platform_device *pdev)
1942 kfree(bp->mii_bus->irq); 1941 kfree(bp->mii_bus->irq);
1943 mdiobus_free(bp->mii_bus); 1942 mdiobus_free(bp->mii_bus);
1944 unregister_netdev(dev); 1943 unregister_netdev(dev);
1945 free_irq(dev->irq, dev);
1946 clk_disable_unprepare(bp->hclk); 1944 clk_disable_unprepare(bp->hclk);
1947 clk_disable_unprepare(bp->pclk); 1945 clk_disable_unprepare(bp->pclk);
1948 free_netdev(dev); 1946 free_netdev(dev);