diff options
29 files changed, 80 insertions, 43 deletions
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index e9eee5f0e6d..e0661777f59 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c @@ -143,7 +143,8 @@ static void __init omap_2430sdp_init_irq(void)  {  	omap_board_config = sdp2430_config;  	omap_board_config_size = ARRAY_SIZE(sdp2430_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index 869fb133c20..3b39ef1a680 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c @@ -326,7 +326,8 @@ static void __init omap_3430sdp_init_irq(void)  	omap_board_config = sdp3430_config;  	omap_board_config_size = ARRAY_SIZE(sdp3430_config);  	omap3_pm_init_cpuidle(omap3_cpuidle_params_table); -	omap2_init_common_hw(hyb18m512160af6_sdrc_params, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c index a8d35ba7781..5d41dbe059a 100644 --- a/arch/arm/mach-omap2/board-3630sdp.c +++ b/arch/arm/mach-omap2/board-3630sdp.c @@ -73,8 +73,9 @@ static void __init omap_sdp_init_irq(void)  {  	omap_board_config = sdp_config;  	omap_board_config_size = ARRAY_SIZE(sdp_config); -	omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params, -			h8mbx00u0mer0em_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params, +				  h8mbx00u0mer0em_sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 33b1f7319c1..1cb208b6e62 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c @@ -242,7 +242,8 @@ static void __init omap_4430sdp_init_irq(void)  {  	omap_board_config = sdp4430_config;  	omap_board_config_size = ARRAY_SIZE(sdp4430_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  #ifdef CONFIG_OMAP_32K_TIMER  	omap2_gp_clockevent_set_gptimer(1);  #endif diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c index 8ba404770e7..781ed2558e1 100644 --- a/arch/arm/mach-omap2/board-am3517crane.c +++ b/arch/arm/mach-omap2/board-am3517crane.c @@ -47,7 +47,8 @@ static void __init am3517_crane_init_irq(void)  	omap_board_config = am3517_crane_config;  	omap_board_config_size = ARRAY_SIZE(am3517_crane_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index 86867138f1e..bc156264802 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c @@ -389,8 +389,8 @@ static void __init am3517_evm_init_irq(void)  {  	omap_board_config = am3517_evm_config;  	omap_board_config_size = ARRAY_SIZE(am3517_evm_config); - -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index 200cb386340..9f55b68687f 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c @@ -278,7 +278,8 @@ static void __init omap_apollon_init_irq(void)  {  	omap_board_config = apollon_config;  	omap_board_config_size = ARRAY_SIZE(apollon_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index 22c55d13a4e..486a3de5f40 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c @@ -677,7 +677,8 @@ static void __init cm_t35_init_irq(void)  	omap_board_config = cm_t35_config;  	omap_board_config_size = ARRAY_SIZE(cm_t35_config); -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params,  			     mt46h32m32lf6_sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c index 7ee23dab84f..5b0c77732df 100644 --- a/arch/arm/mach-omap2/board-cm-t3517.c +++ b/arch/arm/mach-omap2/board-cm-t3517.c @@ -248,7 +248,8 @@ static void __init cm_t3517_init_irq(void)  	omap_board_config = cm_t3517_config;  	omap_board_config_size = ARRAY_SIZE(cm_t3517_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index a30a7fce8cb..924b7cf93a4 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c @@ -444,8 +444,9 @@ static struct platform_device keys_gpio = {  static void __init devkit8000_init_irq(void)  { -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -			     mt46h32m32lf6_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, +				  mt46h32m32lf6_sdrc_params);  	omap_init_irq();  #ifdef CONFIG_OMAP_32K_TIMER  	omap2_gp_clockevent_set_gptimer(12); diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index b1c2c9a11c3..0e3d81e09f8 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c @@ -37,7 +37,8 @@ static void __init omap_generic_init_irq(void)  {  	omap_board_config = generic_config;  	omap_board_config_size = ARRAY_SIZE(generic_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index 0a2d73cf036..db5d323866f 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c @@ -291,7 +291,8 @@ static void __init omap_h4_init_irq(void)  {  	omap_board_config = h4_config;  	omap_board_config_size = ARRAY_SIZE(h4_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  	h4_init_flash();  } diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index c5bd537553c..0afa3011db0 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c @@ -520,7 +520,9 @@ static struct platform_device *igep2_devices[] __initdata = {  static void __init igep2_init_irq(void)  { -	omap2_init_common_hw(m65kxxxxam_sdrc_params, m65kxxxxam_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(m65kxxxxam_sdrc_params, +				  m65kxxxxam_sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-igep0030.c b/arch/arm/mach-omap2/board-igep0030.c index 886f193a841..bcccd68f185 100644 --- a/arch/arm/mach-omap2/board-igep0030.c +++ b/arch/arm/mach-omap2/board-igep0030.c @@ -289,7 +289,9 @@ static struct twl4030_usb_data igep3_twl4030_usb_data = {  static void __init igep3_init_irq(void)  { -	omap2_init_common_hw(m65kxxxxam_sdrc_params, m65kxxxxam_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(m65kxxxxam_sdrc_params, +				  m65kxxxxam_sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 7455b0aadf8..e5dc74875f9 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c @@ -292,7 +292,8 @@ static void __init omap_ldp_init_irq(void)  {  	omap_board_config = ldp_config;  	omap_board_config_size = ARRAY_SIZE(ldp_config); -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index d4ce96316e3..43af70ec771 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c @@ -631,7 +631,8 @@ static void __init n8x0_map_io(void)  static void __init n8x0_init_irq(void)  { -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index f1a8edefa42..6c127605942 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -484,8 +484,9 @@ static struct platform_device keys_gpio = {  static void __init omap3_beagle_init_irq(void)  { -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -			     mt46h32m32lf6_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, +				  mt46h32m32lf6_sdrc_params);  	omap_init_irq();  #ifdef CONFIG_OMAP_32K_TIMER  	omap2_gp_clockevent_set_gptimer(12); diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index 21ffc5c587a..3de8d9b8ec7 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c @@ -623,7 +623,8 @@ static void __init omap3_evm_init_irq(void)  {  	omap_board_config = omap3_evm_config;  	omap_board_config_size = ARRAY_SIZE(omap3_evm_config); -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c index cfd618d3bda..15e4b08e99b 100644 --- a/arch/arm/mach-omap2/board-omap3logic.c +++ b/arch/arm/mach-omap2/board-omap3logic.c @@ -197,7 +197,8 @@ static inline void __init board_smsc911x_init(void)  static void __init omap3logic_init_irq(void)  { -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index e64bcb66d1a..d457b5961f4 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c @@ -636,8 +636,9 @@ static struct spi_board_info omap3pandora_spi_board_info[] __initdata = {  static void __init omap3pandora_init_irq(void)  { -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -			     mt46h32m32lf6_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, +				  mt46h32m32lf6_sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c index 1af344b872b..9df9d936760 100644 --- a/arch/arm/mach-omap2/board-omap3stalker.c +++ b/arch/arm/mach-omap2/board-omap3stalker.c @@ -584,7 +584,8 @@ static void __init omap3_stalker_init_irq(void)  {  	omap_board_config = omap3_stalker_config;  	omap_board_config_size = ARRAY_SIZE(omap3_stalker_config); -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);  	omap_init_irq();  #ifdef CONFIG_OMAP_32K_TIMER  	omap2_gp_clockevent_set_gptimer(12); diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index baa72c507d4..db1f74fe6c4 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c @@ -420,8 +420,9 @@ static void __init omap3_touchbook_init_irq(void)  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);  	omap_board_config = omap3_touchbook_config;  	omap_board_config_size = ARRAY_SIZE(omap3_touchbook_config); -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -			     mt46h32m32lf6_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, +				  mt46h32m32lf6_sdrc_params);  	omap_init_irq();  #ifdef CONFIG_OMAP_32K_TIMER  	omap2_gp_clockevent_set_gptimer(12); diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index b82f2319a09..0d74f6cd5fa 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c @@ -77,7 +77,8 @@ static struct platform_device *panda_devices[] __initdata = {  static void __init omap4_panda_init_irq(void)  { -	omap2_init_common_hw(NULL, NULL); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(NULL, NULL);  	gic_init_irq();  } diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index b75bdcd4711..cb26e5d8268 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c @@ -413,8 +413,9 @@ static void __init overo_init_irq(void)  {  	omap_board_config = overo_config;  	omap_board_config_size = ARRAY_SIZE(overo_config); -	omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -			     mt46h32m32lf6_sdrc_params); +	omap2_init_common_infrastructure(); +	omap2_init_common_devices(mt46h32m32lf6_sdrc_params, +				  mt46h32m32lf6_sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-rm680.c b/arch/arm/mach-omap2/board-rm680.c index 8da65bd6ff8..cb77be7ac44 100644 --- a/arch/arm/mach-omap2/board-rm680.c +++ b/arch/arm/mach-omap2/board-rm680.c @@ -145,8 +145,9 @@ static void __init rm680_init_irq(void)  {  	struct omap_sdrc_params *sdrc_params; +	omap2_init_common_infrastructure();  	sdrc_params = nokia_get_sdram_timings(); -	omap2_init_common_hw(sdrc_params, sdrc_params); +	omap2_init_common_devices(sdrc_params, sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index 7362c91ddd7..f53fc551c58 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c @@ -105,8 +105,9 @@ static void __init rx51_init_irq(void)  	omap_board_config = rx51_config;  	omap_board_config_size = ARRAY_SIZE(rx51_config);  	omap3_pm_init_cpuidle(rx51_cpuidle_params); +	omap2_init_common_infrastructure();  	sdrc_params = nokia_get_sdram_timings(); -	omap2_init_common_hw(sdrc_params, sdrc_params); +	omap2_init_common_devices(sdrc_params, sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/board-zoom.c b/arch/arm/mach-omap2/board-zoom.c index 0dff9deaa89..e041c537ea3 100644 --- a/arch/arm/mach-omap2/board-zoom.c +++ b/arch/arm/mach-omap2/board-zoom.c @@ -35,12 +35,13 @@  static void __init omap_zoom_init_irq(void)  { +	omap2_init_common_infrastructure();  	if (machine_is_omap_zoom2()) -		omap2_init_common_hw(mt46h32m32lf6_sdrc_params, -				mt46h32m32lf6_sdrc_params); +		omap2_init_common_devices(mt46h32m32lf6_sdrc_params, +					  mt46h32m32lf6_sdrc_params);  	else if (machine_is_omap_zoom3()) -		omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params, -				h8mbx00u0mer0em_sdrc_params); +		omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params, +					  h8mbx00u0mer0em_sdrc_params);  	omap_init_irq();  } diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 5577ab2faad..77bf0d1baee 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c @@ -331,11 +331,8 @@ static inline void omap_irq_base_init(void)  #endif  } -void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, -				 struct omap_sdrc_params *sdrc_cs1) +void __init omap2_init_common_infrastructure(void)  { -	u8 skip_setup_idle = 0; -  	pwrdm_init(powerdomains_omap);  	clkdm_init(clockdomains_omap, clkdm_autodeps);  	if (cpu_is_omap242x()) @@ -359,6 +356,17 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,  		omap4xxx_clk_init();  	else  		pr_err("Could not init clock framework - unknown CPU\n"); +} + +/* + * XXX Ideally, this function will dwindle into nothingness over time; + * almost all device init code should be possible through initcalls + * and other generalized mechanisms + */ +void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, +				      struct omap_sdrc_params *sdrc_cs1) +{ +	u8 skip_setup_idle = 0;  	omap_serial_early_init(); diff --git a/arch/arm/plat-omap/include/plat/io.h b/arch/arm/plat-omap/include/plat/io.h index 204865f91d9..ef4106c1318 100644 --- a/arch/arm/plat-omap/include/plat/io.h +++ b/arch/arm/plat-omap/include/plat/io.h @@ -291,8 +291,9 @@ static inline void omap44xx_map_common_io(void)  }  #endif -extern void omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, -				 struct omap_sdrc_params *sdrc_cs1); +extern void omap2_init_common_infrastructure(void); +extern void omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, +				      struct omap_sdrc_params *sdrc_cs1);  #define __arch_ioremap	omap_ioremap  #define __arch_iounmap	omap_iounmap  |