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 <[email protected]>
---
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)
--
1.6.5.5
On Wed, 9 Dec 2009 06:53:39 -0500
Mike Frysinger <[email protected]> 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 <[email protected]>
> ---
> 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.