diff options
author | Jaya Kumar <jayakumar.lkml@gmail.com> | 2008-12-09 09:14:29 -0500 |
---|---|---|
committer | Eric Miao <eric.miao@marvell.com> | 2008-12-17 09:51:38 -0500 |
commit | 3332b0c17969d91d8868d2d003e685c420d84262 (patch) | |
tree | ea706af11e2473c8336bb6ec28d22f2d11b21a7f | |
parent | 07f651c72ac0530033883c113939d9b9c7fa75e5 (diff) |
[ARM] pxa/gumstix: fix incorrect init done by am200
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: Andre Puschmann <andre.puschmann@imms.de>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
-rw-r--r-- | arch/arm/mach-pxa/Kconfig | 21 | ||||
-rw-r--r-- | arch/arm/mach-pxa/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/am200epd.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/gumstix.c | 15 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/gumstix.h | 4 |
5 files changed, 32 insertions, 14 deletions
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 8627e718a613..0b7f145dd418 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -27,15 +27,20 @@ endmenu | |||
27 | endif | 27 | endif |
28 | 28 | ||
29 | config ARCH_GUMSTIX | 29 | config ARCH_GUMSTIX |
30 | bool "Gumstix XScale boards" | 30 | bool "Gumstix XScale 255 boards" |
31 | select PXA25x | ||
31 | help | 32 | help |
32 | Say Y here if you intend to run this kernel on a | 33 | Say Y here if you intend to run this kernel on |
33 | Gumstix Full Function Minature Computer. | 34 | Basix, Connex, ws-200ax, ws-400ax systems |
34 | 35 | ||
35 | config MACH_GUMSTIX_F | 36 | choice |
36 | bool "Basix, Connex, ws-200ax, ws-400ax systems" | 37 | prompt "Gumstix Carrier/Expansion Board" |
37 | depends on ARCH_GUMSTIX | 38 | depends on ARCH_GUMSTIX |
38 | select PXA25x | 39 | |
40 | config GUMSTIX_AM200EPD | ||
41 | bool "Enable AM200EPD board support" | ||
42 | |||
43 | endchoice | ||
39 | 44 | ||
40 | config ARCH_LUBBOCK | 45 | config ARCH_LUBBOCK |
41 | bool "Intel DBPXA250 Development Platform" | 46 | bool "Intel DBPXA250 Development Platform" |
@@ -348,10 +353,6 @@ config PCM990_DISPLAY_NONE | |||
348 | 353 | ||
349 | endchoice | 354 | endchoice |
350 | 355 | ||
351 | config MACH_AM200EPD | ||
352 | depends on MACH_GUMSTIX_F | ||
353 | bool "Enable AM200EPD board support" | ||
354 | |||
355 | config PXA_EZX | 356 | config PXA_EZX |
356 | bool "Motorola EZX Platform" | 357 | bool "Motorola EZX Platform" |
357 | select PXA27x | 358 | select PXA27x |
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index dc184eae5109..264644519215 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile | |||
@@ -27,7 +27,7 @@ obj-$(CONFIG_CPU_PXA930) += pxa930.o | |||
27 | 27 | ||
28 | # Specific board support | 28 | # Specific board support |
29 | obj-$(CONFIG_ARCH_GUMSTIX) += gumstix.o | 29 | obj-$(CONFIG_ARCH_GUMSTIX) += gumstix.o |
30 | obj-$(CONFIG_MACH_AM200EPD) += am200epd.o | 30 | obj-$(CONFIG_GUMSTIX_AM200EPD) += am200epd.o |
31 | obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o | 31 | obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o |
32 | obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o | 32 | obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o |
33 | obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o | 33 | obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o |
diff --git a/arch/arm/mach-pxa/am200epd.c b/arch/arm/mach-pxa/am200epd.c index b965085a37b9..fd6142054578 100644 --- a/arch/arm/mach-pxa/am200epd.c +++ b/arch/arm/mach-pxa/am200epd.c | |||
@@ -331,7 +331,7 @@ static struct metronome_board am200_board = { | |||
331 | .cleanup = am200_cleanup, | 331 | .cleanup = am200_cleanup, |
332 | }; | 332 | }; |
333 | 333 | ||
334 | static int __init am200_init(void) | 334 | int __init am200_init(void) |
335 | { | 335 | { |
336 | int ret; | 336 | int ret; |
337 | 337 | ||
@@ -367,8 +367,6 @@ static int __init am200_init(void) | |||
367 | module_param(panel_type, uint, 0); | 367 | module_param(panel_type, uint, 0); |
368 | MODULE_PARM_DESC(panel_type, "Select the panel type: 6, 8, 97"); | 368 | MODULE_PARM_DESC(panel_type, "Select the panel type: 6, 8, 97"); |
369 | 369 | ||
370 | module_init(am200_init); | ||
371 | |||
372 | MODULE_DESCRIPTION("board driver for am200 metronome epd kit"); | 370 | MODULE_DESCRIPTION("board driver for am200 metronome epd kit"); |
373 | MODULE_AUTHOR("Jaya Kumar"); | 371 | MODULE_AUTHOR("Jaya Kumar"); |
374 | MODULE_LICENSE("GPL"); | 372 | MODULE_LICENSE("GPL"); |
diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index d8962a0fb98d..14d5103dafc9 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c | |||
@@ -193,6 +193,20 @@ static unsigned long gumstix_pin_config[] __initdata = { | |||
193 | GPIO16_GPIO, | 193 | GPIO16_GPIO, |
194 | }; | 194 | }; |
195 | 195 | ||
196 | int __attribute__((weak)) am200_init(void) | ||
197 | { | ||
198 | return 0; | ||
199 | } | ||
200 | |||
201 | static void __init carrier_board_init(void) | ||
202 | { | ||
203 | /* | ||
204 | * put carrier/expansion board init here if | ||
205 | * they cannot be detected programatically | ||
206 | */ | ||
207 | am200_init(); | ||
208 | } | ||
209 | |||
196 | static void __init gumstix_init(void) | 210 | static void __init gumstix_init(void) |
197 | { | 211 | { |
198 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config)); | 212 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config)); |
@@ -201,6 +215,7 @@ static void __init gumstix_init(void) | |||
201 | gumstix_udc_init(); | 215 | gumstix_udc_init(); |
202 | gumstix_mmc_init(); | 216 | gumstix_mmc_init(); |
203 | (void) platform_add_devices(devices, ARRAY_SIZE(devices)); | 217 | (void) platform_add_devices(devices, ARRAY_SIZE(devices)); |
218 | carrier_board_init(); | ||
204 | } | 219 | } |
205 | 220 | ||
206 | MACHINE_START(GUMSTIX, "Gumstix") | 221 | MACHINE_START(GUMSTIX, "Gumstix") |
diff --git a/arch/arm/mach-pxa/include/mach/gumstix.h b/arch/arm/mach-pxa/include/mach/gumstix.h index 42ee1956750e..099f54a41de4 100644 --- a/arch/arm/mach-pxa/include/mach/gumstix.h +++ b/arch/arm/mach-pxa/include/mach/gumstix.h | |||
@@ -94,3 +94,7 @@ has detected a cable insertion; driven low otherwise. */ | |||
94 | #define GPIO26_PRDY_nBSY_MD (GPIO26_PRDY_nBSY | GPIO_IN) | 94 | #define GPIO26_PRDY_nBSY_MD (GPIO26_PRDY_nBSY | GPIO_IN) |
95 | #define GPIO27_PRDY_nBSY_MD (GPIO27_PRDY_nBSY | GPIO_IN) | 95 | #define GPIO27_PRDY_nBSY_MD (GPIO27_PRDY_nBSY | GPIO_IN) |
96 | #define GPIO36_nCD_MD (GPIO36_nCD | GPIO_IN) | 96 | #define GPIO36_nCD_MD (GPIO36_nCD | GPIO_IN) |
97 | |||
98 | /* for expansion boards that can't be programatically detected */ | ||
99 | extern int am200_init(void); | ||
100 | |||