gpiolib: acpi: Move acpi_gpio_to_gpiod_flags() upper in the code
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>
This commit is contained in:
parent
ce698f4ec1
commit
1a81f19154
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user