]> git.karo-electronics.de Git - linux-beck.git/commitdiff
i2c: ismt: improve usage of devres API
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 16 Sep 2015 14:23:58 +0000 (17:23 +0300)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 20 Oct 2015 14:51:38 +0000 (16:51 +0200)
pcim_release() will release any requested region. There is no need to duplicate
this effort in the driver.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-ismt.c

index 3ab3b4d0201759f53b3712a2481326f434f500bd..fd4284ea4a3ed3b74dfb693956275c855c2c25f6 100644 (file)
@@ -904,8 +904,7 @@ ismt_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        priv->smba = pcim_iomap(pdev, SMBBAR, len);
        if (!priv->smba) {
                dev_err(&pdev->dev, "Unable to ioremap SMBus BAR\n");
-               err = -ENODEV;
-               goto fail;
+               return -ENODEV;
        }
 
        if ((pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0) ||
@@ -915,32 +914,26 @@ ismt_probe(struct pci_dev *pdev, const struct pci_device_id *id)
                                                 DMA_BIT_MASK(32)) != 0)) {
                        dev_err(&pdev->dev, "pci_set_dma_mask fail %p\n",
                                pdev);
-                       err = -ENODEV;
-                       goto fail;
+                       return -ENODEV;
                }
        }
 
        err = ismt_dev_init(priv);
        if (err)
-               goto fail;
+               return err;
 
        ismt_hw_init(priv);
 
        err = ismt_int_init(priv);
        if (err)
-               goto fail;
+               return err;
 
        err = i2c_add_adapter(&priv->adapter);
        if (err) {
                dev_err(&pdev->dev, "Failed to add SMBus iSMT adapter\n");
-               err = -ENODEV;
-               goto fail;
+               return -ENODEV;
        }
        return 0;
-
-fail:
-       pci_release_region(pdev, SMBBAR);
-       return err;
 }
 
 /**
@@ -952,7 +945,6 @@ static void ismt_remove(struct pci_dev *pdev)
        struct ismt_priv *priv = pci_get_drvdata(pdev);
 
        i2c_del_adapter(&priv->adapter);
-       pci_release_region(pdev, SMBBAR);
 }
 
 /**