On Wed, Dec 4, 2019 at 12:13 PM Clement Leger <cleger@xxxxxxxxx> wrote: > > dwapb-gpio driver which uses this function will be moved to pinctrl for > pinctrl support. Export this function in gpio/driver.h to allow using > it. > I don't think this is proper way to do it. The driver has to register IRQ chip and GPIO core will take care of ACPI related stuff. > Signed-off-by: Clement Leger <cleger@xxxxxxxxx> > --- > drivers/gpio/gpiolib-acpi.h | 4 ---- > include/linux/gpio/driver.h | 12 ++++++++++++ > 2 files changed, 12 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpio/gpiolib-acpi.h b/drivers/gpio/gpiolib-acpi.h > index 1c6d65cf0629..ba2f187babe3 100644 > --- a/drivers/gpio/gpiolib-acpi.h > +++ b/drivers/gpio/gpiolib-acpi.h > @@ -34,7 +34,6 @@ struct acpi_gpio_info { > void acpi_gpiochip_add(struct gpio_chip *chip); > void acpi_gpiochip_remove(struct gpio_chip *chip); > > -void acpi_gpiochip_request_interrupts(struct gpio_chip *chip); > void acpi_gpiochip_free_interrupts(struct gpio_chip *chip); > > int acpi_gpio_update_gpiod_flags(enum gpiod_flags *flags, > @@ -56,9 +55,6 @@ int acpi_gpio_count(struct device *dev, const char *con_id); > static inline void acpi_gpiochip_add(struct gpio_chip *chip) { } > static inline void acpi_gpiochip_remove(struct gpio_chip *chip) { } > > -static inline void > -acpi_gpiochip_request_interrupts(struct gpio_chip *chip) { } > - > static inline void > acpi_gpiochip_free_interrupts(struct gpio_chip *chip) { } > > diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h > index e2480ef94c55..40b9f13d77e1 100644 > --- a/include/linux/gpio/driver.h > +++ b/include/linux/gpio/driver.h > @@ -733,6 +733,18 @@ void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset); > > struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc); > > + > +#ifdef CONFIG_GPIO_ACPI > + > +void acpi_gpiochip_request_interrupts(struct gpio_chip *chip); > + > +#else > + > +static inline void acpi_gpiochip_request_interrupts(struct gpio_chip *chip) > +{ > +} > + > +#endif /* CONFIG_GPIO_ACPI */ > #else /* CONFIG_GPIOLIB */ > > static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc) > -- > 2.15.0.276.g89ea799 > -- With Best Regards, Andy Shevchenko