Loading drivers/net/ethernet/cadence/at91_ether.c +7 −18 Original line number Diff line number Diff line Loading @@ -30,9 +30,8 @@ #include <linux/clk.h> #include <linux/gfp.h> #include <linux/phy.h> #include <linux/io.h> #include <asm/io.h> #include <asm/uaccess.h> #include <asm/mach-types.h> #include "macb.h" Loading Loading @@ -472,26 +471,25 @@ static int __init at91ether_probe(struct platform_device *pdev) spin_lock_init(&lp->lock); dev->base_addr = regs->start; /* physical base address */ lp->regs = ioremap(regs->start, regs->end - regs->start + 1); lp->regs = devm_ioremap(&pdev->dev, regs->start, resource_size(regs)); if (!lp->regs) { res = -ENOMEM; goto err_free_dev; } /* Clock */ lp->pclk = clk_get(&pdev->dev, "ether_clk"); lp->pclk = devm_clk_get(&pdev->dev, "ether_clk"); if (IS_ERR(lp->pclk)) { res = PTR_ERR(lp->pclk); goto err_ioumap; goto err_free_dev; } clk_enable(lp->pclk); /* Install the interrupt handler */ dev->irq = platform_get_irq(pdev, 0); if (request_irq(dev->irq, at91ether_interrupt, 0, dev->name, dev)) { res = -EBUSY; res = devm_request_irq(&pdev->dev, dev->irq, at91ether_interrupt, 0, dev->name, dev); if (res) goto err_disable_clock; } ether_setup(dev); dev->netdev_ops = &at91ether_netdev_ops; Loading @@ -515,7 +513,7 @@ static int __init at91ether_probe(struct platform_device *pdev) /* Register the network interface */ res = register_netdev(dev); if (res) goto err_free_irq; goto err_disable_clock; if (macb_mii_init(lp) != 0) goto err_out_unregister_netdev; Loading @@ -537,14 +535,8 @@ static int __init at91ether_probe(struct platform_device *pdev) err_out_unregister_netdev: unregister_netdev(dev); err_free_irq: platform_set_drvdata(pdev, NULL); free_irq(dev->irq, dev); err_disable_clock: clk_disable(lp->pclk); clk_put(lp->pclk); err_ioumap: iounmap(lp->regs); err_free_dev: free_netdev(dev); return res; Loading @@ -562,10 +554,7 @@ static int __devexit at91ether_remove(struct platform_device *pdev) kfree(lp->mii_bus->irq); mdiobus_free(lp->mii_bus); unregister_netdev(dev); free_irq(dev->irq, dev); iounmap(lp->regs); clk_disable(lp->pclk); clk_put(lp->pclk); free_netdev(dev); platform_set_drvdata(pdev, NULL); Loading Loading
drivers/net/ethernet/cadence/at91_ether.c +7 −18 Original line number Diff line number Diff line Loading @@ -30,9 +30,8 @@ #include <linux/clk.h> #include <linux/gfp.h> #include <linux/phy.h> #include <linux/io.h> #include <asm/io.h> #include <asm/uaccess.h> #include <asm/mach-types.h> #include "macb.h" Loading Loading @@ -472,26 +471,25 @@ static int __init at91ether_probe(struct platform_device *pdev) spin_lock_init(&lp->lock); dev->base_addr = regs->start; /* physical base address */ lp->regs = ioremap(regs->start, regs->end - regs->start + 1); lp->regs = devm_ioremap(&pdev->dev, regs->start, resource_size(regs)); if (!lp->regs) { res = -ENOMEM; goto err_free_dev; } /* Clock */ lp->pclk = clk_get(&pdev->dev, "ether_clk"); lp->pclk = devm_clk_get(&pdev->dev, "ether_clk"); if (IS_ERR(lp->pclk)) { res = PTR_ERR(lp->pclk); goto err_ioumap; goto err_free_dev; } clk_enable(lp->pclk); /* Install the interrupt handler */ dev->irq = platform_get_irq(pdev, 0); if (request_irq(dev->irq, at91ether_interrupt, 0, dev->name, dev)) { res = -EBUSY; res = devm_request_irq(&pdev->dev, dev->irq, at91ether_interrupt, 0, dev->name, dev); if (res) goto err_disable_clock; } ether_setup(dev); dev->netdev_ops = &at91ether_netdev_ops; Loading @@ -515,7 +513,7 @@ static int __init at91ether_probe(struct platform_device *pdev) /* Register the network interface */ res = register_netdev(dev); if (res) goto err_free_irq; goto err_disable_clock; if (macb_mii_init(lp) != 0) goto err_out_unregister_netdev; Loading @@ -537,14 +535,8 @@ static int __init at91ether_probe(struct platform_device *pdev) err_out_unregister_netdev: unregister_netdev(dev); err_free_irq: platform_set_drvdata(pdev, NULL); free_irq(dev->irq, dev); err_disable_clock: clk_disable(lp->pclk); clk_put(lp->pclk); err_ioumap: iounmap(lp->regs); err_free_dev: free_netdev(dev); return res; Loading @@ -562,10 +554,7 @@ static int __devexit at91ether_remove(struct platform_device *pdev) kfree(lp->mii_bus->irq); mdiobus_free(lp->mii_bus); unregister_netdev(dev); free_irq(dev->irq, dev); iounmap(lp->regs); clk_disable(lp->pclk); clk_put(lp->pclk); free_netdev(dev); platform_set_drvdata(pdev, NULL); Loading