[ARM] 3867/1: AT91 GPIO update
This patch makes the AT91 gpio.c support processor-generic (AT91RM9200 and AT91SAM9xxx). The GPIO controllers supported by a particular AT91 processor are defined in the processor-specific file and are registered with gpio.c at startup. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
committed by
Russell King
parent
2eeaaa21de
commit
f21738341c
@@ -17,8 +17,7 @@
|
||||
|
||||
#define PIN_BASE NR_AIC_IRQS
|
||||
|
||||
#define PQFP_GPIO_BANKS 3 /* PQFP package has 3 banks */
|
||||
#define BGA_GPIO_BANKS 4 /* BGA package has 4 banks */
|
||||
#define MAX_GPIO_BANKS 4
|
||||
|
||||
/* these pin numbers double as IRQ numbers, like AT91xxx_ID_* values */
|
||||
|
||||
@@ -180,17 +179,18 @@
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/* setup setup routines, called from board init or driver probe() */
|
||||
extern int at91_set_A_periph(unsigned pin, int use_pullup);
|
||||
extern int at91_set_B_periph(unsigned pin, int use_pullup);
|
||||
extern int at91_set_gpio_input(unsigned pin, int use_pullup);
|
||||
extern int at91_set_gpio_output(unsigned pin, int value);
|
||||
extern int at91_set_deglitch(unsigned pin, int is_on);
|
||||
extern int at91_set_multi_drive(unsigned pin, int is_on);
|
||||
extern int __init_or_module at91_set_A_periph(unsigned pin, int use_pullup);
|
||||
extern int __init_or_module at91_set_B_periph(unsigned pin, int use_pullup);
|
||||
extern int __init_or_module at91_set_gpio_input(unsigned pin, int use_pullup);
|
||||
extern int __init_or_module at91_set_gpio_output(unsigned pin, int value);
|
||||
extern int __init_or_module at91_set_deglitch(unsigned pin, int is_on);
|
||||
extern int __init_or_module at91_set_multi_drive(unsigned pin, int is_on);
|
||||
|
||||
/* callable at any time */
|
||||
extern int at91_set_gpio_value(unsigned pin, int value);
|
||||
extern int at91_get_gpio_value(unsigned pin);
|
||||
|
||||
/* callable only from core power-management code */
|
||||
extern void at91_gpio_suspend(void);
|
||||
extern void at91_gpio_resume(void);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user