mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
gpiolib: acpi: Add acpi_gpio_update_gpiod_lookup_flags() helper
This helper consolidates all settings of GPIO descriptor lookup flags and quirks in the future if any. No functional change intended. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
24a4954333
commit
606be34440
@ -525,6 +525,15 @@ acpi_gpio_update_gpiod_flags(enum gpiod_flags *flags, struct acpi_gpio_info *inf
|
||||
return ret;
|
||||
}
|
||||
|
||||
int acpi_gpio_update_gpiod_lookup_flags(unsigned long *lookupflags,
|
||||
struct acpi_gpio_info *info)
|
||||
{
|
||||
if (info->polarity == GPIO_ACTIVE_LOW)
|
||||
*lookupflags |= GPIO_ACTIVE_LOW;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct acpi_gpio_lookup {
|
||||
struct acpi_gpio_info info;
|
||||
int index;
|
||||
@ -745,10 +754,8 @@ struct gpio_desc *acpi_find_gpio(struct device *dev,
|
||||
return ERR_PTR(-ENOENT);
|
||||
}
|
||||
|
||||
if (info.polarity == GPIO_ACTIVE_LOW)
|
||||
*lookupflags |= GPIO_ACTIVE_LOW;
|
||||
|
||||
acpi_gpio_update_gpiod_flags(dflags, &info);
|
||||
acpi_gpio_update_gpiod_lookup_flags(lookupflags, &info);
|
||||
return desc;
|
||||
}
|
||||
|
||||
|
@ -4350,9 +4350,7 @@ struct gpio_desc *fwnode_get_named_gpiod(struct fwnode_handle *fwnode,
|
||||
return desc;
|
||||
|
||||
acpi_gpio_update_gpiod_flags(&dflags, &info);
|
||||
|
||||
if (info.polarity == GPIO_ACTIVE_LOW)
|
||||
lflags |= GPIO_ACTIVE_LOW;
|
||||
acpi_gpio_update_gpiod_lookup_flags(&lflags, &info);
|
||||
}
|
||||
|
||||
/* Currently only ACPI takes this path */
|
||||
|
@ -125,6 +125,8 @@ void acpi_gpiochip_free_interrupts(struct gpio_chip *chip);
|
||||
|
||||
int acpi_gpio_update_gpiod_flags(enum gpiod_flags *flags,
|
||||
struct acpi_gpio_info *info);
|
||||
int acpi_gpio_update_gpiod_lookup_flags(unsigned long *lookupflags,
|
||||
struct acpi_gpio_info *info);
|
||||
|
||||
struct gpio_desc *acpi_find_gpio(struct device *dev,
|
||||
const char *con_id,
|
||||
@ -153,6 +155,12 @@ acpi_gpio_update_gpiod_flags(enum gpiod_flags *flags, struct acpi_gpio_info *inf
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline int
|
||||
acpi_gpio_update_gpiod_lookup_flags(unsigned long *lookupflags,
|
||||
struct acpi_gpio_info *info)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline struct gpio_desc *
|
||||
acpi_find_gpio(struct device *dev, const char *con_id,
|
||||
|
Loading…
Reference in New Issue
Block a user