OSDN Git Service

gpiolib: acpi: Move ACPI device NULL check to acpi_get_driver_gpio_data()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 30 Jan 2023 16:13:45 +0000 (18:13 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 23 Mar 2023 14:22:18 +0000 (16:22 +0200)
It's logical to check ACPI device for NULL inside
acpi_get_driver_gpio_data() instead of requiring that
in each caller.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/gpio/gpiolib-acpi.c

index 47d34db..4d4a2a6 100644 (file)
@@ -645,7 +645,7 @@ static bool acpi_get_driver_gpio_data(struct acpi_device *adev,
 {
        const struct acpi_gpio_mapping *gm;
 
-       if (!adev->driver_gpios)
+       if (!adev || !adev->driver_gpios)
                return false;
 
        for (gm = adev->driver_gpios; gm->name; gm++)
@@ -839,13 +839,10 @@ static int acpi_gpio_property_lookup(struct fwnode_handle *fwnode,
        ret = __acpi_node_get_property_reference(fwnode, propname, index, 3,
                                                 &args);
        if (ret) {
-               struct acpi_device *adev = to_acpi_device_node(fwnode);
+               struct acpi_device *adev;
 
-               if (!adev)
-                       return ret;
-
-               if (!acpi_get_driver_gpio_data(adev, propname, index, &args,
-                                              &quirks))
+               adev = to_acpi_device_node(fwnode);
+               if (!acpi_get_driver_gpio_data(adev, propname, index, &args, &quirks))
                        return ret;
        }
        /*