Messages in this thread | | | Date | Wed, 13 Feb 2008 14:02:58 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 1/4 resend] [x86] Add generic GPIO support to x86 |
| |
On Thu, 18 Oct 2007 15:51:24 +0200 Florian Fainelli <florian.fainelli@telecomint.eu> 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 <florian.fainelli@telecomint.eu> > --- > 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.
| |