aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2014-03-27 09:18:51 -0400
committerNicolas Ferre <nicolas.ferre@atmel.com>2014-05-07 12:27:21 -0400
commitcf2e933ce6da2a8bacd52e49c4dd4c0974af1d09 (patch)
tree0b553f1f82ed5c774b702bb42355ed5a37a17fe1
parent15fb63a08b1ed2d925bab4c3aa8934003ed6b7cb (diff)
ARM: at91: localize GPIO header
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@linaro.org> [nicolas.ferre@atmel.com: adapt to newer kernel, add rsi-ews board] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/mach-at91/at91rm9200_devices.c1
-rw-r--r--arch/arm/mach-at91/at91sam9260_devices.c2
-rw-r--r--arch/arm/mach-at91/at91sam9261_devices.c2
-rw-r--r--arch/arm/mach-at91/at91sam9263_devices.c1
-rw-r--r--arch/arm/mach-at91/at91sam9g45_devices.c1
-rw-r--r--arch/arm/mach-at91/at91sam9rl_devices.c1
-rw-r--r--arch/arm/mach-at91/board-1arm.c2
-rw-r--r--arch/arm/mach-at91/board-afeb-9260v1.c1
-rw-r--r--arch/arm/mach-at91/board-cam60.c1
-rw-r--r--arch/arm/mach-at91/board-carmeva.c1
-rw-r--r--arch/arm/mach-at91/board-cpu9krea.c1
-rw-r--r--arch/arm/mach-at91/board-cpuat91.c2
-rw-r--r--arch/arm/mach-at91/board-csb337.c2
-rw-r--r--arch/arm/mach-at91/board-csb637.c1
-rw-r--r--arch/arm/mach-at91/board-eb9200.c1
-rw-r--r--arch/arm/mach-at91/board-ecbat91.c1
-rw-r--r--arch/arm/mach-at91/board-eco920.c2
-rw-r--r--arch/arm/mach-at91/board-flexibity.c1
-rw-r--r--arch/arm/mach-at91/board-foxg20.c1
-rw-r--r--arch/arm/mach-at91/board-gsia18s.c1
-rw-r--r--arch/arm/mach-at91/board-kafa.c1
-rw-r--r--arch/arm/mach-at91/board-kb9202.c1
-rw-r--r--arch/arm/mach-at91/board-pcontrol-g20.c1
-rw-r--r--arch/arm/mach-at91/board-picotux200.c1
-rw-r--r--arch/arm/mach-at91/board-rm9200ek.c1
-rw-r--r--arch/arm/mach-at91/board-rsi-ews.c1
-rw-r--r--arch/arm/mach-at91/board-sam9-l9260.c1
-rw-r--r--arch/arm/mach-at91/board-sam9260ek.c1
-rw-r--r--arch/arm/mach-at91/board-sam9261ek.c1
-rw-r--r--arch/arm/mach-at91/board-sam9263ek.c1
-rw-r--r--arch/arm/mach-at91/board-sam9g20ek.c1
-rw-r--r--arch/arm/mach-at91/board-sam9m10g45ek.c1
-rw-r--r--arch/arm/mach-at91/board-sam9rlek.c1
-rw-r--r--arch/arm/mach-at91/board-snapper9260.c1
-rw-r--r--arch/arm/mach-at91/board-stamp9g20.c1
-rw-r--r--arch/arm/mach-at91/board-yl-9200.c1
-rw-r--r--arch/arm/mach-at91/gpio.c1
-rw-r--r--arch/arm/mach-at91/gpio.h (renamed from arch/arm/mach-at91/include/mach/gpio.h)8
-rw-r--r--arch/arm/mach-at91/include/mach/hardware.h15
-rw-r--r--arch/arm/mach-at91/leds.c1
-rw-r--r--arch/arm/mach-at91/pm.c1
42 files changed, 56 insertions, 13 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index db3c5414223e..1c1fbbf6e4ae 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -376,7 +376,6 @@ config ARCH_AT91
376 select ARCH_REQUIRE_GPIOLIB 376 select ARCH_REQUIRE_GPIOLIB
377 select CLKDEV_LOOKUP 377 select CLKDEV_LOOKUP
378 select IRQ_DOMAIN 378 select IRQ_DOMAIN
379 select NEED_MACH_GPIO_H
380 select NEED_MACH_IO_H if PCCARD 379 select NEED_MACH_IO_H if PCCARD
381 select PINCTRL 380 select PINCTRL
382 select PINCTRL_AT91 if USE_OF 381 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 f3f19f21352a..4860918b411e 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -25,6 +25,7 @@
25 25
26#include "board.h" 26#include "board.h"
27#include "generic.h" 27#include "generic.h"
28#include "gpio.h"
28 29
29 30
30/* -------------------------------------------------------------------- 31/* --------------------------------------------------------------------
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index a0282928e9c1..df5a7d83d37d 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -29,7 +29,7 @@
29 29
30#include "board.h" 30#include "board.h"
31#include "generic.h" 31#include "generic.h"
32 32#include "gpio.h"
33 33
34/* -------------------------------------------------------------------- 34/* --------------------------------------------------------------------
35 * USB Host 35 * USB Host
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 80e35895d28f..43b21f456f6e 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -29,7 +29,7 @@
29 29
30#include "board.h" 30#include "board.h"
31#include "generic.h" 31#include "generic.h"
32 32#include "gpio.h"
33 33
34/* -------------------------------------------------------------------- 34/* --------------------------------------------------------------------
35 * USB Host 35 * USB Host
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index 43d53d6156dd..953616e5dbcb 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -28,6 +28,7 @@
28 28
29#include "board.h" 29#include "board.h"
30#include "generic.h" 30#include "generic.h"
31#include "gpio.h"
31 32
32 33
33/* -------------------------------------------------------------------- 34/* --------------------------------------------------------------------
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index dab362c06487..7f02a5366a31 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -39,6 +39,7 @@
39#include "board.h" 39#include "board.h"
40#include "generic.h" 40#include "generic.h"
41#include "clock.h" 41#include "clock.h"
42#include "gpio.h"
42 43
43 44
44/* -------------------------------------------------------------------- 45/* --------------------------------------------------------------------
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c
index 428fc412aaf1..ba7ebd9dd4bb 100644
--- a/arch/arm/mach-at91/at91sam9rl_devices.c
+++ b/arch/arm/mach-at91/at91sam9rl_devices.c
@@ -26,6 +26,7 @@
26 26
27#include "board.h" 27#include "board.h"
28#include "generic.h" 28#include "generic.h"
29#include "gpio.h"
29 30
30 31
31/* -------------------------------------------------------------------- 32/* --------------------------------------------------------------------
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 @@
39#include "at91_aic.h" 39#include "at91_aic.h"
40#include "board.h" 40#include "board.h"
41#include "generic.h" 41#include "generic.h"
42 42#include "gpio.h"
43 43
44static void __init onearm_init_early(void) 44static void __init onearm_init_early(void)
45{ 45{
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 @@
46#include "at91_aic.h" 46#include "at91_aic.h"
47#include "board.h" 47#include "board.h"
48#include "generic.h" 48#include "generic.h"
49#include "gpio.h"
49 50
50 51
51static void __init afeb9260_init_early(void) 52static 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 112e867c4abe..a30502c8d379 100644
--- a/arch/arm/mach-at91/board-cam60.c
+++ b/arch/arm/mach-at91/board-cam60.c
@@ -44,6 +44,7 @@
44#include "board.h" 44#include "board.h"
45#include "sam9_smc.h" 45#include "sam9_smc.h"
46#include "generic.h" 46#include "generic.h"
47#include "gpio.h"
47 48
48 49
49static void __init cam60_init_early(void) 50static 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 @@
39#include "at91_aic.h" 39#include "at91_aic.h"
40#include "board.h" 40#include "board.h"
41#include "generic.h" 41#include "generic.h"
42#include "gpio.h"
42 43
43 44
44static void __init carmeva_init_early(void) 45static 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 @@
48#include "board.h" 48#include "board.h"
49#include "sam9_smc.h" 49#include "sam9_smc.h"
50#include "generic.h" 50#include "generic.h"
51#include "gpio.h"
51 52
52static void __init cpu9krea_init_early(void) 53static void __init cpu9krea_init_early(void)
53{ 54{
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 @@
43#include "at91_aic.h" 43#include "at91_aic.h"
44#include "board.h" 44#include "board.h"
45#include "generic.h" 45#include "generic.h"
46#include "gpio.h"
47
46 48
47static struct gpio_led cpuat91_leds[] = { 49static struct gpio_led cpuat91_leds[] = {
48 { 50 {
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 @@
42#include "at91_aic.h" 42#include "at91_aic.h"
43#include "board.h" 43#include "board.h"
44#include "generic.h" 44#include "generic.h"
45 45#include "gpio.h"
46 46
47static void __init csb337_init_early(void) 47static void __init csb337_init_early(void)
48{ 48{
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 @@
39#include "at91_aic.h" 39#include "at91_aic.h"
40#include "board.h" 40#include "board.h"
41#include "generic.h" 41#include "generic.h"
42#include "gpio.h"
42 43
43 44
44static void __init csb637_init_early(void) 45static 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 @@
38#include "at91_aic.h" 38#include "at91_aic.h"
39#include "board.h" 39#include "board.h"
40#include "generic.h" 40#include "generic.h"
41#include "gpio.h"
41 42
42 43
43static void __init eb9200_init_early(void) 44static 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 @@
42#include "at91_aic.h" 42#include "at91_aic.h"
43#include "board.h" 43#include "board.h"
44#include "generic.h" 44#include "generic.h"
45#include "gpio.h"
45 46
46 47
47static void __init ecb_at91init_early(void) 48static 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 @@
31#include "at91_aic.h" 31#include "at91_aic.h"
32#include "board.h" 32#include "board.h"
33#include "generic.h" 33#include "generic.h"
34#include "gpio.h"
35
34 36
35static void __init eco920_init_early(void) 37static void __init eco920_init_early(void)
36{ 38{
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 @@
37#include "at91_aic.h" 37#include "at91_aic.h"
38#include "board.h" 38#include "board.h"
39#include "generic.h" 39#include "generic.h"
40#include "gpio.h"
40 41
41static void __init flexibity_init_early(void) 42static void __init flexibity_init_early(void)
42{ 43{
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 @@
47#include "board.h" 47#include "board.h"
48#include "sam9_smc.h" 48#include "sam9_smc.h"
49#include "generic.h" 49#include "generic.h"
50#include "gpio.h"
50 51
51/* 52/*
52 * The FOX Board G20 hardware comes as the "Netus G20" board with 53 * 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 416bae8435ee..b729dd1271bf 100644
--- a/arch/arm/mach-at91/board-gsia18s.c
+++ b/arch/arm/mach-at91/board-gsia18s.c
@@ -39,6 +39,7 @@
39#include "generic.h" 39#include "generic.h"
40#include "gsia18s.h" 40#include "gsia18s.h"
41#include "stamp9g20.h" 41#include "stamp9g20.h"
42#include "gpio.h"
42 43
43static void __init gsia18s_init_early(void) 44static void __init gsia18s_init_early(void)
44{ 45{
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 @@
39#include "at91_aic.h" 39#include "at91_aic.h"
40#include "board.h" 40#include "board.h"
41#include "generic.h" 41#include "generic.h"
42#include "gpio.h"
42 43
43 44
44static void __init kafa_init_early(void) 45static 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 @@
42#include "at91_aic.h" 42#include "at91_aic.h"
43#include "board.h" 43#include "board.h"
44#include "generic.h" 44#include "generic.h"
45#include "gpio.h"
45 46
46 47
47static void __init kb9202_init_early(void) 48static 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 5f25fa54eb93..b48d95ec5152 100644
--- a/arch/arm/mach-at91/board-pcontrol-g20.c
+++ b/arch/arm/mach-at91/board-pcontrol-g20.c
@@ -37,6 +37,7 @@
37#include "sam9_smc.h" 37#include "sam9_smc.h"
38#include "generic.h" 38#include "generic.h"
39#include "stamp9g20.h" 39#include "stamp9g20.h"
40#include "gpio.h"
40 41
41 42
42static void __init pcontrol_g20_init_early(void) 43static 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 @@
43#include "at91_aic.h" 43#include "at91_aic.h"
44#include "board.h" 44#include "board.h"
45#include "generic.h" 45#include "generic.h"
46#include "gpio.h"
46 47
47 48
48static void __init picotux200_init_early(void) 49static void __init picotux200_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 @@
45#include "at91_aic.h" 45#include "at91_aic.h"
46#include "board.h" 46#include "board.h"
47#include "generic.h" 47#include "generic.h"
48#include "gpio.h"
48 49
49 50
50static void __init ek_init_early(void) 51static void __init ek_init_early(void)
diff --git a/arch/arm/mach-at91/board-rsi-ews.c b/arch/arm/mach-at91/board-rsi-ews.c
index f6d7f1958c7e..f28e8b74df4b 100644
--- a/arch/arm/mach-at91/board-rsi-ews.c
+++ b/arch/arm/mach-at91/board-rsi-ews.c
@@ -31,6 +31,7 @@
31#include "at91_aic.h" 31#include "at91_aic.h"
32#include "board.h" 32#include "board.h"
33#include "generic.h" 33#include "generic.h"
34#include "gpio.h"
34 35
35static void __init rsi_ews_init_early(void) 36static void __init rsi_ews_init_early(void)
36{ 37{
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 @@
43#include "board.h" 43#include "board.h"
44#include "sam9_smc.h" 44#include "sam9_smc.h"
45#include "generic.h" 45#include "generic.h"
46#include "gpio.h"
46 47
47 48
48static void __init ek_init_early(void) 49static 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 f4f8735315da..65dea12d685e 100644
--- a/arch/arm/mach-at91/board-sam9260ek.c
+++ b/arch/arm/mach-at91/board-sam9260ek.c
@@ -49,6 +49,7 @@
49#include "board.h" 49#include "board.h"
50#include "sam9_smc.h" 50#include "sam9_smc.h"
51#include "generic.h" 51#include "generic.h"
52#include "gpio.h"
52 53
53 54
54static void __init ek_init_early(void) 55static 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 473546b9408b..4637432de08f 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -53,6 +53,7 @@
53#include "board.h" 53#include "board.h"
54#include "sam9_smc.h" 54#include "sam9_smc.h"
55#include "generic.h" 55#include "generic.h"
56#include "gpio.h"
56 57
57 58
58static void __init ek_init_early(void) 59static 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 2f931915c80c..cd2726ee5add 100644
--- a/arch/arm/mach-at91/board-sam9263ek.c
+++ b/arch/arm/mach-at91/board-sam9263ek.c
@@ -52,6 +52,7 @@
52#include "board.h" 52#include "board.h"
53#include "sam9_smc.h" 53#include "sam9_smc.h"
54#include "generic.h" 54#include "generic.h"
55#include "gpio.h"
55 56
56 57
57static void __init ek_init_early(void) 58static 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 @@
50#include "board.h" 50#include "board.h"
51#include "sam9_smc.h" 51#include "sam9_smc.h"
52#include "generic.h" 52#include "generic.h"
53#include "gpio.h"
53 54
54/* 55/*
55 * board revision encoding 56 * board revision encoding
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
index ef39078c8ce2..5cd95ede623e 100644
--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
+++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
@@ -50,6 +50,7 @@
50#include "board.h" 50#include "board.h"
51#include "sam9_smc.h" 51#include "sam9_smc.h"
52#include "generic.h" 52#include "generic.h"
53#include "gpio.h"
53 54
54 55
55static void __init ek_init_early(void) 56static 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 604eecf6cd70..6b81e4671646 100644
--- a/arch/arm/mach-at91/board-sam9rlek.c
+++ b/arch/arm/mach-at91/board-sam9rlek.c
@@ -38,6 +38,7 @@
38#include "board.h" 38#include "board.h"
39#include "sam9_smc.h" 39#include "sam9_smc.h"
40#include "generic.h" 40#include "generic.h"
41#include "gpio.h"
41 42
42 43
43static void __init ek_init_early(void) 44static 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 @@
38#include "board.h" 38#include "board.h"
39#include "sam9_smc.h" 39#include "sam9_smc.h"
40#include "generic.h" 40#include "generic.h"
41#include "gpio.h"
41 42
42#define SNAPPER9260_IO_EXP_GPIO(x) (NR_BUILTIN_GPIO + (x)) 43#define SNAPPER9260_IO_EXP_GPIO(x) (NR_BUILTIN_GPIO + (x))
43 44
diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c
index e4a5ac17cdbc..3b575036ff96 100644
--- a/arch/arm/mach-at91/board-stamp9g20.c
+++ b/arch/arm/mach-at91/board-stamp9g20.c
@@ -32,6 +32,7 @@
32#include "board.h" 32#include "board.h"
33#include "sam9_smc.h" 33#include "sam9_smc.h"
34#include "generic.h" 34#include "generic.h"
35#include "gpio.h"
35 36
36 37
37void __init stamp9g20_init_early(void) 38void __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 @@
50#include "at91_aic.h" 50#include "at91_aic.h"
51#include "board.h" 51#include "board.h"
52#include "generic.h" 52#include "generic.h"
53#include "gpio.h"
53 54
54 55
55static void __init yl9200_init_early(void) 56static 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 @@
29#include <mach/at91_pio.h> 29#include <mach/at91_pio.h>
30 30
31#include "generic.h" 31#include "generic.h"
32#include "gpio.h"
32 33
33#define MAX_NB_GPIO_PER_BANK 32 34#define MAX_NB_GPIO_PER_BANK 32
34 35
diff --git a/arch/arm/mach-at91/include/mach/gpio.h b/arch/arm/mach-at91/gpio.h
index 5fc23771c154..eed465ab0dd7 100644
--- a/arch/arm/mach-at91/include/mach/gpio.h
+++ b/arch/arm/mach-at91/gpio.h
@@ -209,14 +209,6 @@ extern int at91_get_gpio_value(unsigned pin);
209extern void at91_gpio_suspend(void); 209extern void at91_gpio_suspend(void);
210extern void at91_gpio_resume(void); 210extern void at91_gpio_resume(void);
211 211
212#ifdef CONFIG_PINCTRL_AT91
213extern void at91_pinctrl_gpio_suspend(void);
214extern void at91_pinctrl_gpio_resume(void);
215#else
216static inline void at91_pinctrl_gpio_suspend(void) {}
217static inline void at91_pinctrl_gpio_resume(void) {}
218#endif
219
220#endif /* __ASSEMBLY__ */ 212#endif /* __ASSEMBLY__ */
221 213
222#endif 214#endif
diff --git a/arch/arm/mach-at91/include/mach/hardware.h b/arch/arm/mach-at91/include/mach/hardware.h
index f17aa3150019..56338245653a 100644
--- a/arch/arm/mach-at91/include/mach/hardware.h
+++ b/arch/arm/mach-at91/include/mach/hardware.h
@@ -104,5 +104,20 @@
104/* Clocks */ 104/* Clocks */
105#define AT91_SLOW_CLOCK 32768 /* slow clock */ 105#define AT91_SLOW_CLOCK 32768 /* slow clock */
106 106
107/*
108 * FIXME: this is needed to communicate between the pinctrl driver and
109 * the PM implementation in the machine. Possibly part of the PM
110 * implementation should be moved down into the pinctrl driver and get
111 * called as part of the generic suspend/resume path.
112 */
113#ifndef __ASSEMBLY__
114#ifdef CONFIG_PINCTRL_AT91
115extern void at91_pinctrl_gpio_suspend(void);
116extern void at91_pinctrl_gpio_resume(void);
117#else
118static inline void at91_pinctrl_gpio_suspend(void) {}
119static inline void at91_pinctrl_gpio_resume(void) {}
120#endif
121#endif
107 122
108#endif 123#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 @@
16#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17 17
18#include "board.h" 18#include "board.h"
19#include "gpio.h"
19 20
20 21
21/* ------------------------------------------------------------------------- */ 22/* ------------------------------------------------------------------------- */
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 8bda1cefdf96..e95554532987 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -32,6 +32,7 @@
32#include "at91_aic.h" 32#include "at91_aic.h"
33#include "generic.h" 33#include "generic.h"
34#include "pm.h" 34#include "pm.h"
35#include "gpio.h"
35 36
36/* 37/*
37 * Show the reason for the previous system reset. 38 * Show the reason for the previous system reset.