OSDN Git Service

gpiolib: acpi: Move acpi_gpio_to_gpiod_flags() upper in the code
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 9 Nov 2020 20:53:27 +0000 (22:53 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 16 Nov 2020 12:14:35 +0000 (14:14 +0200)
Move acpi_gpio_to_gpiod_flags() upper in the code to allow further refactoring.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/gpio/gpiolib-acpi.c

index b00171d..ac1bde0 100644 (file)
@@ -205,6 +205,39 @@ static void acpi_gpiochip_request_irqs(struct acpi_gpio_chip *acpi_gpio)
                acpi_gpiochip_request_irq(acpi_gpio, event);
 }
 
+static enum gpiod_flags
+acpi_gpio_to_gpiod_flags(const struct acpi_resource_gpio *agpio)
+{
+       switch (agpio->io_restriction) {
+       case ACPI_IO_RESTRICT_INPUT:
+               return GPIOD_IN;
+       case ACPI_IO_RESTRICT_OUTPUT:
+               /*
+                * ACPI GPIO resources don't contain an initial value for the
+                * GPIO. Therefore we deduce that value from the pull field
+                * instead. If the pin is pulled up we assume default to be
+                * high, if it is pulled down we assume default to be low,
+                * otherwise we leave pin untouched.
+                */
+               switch (agpio->pin_config) {
+               case ACPI_PIN_CONFIG_PULLUP:
+                       return GPIOD_OUT_HIGH;
+               case ACPI_PIN_CONFIG_PULLDOWN:
+                       return GPIOD_OUT_LOW;
+               default:
+                       break;
+               }
+       default:
+               break;
+       }
+
+       /*
+        * Assume that the BIOS has configured the direction and pull
+        * accordingly.
+        */
+       return GPIOD_ASIS;
+}
+
 static bool acpi_gpio_in_ignore_list(const char *controller_in, int pin_in)
 {
        const char *controller, *pin_str;
@@ -530,39 +563,6 @@ static bool acpi_get_driver_gpio_data(struct acpi_device *adev,
        return false;
 }
 
-static enum gpiod_flags
-acpi_gpio_to_gpiod_flags(const struct acpi_resource_gpio *agpio)
-{
-       switch (agpio->io_restriction) {
-       case ACPI_IO_RESTRICT_INPUT:
-               return GPIOD_IN;
-       case ACPI_IO_RESTRICT_OUTPUT:
-               /*
-                * ACPI GPIO resources don't contain an initial value for the
-                * GPIO. Therefore we deduce that value from the pull field
-                * instead. If the pin is pulled up we assume default to be
-                * high, if it is pulled down we assume default to be low,
-                * otherwise we leave pin untouched.
-                */
-               switch (agpio->pin_config) {
-               case ACPI_PIN_CONFIG_PULLUP:
-                       return GPIOD_OUT_HIGH;
-               case ACPI_PIN_CONFIG_PULLDOWN:
-                       return GPIOD_OUT_LOW;
-               default:
-                       break;
-               }
-       default:
-               break;
-       }
-
-       /*
-        * Assume that the BIOS has configured the direction and pull
-        * accordingly.
-        */
-       return GPIOD_ASIS;
-}
-
 static int
 __acpi_gpio_update_gpiod_flags(enum gpiod_flags *flags, enum gpiod_flags update)
 {