Message ID | 20230116140811.27201-1-pierluigi.p@variscite.com |
---|---|
State | Superseded |
Headers | show |
Series | gpiolib: fix linker errors when GPIOLIB is disabled | expand |
On Wed, Jan 18, 2023 at 3:22 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > On Tue, Jan 17, 2023 at 11:17 AM Pierluigi Passaro > <pierluigi.p@variscite.com> wrote: > > > > On Tue, Jan 17, 2023 at 10:36 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > On Mon, Jan 16, 2023 at 3:08 PM Pierluigi Passaro > > > <pierluigi.p@variscite.com> wrote: > > > > > > > > Both the functions gpiochip_request_own_desc and > > > > gpiochip_free_own_desc are exported from > > > > drivers/gpio/gpiolib.c > > > > but this file is compiled only when CONFIG_GPIOLIB is enabled. > > > > Move the protototypes under "#ifdef CONFIG_GPIOLIB" and provide > > > > reasonable definitions in the "#else" branch. > > > > > > > > Signed-off-by: Pierluigi Passaro <pierluigi.p@variscite.com> > > > > Reported-by: kernel test robot <lkp@intel.com> > > > > > > Please add a Fixes tag. > > > > > I beg your pardon for the question: how can I "add a Fixes tag" ? > > Can you point me to any reference documentation / instructions ? > > Thanks > > > > > Look at the output of `git blame` on the file in question and see who > added the changes that introduced the problem. Then, before your > Sign-off in the git message add: Fixes: <12 chars of the commit hash> > ("<commit subject>"). See Existing commits with fixes for reference. > > Bart > Thanks for the guidelines: I've just sent patch v2 with Fixes tag.
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index 44783fc16125..ed77c6fc0beb 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@ -758,6 +758,8 @@ gpiochip_remove_pin_ranges(struct gpio_chip *gc) #endif /* CONFIG_PINCTRL */ +#ifdef CONFIG_GPIOLIB + struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *gc, unsigned int hwnum, const char *label, @@ -765,8 +767,6 @@ struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *gc, enum gpiod_flags dflags); void gpiochip_free_own_desc(struct gpio_desc *desc); -#ifdef CONFIG_GPIOLIB - /* lock/unlock as IRQ */ int gpiochip_lock_as_irq(struct gpio_chip *gc, unsigned int offset); void gpiochip_unlock_as_irq(struct gpio_chip *gc, unsigned int offset); @@ -776,6 +776,22 @@ struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc); #else /* CONFIG_GPIOLIB */ +static inline struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *gc, + unsigned int hwnum, + const char *label, + enum gpio_lookup_flags lflags, + enum gpiod_flags dflags) +{ + /* GPIO can never have been requested */ + WARN_ON(1); + return ERR_PTR(-ENODEV); +} + +static inline void gpiochip_free_own_desc(struct gpio_desc *desc) +{ + WARN_ON(1); +} + static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc) { /* GPIO can never have been requested */
Both the functions gpiochip_request_own_desc and gpiochip_free_own_desc are exported from drivers/gpio/gpiolib.c but this file is compiled only when CONFIG_GPIOLIB is enabled. Move the protototypes under "#ifdef CONFIG_GPIOLIB" and provide reasonable definitions in the "#else" branch. Signed-off-by: Pierluigi Passaro <pierluigi.p@variscite.com> Reported-by: kernel test robot <lkp@intel.com> --- include/linux/gpio/driver.h | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-)