ethernet: amd: use devm_ioremap()
authorVarka Bhadram <varkab@cdac.in>
Mon, 14 Jul 2014 08:39:05 +0000 (14:09 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jul 2014 02:14:15 +0000 (19:14 -0700)
This patch replace ioremap() with the devm_ioremap() so that
the resource will be freed automatically with the probe failed.

Signed-off-by: Varka Bhadram <varkab@cdac.in>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amd/amd8111e.c

index ddd09e8305278c79490a789688285371ab5171db..433107c3cd2bca442fceaa0180d3201b91919c06 100644 (file)
@@ -1866,7 +1866,7 @@ static int amd8111e_probe_one(struct pci_dev *pdev,
 
        spin_lock_init(&lp->lock);
 
-       lp->mmio = ioremap(reg_addr, reg_len);
+       lp->mmio = devm_ioremap(&pdev->dev, reg_addr, reg_len);
        if (!lp->mmio) {
                printk(KERN_ERR "amd8111e: Cannot map device registers, "
                       "exiting\n");
@@ -1913,7 +1913,7 @@ static int amd8111e_probe_one(struct pci_dev *pdev,
        if (err) {
                printk(KERN_ERR "amd8111e: Cannot register net device, "
                       "exiting.\n");
-               goto err_iounmap;
+               goto err_free_dev;
        }
 
        pci_set_drvdata(pdev, dev);
@@ -1943,8 +1943,6 @@ static int amd8111e_probe_one(struct pci_dev *pdev,
                printk(KERN_INFO "%s: Couldn't detect MII PHY, assuming address 0x01\n",
                       dev->name);
        return 0;
-err_iounmap:
-       iounmap(lp->mmio);
 
 err_free_dev:
        free_netdev(dev);
@@ -1964,7 +1962,6 @@ static void amd8111e_remove_one(struct pci_dev *pdev)
 
        if (dev) {
                unregister_netdev(dev);
-               iounmap(((struct amd8111e_priv *)netdev_priv(dev))->mmio);
                free_netdev(dev);
                pci_release_regions(pdev);
                pci_disable_device(pdev);