Re: [PATCH] asm-generic/gpio.h: add some forward decls of thedevice struct

From: Andrew Morton
Date: Wed Dec 16 2009 - 17:31:19 EST


On Wed, 9 Dec 2009 06:53:39 -0500
Mike Frysinger <vapier@xxxxxxxxxx> wrote:

> After the recent commit a4177ee7f, attempting to include asm-generic/gpio.h
> in otherwise "slim" code results in ugly warnings like so:
>
> CC arch/blackfin/kernel/bfin_gpio.o
> In file included from arch/blackfin/include/asm/gpio.h:278,
> from arch/blackfin/kernel/bfin_gpio.c:15:
> include/asm-generic/gpio.h:193: warning:
> ___struct device___ declared inside parameter list
> its scope is only this definition or declaration, which is probably not what you want
>
> So add simple C forward decls of the struct device to avoid these.
>
> Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
> ---
> include/asm-generic/gpio.h | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
> index 66d6106..204bed3 100644
> --- a/include/asm-generic/gpio.h
> +++ b/include/asm-generic/gpio.h
> @@ -28,6 +28,7 @@ static inline int gpio_is_valid(int number)
> return ((unsigned)number) < ARCH_NR_GPIOS;
> }
>
> +struct device;
> struct seq_file;
> struct module;
>
> @@ -181,6 +182,8 @@ static inline void gpio_set_value_cansleep(unsigned gpio, int value)
>
> #ifndef CONFIG_GPIO_SYSFS
>
> +struct device;
> +
> /* sysfs support is only available with gpiolib, where it's optional */
>
> static inline int gpio_export(unsigned gpio, bool direction_may_change)

There was no need to add duplicated forward declarations. Just move
them all to the top, outside ifdefs.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/