diff options
52 files changed, 230 insertions, 14 deletions
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c index f23138b8fca3..b8cd07ca9380 100644 --- a/arch/arm/mach-pxa/balloon3.c +++ b/arch/arm/mach-pxa/balloon3.c | |||
@@ -306,6 +306,10 @@ static void __init balloon3_init(void) | |||
306 | */ | 306 | */ |
307 | ARB_CNTRL = ARB_CORE_PARK | 0x234; | 307 | ARB_CNTRL = ARB_CORE_PARK | 0x234; |
308 | 308 | ||
309 | pxa_set_ffuart_info(NULL); | ||
310 | pxa_set_btuart_info(NULL); | ||
311 | pxa_set_stuart_info(NULL); | ||
312 | |||
309 | pxa_set_i2c_info(NULL); | 313 | pxa_set_i2c_info(NULL); |
310 | if (balloon3_has(BALLOON3_FEATURE_AUDIO)) | 314 | if (balloon3_has(BALLOON3_FEATURE_AUDIO)) |
311 | pxa_set_ac97_info(NULL); | 315 | pxa_set_ac97_info(NULL); |
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c index b50ef39eabfc..bff6e78f033d 100644 --- a/arch/arm/mach-pxa/cm-x2xx.c +++ b/arch/arm/mach-pxa/cm-x2xx.c | |||
@@ -453,6 +453,10 @@ static inline void cmx2xx_init_ac97(void) {} | |||
453 | 453 | ||
454 | static void __init cmx2xx_init(void) | 454 | static void __init cmx2xx_init(void) |
455 | { | 455 | { |
456 | pxa_set_ffuart_info(NULL); | ||
457 | pxa_set_btuart_info(NULL); | ||
458 | pxa_set_stuart_info(NULL); | ||
459 | |||
456 | cmx2xx_pm_init(); | 460 | cmx2xx_pm_init(); |
457 | 461 | ||
458 | if (cpu_is_pxa25x()) | 462 | if (cpu_is_pxa25x()) |
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c index 06552ca91814..7f2e87839a8f 100644 --- a/arch/arm/mach-pxa/cm-x300.c +++ b/arch/arm/mach-pxa/cm-x300.c | |||
@@ -438,6 +438,10 @@ static void __init cm_x300_init(void) | |||
438 | /* board-processor specific GPIO initialization */ | 438 | /* board-processor specific GPIO initialization */ |
439 | pxa3xx_mfp_config(ARRAY_AND_SIZE(cm_x300_mfp_cfg)); | 439 | pxa3xx_mfp_config(ARRAY_AND_SIZE(cm_x300_mfp_cfg)); |
440 | 440 | ||
441 | pxa_set_ffuart_info(NULL); | ||
442 | pxa_set_btuart_info(NULL); | ||
443 | pxa_set_stuart_info(NULL); | ||
444 | |||
441 | cm_x300_init_dm9000(); | 445 | cm_x300_init_dm9000(); |
442 | cm_x300_init_lcd(); | 446 | cm_x300_init_lcd(); |
443 | cm_x300_init_ohci(); | 447 | cm_x300_init_ohci(); |
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c index 01bcfaae75bc..061c45316de8 100644 --- a/arch/arm/mach-pxa/colibri-pxa270.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c | |||
@@ -130,6 +130,9 @@ static struct platform_device *colibri_pxa270_devices[] __initdata = { | |||
130 | static void __init colibri_pxa270_init(void) | 130 | static void __init colibri_pxa270_init(void) |
131 | { | 131 | { |
132 | pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa270_pin_config)); | 132 | pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa270_pin_config)); |
133 | pxa_set_ffuart_info(NULL); | ||
134 | pxa_set_btuart_info(NULL); | ||
135 | pxa_set_stuart_info(NULL); | ||
133 | platform_add_devices(ARRAY_AND_SIZE(colibri_pxa270_devices)); | 136 | platform_add_devices(ARRAY_AND_SIZE(colibri_pxa270_devices)); |
134 | } | 137 | } |
135 | 138 | ||
diff --git a/arch/arm/mach-pxa/colibri-pxa300.c b/arch/arm/mach-pxa/colibri-pxa300.c index 37c239c56568..45c23fd6df31 100644 --- a/arch/arm/mach-pxa/colibri-pxa300.c +++ b/arch/arm/mach-pxa/colibri-pxa300.c | |||
@@ -170,6 +170,10 @@ static inline void colibri_pxa310_init_ac97(void) {} | |||
170 | 170 | ||
171 | void __init colibri_pxa300_init(void) | 171 | void __init colibri_pxa300_init(void) |
172 | { | 172 | { |
173 | pxa_set_ffuart_info(NULL); | ||
174 | pxa_set_btuart_info(NULL); | ||
175 | pxa_set_stuart_info(NULL); | ||
176 | |||
173 | colibri_pxa300_init_eth(); | 177 | colibri_pxa300_init_eth(); |
174 | colibri_pxa300_init_ohci(); | 178 | colibri_pxa300_init_ohci(); |
175 | colibri_pxa3xx_init_nand(); | 179 | colibri_pxa3xx_init_nand(); |
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index ec0e14b96682..ae835fad7d10 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c | |||
@@ -199,6 +199,10 @@ static void __init colibri_pxa320_init_uart(void) | |||
199 | 199 | ||
200 | void __init colibri_pxa320_init(void) | 200 | void __init colibri_pxa320_init(void) |
201 | { | 201 | { |
202 | pxa_set_ffuart_info(NULL); | ||
203 | pxa_set_btuart_info(NULL); | ||
204 | pxa_set_stuart_info(NULL); | ||
205 | |||
202 | colibri_pxa320_init_eth(); | 206 | colibri_pxa320_init_eth(); |
203 | colibri_pxa320_init_ohci(); | 207 | colibri_pxa320_init_ohci(); |
204 | colibri_pxa3xx_init_nand(); | 208 | colibri_pxa3xx_init_nand(); |
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index b536b5a5a10d..74446cf8ae69 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -671,6 +671,10 @@ static void __init corgi_init(void) | |||
671 | 671 | ||
672 | pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config)); | 672 | pxa2xx_mfp_config(ARRAY_AND_SIZE(corgi_pin_config)); |
673 | 673 | ||
674 | pxa_set_ffuart_info(NULL); | ||
675 | pxa_set_btuart_info(NULL); | ||
676 | pxa_set_stuart_info(NULL); | ||
677 | |||
674 | corgi_init_spi(); | 678 | corgi_init_spi(); |
675 | 679 | ||
676 | pxa_set_udc_info(&udc_info); | 680 | pxa_set_udc_info(&udc_info); |
diff --git a/arch/arm/mach-pxa/csb726.c b/arch/arm/mach-pxa/csb726.c index 965480eb4fe6..88575b87bd33 100644 --- a/arch/arm/mach-pxa/csb726.c +++ b/arch/arm/mach-pxa/csb726.c | |||
@@ -268,6 +268,9 @@ static void __init csb726_init(void) | |||
268 | /* MSC2 = 0x06697ff4; *//* none/SM501 */ | 268 | /* MSC2 = 0x06697ff4; *//* none/SM501 */ |
269 | MSC2 = (MSC2 & ~0xffff) | 0x7ff4; /* SM501 */ | 269 | MSC2 = (MSC2 & ~0xffff) | 0x7ff4; /* SM501 */ |
270 | 270 | ||
271 | pxa_set_ffuart_info(NULL); | ||
272 | pxa_set_btuart_info(NULL); | ||
273 | pxa_set_stuart_info(NULL); | ||
271 | pxa_set_i2c_info(NULL); | 274 | pxa_set_i2c_info(NULL); |
272 | pxa27x_set_i2c_power_info(NULL); | 275 | pxa27x_set_i2c_power_info(NULL); |
273 | pxa_set_mci_info(&csb726_mci); | 276 | pxa_set_mci_info(&csb726_mci); |
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index e2b427fa55e5..d4cc41d04b25 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -167,13 +167,18 @@ static struct resource pxa_resource_ffuart[] = { | |||
167 | } | 167 | } |
168 | }; | 168 | }; |
169 | 169 | ||
170 | struct platform_device pxa_device_ffuart= { | 170 | struct platform_device pxa_device_ffuart = { |
171 | .name = "pxa2xx-uart", | 171 | .name = "pxa2xx-uart", |
172 | .id = 0, | 172 | .id = 0, |
173 | .resource = pxa_resource_ffuart, | 173 | .resource = pxa_resource_ffuart, |
174 | .num_resources = ARRAY_SIZE(pxa_resource_ffuart), | 174 | .num_resources = ARRAY_SIZE(pxa_resource_ffuart), |
175 | }; | 175 | }; |
176 | 176 | ||
177 | void __init pxa_set_ffuart_info(void *info) | ||
178 | { | ||
179 | pxa_register_device(&pxa_device_ffuart, info); | ||
180 | } | ||
181 | |||
177 | static struct resource pxa_resource_btuart[] = { | 182 | static struct resource pxa_resource_btuart[] = { |
178 | { | 183 | { |
179 | .start = 0x40200000, | 184 | .start = 0x40200000, |
@@ -193,6 +198,11 @@ struct platform_device pxa_device_btuart = { | |||
193 | .num_resources = ARRAY_SIZE(pxa_resource_btuart), | 198 | .num_resources = ARRAY_SIZE(pxa_resource_btuart), |
194 | }; | 199 | }; |
195 | 200 | ||
201 | void __init pxa_set_btuart_info(void *info) | ||
202 | { | ||
203 | pxa_register_device(&pxa_device_btuart, info); | ||
204 | } | ||
205 | |||
196 | static struct resource pxa_resource_stuart[] = { | 206 | static struct resource pxa_resource_stuart[] = { |
197 | { | 207 | { |
198 | .start = 0x40700000, | 208 | .start = 0x40700000, |
@@ -212,6 +222,11 @@ struct platform_device pxa_device_stuart = { | |||
212 | .num_resources = ARRAY_SIZE(pxa_resource_stuart), | 222 | .num_resources = ARRAY_SIZE(pxa_resource_stuart), |
213 | }; | 223 | }; |
214 | 224 | ||
225 | void __init pxa_set_stuart_info(void *info) | ||
226 | { | ||
227 | pxa_register_device(&pxa_device_stuart, info); | ||
228 | } | ||
229 | |||
215 | static struct resource pxa_resource_hwuart[] = { | 230 | static struct resource pxa_resource_hwuart[] = { |
216 | { | 231 | { |
217 | .start = 0x41600000, | 232 | .start = 0x41600000, |
@@ -231,6 +246,14 @@ struct platform_device pxa_device_hwuart = { | |||
231 | .num_resources = ARRAY_SIZE(pxa_resource_hwuart), | 246 | .num_resources = ARRAY_SIZE(pxa_resource_hwuart), |
232 | }; | 247 | }; |
233 | 248 | ||
249 | void __init pxa_set_hwuart_info(void *info) | ||
250 | { | ||
251 | if (cpu_is_pxa255()) | ||
252 | pxa_register_device(&pxa_device_hwuart, info); | ||
253 | else | ||
254 | pr_info("UART: Ignoring attempt to register HWUART on non-PXA255 hardware"); | ||
255 | } | ||
256 | |||
234 | static struct resource pxai2c_resources[] = { | 257 | static struct resource pxai2c_resources[] = { |
235 | { | 258 | { |
236 | .start = 0x40301680, | 259 | .start = 0x40301680, |
diff --git a/arch/arm/mach-pxa/e330.c b/arch/arm/mach-pxa/e330.c index 74d3f8987c5c..8fde3387279d 100644 --- a/arch/arm/mach-pxa/e330.c +++ b/arch/arm/mach-pxa/e330.c | |||
@@ -55,6 +55,9 @@ static struct platform_device *devices[] __initdata = { | |||
55 | 55 | ||
56 | static void __init e330_init(void) | 56 | static void __init e330_init(void) |
57 | { | 57 | { |
58 | pxa_set_ffuart_info(NULL); | ||
59 | pxa_set_btuart_info(NULL); | ||
60 | pxa_set_stuart_info(NULL); | ||
58 | eseries_register_clks(); | 61 | eseries_register_clks(); |
59 | eseries_get_tmio_gpios(); | 62 | eseries_get_tmio_gpios(); |
60 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 63 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
diff --git a/arch/arm/mach-pxa/e350.c b/arch/arm/mach-pxa/e350.c index 080036272131..f50f055f5720 100644 --- a/arch/arm/mach-pxa/e350.c +++ b/arch/arm/mach-pxa/e350.c | |||
@@ -56,6 +56,9 @@ static struct platform_device *devices[] __initdata = { | |||
56 | 56 | ||
57 | static void __init e350_init(void) | 57 | static void __init e350_init(void) |
58 | { | 58 | { |
59 | pxa_set_ffuart_info(NULL); | ||
60 | pxa_set_btuart_info(NULL); | ||
61 | pxa_set_stuart_info(NULL); | ||
59 | eseries_register_clks(); | 62 | eseries_register_clks(); |
60 | eseries_get_tmio_gpios(); | 63 | eseries_get_tmio_gpios(); |
61 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 64 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
diff --git a/arch/arm/mach-pxa/e400.c b/arch/arm/mach-pxa/e400.c index ed9c0c3f64a2..55b950f12844 100644 --- a/arch/arm/mach-pxa/e400.c +++ b/arch/arm/mach-pxa/e400.c | |||
@@ -130,6 +130,9 @@ static struct platform_device *devices[] __initdata = { | |||
130 | static void __init e400_init(void) | 130 | static void __init e400_init(void) |
131 | { | 131 | { |
132 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config)); | 132 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config)); |
133 | pxa_set_ffuart_info(NULL); | ||
134 | pxa_set_btuart_info(NULL); | ||
135 | pxa_set_stuart_info(NULL); | ||
133 | /* Fixme - e400 may have a switched clock */ | 136 | /* Fixme - e400 may have a switched clock */ |
134 | eseries_register_clks(); | 137 | eseries_register_clks(); |
135 | eseries_get_tmio_gpios(); | 138 | eseries_get_tmio_gpios(); |
diff --git a/arch/arm/mach-pxa/e740.c b/arch/arm/mach-pxa/e740.c index 49acdfa6650d..94b23a9e3877 100644 --- a/arch/arm/mach-pxa/e740.c +++ b/arch/arm/mach-pxa/e740.c | |||
@@ -192,6 +192,9 @@ static struct platform_device *devices[] __initdata = { | |||
192 | static void __init e740_init(void) | 192 | static void __init e740_init(void) |
193 | { | 193 | { |
194 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); | 194 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); |
195 | pxa_set_ffuart_info(NULL); | ||
196 | pxa_set_btuart_info(NULL); | ||
197 | pxa_set_stuart_info(NULL); | ||
195 | eseries_register_clks(); | 198 | eseries_register_clks(); |
196 | clk_add_alias("CLK_CK48M", e740_t7l66xb_device.name, | 199 | clk_add_alias("CLK_CK48M", e740_t7l66xb_device.name, |
197 | "UDCCLK", &pxa25x_device_udc.dev), | 200 | "UDCCLK", &pxa25x_device_udc.dev), |
diff --git a/arch/arm/mach-pxa/e750.c b/arch/arm/mach-pxa/e750.c index 4052ece3ef49..5eccbce73a33 100644 --- a/arch/arm/mach-pxa/e750.c +++ b/arch/arm/mach-pxa/e750.c | |||
@@ -194,6 +194,9 @@ static struct platform_device *devices[] __initdata = { | |||
194 | static void __init e750_init(void) | 194 | static void __init e750_init(void) |
195 | { | 195 | { |
196 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e750_pin_config)); | 196 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e750_pin_config)); |
197 | pxa_set_ffuart_info(NULL); | ||
198 | pxa_set_btuart_info(NULL); | ||
199 | pxa_set_stuart_info(NULL); | ||
197 | clk_add_alias("CLK_CK3P6MI", e750_tc6393xb_device.name, | 200 | clk_add_alias("CLK_CK3P6MI", e750_tc6393xb_device.name, |
198 | "GPIO11_CLK", NULL), | 201 | "GPIO11_CLK", NULL), |
199 | eseries_get_tmio_gpios(); | 202 | eseries_get_tmio_gpios(); |
diff --git a/arch/arm/mach-pxa/e800.c b/arch/arm/mach-pxa/e800.c index 9866c7b9e784..aad129bed199 100644 --- a/arch/arm/mach-pxa/e800.c +++ b/arch/arm/mach-pxa/e800.c | |||
@@ -195,6 +195,9 @@ static struct platform_device *devices[] __initdata = { | |||
195 | 195 | ||
196 | static void __init e800_init(void) | 196 | static void __init e800_init(void) |
197 | { | 197 | { |
198 | pxa_set_ffuart_info(NULL); | ||
199 | pxa_set_btuart_info(NULL); | ||
200 | pxa_set_stuart_info(NULL); | ||
198 | clk_add_alias("CLK_CK3P6MI", e800_tc6393xb_device.name, | 201 | clk_add_alias("CLK_CK3P6MI", e800_tc6393xb_device.name, |
199 | "GPIO11_CLK", NULL), | 202 | "GPIO11_CLK", NULL), |
200 | eseries_get_tmio_gpios(); | 203 | eseries_get_tmio_gpios(); |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index aec7f4214b14..e0b0fda9e67e 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -1286,6 +1286,10 @@ static void __init em_x270_init(void) | |||
1286 | { | 1286 | { |
1287 | pxa2xx_mfp_config(ARRAY_AND_SIZE(common_pin_config)); | 1287 | pxa2xx_mfp_config(ARRAY_AND_SIZE(common_pin_config)); |
1288 | 1288 | ||
1289 | pxa_set_ffuart_info(NULL); | ||
1290 | pxa_set_btuart_info(NULL); | ||
1291 | pxa_set_stuart_info(NULL); | ||
1292 | |||
1289 | #ifdef CONFIG_PM | 1293 | #ifdef CONFIG_PM |
1290 | pxa27x_set_pwrmode(PWRMODE_DEEPSLEEP); | 1294 | pxa27x_set_pwrmode(PWRMODE_DEEPSLEEP); |
1291 | #endif | 1295 | #endif |
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c index 588b265e5755..48c17372bc1c 100644 --- a/arch/arm/mach-pxa/ezx.c +++ b/arch/arm/mach-pxa/ezx.c | |||
@@ -693,6 +693,10 @@ static void __init a780_init(void) | |||
693 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config)); | 693 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config)); |
694 | pxa2xx_mfp_config(ARRAY_AND_SIZE(a780_pin_config)); | 694 | pxa2xx_mfp_config(ARRAY_AND_SIZE(a780_pin_config)); |
695 | 695 | ||
696 | pxa_set_ffuart_info(NULL); | ||
697 | pxa_set_btuart_info(NULL); | ||
698 | pxa_set_stuart_info(NULL); | ||
699 | |||
696 | pxa_set_i2c_info(NULL); | 700 | pxa_set_i2c_info(NULL); |
697 | 701 | ||
698 | set_pxa_fb_info(&ezx_fb_info_1); | 702 | set_pxa_fb_info(&ezx_fb_info_1); |
@@ -754,6 +758,10 @@ static void __init e680_init(void) | |||
754 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config)); | 758 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config)); |
755 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e680_pin_config)); | 759 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e680_pin_config)); |
756 | 760 | ||
761 | pxa_set_ffuart_info(NULL); | ||
762 | pxa_set_btuart_info(NULL); | ||
763 | pxa_set_stuart_info(NULL); | ||
764 | |||
757 | pxa_set_i2c_info(NULL); | 765 | pxa_set_i2c_info(NULL); |
758 | i2c_register_board_info(0, ARRAY_AND_SIZE(e680_i2c_board_info)); | 766 | i2c_register_board_info(0, ARRAY_AND_SIZE(e680_i2c_board_info)); |
759 | 767 | ||
@@ -816,6 +824,10 @@ static void __init a1200_init(void) | |||
816 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); | 824 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); |
817 | pxa2xx_mfp_config(ARRAY_AND_SIZE(a1200_pin_config)); | 825 | pxa2xx_mfp_config(ARRAY_AND_SIZE(a1200_pin_config)); |
818 | 826 | ||
827 | pxa_set_ffuart_info(NULL); | ||
828 | pxa_set_btuart_info(NULL); | ||
829 | pxa_set_stuart_info(NULL); | ||
830 | |||
819 | pxa_set_i2c_info(NULL); | 831 | pxa_set_i2c_info(NULL); |
820 | i2c_register_board_info(0, ARRAY_AND_SIZE(a1200_i2c_board_info)); | 832 | i2c_register_board_info(0, ARRAY_AND_SIZE(a1200_i2c_board_info)); |
821 | 833 | ||
@@ -874,6 +886,10 @@ static void __init a910_init(void) | |||
874 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); | 886 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); |
875 | pxa2xx_mfp_config(ARRAY_AND_SIZE(a910_pin_config)); | 887 | pxa2xx_mfp_config(ARRAY_AND_SIZE(a910_pin_config)); |
876 | 888 | ||
889 | pxa_set_ffuart_info(NULL); | ||
890 | pxa_set_btuart_info(NULL); | ||
891 | pxa_set_stuart_info(NULL); | ||
892 | |||
877 | pxa_set_i2c_info(NULL); | 893 | pxa_set_i2c_info(NULL); |
878 | 894 | ||
879 | set_pxa_fb_info(&ezx_fb_info_2); | 895 | set_pxa_fb_info(&ezx_fb_info_2); |
@@ -935,6 +951,10 @@ static void __init e6_init(void) | |||
935 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); | 951 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); |
936 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e6_pin_config)); | 952 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e6_pin_config)); |
937 | 953 | ||
954 | pxa_set_ffuart_info(NULL); | ||
955 | pxa_set_btuart_info(NULL); | ||
956 | pxa_set_stuart_info(NULL); | ||
957 | |||
938 | pxa_set_i2c_info(NULL); | 958 | pxa_set_i2c_info(NULL); |
939 | i2c_register_board_info(0, ARRAY_AND_SIZE(e6_i2c_board_info)); | 959 | i2c_register_board_info(0, ARRAY_AND_SIZE(e6_i2c_board_info)); |
940 | 960 | ||
@@ -971,6 +991,10 @@ static void __init e2_init(void) | |||
971 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); | 991 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); |
972 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e2_pin_config)); | 992 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e2_pin_config)); |
973 | 993 | ||
994 | pxa_set_ffuart_info(NULL); | ||
995 | pxa_set_btuart_info(NULL); | ||
996 | pxa_set_stuart_info(NULL); | ||
997 | |||
974 | pxa_set_i2c_info(NULL); | 998 | pxa_set_i2c_info(NULL); |
975 | i2c_register_board_info(0, ARRAY_AND_SIZE(e2_i2c_board_info)); | 999 | i2c_register_board_info(0, ARRAY_AND_SIZE(e2_i2c_board_info)); |
976 | 1000 | ||
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h index 485fede83d97..890fb90a672f 100644 --- a/arch/arm/mach-pxa/generic.h +++ b/arch/arm/mach-pxa/generic.h | |||
@@ -67,3 +67,8 @@ extern struct sysdev_class pxa_irq_sysclass; | |||
67 | extern struct sysdev_class pxa_gpio_sysclass; | 67 | extern struct sysdev_class pxa_gpio_sysclass; |
68 | extern struct sysdev_class pxa2xx_mfp_sysclass; | 68 | extern struct sysdev_class pxa2xx_mfp_sysclass; |
69 | extern struct sysdev_class pxa3xx_mfp_sysclass; | 69 | extern struct sysdev_class pxa3xx_mfp_sysclass; |
70 | |||
71 | void __init pxa_set_ffuart_info(void *info); | ||
72 | void __init pxa_set_btuart_info(void *info); | ||
73 | void __init pxa_set_stuart_info(void *info); | ||
74 | void __init pxa_set_hwuart_info(void *info); | ||
diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index 1708c0109844..96c345129135 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c | |||
@@ -211,6 +211,11 @@ static void __init gumstix_init(void) | |||
211 | { | 211 | { |
212 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config)); | 212 | pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config)); |
213 | 213 | ||
214 | pxa_set_ffuart_info(NULL); | ||
215 | pxa_set_btuart_info(NULL); | ||
216 | pxa_set_stuart_info(NULL); | ||
217 | pxa_set_hwuart_info(NULL); | ||
218 | |||
214 | gumstix_bluetooth_init(); | 219 | gumstix_bluetooth_init(); |
215 | gumstix_udc_init(); | 220 | gumstix_udc_init(); |
216 | gumstix_mmc_init(); | 221 | gumstix_mmc_init(); |
diff --git a/arch/arm/mach-pxa/h5000.c b/arch/arm/mach-pxa/h5000.c index f3d220c32e07..c1cab0871c99 100644 --- a/arch/arm/mach-pxa/h5000.c +++ b/arch/arm/mach-pxa/h5000.c | |||
@@ -193,6 +193,9 @@ static void __init h5000_init(void) | |||
193 | fix_msc(); | 193 | fix_msc(); |
194 | 194 | ||
195 | pxa2xx_mfp_config(ARRAY_AND_SIZE(h5000_pin_config)); | 195 | pxa2xx_mfp_config(ARRAY_AND_SIZE(h5000_pin_config)); |
196 | pxa_set_ffuart_info(NULL); | ||
197 | pxa_set_btuart_info(NULL); | ||
198 | pxa_set_stuart_info(NULL); | ||
196 | pxa_set_udc_info(&h5000_udc_mach_info); | 199 | pxa_set_udc_info(&h5000_udc_mach_info); |
197 | platform_add_devices(ARRAY_AND_SIZE(devices)); | 200 | platform_add_devices(ARRAY_AND_SIZE(devices)); |
198 | } | 201 | } |
diff --git a/arch/arm/mach-pxa/himalaya.c b/arch/arm/mach-pxa/himalaya.c index cea99fe65b97..f9a2e4b0f090 100644 --- a/arch/arm/mach-pxa/himalaya.c +++ b/arch/arm/mach-pxa/himalaya.c | |||
@@ -150,6 +150,9 @@ static void __init himalaya_lcd_init(void) | |||
150 | 150 | ||
151 | static void __init himalaya_init(void) | 151 | static void __init himalaya_init(void) |
152 | { | 152 | { |
153 | pxa_set_ffuart_info(NULL); | ||
154 | pxa_set_btuart_info(NULL); | ||
155 | pxa_set_stuart_info(NULL); | ||
153 | himalaya_lcd_init(); | 156 | himalaya_lcd_init(); |
154 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 157 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
155 | } | 158 | } |
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index 83bd3c6e3884..6b3c90ed5f28 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
@@ -849,6 +849,10 @@ static void __init hx4700_init(void) | |||
849 | pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config)); | 849 | pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config)); |
850 | hx4700_gpio_request(ARRAY_AND_SIZE(global_gpios)); | 850 | hx4700_gpio_request(ARRAY_AND_SIZE(global_gpios)); |
851 | 851 | ||
852 | pxa_set_ffuart_info(NULL); | ||
853 | pxa_set_btuart_info(NULL); | ||
854 | pxa_set_stuart_info(NULL); | ||
855 | |||
852 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 856 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
853 | 857 | ||
854 | pxa_set_ficp_info(&ficp_info); | 858 | pxa_set_ficp_info(&ficp_info); |
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index b6486ef20b17..5c9e11d74f49 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
@@ -179,6 +179,9 @@ static void __init idp_init(void) | |||
179 | printk("idp_init()\n"); | 179 | printk("idp_init()\n"); |
180 | 180 | ||
181 | pxa2xx_mfp_config(ARRAY_AND_SIZE(idp_pin_config)); | 181 | pxa2xx_mfp_config(ARRAY_AND_SIZE(idp_pin_config)); |
182 | pxa_set_ffuart_info(NULL); | ||
183 | pxa_set_btuart_info(NULL); | ||
184 | pxa_set_stuart_info(NULL); | ||
182 | 185 | ||
183 | platform_device_register(&smc91x_device); | 186 | platform_device_register(&smc91x_device); |
184 | //platform_device_register(&mst_audio_device); | 187 | //platform_device_register(&mst_audio_device); |
diff --git a/arch/arm/mach-pxa/imote2.c b/arch/arm/mach-pxa/imote2.c index 2a4945db31c5..5b0862df61ab 100644 --- a/arch/arm/mach-pxa/imote2.c +++ b/arch/arm/mach-pxa/imote2.c | |||
@@ -554,8 +554,12 @@ static struct i2c_pxa_platform_data i2c_pdata = { | |||
554 | 554 | ||
555 | static void __init imote2_init(void) | 555 | static void __init imote2_init(void) |
556 | { | 556 | { |
557 | |||
558 | pxa2xx_mfp_config(ARRAY_AND_SIZE(imote2_pin_config)); | 557 | pxa2xx_mfp_config(ARRAY_AND_SIZE(imote2_pin_config)); |
558 | |||
559 | pxa_set_ffuart_info(NULL); | ||
560 | pxa_set_btuart_info(NULL); | ||
561 | pxa_set_stuart_info(NULL); | ||
562 | |||
559 | /* SPI chip select directions - all other directions should | 563 | /* SPI chip select directions - all other directions should |
560 | * be handled by drivers.*/ | 564 | * be handled by drivers.*/ |
561 | gpio_direction_output(37, 0); | 565 | gpio_direction_output(37, 0); |
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index ce5e6175a050..f28c1715b910 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
@@ -413,6 +413,10 @@ static void __init littleton_init(void) | |||
413 | /* initialize MFP configurations */ | 413 | /* initialize MFP configurations */ |
414 | pxa3xx_mfp_config(ARRAY_AND_SIZE(littleton_mfp_cfg)); | 414 | pxa3xx_mfp_config(ARRAY_AND_SIZE(littleton_mfp_cfg)); |
415 | 415 | ||
416 | pxa_set_ffuart_info(NULL); | ||
417 | pxa_set_btuart_info(NULL); | ||
418 | pxa_set_stuart_info(NULL); | ||
419 | |||
416 | /* | 420 | /* |
417 | * Note: we depend bootloader set the correct | 421 | * Note: we depend bootloader set the correct |
418 | * value to MSC register for SMC91x. | 422 | * value to MSC register for SMC91x. |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index d64395f26a3e..1373c22dbb83 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -455,6 +455,10 @@ static void __init lpd270_init(void) | |||
455 | { | 455 | { |
456 | pxa2xx_mfp_config(ARRAY_AND_SIZE(lpd270_pin_config)); | 456 | pxa2xx_mfp_config(ARRAY_AND_SIZE(lpd270_pin_config)); |
457 | 457 | ||
458 | pxa_set_ffuart_info(NULL); | ||
459 | pxa_set_btuart_info(NULL); | ||
460 | pxa_set_stuart_info(NULL); | ||
461 | |||
458 | lpd270_flash_data[0].width = (BOOT_DEF & 1) ? 2 : 4; | 462 | lpd270_flash_data[0].width = (BOOT_DEF & 1) ? 2 : 4; |
459 | lpd270_flash_data[1].width = 4; | 463 | lpd270_flash_data[1].width = 4; |
460 | 464 | ||
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index c6a94d3fdd61..98ee7e590299 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -518,6 +518,10 @@ static void __init lubbock_init(void) | |||
518 | 518 | ||
519 | pxa2xx_mfp_config(ARRAY_AND_SIZE(lubbock_pin_config)); | 519 | pxa2xx_mfp_config(ARRAY_AND_SIZE(lubbock_pin_config)); |
520 | 520 | ||
521 | pxa_set_ffuart_info(NULL); | ||
522 | pxa_set_btuart_info(NULL); | ||
523 | pxa_set_stuart_info(NULL); | ||
524 | |||
521 | clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL); | 525 | clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL); |
522 | pxa_set_udc_info(&udc_info); | 526 | pxa_set_udc_info(&udc_info); |
523 | set_pxa_fb_info(&sharp_lm8v31); | 527 | set_pxa_fb_info(&sharp_lm8v31); |
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c index 5360c07f5138..8a38d604dc77 100644 --- a/arch/arm/mach-pxa/magician.c +++ b/arch/arm/mach-pxa/magician.c | |||
@@ -742,6 +742,10 @@ static void __init magician_init(void) | |||
742 | 742 | ||
743 | pxa2xx_mfp_config(ARRAY_AND_SIZE(magician_pin_config)); | 743 | pxa2xx_mfp_config(ARRAY_AND_SIZE(magician_pin_config)); |
744 | 744 | ||
745 | pxa_set_ffuart_info(NULL); | ||
746 | pxa_set_btuart_info(NULL); | ||
747 | pxa_set_stuart_info(NULL); | ||
748 | |||
745 | platform_add_devices(ARRAY_AND_SIZE(devices)); | 749 | platform_add_devices(ARRAY_AND_SIZE(devices)); |
746 | 750 | ||
747 | err = gpio_request(GPIO83_MAGICIAN_nIR_EN, "nIR_EN"); | 751 | err = gpio_request(GPIO83_MAGICIAN_nIR_EN, "nIR_EN"); |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index a4eeae345e64..851ee0fc32e2 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -576,6 +576,10 @@ static void __init mainstone_init(void) | |||
576 | 576 | ||
577 | pxa2xx_mfp_config(ARRAY_AND_SIZE(mainstone_pin_config)); | 577 | pxa2xx_mfp_config(ARRAY_AND_SIZE(mainstone_pin_config)); |
578 | 578 | ||
579 | pxa_set_ffuart_info(NULL); | ||
580 | pxa_set_btuart_info(NULL); | ||
581 | pxa_set_stuart_info(NULL); | ||
582 | |||
579 | mst_flash_data[0].width = (BOOT_DEF & 1) ? 2 : 4; | 583 | mst_flash_data[0].width = (BOOT_DEF & 1) ? 2 : 4; |
580 | mst_flash_data[1].width = 4; | 584 | mst_flash_data[1].width = 4; |
581 | 585 | ||
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c index 3cab452e5567..2466a44d8fda 100644 --- a/arch/arm/mach-pxa/mioa701.c +++ b/arch/arm/mach-pxa/mioa701.c | |||
@@ -798,6 +798,9 @@ static void __init mioa701_machine_init(void) | |||
798 | UP2OCR = UP2OCR_HXOE; | 798 | UP2OCR = UP2OCR_HXOE; |
799 | 799 | ||
800 | pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config)); | 800 | pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config)); |
801 | pxa_set_ffuart_info(NULL); | ||
802 | pxa_set_btuart_info(NULL); | ||
803 | pxa_set_stuart_info(NULL); | ||
801 | mio_gpio_request(ARRAY_AND_SIZE(global_gpios)); | 804 | mio_gpio_request(ARRAY_AND_SIZE(global_gpios)); |
802 | bootstrap_init(); | 805 | bootstrap_init(); |
803 | set_pxa_fb_info(&mioa701_pxafb_info); | 806 | set_pxa_fb_info(&mioa701_pxafb_info); |
diff --git a/arch/arm/mach-pxa/mp900.c b/arch/arm/mach-pxa/mp900.c index a65713ce019e..6d4503927a76 100644 --- a/arch/arm/mach-pxa/mp900.c +++ b/arch/arm/mach-pxa/mp900.c | |||
@@ -84,6 +84,9 @@ static struct platform_device *devices[] __initdata = { | |||
84 | static void __init mp900c_init(void) | 84 | static void __init mp900c_init(void) |
85 | { | 85 | { |
86 | printk(KERN_INFO "MobilePro 900/C machine init\n"); | 86 | printk(KERN_INFO "MobilePro 900/C machine init\n"); |
87 | pxa_set_ffuart_info(NULL); | ||
88 | pxa_set_btuart_info(NULL); | ||
89 | pxa_set_stuart_info(NULL); | ||
87 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 90 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
88 | } | 91 | } |
89 | 92 | ||
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index 1ad029dd4438..59140217890a 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -530,6 +530,10 @@ static void __init palmld_init(void) | |||
530 | { | 530 | { |
531 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config)); | 531 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config)); |
532 | 532 | ||
533 | pxa_set_ffuart_info(NULL); | ||
534 | pxa_set_btuart_info(NULL); | ||
535 | pxa_set_stuart_info(NULL); | ||
536 | |||
533 | palmld_pm_init(); | 537 | palmld_pm_init(); |
534 | set_pxa_fb_info(&palmld_lcd_screen); | 538 | set_pxa_fb_info(&palmld_lcd_screen); |
535 | pxa_set_mci_info(&palmld_mci_platform_data); | 539 | pxa_set_mci_info(&palmld_mci_platform_data); |
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index 2dd7ce28556b..7f89ca20f13a 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -419,6 +419,10 @@ static void __init palmt5_init(void) | |||
419 | { | 419 | { |
420 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config)); | 420 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config)); |
421 | 421 | ||
422 | pxa_set_ffuart_info(NULL); | ||
423 | pxa_set_btuart_info(NULL); | ||
424 | pxa_set_stuart_info(NULL); | ||
425 | |||
422 | palmt5_pm_init(); | 426 | palmt5_pm_init(); |
423 | set_pxa_fb_info(&palmt5_lcd_screen); | 427 | set_pxa_fb_info(&palmt5_lcd_screen); |
424 | pxa_set_mci_info(&palmt5_mci_platform_data); | 428 | pxa_set_mci_info(&palmt5_mci_platform_data); |
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c index 0b92291a58f6..308417592007 100644 --- a/arch/arm/mach-pxa/palmtc.c +++ b/arch/arm/mach-pxa/palmtc.c | |||
@@ -416,6 +416,11 @@ static void __init palmtc_init(void) | |||
416 | { | 416 | { |
417 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtc_pin_config)); | 417 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtc_pin_config)); |
418 | 418 | ||
419 | pxa_set_ffuart_info(NULL); | ||
420 | pxa_set_btuart_info(NULL); | ||
421 | pxa_set_stuart_info(NULL); | ||
422 | pxa_set_hwuart_info(NULL); | ||
423 | |||
419 | set_pxa_fb_info(&palmtc_lcd_screen); | 424 | set_pxa_fb_info(&palmtc_lcd_screen); |
420 | pxa_set_mci_info(&palmtc_mci_platform_data); | 425 | pxa_set_mci_info(&palmtc_mci_platform_data); |
421 | pxa_set_udc_info(&palmtc_udc_info); | 426 | pxa_set_udc_info(&palmtc_udc_info); |
diff --git a/arch/arm/mach-pxa/palmte2.c b/arch/arm/mach-pxa/palmte2.c index 277c4062e3c6..265d62bae7de 100644 --- a/arch/arm/mach-pxa/palmte2.c +++ b/arch/arm/mach-pxa/palmte2.c | |||
@@ -373,6 +373,10 @@ static void __init palmte2_init(void) | |||
373 | { | 373 | { |
374 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmte2_pin_config)); | 374 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmte2_pin_config)); |
375 | 375 | ||
376 | pxa_set_ffuart_info(NULL); | ||
377 | pxa_set_btuart_info(NULL); | ||
378 | pxa_set_stuart_info(NULL); | ||
379 | |||
376 | set_pxa_fb_info(&palmte2_lcd_screen); | 380 | set_pxa_fb_info(&palmte2_lcd_screen); |
377 | pxa_set_mci_info(&palmte2_mci_platform_data); | 381 | pxa_set_mci_info(&palmte2_mci_platform_data); |
378 | palmte2_udc_init(); | 382 | palmte2_udc_init(); |
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c index c071b60ebed8..606eb7e8a17e 100644 --- a/arch/arm/mach-pxa/palmtreo.c +++ b/arch/arm/mach-pxa/palmtreo.c | |||
@@ -653,6 +653,10 @@ static void __init treo_lcd_power_init(void) | |||
653 | 653 | ||
654 | static void __init treo_init(void) | 654 | static void __init treo_init(void) |
655 | { | 655 | { |
656 | pxa_set_ffuart_info(NULL); | ||
657 | pxa_set_btuart_info(NULL); | ||
658 | pxa_set_stuart_info(NULL); | ||
659 | |||
656 | treo_pm_init(); | 660 | treo_pm_init(); |
657 | pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config)); | 661 | pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config)); |
658 | treo_lcd_power_init(); | 662 | treo_lcd_power_init(); |
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c index 76a2b37eaf30..7bf18c2f002f 100644 --- a/arch/arm/mach-pxa/palmtx.c +++ b/arch/arm/mach-pxa/palmtx.c | |||
@@ -570,6 +570,10 @@ static void __init palmtx_init(void) | |||
570 | { | 570 | { |
571 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config)); | 571 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config)); |
572 | 572 | ||
573 | pxa_set_ffuart_info(NULL); | ||
574 | pxa_set_btuart_info(NULL); | ||
575 | pxa_set_stuart_info(NULL); | ||
576 | |||
573 | palmtx_pm_init(); | 577 | palmtx_pm_init(); |
574 | set_pxa_fb_info(&palmtx_lcd_screen); | 578 | set_pxa_fb_info(&palmtx_lcd_screen); |
575 | pxa_set_mci_info(&palmtx_mci_platform_data); | 579 | pxa_set_mci_info(&palmtx_mci_platform_data); |
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c index c2bf493c5f53..d787ac7cfdd8 100644 --- a/arch/arm/mach-pxa/palmz72.c +++ b/arch/arm/mach-pxa/palmz72.c | |||
@@ -491,6 +491,10 @@ static void __init palmz72_init(void) | |||
491 | { | 491 | { |
492 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config)); | 492 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config)); |
493 | 493 | ||
494 | pxa_set_ffuart_info(NULL); | ||
495 | pxa_set_btuart_info(NULL); | ||
496 | pxa_set_stuart_info(NULL); | ||
497 | |||
494 | set_pxa_fb_info(&palmz72_lcd_screen); | 498 | set_pxa_fb_info(&palmz72_lcd_screen); |
495 | pxa_set_mci_info(&palmz72_mci_platform_data); | 499 | pxa_set_mci_info(&palmz72_mci_platform_data); |
496 | palmz72_udc_init(); | 500 | palmz72_udc_init(); |
diff --git a/arch/arm/mach-pxa/pcm027.c b/arch/arm/mach-pxa/pcm027.c index 6abfa2979c61..2190af066470 100644 --- a/arch/arm/mach-pxa/pcm027.c +++ b/arch/arm/mach-pxa/pcm027.c | |||
@@ -227,6 +227,10 @@ static void __init pcm027_init(void) | |||
227 | 227 | ||
228 | pxa2xx_mfp_config(pcm027_pin_config, ARRAY_SIZE(pcm027_pin_config)); | 228 | pxa2xx_mfp_config(pcm027_pin_config, ARRAY_SIZE(pcm027_pin_config)); |
229 | 229 | ||
230 | pxa_set_ffuart_info(NULL); | ||
231 | pxa_set_btuart_info(NULL); | ||
232 | pxa_set_stuart_info(NULL); | ||
233 | |||
230 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 234 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
231 | 235 | ||
232 | /* at last call the baseboard to initialize itself */ | 236 | /* at last call the baseboard to initialize itself */ |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index a186994f77fb..e5eeb3a62d01 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -449,6 +449,10 @@ static void __init poodle_init(void) | |||
449 | 449 | ||
450 | pxa2xx_mfp_config(ARRAY_AND_SIZE(poodle_pin_config)); | 450 | pxa2xx_mfp_config(ARRAY_AND_SIZE(poodle_pin_config)); |
451 | 451 | ||
452 | pxa_set_ffuart_info(NULL); | ||
453 | pxa_set_btuart_info(NULL); | ||
454 | pxa_set_stuart_info(NULL); | ||
455 | |||
452 | platform_scoop_config = &poodle_pcmcia_config; | 456 | platform_scoop_config = &poodle_pcmcia_config; |
453 | 457 | ||
454 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); | 458 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 77c2693cfeef..2c1b0b70d01d 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -322,9 +322,6 @@ void __init pxa26x_init_irq(void) | |||
322 | 322 | ||
323 | static struct platform_device *pxa25x_devices[] __initdata = { | 323 | static struct platform_device *pxa25x_devices[] __initdata = { |
324 | &pxa25x_device_udc, | 324 | &pxa25x_device_udc, |
325 | &pxa_device_ffuart, | ||
326 | &pxa_device_btuart, | ||
327 | &pxa_device_stuart, | ||
328 | &pxa_device_i2s, | 325 | &pxa_device_i2s, |
329 | &sa1100_device_rtc, | 326 | &sa1100_device_rtc, |
330 | &pxa25x_device_ssp, | 327 | &pxa25x_device_ssp, |
@@ -372,10 +369,8 @@ static int __init pxa25x_init(void) | |||
372 | } | 369 | } |
373 | 370 | ||
374 | /* Only add HWUART for PXA255/26x; PXA210/250 do not have it. */ | 371 | /* Only add HWUART for PXA255/26x; PXA210/250 do not have it. */ |
375 | if (cpu_is_pxa255()) { | 372 | if (cpu_is_pxa255()) |
376 | clks_register(&pxa25x_hwuart_clkreg, 1); | 373 | clks_register(&pxa25x_hwuart_clkreg, 1); |
377 | ret = platform_device_register(&pxa_device_hwuart); | ||
378 | } | ||
379 | 374 | ||
380 | return ret; | 375 | return ret; |
381 | } | 376 | } |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index ec68cc16b4e3..6a0b73167e03 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -364,9 +364,6 @@ void __init pxa27x_set_i2c_power_info(struct i2c_pxa_platform_data *info) | |||
364 | 364 | ||
365 | static struct platform_device *devices[] __initdata = { | 365 | static struct platform_device *devices[] __initdata = { |
366 | &pxa27x_device_udc, | 366 | &pxa27x_device_udc, |
367 | &pxa_device_ffuart, | ||
368 | &pxa_device_btuart, | ||
369 | &pxa_device_stuart, | ||
370 | &pxa_device_i2s, | 367 | &pxa_device_i2s, |
371 | &sa1100_device_rtc, | 368 | &sa1100_device_rtc, |
372 | &pxa_device_rtc, | 369 | &pxa_device_rtc, |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index ca536f2b2bf9..3198680626ec 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -555,9 +555,6 @@ void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info) | |||
555 | 555 | ||
556 | static struct platform_device *devices[] __initdata = { | 556 | static struct platform_device *devices[] __initdata = { |
557 | &pxa27x_device_udc, | 557 | &pxa27x_device_udc, |
558 | &pxa_device_ffuart, | ||
559 | &pxa_device_btuart, | ||
560 | &pxa_device_stuart, | ||
561 | &pxa_device_i2s, | 558 | &pxa_device_i2s, |
562 | &sa1100_device_rtc, | 559 | &sa1100_device_rtc, |
563 | &pxa_device_rtc, | 560 | &pxa_device_rtc, |
diff --git a/arch/arm/mach-pxa/saar.c b/arch/arm/mach-pxa/saar.c index 3cccb085b979..115b6f234bdd 100644 --- a/arch/arm/mach-pxa/saar.c +++ b/arch/arm/mach-pxa/saar.c | |||
@@ -583,6 +583,10 @@ static void __init saar_init(void) | |||
583 | /* initialize MFP configurations */ | 583 | /* initialize MFP configurations */ |
584 | pxa3xx_mfp_config(ARRAY_AND_SIZE(saar_mfp_cfg)); | 584 | pxa3xx_mfp_config(ARRAY_AND_SIZE(saar_mfp_cfg)); |
585 | 585 | ||
586 | pxa_set_ffuart_info(NULL); | ||
587 | pxa_set_btuart_info(NULL); | ||
588 | pxa_set_stuart_info(NULL); | ||
589 | |||
586 | platform_device_register(&smc91x_device); | 590 | platform_device_register(&smc91x_device); |
587 | saar_init_onenand(); | 591 | saar_init_onenand(); |
588 | 592 | ||
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 3da45d051743..bbd7a855ae2d 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -768,6 +768,10 @@ static void __init common_init(void) | |||
768 | 768 | ||
769 | pxa2xx_mfp_config(ARRAY_AND_SIZE(spitz_pin_config)); | 769 | pxa2xx_mfp_config(ARRAY_AND_SIZE(spitz_pin_config)); |
770 | 770 | ||
771 | pxa_set_ffuart_info(NULL); | ||
772 | pxa_set_btuart_info(NULL); | ||
773 | pxa_set_stuart_info(NULL); | ||
774 | |||
771 | spitz_init_spi(); | 775 | spitz_init_spi(); |
772 | 776 | ||
773 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 777 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
diff --git a/arch/arm/mach-pxa/stargate2.c b/arch/arm/mach-pxa/stargate2.c index 3b205b69f3fb..a98a434f0111 100644 --- a/arch/arm/mach-pxa/stargate2.c +++ b/arch/arm/mach-pxa/stargate2.c | |||
@@ -760,6 +760,10 @@ static void __init stargate2_init(void) | |||
760 | 760 | ||
761 | pxa2xx_mfp_config(ARRAY_AND_SIZE(stargate2_pin_config)); | 761 | pxa2xx_mfp_config(ARRAY_AND_SIZE(stargate2_pin_config)); |
762 | 762 | ||
763 | pxa_set_ffuart_info(NULL); | ||
764 | pxa_set_btuart_info(NULL); | ||
765 | pxa_set_stuart_info(NULL); | ||
766 | |||
763 | /* spi chip selects */ | 767 | /* spi chip selects */ |
764 | gpio_direction_output(37, 0); | 768 | gpio_direction_output(37, 0); |
765 | gpio_direction_output(24, 0); | 769 | gpio_direction_output(24, 0); |
diff --git a/arch/arm/mach-pxa/tavorevb.c b/arch/arm/mach-pxa/tavorevb.c index b75353a2ec75..f02dcb5b4e97 100644 --- a/arch/arm/mach-pxa/tavorevb.c +++ b/arch/arm/mach-pxa/tavorevb.c | |||
@@ -477,6 +477,10 @@ static void __init tavorevb_init(void) | |||
477 | /* initialize MFP configurations */ | 477 | /* initialize MFP configurations */ |
478 | pxa3xx_mfp_config(ARRAY_AND_SIZE(tavorevb_mfp_cfg)); | 478 | pxa3xx_mfp_config(ARRAY_AND_SIZE(tavorevb_mfp_cfg)); |
479 | 479 | ||
480 | pxa_set_ffuart_info(NULL); | ||
481 | pxa_set_btuart_info(NULL); | ||
482 | pxa_set_stuart_info(NULL); | ||
483 | |||
480 | platform_device_register(&smc91x_device); | 484 | platform_device_register(&smc91x_device); |
481 | 485 | ||
482 | tavorevb_init_lcd(); | 486 | tavorevb_init_lcd(); |
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index e81a52673d49..c854c168a451 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
@@ -825,6 +825,11 @@ static void __init tosa_init(void) | |||
825 | int dummy; | 825 | int dummy; |
826 | 826 | ||
827 | pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_config)); | 827 | pxa2xx_mfp_config(ARRAY_AND_SIZE(tosa_pin_config)); |
828 | |||
829 | pxa_set_ffuart_info(NULL); | ||
830 | pxa_set_btuart_info(NULL); | ||
831 | pxa_set_stuart_info(NULL); | ||
832 | |||
828 | gpio_set_wake(MFP_PIN_GPIO1, 1); | 833 | gpio_set_wake(MFP_PIN_GPIO1, 1); |
829 | /* We can't pass to gpio-keys since it will drop the Reset altfunc */ | 834 | /* We can't pass to gpio-keys since it will drop the Reset altfunc */ |
830 | 835 | ||
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 3981e0356d12..0aa858ebc573 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -524,6 +524,10 @@ static void __init trizeps4_init(void) | |||
524 | ARRAY_SIZE(trizeps4_devices)); | 524 | ARRAY_SIZE(trizeps4_devices)); |
525 | } | 525 | } |
526 | 526 | ||
527 | pxa_set_ffuart_info(NULL); | ||
528 | pxa_set_btuart_info(NULL); | ||
529 | pxa_set_stuart_info(NULL); | ||
530 | |||
527 | if (0) /* dont know how to determine LCD */ | 531 | if (0) /* dont know how to determine LCD */ |
528 | set_pxa_fb_info(&sharp_lcd); | 532 | set_pxa_fb_info(&sharp_lcd); |
529 | else | 533 | else |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index d33c232b686c..6c36bd9f3b55 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -908,6 +908,10 @@ static void __init viper_init(void) | |||
908 | 908 | ||
909 | pxa2xx_mfp_config(ARRAY_AND_SIZE(viper_pin_config)); | 909 | pxa2xx_mfp_config(ARRAY_AND_SIZE(viper_pin_config)); |
910 | 910 | ||
911 | pxa_set_ffuart_info(NULL); | ||
912 | pxa_set_btuart_info(NULL); | ||
913 | pxa_set_stuart_info(NULL); | ||
914 | |||
911 | /* Wake-up serial console */ | 915 | /* Wake-up serial console */ |
912 | viper_init_serial_gpio(); | 916 | viper_init_serial_gpio(); |
913 | 917 | ||
diff --git a/arch/arm/mach-pxa/xcep.c b/arch/arm/mach-pxa/xcep.c index 3fd79cbb36c8..d3b4e3f2e033 100644 --- a/arch/arm/mach-pxa/xcep.c +++ b/arch/arm/mach-pxa/xcep.c | |||
@@ -165,6 +165,11 @@ static void __init xcep_init(void) | |||
165 | { | 165 | { |
166 | pxa2xx_mfp_config(ARRAY_AND_SIZE(xcep_pin_config)); | 166 | pxa2xx_mfp_config(ARRAY_AND_SIZE(xcep_pin_config)); |
167 | 167 | ||
168 | pxa_set_ffuart_info(NULL); | ||
169 | pxa_set_btuart_info(NULL); | ||
170 | pxa_set_stuart_info(NULL); | ||
171 | pxa_set_hwuart_info(NULL); | ||
172 | |||
168 | /* See Intel XScale Developer's Guide for details */ | 173 | /* See Intel XScale Developer's Guide for details */ |
169 | /* Set RDF and RDN to appropriate values (chip select 3 (smc91x)) */ | 174 | /* Set RDF and RDN to appropriate values (chip select 3 (smc91x)) */ |
170 | MSC1 = (MSC1 & 0xffff) | 0xD5540000; | 175 | MSC1 = (MSC1 & 0xffff) | 0xD5540000; |
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c index 8fcb69411cf7..b66e9e2d06e7 100644 --- a/arch/arm/mach-pxa/zylonite.c +++ b/arch/arm/mach-pxa/zylonite.c | |||
@@ -444,6 +444,10 @@ static inline void zylonite_init_ohci(void) {} | |||
444 | 444 | ||
445 | static void __init zylonite_init(void) | 445 | static void __init zylonite_init(void) |
446 | { | 446 | { |
447 | pxa_set_ffuart_info(NULL); | ||
448 | pxa_set_btuart_info(NULL); | ||
449 | pxa_set_stuart_info(NULL); | ||
450 | |||
447 | /* board-processor specific initialization */ | 451 | /* board-processor specific initialization */ |
448 | zylonite_pxa300_init(); | 452 | zylonite_pxa300_init(); |
449 | zylonite_pxa320_init(); | 453 | zylonite_pxa320_init(); |