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/

Reply via email to