ACPI: LPSS: Deduplicate skipping device in acpi_lpss_create_device()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 29 Aug 2022 14:11:29 +0000 (17:11 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 30 Sep 2022 18:51:07 +0000 (20:51 +0200)
Add a new label to deduplicate skipping device code in the
acpi_lpss_create_device(). No functional change intended.

While at it, convert the last conditional to use the classical
pattern, i.e.

if (err)
...handle err...

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c

index c39a0a88f3a3904e8d960da9d5a498ff5b3d5bfc..7a73528aa9c2a1ac9dfa912dbe645f7ee25598e1 100644 (file)
@@ -670,9 +670,7 @@ static int acpi_lpss_create_device(struct acpi_device *adev,
        if (!pdata->mmio_base) {
                /* Avoid acpi_bus_attach() instantiating a pdev for this dev. */
                adev->pnp.type.platform_id = 0;
-               /* Skip the device, but continue the namespace scan. */
-               ret = 0;
-               goto err_out;
+               goto out_free;
        }
 
        pdata->adev = adev;
@@ -683,11 +681,8 @@ static int acpi_lpss_create_device(struct acpi_device *adev,
 
        if (dev_desc->flags & LPSS_CLK) {
                ret = register_device_clock(adev, pdata);
-               if (ret) {
-                       /* Skip the device, but continue the namespace scan. */
-                       ret = 0;
-                       goto err_out;
-               }
+               if (ret)
+                       goto out_free;
        }
 
        /*
@@ -699,15 +694,19 @@ static int acpi_lpss_create_device(struct acpi_device *adev,
 
        adev->driver_data = pdata;
        pdev = acpi_create_platform_device(adev, dev_desc->properties);
-       if (!IS_ERR_OR_NULL(pdev)) {
-               acpi_lpss_create_device_links(adev, pdev);
-               return 1;
+       if (IS_ERR_OR_NULL(pdev)) {
+               adev->driver_data = NULL;
+               ret = PTR_ERR(pdev);
+               goto err_out;
        }
 
-       ret = PTR_ERR(pdev);
-       adev->driver_data = NULL;
+       acpi_lpss_create_device_links(adev, pdev);
+       return 1;
 
- err_out:
+out_free:
+       /* Skip the device, but continue the namespace scan */
+       ret = 0;
+err_out:
        kfree(pdata);
        return ret;
 }