[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <23aeaa05-3a59-5f01-7a67-de1d1d1de547@huawei.com>
Date: Thu, 5 Sep 2019 10:04:27 +0800
From: Yuehaibing <yuehaibing@...wei.com>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Linus Walleij <linus.walleij@...aro.org>
CC: Bartosz Golaszewski <bgolaszewski@...libre.com>,
Alexandre Courbot <acourbot@...dia.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH] gpio: Move gpiochip_.*lock_as_irq() to the proper ifdef
On 2019/9/4 23:46, Sebastian Andrzej Siewior wrote:
> In a recent commit the gpiochip_.*lock_as_irq() were moved and ended up
> in the wrong `ifdef' section. Now for !CONFIG_GPIOLIB the function is
> defined twice leading to an compile error.
>
> Move the extern function declaration under CONFIG_GPIOLIB, the "static
> inline" version is already under !CONFIG_GPIOLIB.
>
> Fixes: c7663fa2a6631 ("gpio: Move gpiochip_lock/unlock_as_irq to gpio/driver.h")
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> ---
> include/linux/gpio/driver.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
> index b74a3bee85e5d..fb134ff20f6b2 100644
> --- a/include/linux/gpio/driver.h
> +++ b/include/linux/gpio/driver.h
> @@ -702,14 +702,14 @@ void gpiochip_free_own_desc(struct gpio_desc *desc);
> void devprop_gpiochip_set_names(struct gpio_chip *chip,
> const struct fwnode_handle *fwnode);
>
> -/* lock/unlock as IRQ */
> -int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset);
> -void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset);
> -
> #ifdef CONFIG_GPIOLIB
>
> struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc);
>
> +/* lock/unlock as IRQ */
> +int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset);
> +void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset);
> +
> #else /* CONFIG_GPIOLIB */
Interesting, my patch indeed do the correct thingļ¼
+/* lock/unlock as IRQ */
+int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset);
+void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset);
+
#else /* CONFIG_GPIOLIB */
however, now in include/linux/gpio/driver.h, it is:
/* lock/unlock as IRQ */
int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset);
void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset);
#ifdef CONFIG_GPIOLIB
struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc);
#else /* CONFIG_GPIOLIB */
Maybe this caused by the fuzzing? Anyway, this fix the issue, so
Reviewed-by: YueHaibing <yuehaibing@...wei.com>
>
> static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc)
>
Powered by blists - more mailing lists