diff options
author | Daniel Silverstone <dsilvers@simtec.co.uk> | 2008-12-13 20:44:12 +0000 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-12-14 11:34:47 +0000 |
commit | 72880ad866c21badace4d8026c1e58f2fde087fb (patch) | |
tree | 83a2a5a7f46ef890426ee83c931c14ac325724be /arch/arm/mach-ks8695/include | |
parent | fbd627100bc4a9ebce8c7617df499ee5db763780 (diff) | |
download | lwn-72880ad866c21badace4d8026c1e58f2fde087fb.tar.gz lwn-72880ad866c21badace4d8026c1e58f2fde087fb.zip |
[ARM] KS8695: Fixup the KS8695 GPIO to be GPIOLIB
This patch is as small a change as possible to the KS8695 GPIO layer
to use GPIOLIB to allow the generic GPIO expanders and the like to
be compiled.
As a side-effect, we also remove __init_or_module from several
functions which could be called by drivers such as i2c-gpio which
could plausibly be compiled into a non-modular kernel.
Signed-off-by: Daniel Silverstone <dsilvers@simtec.co.uk>
Signed-off-by: Vincent Sanders <vince@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-ks8695/include')
-rw-r--r-- | arch/arm/mach-ks8695/include/mach/gpio.h | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/arch/arm/mach-ks8695/include/mach/gpio.h b/arch/arm/mach-ks8695/include/mach/gpio.h index d4af5c335f16..6379f2fe843d 100644 --- a/arch/arm/mach-ks8695/include/mach/gpio.h +++ b/arch/arm/mach-ks8695/include/mach/gpio.h @@ -30,53 +30,32 @@ #define KS8695_GPIO_14 14 #define KS8695_GPIO_15 15 - /* * Configure GPIO pin as external interrupt source. */ -int __init_or_module ks8695_gpio_interrupt(unsigned int pin, unsigned int type); - -/* - * Configure the GPIO line as an input. - */ -int __init_or_module gpio_direction_input(unsigned int pin); - -/* - * Configure the GPIO line as an output, with default state. - */ -int __init_or_module gpio_direction_output(unsigned int pin, unsigned int state); - -/* - * Set the state of an output GPIO line. - */ -void gpio_set_value(unsigned int pin, unsigned int state); - -/* - * Read the state of a GPIO line. - */ -int gpio_get_value(unsigned int pin); +extern int ks8695_gpio_interrupt(unsigned int pin, unsigned int type); /* * Map GPIO line to IRQ number. */ -int gpio_to_irq(unsigned int pin); +extern int gpio_to_irq(unsigned int pin); /* * Map IRQ number to GPIO line. */ -int irq_to_gpio(unsigned int irq); - +extern int irq_to_gpio(unsigned int irq); #include <asm-generic/gpio.h> -static inline int gpio_request(unsigned int pin, const char *label) -{ - return 0; -} +/* If it turns out that we need to optimise GPIO access for the + * Micrel's GPIOs, then these can be changed to check their argument + * directly as static inlines. However for now it's probably not + * worthwhile. + */ +#define gpio_get_value __gpio_get_value +#define gpio_set_value __gpio_set_value -static inline void gpio_free(unsigned int pin) -{ - might_sleep(); -} +/* Register the GPIOs */ +extern void ks8695_register_gpios(void); #endif |