On Thu, 18 Oct 2007 15:51:24 +0200 Florian Fainelli <[EMAIL PROTECTED]> wrote:
> This patch adds the generic GPIO support to the x86 > architecture. We do the same as for MIPS, we let > the machine override the gpio callbacks and provide > defaults one in mach-generic. > > Signed-off-by: Florian Fainelli <[EMAIL PROTECTED]> > --- > arch/i386/Kconfig | 4 ++++ > include/asm-x86/gpio.h | 6 ++++++ > include/asm-x86/mach-generic/gpio.h | 15 +++++++++++++++ > 3 files changed, 25 insertions(+), 0 deletions(-) > create mode 100644 include/asm-x86/gpio.h > create mode 100644 include/asm-x86/mach-generic/gpio.h > --- > diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig > index bf9aafa..501fd6d 100644 > --- a/arch/i386/Kconfig > +++ b/arch/i386/Kconfig > @@ -79,6 +79,10 @@ config GENERIC_BUG > default y > depends on BUG > > +config GENERIC_GPIO > + bool > + default n > + > config GENERIC_HWEIGHT > bool > default y > diff --git a/include/asm-x86/gpio.h b/include/asm-x86/gpio.h > new file mode 100644 > index 0000000..ff87fca > --- /dev/null > +++ b/include/asm-x86/gpio.h > @@ -0,0 +1,6 @@ > +#ifndef _ASM_I386_GPIO_H > +#define _ASM_I386_GPIO_H > + > +#include <gpio.h> > + > +#endif /* _ASM_I386_GPIO_H */ > diff --git a/include/asm-x86/mach-generic/gpio.h > b/include/asm-x86/mach-generic/gpio.h > new file mode 100644 > index 0000000..5305dcb > --- /dev/null > +++ b/include/asm-x86/mach-generic/gpio.h > @@ -0,0 +1,15 @@ > +#ifndef __ASM_MACH_GENERIC_GPIO_H > +#define __ASM_MACH_GENERIC_GPIO_H > + > +int gpio_request(unsigned gpio, const char *label); > +void gpio_free(unsigned gpio); > +int gpio_direction_input(unsigned gpio); > +int gpio_direction_output(unsigned gpio, int value); > +int gpio_get_value(unsigned gpio); > +void gpio_set_value(unsigned gpio, int value); > +int gpio_to_irq(unsigned gpio); > +int irq_to_gpio(unsigned irq); > + > +#include <asm-generic/gpio.h> /* cansleep wrappers */ > + > +#endif /* __ASM_MACH_GENERIC_GPIO_H */ There's a new driver in git-dvb which does a plain old #include <asm/gpio.h> and it explodes on i386 allmodconfig with: In file included from drivers/media/video/mt9m001.c:20: include/asm/gpio.h:4:18: error: gpio.h: No such file or directory I don't even know how this was supposed to work. What does "#include <gpio.h>" give us? Is the kbuild system supposed to have added -Iinclude/asm/mach-generic? It obviously didn't. Someone please fix. It would be more modern to have a <linux/gpio.h> which takes care of cruddy details, but it's getting too late for that. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/