This patch makes error path cleaner and probe function tidier.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
---
 It assumes that removal of PCI_D0 and drvdata(NULL) were done previously.

 drivers/usb/chipidea/ci13xxx_pci.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/usb/chipidea/ci13xxx_pci.c 
b/drivers/usb/chipidea/ci13xxx_pci.c
index 59fab90..c9e9cb3 100644
--- a/drivers/usb/chipidea/ci13xxx_pci.c
+++ b/drivers/usb/chipidea/ci13xxx_pci.c
@@ -49,7 +49,7 @@ static struct ci13xxx_platform_data penwell_pci_platdata = {
  * invokes the udc_probe() method to start the UDC associated with it
  */
 static int ci13xxx_pci_probe(struct pci_dev *pdev,
-                                      const struct pci_device_id *id)
+                            const struct pci_device_id *id)
 {
        struct ci13xxx_platform_data *platdata = (void *)id->driver_data;
        struct platform_device *plat_ci;
@@ -61,14 +61,13 @@ static int ci13xxx_pci_probe(struct pci_dev *pdev,
                return -ENODEV;
        }
 
-       retval = pci_enable_device(pdev);
+       retval = pcim_enable_device(pdev);
        if (retval)
-               goto done;
+               return retval;
 
        if (!pdev->irq) {
                dev_err(&pdev->dev, "No IRQ, check BIOS/PCI setup!");
-               retval = -ENODEV;
-               goto disable_device;
+               return -ENODEV;
        }
 
        pci_set_master(pdev);
@@ -84,18 +83,12 @@ static int ci13xxx_pci_probe(struct pci_dev *pdev,
        plat_ci = ci13xxx_add_device(&pdev->dev, res, nres, platdata);
        if (IS_ERR(plat_ci)) {
                dev_err(&pdev->dev, "ci13xxx_add_device failed!\n");
-               retval = PTR_ERR(plat_ci);
-               goto disable_device;
+               return PTR_ERR(plat_ci);
        }
 
        pci_set_drvdata(pdev, plat_ci);
 
        return 0;
-
- disable_device:
-       pci_disable_device(pdev);
- done:
-       return retval;
 }
 
 /**
@@ -111,7 +104,6 @@ static void ci13xxx_pci_remove(struct pci_dev *pdev)
        struct platform_device *plat_ci = pci_get_drvdata(pdev);
 
        ci13xxx_remove_device(plat_ci);
-       pci_disable_device(pdev);
 }
 
 /**
-- 
1.8.2.rc0.22.gb3600c3

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to