On 05/11/2013 10:30, Linus Walleij : > This moves the <mach/gpio.h> header in the AT91 platform down > into the machine directory and removes the reliance on > MACH_NEED_GPIO_H from the AT91. > > This does not move the platform to GENERIC_GPIO but localize > the remaining work to be done for this to the mach-at91 > folder. > > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> If we agree with Arnd to take this one for 3.15, it can be easier if I add immediately my: Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> So that you can quickly send an rebased version. Thanks a lot for having taking care of this step toward multiplatform for AT91. bye, > --- > This is intended to be merged into the ARM SoC tree through > Nicolas' tree in the next kernel cycle (v3.14) if the approach is > OK. > --- > arch/arm/Kconfig | 1 - > arch/arm/mach-at91/at91rm9200_devices.c | 1 + > arch/arm/mach-at91/at91sam9260_devices.c | 2 +- > arch/arm/mach-at91/at91sam9261_devices.c | 2 +- > arch/arm/mach-at91/at91sam9263_devices.c | 1 + > arch/arm/mach-at91/at91sam9g45_devices.c | 1 + > arch/arm/mach-at91/at91sam9rl_devices.c | 1 + > arch/arm/mach-at91/board-1arm.c | 2 +- > arch/arm/mach-at91/board-afeb-9260v1.c | 1 + > arch/arm/mach-at91/board-cam60.c | 1 + > arch/arm/mach-at91/board-carmeva.c | 1 + > arch/arm/mach-at91/board-cpu9krea.c | 1 + > arch/arm/mach-at91/board-cpuat91.c | 2 + > arch/arm/mach-at91/board-csb337.c | 2 +- > arch/arm/mach-at91/board-csb637.c | 1 + > arch/arm/mach-at91/board-eb9200.c | 1 + > arch/arm/mach-at91/board-ecbat91.c | 1 + > arch/arm/mach-at91/board-eco920.c | 2 + > arch/arm/mach-at91/board-flexibity.c | 1 + > arch/arm/mach-at91/board-foxg20.c | 1 + > arch/arm/mach-at91/board-gsia18s.c | 1 + > arch/arm/mach-at91/board-kafa.c | 1 + > arch/arm/mach-at91/board-kb9202.c | 1 + > arch/arm/mach-at91/board-pcontrol-g20.c | 1 + > arch/arm/mach-at91/board-picotux200.c | 1 + > arch/arm/mach-at91/board-qil-a9260.c | 1 + > arch/arm/mach-at91/board-rm9200ek.c | 1 + > arch/arm/mach-at91/board-sam9-l9260.c | 1 + > arch/arm/mach-at91/board-sam9260ek.c | 1 + > arch/arm/mach-at91/board-sam9261ek.c | 1 + > arch/arm/mach-at91/board-sam9263ek.c | 1 + > arch/arm/mach-at91/board-sam9g20ek.c | 1 + > arch/arm/mach-at91/board-sam9m10g45ek.c | 1 + > arch/arm/mach-at91/board-sam9rlek.c | 1 + > arch/arm/mach-at91/board-snapper9260.c | 1 + > arch/arm/mach-at91/board-stamp9g20.c | 1 + > arch/arm/mach-at91/board-yl-9200.c | 1 + > arch/arm/mach-at91/gpio.c | 1 + > arch/arm/mach-at91/gpio.h | 222 +++++++++++++++++++++++++++++++ > arch/arm/mach-at91/include/mach/gpio.h | 222 ------------------------------- > arch/arm/mach-at91/leds.c | 1 + > arch/arm/mach-at91/pm.c | 1 + > 42 files changed, 263 insertions(+), 227 deletions(-) > create mode 100644 arch/arm/mach-at91/gpio.h > delete mode 100644 arch/arm/mach-at91/include/mach/gpio.h > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index c6debe07f036..4f6eb407aa64 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -360,7 +360,6 @@ config ARCH_AT91 > select CLKDEV_LOOKUP > select HAVE_CLK > select IRQ_DOMAIN > - select NEED_MACH_GPIO_H > select NEED_MACH_IO_H if PCCARD > select PINCTRL > select PINCTRL_AT91 if USE_OF > diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c > index 3ce6ba6341ed..42999ce04a32 100644 > --- a/arch/arm/mach-at91/at91rm9200_devices.c > +++ b/arch/arm/mach-at91/at91rm9200_devices.c > @@ -25,6 +25,7 @@ > > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > /* -------------------------------------------------------------------- > diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c > index eda8d1679d40..428abfc14848 100644 > --- a/arch/arm/mach-at91/at91sam9260_devices.c > +++ b/arch/arm/mach-at91/at91sam9260_devices.c > @@ -28,7 +28,7 @@ > > #include "board.h" > #include "generic.h" > - > +#include "gpio.h" > > /* -------------------------------------------------------------------- > * USB Host > diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c > index 629ea5fc95cf..4e02e9271ac9 100644 > --- a/arch/arm/mach-at91/at91sam9261_devices.c > +++ b/arch/arm/mach-at91/at91sam9261_devices.c > @@ -28,7 +28,7 @@ > > #include "board.h" > #include "generic.h" > - > +#include "gpio.h" > > /* -------------------------------------------------------------------- > * USB Host > diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c > index 858c8aac2daf..3a384ef27cf6 100644 > --- a/arch/arm/mach-at91/at91sam9263_devices.c > +++ b/arch/arm/mach-at91/at91sam9263_devices.c > @@ -27,6 +27,7 @@ > > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > /* -------------------------------------------------------------------- > diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c > index acb703e13331..6b8effbffc28 100644 > --- a/arch/arm/mach-at91/at91sam9g45_devices.c > +++ b/arch/arm/mach-at91/at91sam9g45_devices.c > @@ -38,6 +38,7 @@ > #include "board.h" > #include "generic.h" > #include "clock.h" > +#include "gpio.h" > > > /* -------------------------------------------------------------------- > diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c > index 352468f265a9..6cf441cadf94 100644 > --- a/arch/arm/mach-at91/at91sam9rl_devices.c > +++ b/arch/arm/mach-at91/at91sam9rl_devices.c > @@ -25,6 +25,7 @@ > > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > /* -------------------------------------------------------------------- > diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c > index 35ab632bbf68..3f6dbcc34022 100644 > --- a/arch/arm/mach-at91/board-1arm.c > +++ b/arch/arm/mach-at91/board-1arm.c > @@ -39,7 +39,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > - > +#include "gpio.h" > > static void __init onearm_init_early(void) > { > diff --git a/arch/arm/mach-at91/board-afeb-9260v1.c b/arch/arm/mach-at91/board-afeb-9260v1.c > index f95e31cda4b3..597c649170aa 100644 > --- a/arch/arm/mach-at91/board-afeb-9260v1.c > +++ b/arch/arm/mach-at91/board-afeb-9260v1.c > @@ -46,6 +46,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init afeb9260_init_early(void) > diff --git a/arch/arm/mach-at91/board-cam60.c b/arch/arm/mach-at91/board-cam60.c > index ade948b82662..2e1f8a5a8b41 100644 > --- a/arch/arm/mach-at91/board-cam60.c > +++ b/arch/arm/mach-at91/board-cam60.c > @@ -44,6 +44,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init cam60_init_early(void) > diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c > index 92983050a9bd..47313d3ee037 100644 > --- a/arch/arm/mach-at91/board-carmeva.c > +++ b/arch/arm/mach-at91/board-carmeva.c > @@ -39,6 +39,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init carmeva_init_early(void) > diff --git a/arch/arm/mach-at91/board-cpu9krea.c b/arch/arm/mach-at91/board-cpu9krea.c > index 008527efdbcf..2037f78c84e7 100644 > --- a/arch/arm/mach-at91/board-cpu9krea.c > +++ b/arch/arm/mach-at91/board-cpu9krea.c > @@ -48,6 +48,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > static void __init cpu9krea_init_early(void) > { > diff --git a/arch/arm/mach-at91/board-cpuat91.c b/arch/arm/mach-at91/board-cpuat91.c > index 42f1353a4baf..c094350c9314 100644 > --- a/arch/arm/mach-at91/board-cpuat91.c > +++ b/arch/arm/mach-at91/board-cpuat91.c > @@ -43,6 +43,8 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > + > > static struct gpio_led cpuat91_leds[] = { > { > diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c > index e5fde215225b..0e35a45cf8d4 100644 > --- a/arch/arm/mach-at91/board-csb337.c > +++ b/arch/arm/mach-at91/board-csb337.c > @@ -42,7 +42,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > - > +#include "gpio.h" > > static void __init csb337_init_early(void) > { > diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c > index fdf11061c577..18d027f529a8 100644 > --- a/arch/arm/mach-at91/board-csb637.c > +++ b/arch/arm/mach-at91/board-csb637.c > @@ -39,6 +39,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init csb637_init_early(void) > diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c > index f9be8161bbfa..aa457a8b22f5 100644 > --- a/arch/arm/mach-at91/board-eb9200.c > +++ b/arch/arm/mach-at91/board-eb9200.c > @@ -38,6 +38,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init eb9200_init_early(void) > diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c > index b2fcd71262ba..ede1373ccaba 100644 > --- a/arch/arm/mach-at91/board-ecbat91.c > +++ b/arch/arm/mach-at91/board-ecbat91.c > @@ -42,6 +42,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ecb_at91init_early(void) > diff --git a/arch/arm/mach-at91/board-eco920.c b/arch/arm/mach-at91/board-eco920.c > index 77de410efc90..4e75321a8f2a 100644 > --- a/arch/arm/mach-at91/board-eco920.c > +++ b/arch/arm/mach-at91/board-eco920.c > @@ -31,6 +31,8 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > + > > static void __init eco920_init_early(void) > { > diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c > index 737c08563628..68f1ab6bd08f 100644 > --- a/arch/arm/mach-at91/board-flexibity.c > +++ b/arch/arm/mach-at91/board-flexibity.c > @@ -37,6 +37,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > static void __init flexibity_init_early(void) > { > diff --git a/arch/arm/mach-at91/board-foxg20.c b/arch/arm/mach-at91/board-foxg20.c > index c20a870ea9c9..8b22c60bb238 100644 > --- a/arch/arm/mach-at91/board-foxg20.c > +++ b/arch/arm/mach-at91/board-foxg20.c > @@ -47,6 +47,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > /* > * The FOX Board G20 hardware comes as the "Netus G20" board with > diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c > index c1d61d247790..e7da1c49cdfc 100644 > --- a/arch/arm/mach-at91/board-gsia18s.c > +++ b/arch/arm/mach-at91/board-gsia18s.c > @@ -38,6 +38,7 @@ > #include "generic.h" > #include "gsia18s.h" > #include "stamp9g20.h" > +#include "gpio.h" > > static void __init gsia18s_init_early(void) > { > diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c > index 88e2f5d2d16d..93b1df42f639 100644 > --- a/arch/arm/mach-at91/board-kafa.c > +++ b/arch/arm/mach-at91/board-kafa.c > @@ -39,6 +39,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init kafa_init_early(void) > diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c > index 0c519d9ebffc..d58d36225e08 100644 > --- a/arch/arm/mach-at91/board-kb9202.c > +++ b/arch/arm/mach-at91/board-kb9202.c > @@ -42,6 +42,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init kb9202_init_early(void) > diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c > index 65c0d6b5ecba..3e552398af8a 100644 > --- a/arch/arm/mach-at91/board-pcontrol-g20.c > +++ b/arch/arm/mach-at91/board-pcontrol-g20.c > @@ -36,6 +36,7 @@ > #include "sam9_smc.h" > #include "generic.h" > #include "stamp9g20.h" > +#include "gpio.h" > > > static void __init pcontrol_g20_init_early(void) > diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c > index ab2b2ec36c14..2c0f2d554d84 100644 > --- a/arch/arm/mach-at91/board-picotux200.c > +++ b/arch/arm/mach-at91/board-picotux200.c > @@ -43,6 +43,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init picotux200_init_early(void) > diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c > index aa3bc9b0f150..81890f0c074e 100644 > --- a/arch/arm/mach-at91/board-qil-a9260.c > +++ b/arch/arm/mach-at91/board-qil-a9260.c > @@ -47,6 +47,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-rm9200ek.c b/arch/arm/mach-at91/board-rm9200ek.c > index 8b17dadc1aba..953cea416754 100644 > --- a/arch/arm/mach-at91/board-rm9200ek.c > +++ b/arch/arm/mach-at91/board-rm9200ek.c > @@ -45,6 +45,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-sam9-l9260.c b/arch/arm/mach-at91/board-sam9-l9260.c > index 43ee4dc43b50..d24dda67e2d3 100644 > --- a/arch/arm/mach-at91/board-sam9-l9260.c > +++ b/arch/arm/mach-at91/board-sam9-l9260.c > @@ -43,6 +43,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c > index 0b153c87521d..023d95cff384 100644 > --- a/arch/arm/mach-at91/board-sam9260ek.c > +++ b/arch/arm/mach-at91/board-sam9260ek.c > @@ -49,6 +49,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c > index d3437624ca4e..a6170c630f0e 100644 > --- a/arch/arm/mach-at91/board-sam9261ek.c > +++ b/arch/arm/mach-at91/board-sam9261ek.c > @@ -53,6 +53,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c > index 3284df05df14..ebfc2b56c489 100644 > --- a/arch/arm/mach-at91/board-sam9263ek.c > +++ b/arch/arm/mach-at91/board-sam9263ek.c > @@ -52,6 +52,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-sam9g20ek.c b/arch/arm/mach-at91/board-sam9g20ek.c > index f9cd1f2c7146..e1be6e25b380 100644 > --- a/arch/arm/mach-at91/board-sam9g20ek.c > +++ b/arch/arm/mach-at91/board-sam9g20ek.c > @@ -50,6 +50,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > /* > * board revision encoding > diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c > index 2a94896a1375..48a8ca3fc6dc 100644 > --- a/arch/arm/mach-at91/board-sam9m10g45ek.c > +++ b/arch/arm/mach-at91/board-sam9m10g45ek.c > @@ -50,6 +50,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c > index aa265dcf2128..eed1e60ecc6f 100644 > --- a/arch/arm/mach-at91/board-sam9rlek.c > +++ b/arch/arm/mach-at91/board-sam9rlek.c > @@ -38,6 +38,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init ek_init_early(void) > diff --git a/arch/arm/mach-at91/board-snapper9260.c b/arch/arm/mach-at91/board-snapper9260.c > index f1d49e929ccb..1b870e6def0c 100644 > --- a/arch/arm/mach-at91/board-snapper9260.c > +++ b/arch/arm/mach-at91/board-snapper9260.c > @@ -38,6 +38,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > #define SNAPPER9260_IO_EXP_GPIO(x) (NR_BUILTIN_GPIO + (x)) > > diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c > index 869cbecf00b7..8a90c5cf8295 100644 > --- a/arch/arm/mach-at91/board-stamp9g20.c > +++ b/arch/arm/mach-at91/board-stamp9g20.c > @@ -31,6 +31,7 @@ > #include "board.h" > #include "sam9_smc.h" > #include "generic.h" > +#include "gpio.h" > > > void __init stamp9g20_init_early(void) > diff --git a/arch/arm/mach-at91/board-yl-9200.c b/arch/arm/mach-at91/board-yl-9200.c > index be083771df2e..46fdb0c68a68 100644 > --- a/arch/arm/mach-at91/board-yl-9200.c > +++ b/arch/arm/mach-at91/board-yl-9200.c > @@ -50,6 +50,7 @@ > #include "at91_aic.h" > #include "board.h" > #include "generic.h" > +#include "gpio.h" > > > static void __init yl9200_init_early(void) > diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c > index a5afcf76550e..12ed05bbdc5c 100644 > --- a/arch/arm/mach-at91/gpio.c > +++ b/arch/arm/mach-at91/gpio.c > @@ -29,6 +29,7 @@ > #include <mach/at91_pio.h> > > #include "generic.h" > +#include "gpio.h" > > #define MAX_NB_GPIO_PER_BANK 32 > > diff --git a/arch/arm/mach-at91/gpio.h b/arch/arm/mach-at91/gpio.h > new file mode 100644 > index 000000000000..5fc23771c154 > --- /dev/null > +++ b/arch/arm/mach-at91/gpio.h > @@ -0,0 +1,222 @@ > +/* > + * arch/arm/mach-at91/include/mach/gpio.h > + * > + * Copyright (C) 2005 HP Labs > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + */ > + > +#ifndef __ASM_ARCH_AT91RM9200_GPIO_H > +#define __ASM_ARCH_AT91RM9200_GPIO_H > + > +#include <linux/kernel.h> > +#include <asm/irq.h> > + > +#define MAX_GPIO_BANKS 5 > +#define NR_BUILTIN_GPIO (MAX_GPIO_BANKS * 32) > + > +/* these pin numbers double as IRQ numbers, like AT91xxx_ID_* values */ > + > +#define AT91_PIN_PA0 (0x00 + 0) > +#define AT91_PIN_PA1 (0x00 + 1) > +#define AT91_PIN_PA2 (0x00 + 2) > +#define AT91_PIN_PA3 (0x00 + 3) > +#define AT91_PIN_PA4 (0x00 + 4) > +#define AT91_PIN_PA5 (0x00 + 5) > +#define AT91_PIN_PA6 (0x00 + 6) > +#define AT91_PIN_PA7 (0x00 + 7) > +#define AT91_PIN_PA8 (0x00 + 8) > +#define AT91_PIN_PA9 (0x00 + 9) > +#define AT91_PIN_PA10 (0x00 + 10) > +#define AT91_PIN_PA11 (0x00 + 11) > +#define AT91_PIN_PA12 (0x00 + 12) > +#define AT91_PIN_PA13 (0x00 + 13) > +#define AT91_PIN_PA14 (0x00 + 14) > +#define AT91_PIN_PA15 (0x00 + 15) > +#define AT91_PIN_PA16 (0x00 + 16) > +#define AT91_PIN_PA17 (0x00 + 17) > +#define AT91_PIN_PA18 (0x00 + 18) > +#define AT91_PIN_PA19 (0x00 + 19) > +#define AT91_PIN_PA20 (0x00 + 20) > +#define AT91_PIN_PA21 (0x00 + 21) > +#define AT91_PIN_PA22 (0x00 + 22) > +#define AT91_PIN_PA23 (0x00 + 23) > +#define AT91_PIN_PA24 (0x00 + 24) > +#define AT91_PIN_PA25 (0x00 + 25) > +#define AT91_PIN_PA26 (0x00 + 26) > +#define AT91_PIN_PA27 (0x00 + 27) > +#define AT91_PIN_PA28 (0x00 + 28) > +#define AT91_PIN_PA29 (0x00 + 29) > +#define AT91_PIN_PA30 (0x00 + 30) > +#define AT91_PIN_PA31 (0x00 + 31) > + > +#define AT91_PIN_PB0 (0x20 + 0) > +#define AT91_PIN_PB1 (0x20 + 1) > +#define AT91_PIN_PB2 (0x20 + 2) > +#define AT91_PIN_PB3 (0x20 + 3) > +#define AT91_PIN_PB4 (0x20 + 4) > +#define AT91_PIN_PB5 (0x20 + 5) > +#define AT91_PIN_PB6 (0x20 + 6) > +#define AT91_PIN_PB7 (0x20 + 7) > +#define AT91_PIN_PB8 (0x20 + 8) > +#define AT91_PIN_PB9 (0x20 + 9) > +#define AT91_PIN_PB10 (0x20 + 10) > +#define AT91_PIN_PB11 (0x20 + 11) > +#define AT91_PIN_PB12 (0x20 + 12) > +#define AT91_PIN_PB13 (0x20 + 13) > +#define AT91_PIN_PB14 (0x20 + 14) > +#define AT91_PIN_PB15 (0x20 + 15) > +#define AT91_PIN_PB16 (0x20 + 16) > +#define AT91_PIN_PB17 (0x20 + 17) > +#define AT91_PIN_PB18 (0x20 + 18) > +#define AT91_PIN_PB19 (0x20 + 19) > +#define AT91_PIN_PB20 (0x20 + 20) > +#define AT91_PIN_PB21 (0x20 + 21) > +#define AT91_PIN_PB22 (0x20 + 22) > +#define AT91_PIN_PB23 (0x20 + 23) > +#define AT91_PIN_PB24 (0x20 + 24) > +#define AT91_PIN_PB25 (0x20 + 25) > +#define AT91_PIN_PB26 (0x20 + 26) > +#define AT91_PIN_PB27 (0x20 + 27) > +#define AT91_PIN_PB28 (0x20 + 28) > +#define AT91_PIN_PB29 (0x20 + 29) > +#define AT91_PIN_PB30 (0x20 + 30) > +#define AT91_PIN_PB31 (0x20 + 31) > + > +#define AT91_PIN_PC0 (0x40 + 0) > +#define AT91_PIN_PC1 (0x40 + 1) > +#define AT91_PIN_PC2 (0x40 + 2) > +#define AT91_PIN_PC3 (0x40 + 3) > +#define AT91_PIN_PC4 (0x40 + 4) > +#define AT91_PIN_PC5 (0x40 + 5) > +#define AT91_PIN_PC6 (0x40 + 6) > +#define AT91_PIN_PC7 (0x40 + 7) > +#define AT91_PIN_PC8 (0x40 + 8) > +#define AT91_PIN_PC9 (0x40 + 9) > +#define AT91_PIN_PC10 (0x40 + 10) > +#define AT91_PIN_PC11 (0x40 + 11) > +#define AT91_PIN_PC12 (0x40 + 12) > +#define AT91_PIN_PC13 (0x40 + 13) > +#define AT91_PIN_PC14 (0x40 + 14) > +#define AT91_PIN_PC15 (0x40 + 15) > +#define AT91_PIN_PC16 (0x40 + 16) > +#define AT91_PIN_PC17 (0x40 + 17) > +#define AT91_PIN_PC18 (0x40 + 18) > +#define AT91_PIN_PC19 (0x40 + 19) > +#define AT91_PIN_PC20 (0x40 + 20) > +#define AT91_PIN_PC21 (0x40 + 21) > +#define AT91_PIN_PC22 (0x40 + 22) > +#define AT91_PIN_PC23 (0x40 + 23) > +#define AT91_PIN_PC24 (0x40 + 24) > +#define AT91_PIN_PC25 (0x40 + 25) > +#define AT91_PIN_PC26 (0x40 + 26) > +#define AT91_PIN_PC27 (0x40 + 27) > +#define AT91_PIN_PC28 (0x40 + 28) > +#define AT91_PIN_PC29 (0x40 + 29) > +#define AT91_PIN_PC30 (0x40 + 30) > +#define AT91_PIN_PC31 (0x40 + 31) > + > +#define AT91_PIN_PD0 (0x60 + 0) > +#define AT91_PIN_PD1 (0x60 + 1) > +#define AT91_PIN_PD2 (0x60 + 2) > +#define AT91_PIN_PD3 (0x60 + 3) > +#define AT91_PIN_PD4 (0x60 + 4) > +#define AT91_PIN_PD5 (0x60 + 5) > +#define AT91_PIN_PD6 (0x60 + 6) > +#define AT91_PIN_PD7 (0x60 + 7) > +#define AT91_PIN_PD8 (0x60 + 8) > +#define AT91_PIN_PD9 (0x60 + 9) > +#define AT91_PIN_PD10 (0x60 + 10) > +#define AT91_PIN_PD11 (0x60 + 11) > +#define AT91_PIN_PD12 (0x60 + 12) > +#define AT91_PIN_PD13 (0x60 + 13) > +#define AT91_PIN_PD14 (0x60 + 14) > +#define AT91_PIN_PD15 (0x60 + 15) > +#define AT91_PIN_PD16 (0x60 + 16) > +#define AT91_PIN_PD17 (0x60 + 17) > +#define AT91_PIN_PD18 (0x60 + 18) > +#define AT91_PIN_PD19 (0x60 + 19) > +#define AT91_PIN_PD20 (0x60 + 20) > +#define AT91_PIN_PD21 (0x60 + 21) > +#define AT91_PIN_PD22 (0x60 + 22) > +#define AT91_PIN_PD23 (0x60 + 23) > +#define AT91_PIN_PD24 (0x60 + 24) > +#define AT91_PIN_PD25 (0x60 + 25) > +#define AT91_PIN_PD26 (0x60 + 26) > +#define AT91_PIN_PD27 (0x60 + 27) > +#define AT91_PIN_PD28 (0x60 + 28) > +#define AT91_PIN_PD29 (0x60 + 29) > +#define AT91_PIN_PD30 (0x60 + 30) > +#define AT91_PIN_PD31 (0x60 + 31) > + > +#define AT91_PIN_PE0 (0x80 + 0) > +#define AT91_PIN_PE1 (0x80 + 1) > +#define AT91_PIN_PE2 (0x80 + 2) > +#define AT91_PIN_PE3 (0x80 + 3) > +#define AT91_PIN_PE4 (0x80 + 4) > +#define AT91_PIN_PE5 (0x80 + 5) > +#define AT91_PIN_PE6 (0x80 + 6) > +#define AT91_PIN_PE7 (0x80 + 7) > +#define AT91_PIN_PE8 (0x80 + 8) > +#define AT91_PIN_PE9 (0x80 + 9) > +#define AT91_PIN_PE10 (0x80 + 10) > +#define AT91_PIN_PE11 (0x80 + 11) > +#define AT91_PIN_PE12 (0x80 + 12) > +#define AT91_PIN_PE13 (0x80 + 13) > +#define AT91_PIN_PE14 (0x80 + 14) > +#define AT91_PIN_PE15 (0x80 + 15) > +#define AT91_PIN_PE16 (0x80 + 16) > +#define AT91_PIN_PE17 (0x80 + 17) > +#define AT91_PIN_PE18 (0x80 + 18) > +#define AT91_PIN_PE19 (0x80 + 19) > +#define AT91_PIN_PE20 (0x80 + 20) > +#define AT91_PIN_PE21 (0x80 + 21) > +#define AT91_PIN_PE22 (0x80 + 22) > +#define AT91_PIN_PE23 (0x80 + 23) > +#define AT91_PIN_PE24 (0x80 + 24) > +#define AT91_PIN_PE25 (0x80 + 25) > +#define AT91_PIN_PE26 (0x80 + 26) > +#define AT91_PIN_PE27 (0x80 + 27) > +#define AT91_PIN_PE28 (0x80 + 28) > +#define AT91_PIN_PE29 (0x80 + 29) > +#define AT91_PIN_PE30 (0x80 + 30) > +#define AT91_PIN_PE31 (0x80 + 31) > + > +#ifndef __ASSEMBLY__ > +/* setup setup routines, called from board init or driver probe() */ > +extern int __init_or_module at91_set_GPIO_periph(unsigned pin, int use_pullup); > +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_C_periph(unsigned pin, int use_pullup); > +extern int __init_or_module at91_set_D_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_debounce(unsigned pin, int is_on, int div); > +extern int __init_or_module at91_set_multi_drive(unsigned pin, int is_on); > +extern int __init_or_module at91_set_pulldown(unsigned pin, int is_on); > +extern int __init_or_module at91_disable_schmitt_trig(unsigned pin); > + > +/* 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); > + > +#ifdef CONFIG_PINCTRL_AT91 > +extern void at91_pinctrl_gpio_suspend(void); > +extern void at91_pinctrl_gpio_resume(void); > +#else > +static inline void at91_pinctrl_gpio_suspend(void) {} > +static inline void at91_pinctrl_gpio_resume(void) {} > +#endif > + > +#endif /* __ASSEMBLY__ */ > + > +#endif > diff --git a/arch/arm/mach-at91/include/mach/gpio.h b/arch/arm/mach-at91/include/mach/gpio.h > deleted file mode 100644 > index 5fc23771c154..000000000000 > --- a/arch/arm/mach-at91/include/mach/gpio.h > +++ /dev/null > @@ -1,222 +0,0 @@ > -/* > - * arch/arm/mach-at91/include/mach/gpio.h > - * > - * Copyright (C) 2005 HP Labs > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - * > - */ > - > -#ifndef __ASM_ARCH_AT91RM9200_GPIO_H > -#define __ASM_ARCH_AT91RM9200_GPIO_H > - > -#include <linux/kernel.h> > -#include <asm/irq.h> > - > -#define MAX_GPIO_BANKS 5 > -#define NR_BUILTIN_GPIO (MAX_GPIO_BANKS * 32) > - > -/* these pin numbers double as IRQ numbers, like AT91xxx_ID_* values */ > - > -#define AT91_PIN_PA0 (0x00 + 0) > -#define AT91_PIN_PA1 (0x00 + 1) > -#define AT91_PIN_PA2 (0x00 + 2) > -#define AT91_PIN_PA3 (0x00 + 3) > -#define AT91_PIN_PA4 (0x00 + 4) > -#define AT91_PIN_PA5 (0x00 + 5) > -#define AT91_PIN_PA6 (0x00 + 6) > -#define AT91_PIN_PA7 (0x00 + 7) > -#define AT91_PIN_PA8 (0x00 + 8) > -#define AT91_PIN_PA9 (0x00 + 9) > -#define AT91_PIN_PA10 (0x00 + 10) > -#define AT91_PIN_PA11 (0x00 + 11) > -#define AT91_PIN_PA12 (0x00 + 12) > -#define AT91_PIN_PA13 (0x00 + 13) > -#define AT91_PIN_PA14 (0x00 + 14) > -#define AT91_PIN_PA15 (0x00 + 15) > -#define AT91_PIN_PA16 (0x00 + 16) > -#define AT91_PIN_PA17 (0x00 + 17) > -#define AT91_PIN_PA18 (0x00 + 18) > -#define AT91_PIN_PA19 (0x00 + 19) > -#define AT91_PIN_PA20 (0x00 + 20) > -#define AT91_PIN_PA21 (0x00 + 21) > -#define AT91_PIN_PA22 (0x00 + 22) > -#define AT91_PIN_PA23 (0x00 + 23) > -#define AT91_PIN_PA24 (0x00 + 24) > -#define AT91_PIN_PA25 (0x00 + 25) > -#define AT91_PIN_PA26 (0x00 + 26) > -#define AT91_PIN_PA27 (0x00 + 27) > -#define AT91_PIN_PA28 (0x00 + 28) > -#define AT91_PIN_PA29 (0x00 + 29) > -#define AT91_PIN_PA30 (0x00 + 30) > -#define AT91_PIN_PA31 (0x00 + 31) > - > -#define AT91_PIN_PB0 (0x20 + 0) > -#define AT91_PIN_PB1 (0x20 + 1) > -#define AT91_PIN_PB2 (0x20 + 2) > -#define AT91_PIN_PB3 (0x20 + 3) > -#define AT91_PIN_PB4 (0x20 + 4) > -#define AT91_PIN_PB5 (0x20 + 5) > -#define AT91_PIN_PB6 (0x20 + 6) > -#define AT91_PIN_PB7 (0x20 + 7) > -#define AT91_PIN_PB8 (0x20 + 8) > -#define AT91_PIN_PB9 (0x20 + 9) > -#define AT91_PIN_PB10 (0x20 + 10) > -#define AT91_PIN_PB11 (0x20 + 11) > -#define AT91_PIN_PB12 (0x20 + 12) > -#define AT91_PIN_PB13 (0x20 + 13) > -#define AT91_PIN_PB14 (0x20 + 14) > -#define AT91_PIN_PB15 (0x20 + 15) > -#define AT91_PIN_PB16 (0x20 + 16) > -#define AT91_PIN_PB17 (0x20 + 17) > -#define AT91_PIN_PB18 (0x20 + 18) > -#define AT91_PIN_PB19 (0x20 + 19) > -#define AT91_PIN_PB20 (0x20 + 20) > -#define AT91_PIN_PB21 (0x20 + 21) > -#define AT91_PIN_PB22 (0x20 + 22) > -#define AT91_PIN_PB23 (0x20 + 23) > -#define AT91_PIN_PB24 (0x20 + 24) > -#define AT91_PIN_PB25 (0x20 + 25) > -#define AT91_PIN_PB26 (0x20 + 26) > -#define AT91_PIN_PB27 (0x20 + 27) > -#define AT91_PIN_PB28 (0x20 + 28) > -#define AT91_PIN_PB29 (0x20 + 29) > -#define AT91_PIN_PB30 (0x20 + 30) > -#define AT91_PIN_PB31 (0x20 + 31) > - > -#define AT91_PIN_PC0 (0x40 + 0) > -#define AT91_PIN_PC1 (0x40 + 1) > -#define AT91_PIN_PC2 (0x40 + 2) > -#define AT91_PIN_PC3 (0x40 + 3) > -#define AT91_PIN_PC4 (0x40 + 4) > -#define AT91_PIN_PC5 (0x40 + 5) > -#define AT91_PIN_PC6 (0x40 + 6) > -#define AT91_PIN_PC7 (0x40 + 7) > -#define AT91_PIN_PC8 (0x40 + 8) > -#define AT91_PIN_PC9 (0x40 + 9) > -#define AT91_PIN_PC10 (0x40 + 10) > -#define AT91_PIN_PC11 (0x40 + 11) > -#define AT91_PIN_PC12 (0x40 + 12) > -#define AT91_PIN_PC13 (0x40 + 13) > -#define AT91_PIN_PC14 (0x40 + 14) > -#define AT91_PIN_PC15 (0x40 + 15) > -#define AT91_PIN_PC16 (0x40 + 16) > -#define AT91_PIN_PC17 (0x40 + 17) > -#define AT91_PIN_PC18 (0x40 + 18) > -#define AT91_PIN_PC19 (0x40 + 19) > -#define AT91_PIN_PC20 (0x40 + 20) > -#define AT91_PIN_PC21 (0x40 + 21) > -#define AT91_PIN_PC22 (0x40 + 22) > -#define AT91_PIN_PC23 (0x40 + 23) > -#define AT91_PIN_PC24 (0x40 + 24) > -#define AT91_PIN_PC25 (0x40 + 25) > -#define AT91_PIN_PC26 (0x40 + 26) > -#define AT91_PIN_PC27 (0x40 + 27) > -#define AT91_PIN_PC28 (0x40 + 28) > -#define AT91_PIN_PC29 (0x40 + 29) > -#define AT91_PIN_PC30 (0x40 + 30) > -#define AT91_PIN_PC31 (0x40 + 31) > - > -#define AT91_PIN_PD0 (0x60 + 0) > -#define AT91_PIN_PD1 (0x60 + 1) > -#define AT91_PIN_PD2 (0x60 + 2) > -#define AT91_PIN_PD3 (0x60 + 3) > -#define AT91_PIN_PD4 (0x60 + 4) > -#define AT91_PIN_PD5 (0x60 + 5) > -#define AT91_PIN_PD6 (0x60 + 6) > -#define AT91_PIN_PD7 (0x60 + 7) > -#define AT91_PIN_PD8 (0x60 + 8) > -#define AT91_PIN_PD9 (0x60 + 9) > -#define AT91_PIN_PD10 (0x60 + 10) > -#define AT91_PIN_PD11 (0x60 + 11) > -#define AT91_PIN_PD12 (0x60 + 12) > -#define AT91_PIN_PD13 (0x60 + 13) > -#define AT91_PIN_PD14 (0x60 + 14) > -#define AT91_PIN_PD15 (0x60 + 15) > -#define AT91_PIN_PD16 (0x60 + 16) > -#define AT91_PIN_PD17 (0x60 + 17) > -#define AT91_PIN_PD18 (0x60 + 18) > -#define AT91_PIN_PD19 (0x60 + 19) > -#define AT91_PIN_PD20 (0x60 + 20) > -#define AT91_PIN_PD21 (0x60 + 21) > -#define AT91_PIN_PD22 (0x60 + 22) > -#define AT91_PIN_PD23 (0x60 + 23) > -#define AT91_PIN_PD24 (0x60 + 24) > -#define AT91_PIN_PD25 (0x60 + 25) > -#define AT91_PIN_PD26 (0x60 + 26) > -#define AT91_PIN_PD27 (0x60 + 27) > -#define AT91_PIN_PD28 (0x60 + 28) > -#define AT91_PIN_PD29 (0x60 + 29) > -#define AT91_PIN_PD30 (0x60 + 30) > -#define AT91_PIN_PD31 (0x60 + 31) > - > -#define AT91_PIN_PE0 (0x80 + 0) > -#define AT91_PIN_PE1 (0x80 + 1) > -#define AT91_PIN_PE2 (0x80 + 2) > -#define AT91_PIN_PE3 (0x80 + 3) > -#define AT91_PIN_PE4 (0x80 + 4) > -#define AT91_PIN_PE5 (0x80 + 5) > -#define AT91_PIN_PE6 (0x80 + 6) > -#define AT91_PIN_PE7 (0x80 + 7) > -#define AT91_PIN_PE8 (0x80 + 8) > -#define AT91_PIN_PE9 (0x80 + 9) > -#define AT91_PIN_PE10 (0x80 + 10) > -#define AT91_PIN_PE11 (0x80 + 11) > -#define AT91_PIN_PE12 (0x80 + 12) > -#define AT91_PIN_PE13 (0x80 + 13) > -#define AT91_PIN_PE14 (0x80 + 14) > -#define AT91_PIN_PE15 (0x80 + 15) > -#define AT91_PIN_PE16 (0x80 + 16) > -#define AT91_PIN_PE17 (0x80 + 17) > -#define AT91_PIN_PE18 (0x80 + 18) > -#define AT91_PIN_PE19 (0x80 + 19) > -#define AT91_PIN_PE20 (0x80 + 20) > -#define AT91_PIN_PE21 (0x80 + 21) > -#define AT91_PIN_PE22 (0x80 + 22) > -#define AT91_PIN_PE23 (0x80 + 23) > -#define AT91_PIN_PE24 (0x80 + 24) > -#define AT91_PIN_PE25 (0x80 + 25) > -#define AT91_PIN_PE26 (0x80 + 26) > -#define AT91_PIN_PE27 (0x80 + 27) > -#define AT91_PIN_PE28 (0x80 + 28) > -#define AT91_PIN_PE29 (0x80 + 29) > -#define AT91_PIN_PE30 (0x80 + 30) > -#define AT91_PIN_PE31 (0x80 + 31) > - > -#ifndef __ASSEMBLY__ > -/* setup setup routines, called from board init or driver probe() */ > -extern int __init_or_module at91_set_GPIO_periph(unsigned pin, int use_pullup); > -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_C_periph(unsigned pin, int use_pullup); > -extern int __init_or_module at91_set_D_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_debounce(unsigned pin, int is_on, int div); > -extern int __init_or_module at91_set_multi_drive(unsigned pin, int is_on); > -extern int __init_or_module at91_set_pulldown(unsigned pin, int is_on); > -extern int __init_or_module at91_disable_schmitt_trig(unsigned pin); > - > -/* 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); > - > -#ifdef CONFIG_PINCTRL_AT91 > -extern void at91_pinctrl_gpio_suspend(void); > -extern void at91_pinctrl_gpio_resume(void); > -#else > -static inline void at91_pinctrl_gpio_suspend(void) {} > -static inline void at91_pinctrl_gpio_resume(void) {} > -#endif > - > -#endif /* __ASSEMBLY__ */ > - > -#endif > diff --git a/arch/arm/mach-at91/leds.c b/arch/arm/mach-at91/leds.c > index 3e22978b5547..77c4d8fd03fd 100644 > --- a/arch/arm/mach-at91/leds.c > +++ b/arch/arm/mach-at91/leds.c > @@ -16,6 +16,7 @@ > #include <linux/platform_device.h> > > #include "board.h" > +#include "gpio.h" > > > /* ------------------------------------------------------------------------- */ > diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c > index 15afb5d9271f..d04610cc9608 100644 > --- a/arch/arm/mach-at91/pm.c > +++ b/arch/arm/mach-at91/pm.c > @@ -31,6 +31,7 @@ > #include "at91_aic.h" > #include "generic.h" > #include "pm.h" > +#include "gpio.h" > > /* > * Show the reason for the previous system reset. > -- Nicolas Ferre -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html