diff options
author | Florian Fainelli <florian@openwrt.org> | 2010-08-29 11:08:41 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-10-29 14:08:46 -0400 |
commit | 3bc6968adc7b1926f4582a33a33ad42d9b302ce0 (patch) | |
tree | 67d37a08a426247ee059391c54bd363e542a4ca8 /arch/mips | |
parent | 340fbb8b12dd24c83b1e8ff094b8e2c218144217 (diff) |
MIPS: AR7: Initialize GPIO earlier
In order to detect the Titan variant, we must initialize GPIOs earlier since
detection relies on some GPIO values to be set.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/1562/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
---
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/ar7/gpio.c | 3 | ||||
-rw-r--r-- | arch/mips/ar7/prom.c | 2 | ||||
-rw-r--r-- | arch/mips/include/asm/mach-ar7/ar7.h | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/arch/mips/ar7/gpio.c b/arch/mips/ar7/gpio.c index c32fbb57441a..f84834229dcf 100644 --- a/arch/mips/ar7/gpio.c +++ b/arch/mips/ar7/gpio.c | |||
@@ -107,7 +107,7 @@ int ar7_gpio_disable(unsigned gpio) | |||
107 | } | 107 | } |
108 | EXPORT_SYMBOL(ar7_gpio_disable); | 108 | EXPORT_SYMBOL(ar7_gpio_disable); |
109 | 109 | ||
110 | static int __init ar7_gpio_init(void) | 110 | int __init ar7_gpio_init(void) |
111 | { | 111 | { |
112 | int ret; | 112 | int ret; |
113 | 113 | ||
@@ -128,4 +128,3 @@ static int __init ar7_gpio_init(void) | |||
128 | ar7_gpio_chip.chip.ngpio); | 128 | ar7_gpio_chip.chip.ngpio); |
129 | return ret; | 129 | return ret; |
130 | } | 130 | } |
131 | arch_initcall(ar7_gpio_init); | ||
diff --git a/arch/mips/ar7/prom.c b/arch/mips/ar7/prom.c index 52385790e5c1..23818d299127 100644 --- a/arch/mips/ar7/prom.c +++ b/arch/mips/ar7/prom.c | |||
@@ -246,6 +246,8 @@ void __init prom_init(void) | |||
246 | ar7_init_cmdline(fw_arg0, (char **)fw_arg1); | 246 | ar7_init_cmdline(fw_arg0, (char **)fw_arg1); |
247 | ar7_init_env((struct env_var *)fw_arg2); | 247 | ar7_init_env((struct env_var *)fw_arg2); |
248 | console_config(); | 248 | console_config(); |
249 | |||
250 | ar7_gpio_init(); | ||
249 | } | 251 | } |
250 | 252 | ||
251 | #define PORT(offset) (KSEG1ADDR(AR7_REGS_UART0 + (offset * 4))) | 253 | #define PORT(offset) (KSEG1ADDR(AR7_REGS_UART0 + (offset * 4))) |
diff --git a/arch/mips/include/asm/mach-ar7/ar7.h b/arch/mips/include/asm/mach-ar7/ar7.h index 483ffea9ecb1..ddb413e81d06 100644 --- a/arch/mips/include/asm/mach-ar7/ar7.h +++ b/arch/mips/include/asm/mach-ar7/ar7.h | |||
@@ -161,4 +161,6 @@ static inline void ar7_device_off(u32 bit) | |||
161 | msleep(20); | 161 | msleep(20); |
162 | } | 162 | } |
163 | 163 | ||
164 | int __init ar7_gpio_init(void); | ||
165 | |||
164 | #endif /* __AR7_H__ */ | 166 | #endif /* __AR7_H__ */ |