diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_44xx_data.c')
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 553 | 
1 files changed, 301 insertions, 252 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index e1c69ffe0f6..5d5df49749d 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c @@ -22,11 +22,13 @@  #include <plat/omap_hwmod.h>  #include <plat/cpu.h> +#include <plat/i2c.h>  #include <plat/gpio.h>  #include <plat/dma.h>  #include <plat/mcspi.h>  #include <plat/mcbsp.h>  #include <plat/mmc.h> +#include <plat/i2c.h>  #include "omap_hwmod_common_data.h" @@ -80,7 +82,12 @@ static struct omap_hwmod_class omap44xx_dmm_hwmod_class = {  	.name	= "dmm",  }; -/* dmm interface data */ +/* dmm */ +static struct omap_hwmod_irq_info omap44xx_dmm_irqs[] = { +	{ .irq = 113 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 } +}; +  /* l3_main_1 -> dmm */  static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = {  	.master		= &omap44xx_l3_main_1_hwmod, @@ -95,6 +102,7 @@ static struct omap_hwmod_addr_space omap44xx_dmm_addrs[] = {  		.pa_end		= 0x4e0007ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* mpu -> dmm */ @@ -103,7 +111,6 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__dmm = {  	.slave		= &omap44xx_dmm_hwmod,  	.clk		= "l3_div_ck",  	.addr		= omap44xx_dmm_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dmm_addrs),  	.user		= OCP_USER_MPU,  }; @@ -113,17 +120,12 @@ static struct omap_hwmod_ocp_if *omap44xx_dmm_slaves[] = {  	&omap44xx_mpu__dmm,  }; -static struct omap_hwmod_irq_info omap44xx_dmm_irqs[] = { -	{ .irq = 113 + OMAP44XX_IRQ_GIC_START }, -}; -  static struct omap_hwmod omap44xx_dmm_hwmod = {  	.name		= "dmm",  	.class		= &omap44xx_dmm_hwmod_class, +	.mpu_irqs	= omap44xx_dmm_irqs,  	.slaves		= omap44xx_dmm_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_dmm_slaves), -	.mpu_irqs	= omap44xx_dmm_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dmm_irqs),  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; @@ -135,7 +137,7 @@ static struct omap_hwmod_class omap44xx_emif_fw_hwmod_class = {  	.name	= "emif_fw",  }; -/* emif_fw interface data */ +/* emif_fw */  /* dmm -> emif_fw */  static struct omap_hwmod_ocp_if omap44xx_dmm__emif_fw = {  	.master		= &omap44xx_dmm_hwmod, @@ -150,6 +152,7 @@ static struct omap_hwmod_addr_space omap44xx_emif_fw_addrs[] = {  		.pa_end		= 0x4a20c0ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> emif_fw */ @@ -158,7 +161,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__emif_fw = {  	.slave		= &omap44xx_emif_fw_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_emif_fw_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_emif_fw_addrs),  	.user		= OCP_USER_MPU,  }; @@ -184,7 +186,7 @@ static struct omap_hwmod_class omap44xx_l3_hwmod_class = {  	.name	= "l3",  }; -/* l3_instr interface data */ +/* l3_instr */  /* iva -> l3_instr */  static struct omap_hwmod_ocp_if omap44xx_iva__l3_instr = {  	.master		= &omap44xx_iva_hwmod, @@ -215,7 +217,13 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = {  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; -/* l3_main_1 interface data */ +/* l3_main_1 */ +static struct omap_hwmod_irq_info omap44xx_l3_main_1_irqs[] = { +	{ .name = "dbg_err", .irq = 9 + OMAP44XX_IRQ_GIC_START }, +	{ .name = "app_err", .irq = 10 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 } +}; +  /* dsp -> l3_main_1 */  static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = {  	.master		= &omap44xx_dsp_hwmod, @@ -264,18 +272,13 @@ static struct omap_hwmod_ocp_if omap44xx_mmc2__l3_main_1 = {  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; -/* L3 target configuration and error log registers */ -static struct omap_hwmod_irq_info omap44xx_l3_targ_irqs[] = { -	{ .irq = 9  + OMAP44XX_IRQ_GIC_START }, -	{ .irq = 10 + OMAP44XX_IRQ_GIC_START }, -}; -  static struct omap_hwmod_addr_space omap44xx_l3_main_1_addrs[] = {  	{  		.pa_start	= 0x44000000,  		.pa_end		= 0x44000fff, -		.flags		= ADDR_TYPE_RT, +		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* mpu -> l3_main_1 */ @@ -284,8 +287,7 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = {  	.slave		= &omap44xx_l3_main_1_hwmod,  	.clk		= "l3_div_ck",  	.addr		= omap44xx_l3_main_1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_addrs), -	.user		= OCP_USER_MPU | OCP_USER_SDMA, +	.user		= OCP_USER_MPU,  };  /* l3_main_1 slave ports */ @@ -302,14 +304,13 @@ static struct omap_hwmod_ocp_if *omap44xx_l3_main_1_slaves[] = {  static struct omap_hwmod omap44xx_l3_main_1_hwmod = {  	.name		= "l3_main_1",  	.class		= &omap44xx_l3_hwmod_class, -	.mpu_irqs	= omap44xx_l3_targ_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_l3_targ_irqs), +	.mpu_irqs	= omap44xx_l3_main_1_irqs,  	.slaves		= omap44xx_l3_main_1_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_slaves),  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; -/* l3_main_2 interface data */ +/* l3_main_2 */  /* dma_system -> l3_main_2 */  static struct omap_hwmod_ocp_if omap44xx_dma_system__l3_main_2 = {  	.master		= &omap44xx_dma_system_hwmod, @@ -354,8 +355,9 @@ static struct omap_hwmod_addr_space omap44xx_l3_main_2_addrs[] = {  	{  		.pa_start	= 0x44800000,  		.pa_end		= 0x44801fff, -		.flags		= ADDR_TYPE_RT, +		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_1 -> l3_main_2 */ @@ -364,8 +366,7 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_2 = {  	.slave		= &omap44xx_l3_main_2_hwmod,  	.clk		= "l3_div_ck",  	.addr		= omap44xx_l3_main_2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_l3_main_2_addrs), -	.user		= OCP_USER_MPU | OCP_USER_SDMA, +	.user		= OCP_USER_MPU,  };  /* l4_cfg -> l3_main_2 */ @@ -404,13 +405,14 @@ static struct omap_hwmod omap44xx_l3_main_2_hwmod = {  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; -/* l3_main_3 interface data */ +/* l3_main_3 */  static struct omap_hwmod_addr_space omap44xx_l3_main_3_addrs[] = {  	{  		.pa_start	= 0x45000000,  		.pa_end		= 0x45000fff, -		.flags		= ADDR_TYPE_RT, +		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_1 -> l3_main_3 */ @@ -419,8 +421,7 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_3 = {  	.slave		= &omap44xx_l3_main_3_hwmod,  	.clk		= "l3_div_ck",  	.addr		= omap44xx_l3_main_3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_l3_main_3_addrs), -	.user		= OCP_USER_MPU | OCP_USER_SDMA, +	.user		= OCP_USER_MPU,  };  /* l3_main_2 -> l3_main_3 */ @@ -462,7 +463,7 @@ static struct omap_hwmod_class omap44xx_l4_hwmod_class = {  	.name	= "l4",  }; -/* l4_abe interface data */ +/* l4_abe */  /* aess -> l4_abe */  static struct omap_hwmod_ocp_if omap44xx_aess__l4_abe = {  	.master		= &omap44xx_aess_hwmod, @@ -511,7 +512,7 @@ static struct omap_hwmod omap44xx_l4_abe_hwmod = {  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; -/* l4_cfg interface data */ +/* l4_cfg */  /* l3_main_1 -> l4_cfg */  static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l4_cfg = {  	.master		= &omap44xx_l3_main_1_hwmod, @@ -533,7 +534,7 @@ static struct omap_hwmod omap44xx_l4_cfg_hwmod = {  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; -/* l4_per interface data */ +/* l4_per */  /* l3_main_2 -> l4_per */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__l4_per = {  	.master		= &omap44xx_l3_main_2_hwmod, @@ -555,7 +556,7 @@ static struct omap_hwmod omap44xx_l4_per_hwmod = {  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; -/* l4_wkup interface data */ +/* l4_wkup */  /* l4_cfg -> l4_wkup */  static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l4_wkup = {  	.master		= &omap44xx_l4_cfg_hwmod, @@ -585,7 +586,7 @@ static struct omap_hwmod_class omap44xx_mpu_bus_hwmod_class = {  	.name	= "mpu_bus",  }; -/* mpu_private interface data */ +/* mpu_private */  /* mpu -> mpu_private */  static struct omap_hwmod_ocp_if omap44xx_mpu__mpu_private = {  	.master		= &omap44xx_mpu_hwmod, @@ -633,7 +634,9 @@ static struct omap_hwmod omap44xx_mpu_private_hwmod = {   *  gpmc   *  gpu   *  hdq1w - *  hsi + *  mcasp + *  mpu_c0 + *  mpu_c1   *  ocmc_ram   *  ocp2scp_usb_phy   *  ocp_wp_noc @@ -660,7 +663,8 @@ static struct omap_hwmod_class_sysconfig omap44xx_aess_sysc = {  	.sysc_offs	= 0x0010,  	.sysc_flags	= (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),  	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | -			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), +			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART | +			   MSTANDBY_SMART_WKUP),  	.sysc_fields	= &omap_hwmod_sysc_type2,  }; @@ -672,6 +676,7 @@ static struct omap_hwmod_class omap44xx_aess_hwmod_class = {  /* aess */  static struct omap_hwmod_irq_info omap44xx_aess_irqs[] = {  	{ .irq = 99 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_aess_sdma_reqs[] = { @@ -683,6 +688,7 @@ static struct omap_hwmod_dma_info omap44xx_aess_sdma_reqs[] = {  	{ .name = "fifo5", .dma_req = 105 + OMAP44XX_DMA_REQ_START },  	{ .name = "fifo6", .dma_req = 106 + OMAP44XX_DMA_REQ_START },  	{ .name = "fifo7", .dma_req = 107 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  /* aess master ports */ @@ -696,6 +702,7 @@ static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = {  		.pa_end		= 0x401f13ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> aess */ @@ -704,7 +711,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__aess = {  	.slave		= &omap44xx_aess_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_aess_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_aess_addrs),  	.user		= OCP_USER_MPU,  }; @@ -714,6 +720,7 @@ static struct omap_hwmod_addr_space omap44xx_aess_dma_addrs[] = {  		.pa_end		= 0x490f13ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> aess (dma) */ @@ -722,7 +729,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__aess_dma = {  	.slave		= &omap44xx_aess_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_aess_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_aess_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -736,11 +742,9 @@ static struct omap_hwmod omap44xx_aess_hwmod = {  	.name		= "aess",  	.class		= &omap44xx_aess_hwmod_class,  	.mpu_irqs	= omap44xx_aess_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_aess_irqs),  	.sdma_reqs	= omap44xx_aess_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_aess_sdma_reqs),  	.main_clk	= "aess_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM1_ABE_AESS_CLKCTRL,  		}, @@ -769,7 +773,7 @@ static struct omap_hwmod_opt_clk bandgap_opt_clks[] = {  static struct omap_hwmod omap44xx_bandgap_hwmod = {  	.name		= "bandgap",  	.class		= &omap44xx_bandgap_hwmod_class, -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_WKUP_BANDGAP_CLKCTRL,  		}, @@ -806,6 +810,7 @@ static struct omap_hwmod_addr_space omap44xx_counter_32k_addrs[] = {  		.pa_end		= 0x4a30401f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_wkup -> counter_32k */ @@ -814,7 +819,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = {  	.slave		= &omap44xx_counter_32k_hwmod,  	.clk		= "l4_wkup_clk_mux_ck",  	.addr		= omap44xx_counter_32k_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_counter_32k_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -828,7 +832,7 @@ static struct omap_hwmod omap44xx_counter_32k_hwmod = {  	.class		= &omap44xx_counter_hwmod_class,  	.flags		= HWMOD_SWSUP_SIDLE,  	.main_clk	= "sys_32k_ck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_WKUP_SYNCTIMER_CLKCTRL,  		}, @@ -875,6 +879,7 @@ static struct omap_hwmod_irq_info omap44xx_dma_system_irqs[] = {  	{ .name = "1", .irq = 13 + OMAP44XX_IRQ_GIC_START },  	{ .name = "2", .irq = 14 + OMAP44XX_IRQ_GIC_START },  	{ .name = "3", .irq = 15 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  /* dma_system master ports */ @@ -888,6 +893,7 @@ static struct omap_hwmod_addr_space omap44xx_dma_system_addrs[] = {  		.pa_end		= 0x4a056fff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> dma_system */ @@ -896,7 +902,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dma_system = {  	.slave		= &omap44xx_dma_system_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dma_system_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dma_system_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -909,7 +914,6 @@ static struct omap_hwmod omap44xx_dma_system_hwmod = {  	.name		= "dma_system",  	.class		= &omap44xx_dma_hwmod_class,  	.mpu_irqs	= omap44xx_dma_system_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dma_system_irqs),  	.main_clk	= "l3_div_ck",  	.prcm = {  		.omap4 = { @@ -948,10 +952,12 @@ static struct omap_hwmod_class omap44xx_dmic_hwmod_class = {  static struct omap_hwmod omap44xx_dmic_hwmod;  static struct omap_hwmod_irq_info omap44xx_dmic_irqs[] = {  	{ .irq = 114 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_dmic_sdma_reqs[] = {  	{ .dma_req = 66 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_dmic_addrs[] = { @@ -960,6 +966,7 @@ static struct omap_hwmod_addr_space omap44xx_dmic_addrs[] = {  		.pa_end		= 0x4012e07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> dmic */ @@ -968,7 +975,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic = {  	.slave		= &omap44xx_dmic_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_dmic_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dmic_addrs),  	.user		= OCP_USER_MPU,  }; @@ -978,6 +984,7 @@ static struct omap_hwmod_addr_space omap44xx_dmic_dma_addrs[] = {  		.pa_end		= 0x4902e07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> dmic (dma) */ @@ -986,7 +993,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic_dma = {  	.slave		= &omap44xx_dmic_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_dmic_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dmic_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1000,11 +1006,9 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {  	.name		= "dmic",  	.class		= &omap44xx_dmic_hwmod_class,  	.mpu_irqs	= omap44xx_dmic_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dmic_irqs),  	.sdma_reqs	= omap44xx_dmic_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dmic_sdma_reqs),  	.main_clk	= "dmic_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM1_ABE_DMIC_CLKCTRL,  		}, @@ -1026,6 +1030,7 @@ static struct omap_hwmod_class omap44xx_dsp_hwmod_class = {  /* dsp */  static struct omap_hwmod_irq_info omap44xx_dsp_irqs[] = {  	{ .irq = 28 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_rst_info omap44xx_dsp_resets[] = { @@ -1082,7 +1087,6 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {  	.name		= "dsp",  	.class		= &omap44xx_dsp_hwmod_class,  	.mpu_irqs	= omap44xx_dsp_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dsp_irqs),  	.rst_lines	= omap44xx_dsp_resets,  	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_dsp_resets),  	.main_clk	= "dsp_fck", @@ -1127,15 +1131,15 @@ static struct omap_hwmod_addr_space omap44xx_dss_dma_addrs[] = {  		.pa_end		= 0x5800007f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> dss */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss = {  	.master		= &omap44xx_l3_main_2_hwmod,  	.slave		= &omap44xx_dss_hwmod, -	.clk		= "l3_div_ck", +	.clk		= "dss_fck",  	.addr		= omap44xx_dss_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1145,6 +1149,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_addrs[] = {  		.pa_end		= 0x4804007f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> dss */ @@ -1153,7 +1158,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss = {  	.slave		= &omap44xx_dss_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dss_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_addrs),  	.user		= OCP_USER_MPU,  }; @@ -1173,7 +1177,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {  static struct omap_hwmod omap44xx_dss_hwmod = {  	.name		= "dss_core",  	.class		= &omap44xx_dss_hwmod_class, -	.main_clk	= "dss_fck", +	.main_clk	= "dss_dss_clk",  	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL, @@ -1215,10 +1219,12 @@ static struct omap_hwmod_class omap44xx_dispc_hwmod_class = {  static struct omap_hwmod omap44xx_dss_dispc_hwmod;  static struct omap_hwmod_irq_info omap44xx_dss_dispc_irqs[] = {  	{ .irq = 25 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_dss_dispc_sdma_reqs[] = {  	{ .dma_req = 5 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_dss_dispc_dma_addrs[] = { @@ -1227,15 +1233,15 @@ static struct omap_hwmod_addr_space omap44xx_dss_dispc_dma_addrs[] = {  		.pa_end		= 0x58001fff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> dss_dispc */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dispc = {  	.master		= &omap44xx_l3_main_2_hwmod,  	.slave		= &omap44xx_dss_dispc_hwmod, -	.clk		= "l3_div_ck", +	.clk		= "dss_fck",  	.addr		= omap44xx_dss_dispc_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1245,6 +1251,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dispc_addrs[] = {  		.pa_end		= 0x48041fff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> dss_dispc */ @@ -1253,7 +1260,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dispc = {  	.slave		= &omap44xx_dss_dispc_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dss_dispc_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_addrs),  	.user		= OCP_USER_MPU,  }; @@ -1263,19 +1269,26 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dispc_slaves[] = {  	&omap44xx_l4_per__dss_dispc,  }; +static struct omap_hwmod_opt_clk dss_dispc_opt_clks[] = { +	{ .role = "sys_clk", .clk = "dss_sys_clk" }, +	{ .role = "tv_clk", .clk = "dss_tv_clk" }, +	{ .role = "hdmi_clk", .clk = "dss_48mhz_clk" }, +}; +  static struct omap_hwmod omap44xx_dss_dispc_hwmod = {  	.name		= "dss_dispc",  	.class		= &omap44xx_dispc_hwmod_class, +	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap44xx_dss_dispc_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_irqs),  	.sdma_reqs	= omap44xx_dss_dispc_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_sdma_reqs), -	.main_clk	= "dss_fck", +	.main_clk	= "dss_dss_clk",  	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,  		},  	}, +	.opt_clks	= dss_dispc_opt_clks, +	.opt_clks_cnt	= ARRAY_SIZE(dss_dispc_opt_clks),  	.slaves		= omap44xx_dss_dispc_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_slaves),  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), @@ -1306,10 +1319,12 @@ static struct omap_hwmod_class omap44xx_dsi_hwmod_class = {  static struct omap_hwmod omap44xx_dss_dsi1_hwmod;  static struct omap_hwmod_irq_info omap44xx_dss_dsi1_irqs[] = {  	{ .irq = 53 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_dss_dsi1_sdma_reqs[] = {  	{ .dma_req = 74 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_dss_dsi1_dma_addrs[] = { @@ -1318,15 +1333,15 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi1_dma_addrs[] = {  		.pa_end		= 0x580041ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> dss_dsi1 */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi1 = {  	.master		= &omap44xx_l3_main_2_hwmod,  	.slave		= &omap44xx_dss_dsi1_hwmod, -	.clk		= "l3_div_ck", +	.clk		= "dss_fck",  	.addr		= omap44xx_dss_dsi1_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1336,6 +1351,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi1_addrs[] = {  		.pa_end		= 0x480441ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> dss_dsi1 */ @@ -1344,7 +1360,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi1 = {  	.slave		= &omap44xx_dss_dsi1_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dss_dsi1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_addrs),  	.user		= OCP_USER_MPU,  }; @@ -1354,19 +1369,23 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dsi1_slaves[] = {  	&omap44xx_l4_per__dss_dsi1,  }; +static struct omap_hwmod_opt_clk dss_dsi1_opt_clks[] = { +	{ .role = "sys_clk", .clk = "dss_sys_clk" }, +}; +  static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {  	.name		= "dss_dsi1",  	.class		= &omap44xx_dsi_hwmod_class,  	.mpu_irqs	= omap44xx_dss_dsi1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_irqs),  	.sdma_reqs	= omap44xx_dss_dsi1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_sdma_reqs), -	.main_clk	= "dss_fck", +	.main_clk	= "dss_dss_clk",  	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,  		},  	}, +	.opt_clks	= dss_dsi1_opt_clks, +	.opt_clks_cnt	= ARRAY_SIZE(dss_dsi1_opt_clks),  	.slaves		= omap44xx_dss_dsi1_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_slaves),  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), @@ -1376,10 +1395,12 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {  static struct omap_hwmod omap44xx_dss_dsi2_hwmod;  static struct omap_hwmod_irq_info omap44xx_dss_dsi2_irqs[] = {  	{ .irq = 84 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_dss_dsi2_sdma_reqs[] = {  	{ .dma_req = 83 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_dss_dsi2_dma_addrs[] = { @@ -1388,15 +1409,15 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi2_dma_addrs[] = {  		.pa_end		= 0x580051ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> dss_dsi2 */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi2 = {  	.master		= &omap44xx_l3_main_2_hwmod,  	.slave		= &omap44xx_dss_dsi2_hwmod, -	.clk		= "l3_div_ck", +	.clk		= "dss_fck",  	.addr		= omap44xx_dss_dsi2_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1406,6 +1427,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi2_addrs[] = {  		.pa_end		= 0x480451ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> dss_dsi2 */ @@ -1414,7 +1436,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi2 = {  	.slave		= &omap44xx_dss_dsi2_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dss_dsi2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_addrs),  	.user		= OCP_USER_MPU,  }; @@ -1424,19 +1445,23 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dsi2_slaves[] = {  	&omap44xx_l4_per__dss_dsi2,  }; +static struct omap_hwmod_opt_clk dss_dsi2_opt_clks[] = { +	{ .role = "sys_clk", .clk = "dss_sys_clk" }, +}; +  static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {  	.name		= "dss_dsi2",  	.class		= &omap44xx_dsi_hwmod_class,  	.mpu_irqs	= omap44xx_dss_dsi2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_irqs),  	.sdma_reqs	= omap44xx_dss_dsi2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_sdma_reqs), -	.main_clk	= "dss_fck", +	.main_clk	= "dss_dss_clk",  	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,  		},  	}, +	.opt_clks	= dss_dsi2_opt_clks, +	.opt_clks_cnt	= ARRAY_SIZE(dss_dsi2_opt_clks),  	.slaves		= omap44xx_dss_dsi2_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_slaves),  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), @@ -1466,10 +1491,12 @@ static struct omap_hwmod_class omap44xx_hdmi_hwmod_class = {  static struct omap_hwmod omap44xx_dss_hdmi_hwmod;  static struct omap_hwmod_irq_info omap44xx_dss_hdmi_irqs[] = {  	{ .irq = 101 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_dss_hdmi_sdma_reqs[] = {  	{ .dma_req = 75 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_dss_hdmi_dma_addrs[] = { @@ -1478,15 +1505,15 @@ static struct omap_hwmod_addr_space omap44xx_dss_hdmi_dma_addrs[] = {  		.pa_end		= 0x58006fff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> dss_hdmi */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_hdmi = {  	.master		= &omap44xx_l3_main_2_hwmod,  	.slave		= &omap44xx_dss_hdmi_hwmod, -	.clk		= "l3_div_ck", +	.clk		= "dss_fck",  	.addr		= omap44xx_dss_hdmi_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1496,6 +1523,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_hdmi_addrs[] = {  		.pa_end		= 0x48046fff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> dss_hdmi */ @@ -1504,7 +1532,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_hdmi = {  	.slave		= &omap44xx_dss_hdmi_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dss_hdmi_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_addrs),  	.user		= OCP_USER_MPU,  }; @@ -1514,19 +1541,23 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_hdmi_slaves[] = {  	&omap44xx_l4_per__dss_hdmi,  }; +static struct omap_hwmod_opt_clk dss_hdmi_opt_clks[] = { +	{ .role = "sys_clk", .clk = "dss_sys_clk" }, +}; +  static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {  	.name		= "dss_hdmi",  	.class		= &omap44xx_hdmi_hwmod_class,  	.mpu_irqs	= omap44xx_dss_hdmi_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_irqs),  	.sdma_reqs	= omap44xx_dss_hdmi_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_sdma_reqs), -	.main_clk	= "dss_fck", +	.main_clk	= "dss_dss_clk",  	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,  		},  	}, +	.opt_clks	= dss_hdmi_opt_clks, +	.opt_clks_cnt	= ARRAY_SIZE(dss_hdmi_opt_clks),  	.slaves		= omap44xx_dss_hdmi_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_slaves),  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), @@ -1556,6 +1587,7 @@ static struct omap_hwmod_class omap44xx_rfbi_hwmod_class = {  static struct omap_hwmod omap44xx_dss_rfbi_hwmod;  static struct omap_hwmod_dma_info omap44xx_dss_rfbi_sdma_reqs[] = {  	{ .dma_req = 13 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_dss_rfbi_dma_addrs[] = { @@ -1564,15 +1596,15 @@ static struct omap_hwmod_addr_space omap44xx_dss_rfbi_dma_addrs[] = {  		.pa_end		= 0x580020ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> dss_rfbi */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_rfbi = {  	.master		= &omap44xx_l3_main_2_hwmod,  	.slave		= &omap44xx_dss_rfbi_hwmod, -	.clk		= "l3_div_ck", +	.clk		= "dss_fck",  	.addr		= omap44xx_dss_rfbi_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1582,6 +1614,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_rfbi_addrs[] = {  		.pa_end		= 0x480420ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> dss_rfbi */ @@ -1590,7 +1623,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_rfbi = {  	.slave		= &omap44xx_dss_rfbi_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dss_rfbi_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_addrs),  	.user		= OCP_USER_MPU,  }; @@ -1600,17 +1632,22 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_rfbi_slaves[] = {  	&omap44xx_l4_per__dss_rfbi,  }; +static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = { +	{ .role = "ick", .clk = "dss_fck" }, +}; +  static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {  	.name		= "dss_rfbi",  	.class		= &omap44xx_rfbi_hwmod_class,  	.sdma_reqs	= omap44xx_dss_rfbi_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_sdma_reqs), -	.main_clk	= "dss_fck", +	.main_clk	= "dss_dss_clk",  	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,  		},  	}, +	.opt_clks	= dss_rfbi_opt_clks, +	.opt_clks_cnt	= ARRAY_SIZE(dss_rfbi_opt_clks),  	.slaves		= omap44xx_dss_rfbi_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_slaves),  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430), @@ -1633,15 +1670,15 @@ static struct omap_hwmod_addr_space omap44xx_dss_venc_dma_addrs[] = {  		.pa_end		= 0x580030ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> dss_venc */  static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_venc = {  	.master		= &omap44xx_l3_main_2_hwmod,  	.slave		= &omap44xx_dss_venc_hwmod, -	.clk		= "l3_div_ck", +	.clk		= "dss_fck",  	.addr		= omap44xx_dss_venc_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_venc_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -1651,6 +1688,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_venc_addrs[] = {  		.pa_end		= 0x480430ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> dss_venc */ @@ -1659,7 +1697,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_venc = {  	.slave		= &omap44xx_dss_venc_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_dss_venc_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_venc_addrs),  	.user		= OCP_USER_MPU,  }; @@ -1672,7 +1709,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_venc_slaves[] = {  static struct omap_hwmod omap44xx_dss_venc_hwmod = {  	.name		= "dss_venc",  	.class		= &omap44xx_venc_hwmod_class, -	.main_clk	= "dss_fck", +	.main_clk	= "dss_dss_clk",  	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL, @@ -1716,6 +1753,7 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {  static struct omap_hwmod omap44xx_gpio1_hwmod;  static struct omap_hwmod_irq_info omap44xx_gpio1_irqs[] = {  	{ .irq = 29 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_gpio1_addrs[] = { @@ -1724,6 +1762,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio1_addrs[] = {  		.pa_end		= 0x4a3101ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_wkup -> gpio1 */ @@ -1732,7 +1771,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__gpio1 = {  	.slave		= &omap44xx_gpio1_hwmod,  	.clk		= "l4_wkup_clk_mux_ck",  	.addr		= omap44xx_gpio1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1749,7 +1787,6 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {  	.name		= "gpio1",  	.class		= &omap44xx_gpio_hwmod_class,  	.mpu_irqs	= omap44xx_gpio1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio1_irqs),  	.main_clk	= "gpio1_ick",  	.prcm = {  		.omap4 = { @@ -1768,6 +1805,7 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {  static struct omap_hwmod omap44xx_gpio2_hwmod;  static struct omap_hwmod_irq_info omap44xx_gpio2_irqs[] = {  	{ .irq = 30 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_gpio2_addrs[] = { @@ -1776,6 +1814,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio2_addrs[] = {  		.pa_end		= 0x480551ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> gpio2 */ @@ -1784,7 +1823,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio2 = {  	.slave		= &omap44xx_gpio2_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_gpio2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1802,7 +1840,6 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {  	.class		= &omap44xx_gpio_hwmod_class,  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap44xx_gpio2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio2_irqs),  	.main_clk	= "gpio2_ick",  	.prcm = {  		.omap4 = { @@ -1821,6 +1858,7 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {  static struct omap_hwmod omap44xx_gpio3_hwmod;  static struct omap_hwmod_irq_info omap44xx_gpio3_irqs[] = {  	{ .irq = 31 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_gpio3_addrs[] = { @@ -1829,6 +1867,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio3_addrs[] = {  		.pa_end		= 0x480571ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> gpio3 */ @@ -1837,7 +1876,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio3 = {  	.slave		= &omap44xx_gpio3_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_gpio3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1855,7 +1893,6 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {  	.class		= &omap44xx_gpio_hwmod_class,  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap44xx_gpio3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio3_irqs),  	.main_clk	= "gpio3_ick",  	.prcm = {  		.omap4 = { @@ -1874,6 +1911,7 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {  static struct omap_hwmod omap44xx_gpio4_hwmod;  static struct omap_hwmod_irq_info omap44xx_gpio4_irqs[] = {  	{ .irq = 32 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_gpio4_addrs[] = { @@ -1882,6 +1920,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio4_addrs[] = {  		.pa_end		= 0x480591ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> gpio4 */ @@ -1890,7 +1929,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio4 = {  	.slave		= &omap44xx_gpio4_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_gpio4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1908,7 +1946,6 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {  	.class		= &omap44xx_gpio_hwmod_class,  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap44xx_gpio4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio4_irqs),  	.main_clk	= "gpio4_ick",  	.prcm = {  		.omap4 = { @@ -1927,6 +1964,7 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {  static struct omap_hwmod omap44xx_gpio5_hwmod;  static struct omap_hwmod_irq_info omap44xx_gpio5_irqs[] = {  	{ .irq = 33 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_gpio5_addrs[] = { @@ -1935,6 +1973,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio5_addrs[] = {  		.pa_end		= 0x4805b1ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> gpio5 */ @@ -1943,7 +1982,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio5 = {  	.slave		= &omap44xx_gpio5_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_gpio5_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio5_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -1961,7 +1999,6 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {  	.class		= &omap44xx_gpio_hwmod_class,  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap44xx_gpio5_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio5_irqs),  	.main_clk	= "gpio5_ick",  	.prcm = {  		.omap4 = { @@ -1980,6 +2017,7 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {  static struct omap_hwmod omap44xx_gpio6_hwmod;  static struct omap_hwmod_irq_info omap44xx_gpio6_irqs[] = {  	{ .irq = 34 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_gpio6_addrs[] = { @@ -1988,6 +2026,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio6_addrs[] = {  		.pa_end		= 0x4805d1ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> gpio6 */ @@ -1996,7 +2035,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio6 = {  	.slave		= &omap44xx_gpio6_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_gpio6_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio6_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2014,7 +2052,6 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = {  	.class		= &omap44xx_gpio_hwmod_class,  	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,  	.mpu_irqs	= omap44xx_gpio6_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio6_irqs),  	.main_clk	= "gpio6_ick",  	.prcm = {  		.omap4 = { @@ -2044,7 +2081,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_hsi_sysc = {  			   SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),  	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |  			   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | -			   MSTANDBY_SMART), +			   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),  	.sysc_fields	= &omap_hwmod_sysc_type1,  }; @@ -2058,6 +2095,7 @@ static struct omap_hwmod_irq_info omap44xx_hsi_irqs[] = {  	{ .name = "mpu_p1", .irq = 67 + OMAP44XX_IRQ_GIC_START },  	{ .name = "mpu_p2", .irq = 68 + OMAP44XX_IRQ_GIC_START },  	{ .name = "mpu_dma", .irq = 71 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  /* hsi master ports */ @@ -2071,6 +2109,7 @@ static struct omap_hwmod_addr_space omap44xx_hsi_addrs[] = {  		.pa_end		= 0x4a05bfff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> hsi */ @@ -2079,7 +2118,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__hsi = {  	.slave		= &omap44xx_hsi_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_hsi_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_hsi_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2092,9 +2130,8 @@ static struct omap_hwmod omap44xx_hsi_hwmod = {  	.name		= "hsi",  	.class		= &omap44xx_hsi_hwmod_class,  	.mpu_irqs	= omap44xx_hsi_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_hsi_irqs),  	.main_clk	= "hsi_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_L3INIT_HSI_CLKCTRL,  		}, @@ -2125,17 +2162,25 @@ static struct omap_hwmod_class_sysconfig omap44xx_i2c_sysc = {  static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {  	.name	= "i2c",  	.sysc	= &omap44xx_i2c_sysc, +	.rev	= OMAP_I2C_IP_VERSION_2, +	.reset	= &omap_i2c_reset, +}; + +static struct omap_i2c_dev_attr i2c_dev_attr = { +	.flags	= OMAP_I2C_FLAG_BUS_SHIFT_NONE,  };  /* i2c1 */  static struct omap_hwmod omap44xx_i2c1_hwmod;  static struct omap_hwmod_irq_info omap44xx_i2c1_irqs[] = {  	{ .irq = 56 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_i2c1_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 26 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 27 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_i2c1_addrs[] = { @@ -2144,6 +2189,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c1_addrs[] = {  		.pa_end		= 0x480700ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> i2c1 */ @@ -2152,7 +2198,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c1 = {  	.slave		= &omap44xx_i2c1_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_i2c1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2164,11 +2209,9 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c1_slaves[] = {  static struct omap_hwmod omap44xx_i2c1_hwmod = {  	.name		= "i2c1",  	.class		= &omap44xx_i2c_hwmod_class, -	.flags		= HWMOD_INIT_NO_RESET, +	.flags		= HWMOD_16BIT_REG,  	.mpu_irqs	= omap44xx_i2c1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c1_irqs),  	.sdma_reqs	= omap44xx_i2c1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c1_sdma_reqs),  	.main_clk	= "i2c1_fck",  	.prcm = {  		.omap4 = { @@ -2177,6 +2220,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {  	},  	.slaves		= omap44xx_i2c1_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c1_slaves), +	.dev_attr	= &i2c_dev_attr,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; @@ -2184,11 +2228,13 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {  static struct omap_hwmod omap44xx_i2c2_hwmod;  static struct omap_hwmod_irq_info omap44xx_i2c2_irqs[] = {  	{ .irq = 57 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_i2c2_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 28 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 29 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_i2c2_addrs[] = { @@ -2197,6 +2243,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c2_addrs[] = {  		.pa_end		= 0x480720ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> i2c2 */ @@ -2205,7 +2252,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c2 = {  	.slave		= &omap44xx_i2c2_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_i2c2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2217,11 +2263,9 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c2_slaves[] = {  static struct omap_hwmod omap44xx_i2c2_hwmod = {  	.name		= "i2c2",  	.class		= &omap44xx_i2c_hwmod_class, -	.flags		= HWMOD_INIT_NO_RESET, +	.flags		= HWMOD_16BIT_REG,  	.mpu_irqs	= omap44xx_i2c2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c2_irqs),  	.sdma_reqs	= omap44xx_i2c2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c2_sdma_reqs),  	.main_clk	= "i2c2_fck",  	.prcm = {  		.omap4 = { @@ -2230,6 +2274,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {  	},  	.slaves		= omap44xx_i2c2_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c2_slaves), +	.dev_attr	= &i2c_dev_attr,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; @@ -2237,11 +2282,13 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {  static struct omap_hwmod omap44xx_i2c3_hwmod;  static struct omap_hwmod_irq_info omap44xx_i2c3_irqs[] = {  	{ .irq = 61 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_i2c3_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 24 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 25 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_i2c3_addrs[] = { @@ -2250,6 +2297,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c3_addrs[] = {  		.pa_end		= 0x480600ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> i2c3 */ @@ -2258,7 +2306,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c3 = {  	.slave		= &omap44xx_i2c3_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_i2c3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2270,11 +2317,9 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c3_slaves[] = {  static struct omap_hwmod omap44xx_i2c3_hwmod = {  	.name		= "i2c3",  	.class		= &omap44xx_i2c_hwmod_class, -	.flags		= HWMOD_INIT_NO_RESET, +	.flags		= HWMOD_16BIT_REG,  	.mpu_irqs	= omap44xx_i2c3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c3_irqs),  	.sdma_reqs	= omap44xx_i2c3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c3_sdma_reqs),  	.main_clk	= "i2c3_fck",  	.prcm = {  		.omap4 = { @@ -2283,6 +2328,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {  	},  	.slaves		= omap44xx_i2c3_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c3_slaves), +	.dev_attr	= &i2c_dev_attr,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; @@ -2290,11 +2336,13 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {  static struct omap_hwmod omap44xx_i2c4_hwmod;  static struct omap_hwmod_irq_info omap44xx_i2c4_irqs[] = {  	{ .irq = 62 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_i2c4_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 123 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 124 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_i2c4_addrs[] = { @@ -2303,6 +2351,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c4_addrs[] = {  		.pa_end		= 0x483500ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> i2c4 */ @@ -2311,7 +2360,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c4 = {  	.slave		= &omap44xx_i2c4_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_i2c4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2323,11 +2371,9 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c4_slaves[] = {  static struct omap_hwmod omap44xx_i2c4_hwmod = {  	.name		= "i2c4",  	.class		= &omap44xx_i2c_hwmod_class, -	.flags		= HWMOD_INIT_NO_RESET, +	.flags		= HWMOD_16BIT_REG,  	.mpu_irqs	= omap44xx_i2c4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c4_irqs),  	.sdma_reqs	= omap44xx_i2c4_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c4_sdma_reqs),  	.main_clk	= "i2c4_fck",  	.prcm = {  		.omap4 = { @@ -2336,6 +2382,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {  	},  	.slaves		= omap44xx_i2c4_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c4_slaves), +	.dev_attr	= &i2c_dev_attr,  	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),  }; @@ -2351,6 +2398,7 @@ static struct omap_hwmod_class omap44xx_ipu_hwmod_class = {  /* ipu */  static struct omap_hwmod_irq_info omap44xx_ipu_irqs[] = {  	{ .irq = 100 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_rst_info omap44xx_ipu_c0_resets[] = { @@ -2390,7 +2438,7 @@ static struct omap_hwmod omap44xx_ipu_c0_hwmod = {  	.flags		= HWMOD_INIT_NO_RESET,  	.rst_lines	= omap44xx_ipu_c0_resets,  	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c0_resets), -	.prcm		= { +	.prcm = {  		.omap4 = {  			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,  		}, @@ -2405,7 +2453,7 @@ static struct omap_hwmod omap44xx_ipu_c1_hwmod = {  	.flags		= HWMOD_INIT_NO_RESET,  	.rst_lines	= omap44xx_ipu_c1_resets,  	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c1_resets), -	.prcm		= { +	.prcm = {  		.omap4 = {  			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,  		}, @@ -2417,11 +2465,10 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {  	.name		= "ipu",  	.class		= &omap44xx_ipu_hwmod_class,  	.mpu_irqs	= omap44xx_ipu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_ipu_irqs),  	.rst_lines	= omap44xx_ipu_resets,  	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_resets),  	.main_clk	= "ipu_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_DUCATI_DUCATI_CLKCTRL,  			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL, @@ -2446,7 +2493,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_iss_sysc = {  			   SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),  	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |  			   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | -			   MSTANDBY_SMART), +			   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),  	.sysc_fields	= &omap_hwmod_sysc_type2,  }; @@ -2458,6 +2505,7 @@ static struct omap_hwmod_class omap44xx_iss_hwmod_class = {  /* iss */  static struct omap_hwmod_irq_info omap44xx_iss_irqs[] = {  	{ .irq = 24 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_iss_sdma_reqs[] = { @@ -2465,6 +2513,7 @@ static struct omap_hwmod_dma_info omap44xx_iss_sdma_reqs[] = {  	{ .name = "2", .dma_req = 9 + OMAP44XX_DMA_REQ_START },  	{ .name = "3", .dma_req = 11 + OMAP44XX_DMA_REQ_START },  	{ .name = "4", .dma_req = 12 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  /* iss master ports */ @@ -2478,6 +2527,7 @@ static struct omap_hwmod_addr_space omap44xx_iss_addrs[] = {  		.pa_end		= 0x520000ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> iss */ @@ -2486,7 +2536,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iss = {  	.slave		= &omap44xx_iss_hwmod,  	.clk		= "l3_div_ck",  	.addr		= omap44xx_iss_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_iss_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2503,11 +2552,9 @@ static struct omap_hwmod omap44xx_iss_hwmod = {  	.name		= "iss",  	.class		= &omap44xx_iss_hwmod_class,  	.mpu_irqs	= omap44xx_iss_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_iss_irqs),  	.sdma_reqs	= omap44xx_iss_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_iss_sdma_reqs),  	.main_clk	= "iss_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_CAM_ISS_CLKCTRL,  		}, @@ -2535,6 +2582,7 @@ static struct omap_hwmod_irq_info omap44xx_iva_irqs[] = {  	{ .name = "sync_1", .irq = 103 + OMAP44XX_IRQ_GIC_START },  	{ .name = "sync_0", .irq = 104 + OMAP44XX_IRQ_GIC_START },  	{ .name = "mailbox_0", .irq = 107 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_rst_info omap44xx_iva_resets[] = { @@ -2561,6 +2609,7 @@ static struct omap_hwmod_addr_space omap44xx_iva_addrs[] = {  		.pa_end		= 0x5a07ffff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l3_main_2 -> iva */ @@ -2569,7 +2618,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iva = {  	.slave		= &omap44xx_iva_hwmod,  	.clk		= "l3_div_ck",  	.addr		= omap44xx_iva_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_iva_addrs),  	.user		= OCP_USER_MPU,  }; @@ -2613,7 +2661,6 @@ static struct omap_hwmod omap44xx_iva_hwmod = {  	.name		= "iva",  	.class		= &omap44xx_iva_hwmod_class,  	.mpu_irqs	= omap44xx_iva_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_iva_irqs),  	.rst_lines	= omap44xx_iva_resets,  	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_iva_resets),  	.main_clk	= "iva_fck", @@ -2656,6 +2703,7 @@ static struct omap_hwmod_class omap44xx_kbd_hwmod_class = {  static struct omap_hwmod omap44xx_kbd_hwmod;  static struct omap_hwmod_irq_info omap44xx_kbd_irqs[] = {  	{ .irq = 120 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_kbd_addrs[] = { @@ -2664,6 +2712,7 @@ static struct omap_hwmod_addr_space omap44xx_kbd_addrs[] = {  		.pa_end		= 0x4a31c07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_wkup -> kbd */ @@ -2672,7 +2721,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__kbd = {  	.slave		= &omap44xx_kbd_hwmod,  	.clk		= "l4_wkup_clk_mux_ck",  	.addr		= omap44xx_kbd_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_kbd_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2685,9 +2733,8 @@ static struct omap_hwmod omap44xx_kbd_hwmod = {  	.name		= "kbd",  	.class		= &omap44xx_kbd_hwmod_class,  	.mpu_irqs	= omap44xx_kbd_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_kbd_irqs),  	.main_clk	= "kbd_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_WKUP_KEYBOARD_CLKCTRL,  		}, @@ -2721,6 +2768,7 @@ static struct omap_hwmod_class omap44xx_mailbox_hwmod_class = {  static struct omap_hwmod omap44xx_mailbox_hwmod;  static struct omap_hwmod_irq_info omap44xx_mailbox_irqs[] = {  	{ .irq = 26 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mailbox_addrs[] = { @@ -2729,6 +2777,7 @@ static struct omap_hwmod_addr_space omap44xx_mailbox_addrs[] = {  		.pa_end		= 0x4a0f41ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> mailbox */ @@ -2737,7 +2786,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__mailbox = {  	.slave		= &omap44xx_mailbox_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mailbox_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mailbox_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -2750,8 +2798,7 @@ static struct omap_hwmod omap44xx_mailbox_hwmod = {  	.name		= "mailbox",  	.class		= &omap44xx_mailbox_hwmod_class,  	.mpu_irqs	= omap44xx_mailbox_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mailbox_irqs), -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_L4CFG_MAILBOX_CLKCTRL,  		}, @@ -2784,11 +2831,13 @@ static struct omap_hwmod_class omap44xx_mcbsp_hwmod_class = {  static struct omap_hwmod omap44xx_mcbsp1_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcbsp1_irqs[] = {  	{ .irq = 17 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcbsp1_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 32 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 33 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcbsp1_addrs[] = { @@ -2798,6 +2847,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp1_addrs[] = {  		.pa_end		= 0x401220ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcbsp1 */ @@ -2806,7 +2856,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1 = {  	.slave		= &omap44xx_mcbsp1_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcbsp1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_addrs),  	.user		= OCP_USER_MPU,  }; @@ -2817,6 +2866,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp1_dma_addrs[] = {  		.pa_end		= 0x490220ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcbsp1 (dma) */ @@ -2825,7 +2875,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1_dma = {  	.slave		= &omap44xx_mcbsp1_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcbsp1_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -2839,9 +2888,7 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {  	.name		= "mcbsp1",  	.class		= &omap44xx_mcbsp_hwmod_class,  	.mpu_irqs	= omap44xx_mcbsp1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_irqs),  	.sdma_reqs	= omap44xx_mcbsp1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_sdma_reqs),  	.main_clk	= "mcbsp1_fck",  	.prcm = {  		.omap4 = { @@ -2857,11 +2904,13 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {  static struct omap_hwmod omap44xx_mcbsp2_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcbsp2_irqs[] = {  	{ .irq = 22 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcbsp2_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 16 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 17 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcbsp2_addrs[] = { @@ -2871,6 +2920,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp2_addrs[] = {  		.pa_end		= 0x401240ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcbsp2 */ @@ -2879,7 +2929,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2 = {  	.slave		= &omap44xx_mcbsp2_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcbsp2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_addrs),  	.user		= OCP_USER_MPU,  }; @@ -2890,6 +2939,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp2_dma_addrs[] = {  		.pa_end		= 0x490240ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcbsp2 (dma) */ @@ -2898,7 +2948,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2_dma = {  	.slave		= &omap44xx_mcbsp2_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcbsp2_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -2912,9 +2961,7 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {  	.name		= "mcbsp2",  	.class		= &omap44xx_mcbsp_hwmod_class,  	.mpu_irqs	= omap44xx_mcbsp2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_irqs),  	.sdma_reqs	= omap44xx_mcbsp2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_sdma_reqs),  	.main_clk	= "mcbsp2_fck",  	.prcm = {  		.omap4 = { @@ -2930,11 +2977,13 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {  static struct omap_hwmod omap44xx_mcbsp3_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcbsp3_irqs[] = {  	{ .irq = 23 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcbsp3_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 18 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 19 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcbsp3_addrs[] = { @@ -2944,6 +2993,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp3_addrs[] = {  		.pa_end		= 0x401260ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcbsp3 */ @@ -2952,7 +3002,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3 = {  	.slave		= &omap44xx_mcbsp3_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcbsp3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_addrs),  	.user		= OCP_USER_MPU,  }; @@ -2963,6 +3012,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp3_dma_addrs[] = {  		.pa_end		= 0x490260ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcbsp3 (dma) */ @@ -2971,7 +3021,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3_dma = {  	.slave		= &omap44xx_mcbsp3_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcbsp3_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -2985,9 +3034,7 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {  	.name		= "mcbsp3",  	.class		= &omap44xx_mcbsp_hwmod_class,  	.mpu_irqs	= omap44xx_mcbsp3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_irqs),  	.sdma_reqs	= omap44xx_mcbsp3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_sdma_reqs),  	.main_clk	= "mcbsp3_fck",  	.prcm = {  		.omap4 = { @@ -3003,11 +3050,13 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {  static struct omap_hwmod omap44xx_mcbsp4_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcbsp4_irqs[] = {  	{ .irq = 16 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcbsp4_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 30 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 31 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcbsp4_addrs[] = { @@ -3016,6 +3065,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp4_addrs[] = {  		.pa_end		= 0x480960ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcbsp4 */ @@ -3024,7 +3074,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcbsp4 = {  	.slave		= &omap44xx_mcbsp4_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mcbsp4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3037,9 +3086,7 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = {  	.name		= "mcbsp4",  	.class		= &omap44xx_mcbsp_hwmod_class,  	.mpu_irqs	= omap44xx_mcbsp4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp4_irqs),  	.sdma_reqs	= omap44xx_mcbsp4_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp4_sdma_reqs),  	.main_clk	= "mcbsp4_fck",  	.prcm = {  		.omap4 = { @@ -3076,11 +3123,13 @@ static struct omap_hwmod_class omap44xx_mcpdm_hwmod_class = {  static struct omap_hwmod omap44xx_mcpdm_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcpdm_irqs[] = {  	{ .irq = 112 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcpdm_sdma_reqs[] = {  	{ .name = "up_link", .dma_req = 64 + OMAP44XX_DMA_REQ_START },  	{ .name = "dn_link", .dma_req = 65 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcpdm_addrs[] = { @@ -3089,6 +3138,7 @@ static struct omap_hwmod_addr_space omap44xx_mcpdm_addrs[] = {  		.pa_end		= 0x4013207f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcpdm */ @@ -3097,7 +3147,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm = {  	.slave		= &omap44xx_mcpdm_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcpdm_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcpdm_addrs),  	.user		= OCP_USER_MPU,  }; @@ -3107,6 +3156,7 @@ static struct omap_hwmod_addr_space omap44xx_mcpdm_dma_addrs[] = {  		.pa_end		= 0x4903207f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> mcpdm (dma) */ @@ -3115,7 +3165,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm_dma = {  	.slave		= &omap44xx_mcpdm_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_mcpdm_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcpdm_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -3129,11 +3178,9 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {  	.name		= "mcpdm",  	.class		= &omap44xx_mcpdm_hwmod_class,  	.mpu_irqs	= omap44xx_mcpdm_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcpdm_irqs),  	.sdma_reqs	= omap44xx_mcpdm_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcpdm_sdma_reqs),  	.main_clk	= "mcpdm_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM1_ABE_PDM_CLKCTRL,  		}, @@ -3169,6 +3216,7 @@ static struct omap_hwmod_class omap44xx_mcspi_hwmod_class = {  static struct omap_hwmod omap44xx_mcspi1_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcspi1_irqs[] = {  	{ .irq = 65 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcspi1_sdma_reqs[] = { @@ -3180,6 +3228,7 @@ static struct omap_hwmod_dma_info omap44xx_mcspi1_sdma_reqs[] = {  	{ .name = "rx2", .dma_req = 39 + OMAP44XX_DMA_REQ_START },  	{ .name = "tx3", .dma_req = 40 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx3", .dma_req = 41 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcspi1_addrs[] = { @@ -3188,6 +3237,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi1_addrs[] = {  		.pa_end		= 0x480981ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcspi1 */ @@ -3196,7 +3246,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi1 = {  	.slave		= &omap44xx_mcspi1_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mcspi1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3214,9 +3263,7 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {  	.name		= "mcspi1",  	.class		= &omap44xx_mcspi_hwmod_class,  	.mpu_irqs	= omap44xx_mcspi1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi1_irqs),  	.sdma_reqs	= omap44xx_mcspi1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi1_sdma_reqs),  	.main_clk	= "mcspi1_fck",  	.prcm = {  		.omap4 = { @@ -3233,6 +3280,7 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {  static struct omap_hwmod omap44xx_mcspi2_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcspi2_irqs[] = {  	{ .irq = 66 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcspi2_sdma_reqs[] = { @@ -3240,6 +3288,7 @@ static struct omap_hwmod_dma_info omap44xx_mcspi2_sdma_reqs[] = {  	{ .name = "rx0", .dma_req = 43 + OMAP44XX_DMA_REQ_START },  	{ .name = "tx1", .dma_req = 44 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx1", .dma_req = 45 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcspi2_addrs[] = { @@ -3248,6 +3297,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi2_addrs[] = {  		.pa_end		= 0x4809a1ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcspi2 */ @@ -3256,7 +3306,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi2 = {  	.slave		= &omap44xx_mcspi2_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mcspi2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3274,9 +3323,7 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {  	.name		= "mcspi2",  	.class		= &omap44xx_mcspi_hwmod_class,  	.mpu_irqs	= omap44xx_mcspi2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi2_irqs),  	.sdma_reqs	= omap44xx_mcspi2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi2_sdma_reqs),  	.main_clk	= "mcspi2_fck",  	.prcm = {  		.omap4 = { @@ -3293,6 +3340,7 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {  static struct omap_hwmod omap44xx_mcspi3_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcspi3_irqs[] = {  	{ .irq = 91 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcspi3_sdma_reqs[] = { @@ -3300,6 +3348,7 @@ static struct omap_hwmod_dma_info omap44xx_mcspi3_sdma_reqs[] = {  	{ .name = "rx0", .dma_req = 15 + OMAP44XX_DMA_REQ_START },  	{ .name = "tx1", .dma_req = 22 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx1", .dma_req = 23 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcspi3_addrs[] = { @@ -3308,6 +3357,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi3_addrs[] = {  		.pa_end		= 0x480b81ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcspi3 */ @@ -3316,7 +3366,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi3 = {  	.slave		= &omap44xx_mcspi3_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mcspi3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3334,9 +3383,7 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {  	.name		= "mcspi3",  	.class		= &omap44xx_mcspi_hwmod_class,  	.mpu_irqs	= omap44xx_mcspi3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi3_irqs),  	.sdma_reqs	= omap44xx_mcspi3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi3_sdma_reqs),  	.main_clk	= "mcspi3_fck",  	.prcm = {  		.omap4 = { @@ -3353,11 +3400,13 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {  static struct omap_hwmod omap44xx_mcspi4_hwmod;  static struct omap_hwmod_irq_info omap44xx_mcspi4_irqs[] = {  	{ .irq = 48 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mcspi4_sdma_reqs[] = {  	{ .name = "tx0", .dma_req = 69 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx0", .dma_req = 70 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mcspi4_addrs[] = { @@ -3366,6 +3415,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi4_addrs[] = {  		.pa_end		= 0x480ba1ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mcspi4 */ @@ -3374,7 +3424,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi4 = {  	.slave		= &omap44xx_mcspi4_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mcspi4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3392,9 +3441,7 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = {  	.name		= "mcspi4",  	.class		= &omap44xx_mcspi_hwmod_class,  	.mpu_irqs	= omap44xx_mcspi4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi4_irqs),  	.sdma_reqs	= omap44xx_mcspi4_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi4_sdma_reqs),  	.main_clk	= "mcspi4_fck",  	.prcm = {  		.omap4 = { @@ -3420,7 +3467,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_mmc_sysc = {  			   SYSC_HAS_SOFTRESET),  	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |  			   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO | -			   MSTANDBY_SMART), +			   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),  	.sysc_fields	= &omap_hwmod_sysc_type2,  }; @@ -3430,14 +3477,15 @@ static struct omap_hwmod_class omap44xx_mmc_hwmod_class = {  };  /* mmc1 */ -  static struct omap_hwmod_irq_info omap44xx_mmc1_irqs[] = {  	{ .irq = 83 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mmc1_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 60 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 61 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  /* mmc1 master ports */ @@ -3451,6 +3499,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc1_addrs[] = {  		.pa_end		= 0x4809c3ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mmc1 */ @@ -3459,7 +3508,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc1 = {  	.slave		= &omap44xx_mmc1_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mmc1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3477,11 +3525,9 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {  	.name		= "mmc1",  	.class		= &omap44xx_mmc_hwmod_class,  	.mpu_irqs	= omap44xx_mmc1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc1_irqs),  	.sdma_reqs	= omap44xx_mmc1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc1_sdma_reqs),  	.main_clk	= "mmc1_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_L3INIT_MMC1_CLKCTRL,  		}, @@ -3497,11 +3543,13 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {  /* mmc2 */  static struct omap_hwmod_irq_info omap44xx_mmc2_irqs[] = {  	{ .irq = 86 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mmc2_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 46 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 47 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  /* mmc2 master ports */ @@ -3515,6 +3563,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc2_addrs[] = {  		.pa_end		= 0x480b43ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mmc2 */ @@ -3523,7 +3572,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc2 = {  	.slave		= &omap44xx_mmc2_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mmc2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3536,11 +3584,9 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {  	.name		= "mmc2",  	.class		= &omap44xx_mmc_hwmod_class,  	.mpu_irqs	= omap44xx_mmc2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc2_irqs),  	.sdma_reqs	= omap44xx_mmc2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc2_sdma_reqs),  	.main_clk	= "mmc2_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_L3INIT_MMC2_CLKCTRL,  		}, @@ -3556,11 +3602,13 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {  static struct omap_hwmod omap44xx_mmc3_hwmod;  static struct omap_hwmod_irq_info omap44xx_mmc3_irqs[] = {  	{ .irq = 94 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mmc3_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 76 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 77 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mmc3_addrs[] = { @@ -3569,6 +3617,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc3_addrs[] = {  		.pa_end		= 0x480ad3ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mmc3 */ @@ -3577,7 +3626,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc3 = {  	.slave		= &omap44xx_mmc3_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mmc3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3590,11 +3638,9 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {  	.name		= "mmc3",  	.class		= &omap44xx_mmc_hwmod_class,  	.mpu_irqs	= omap44xx_mmc3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc3_irqs),  	.sdma_reqs	= omap44xx_mmc3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc3_sdma_reqs),  	.main_clk	= "mmc3_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD3_CLKCTRL,  		}, @@ -3608,11 +3654,13 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {  static struct omap_hwmod omap44xx_mmc4_hwmod;  static struct omap_hwmod_irq_info omap44xx_mmc4_irqs[] = {  	{ .irq = 96 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mmc4_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 56 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 57 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mmc4_addrs[] = { @@ -3621,6 +3669,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc4_addrs[] = {  		.pa_end		= 0x480d13ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mmc4 */ @@ -3629,7 +3678,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc4 = {  	.slave		= &omap44xx_mmc4_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mmc4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3642,11 +3690,10 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {  	.name		= "mmc4",  	.class		= &omap44xx_mmc_hwmod_class,  	.mpu_irqs	= omap44xx_mmc4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc4_irqs), +  	.sdma_reqs	= omap44xx_mmc4_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc4_sdma_reqs),  	.main_clk	= "mmc4_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD4_CLKCTRL,  		}, @@ -3660,11 +3707,13 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {  static struct omap_hwmod omap44xx_mmc5_hwmod;  static struct omap_hwmod_irq_info omap44xx_mmc5_irqs[] = {  	{ .irq = 59 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_mmc5_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 58 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 59 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_mmc5_addrs[] = { @@ -3673,6 +3722,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc5_addrs[] = {  		.pa_end		= 0x480d53ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> mmc5 */ @@ -3681,7 +3731,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc5 = {  	.slave		= &omap44xx_mmc5_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_mmc5_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc5_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3694,11 +3743,9 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {  	.name		= "mmc5",  	.class		= &omap44xx_mmc_hwmod_class,  	.mpu_irqs	= omap44xx_mmc5_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc5_irqs),  	.sdma_reqs	= omap44xx_mmc5_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc5_sdma_reqs),  	.main_clk	= "mmc5_fck", -	.prcm		= { +	.prcm = {  		.omap4 = {  			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD5_CLKCTRL,  		}, @@ -3722,6 +3769,7 @@ static struct omap_hwmod_irq_info omap44xx_mpu_irqs[] = {  	{ .name = "pl310", .irq = 0 + OMAP44XX_IRQ_GIC_START },  	{ .name = "cti0", .irq = 1 + OMAP44XX_IRQ_GIC_START },  	{ .name = "cti1", .irq = 2 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  /* mpu master ports */ @@ -3734,9 +3782,8 @@ static struct omap_hwmod_ocp_if *omap44xx_mpu_masters[] = {  static struct omap_hwmod omap44xx_mpu_hwmod = {  	.name		= "mpu",  	.class		= &omap44xx_mpu_hwmod_class, -	.flags		= (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), +	.flags		= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET,  	.mpu_irqs	= omap44xx_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mpu_irqs),  	.main_clk	= "dpll_mpu_m2_ck",  	.prcm = {  		.omap4 = { @@ -3778,6 +3825,7 @@ static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = {  static struct omap_hwmod omap44xx_smartreflex_core_hwmod;  static struct omap_hwmod_irq_info omap44xx_smartreflex_core_irqs[] = {  	{ .irq = 19 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_smartreflex_core_addrs[] = { @@ -3786,6 +3834,7 @@ static struct omap_hwmod_addr_space omap44xx_smartreflex_core_addrs[] = {  		.pa_end		= 0x4a0dd03f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> smartreflex_core */ @@ -3794,7 +3843,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_core = {  	.slave		= &omap44xx_smartreflex_core_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_smartreflex_core_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_smartreflex_core_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3807,7 +3855,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {  	.name		= "smartreflex_core",  	.class		= &omap44xx_smartreflex_hwmod_class,  	.mpu_irqs	= omap44xx_smartreflex_core_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_smartreflex_core_irqs), +  	.main_clk	= "smartreflex_core_fck",  	.vdd_name	= "core",  	.prcm = { @@ -3824,6 +3872,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {  static struct omap_hwmod omap44xx_smartreflex_iva_hwmod;  static struct omap_hwmod_irq_info omap44xx_smartreflex_iva_irqs[] = {  	{ .irq = 102 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_smartreflex_iva_addrs[] = { @@ -3832,6 +3881,7 @@ static struct omap_hwmod_addr_space omap44xx_smartreflex_iva_addrs[] = {  		.pa_end		= 0x4a0db03f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> smartreflex_iva */ @@ -3840,7 +3890,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_iva = {  	.slave		= &omap44xx_smartreflex_iva_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_smartreflex_iva_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_smartreflex_iva_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3853,7 +3902,6 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {  	.name		= "smartreflex_iva",  	.class		= &omap44xx_smartreflex_hwmod_class,  	.mpu_irqs	= omap44xx_smartreflex_iva_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_smartreflex_iva_irqs),  	.main_clk	= "smartreflex_iva_fck",  	.vdd_name	= "iva",  	.prcm = { @@ -3870,6 +3918,7 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {  static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod;  static struct omap_hwmod_irq_info omap44xx_smartreflex_mpu_irqs[] = {  	{ .irq = 18 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_smartreflex_mpu_addrs[] = { @@ -3878,6 +3927,7 @@ static struct omap_hwmod_addr_space omap44xx_smartreflex_mpu_addrs[] = {  		.pa_end		= 0x4a0d903f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> smartreflex_mpu */ @@ -3886,7 +3936,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_mpu = {  	.slave		= &omap44xx_smartreflex_mpu_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_smartreflex_mpu_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_smartreflex_mpu_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -3899,7 +3948,6 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {  	.name		= "smartreflex_mpu",  	.class		= &omap44xx_smartreflex_hwmod_class,  	.mpu_irqs	= omap44xx_smartreflex_mpu_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_smartreflex_mpu_irqs),  	.main_clk	= "smartreflex_mpu_fck",  	.vdd_name	= "mpu",  	.prcm = { @@ -3943,6 +3991,7 @@ static struct omap_hwmod_addr_space omap44xx_spinlock_addrs[] = {  		.pa_end		= 0x4a0f6fff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> spinlock */ @@ -3951,7 +4000,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__spinlock = {  	.slave		= &omap44xx_spinlock_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_spinlock_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_spinlock_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4015,6 +4063,7 @@ static struct omap_hwmod_class omap44xx_timer_hwmod_class = {  static struct omap_hwmod omap44xx_timer1_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer1_irqs[] = {  	{ .irq = 37 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer1_addrs[] = { @@ -4023,6 +4072,7 @@ static struct omap_hwmod_addr_space omap44xx_timer1_addrs[] = {  		.pa_end		= 0x4a31807f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_wkup -> timer1 */ @@ -4031,7 +4081,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__timer1 = {  	.slave		= &omap44xx_timer1_hwmod,  	.clk		= "l4_wkup_clk_mux_ck",  	.addr		= omap44xx_timer1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4044,7 +4093,6 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {  	.name		= "timer1",  	.class		= &omap44xx_timer_1ms_hwmod_class,  	.mpu_irqs	= omap44xx_timer1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer1_irqs),  	.main_clk	= "timer1_fck",  	.prcm = {  		.omap4 = { @@ -4060,6 +4108,7 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {  static struct omap_hwmod omap44xx_timer2_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer2_irqs[] = {  	{ .irq = 38 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer2_addrs[] = { @@ -4068,6 +4117,7 @@ static struct omap_hwmod_addr_space omap44xx_timer2_addrs[] = {  		.pa_end		= 0x4803207f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer2 */ @@ -4076,7 +4126,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer2 = {  	.slave		= &omap44xx_timer2_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_timer2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4089,7 +4138,6 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {  	.name		= "timer2",  	.class		= &omap44xx_timer_1ms_hwmod_class,  	.mpu_irqs	= omap44xx_timer2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer2_irqs),  	.main_clk	= "timer2_fck",  	.prcm = {  		.omap4 = { @@ -4105,6 +4153,7 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {  static struct omap_hwmod omap44xx_timer3_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer3_irqs[] = {  	{ .irq = 39 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer3_addrs[] = { @@ -4113,6 +4162,7 @@ static struct omap_hwmod_addr_space omap44xx_timer3_addrs[] = {  		.pa_end		= 0x4803407f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer3 */ @@ -4121,7 +4171,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer3 = {  	.slave		= &omap44xx_timer3_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_timer3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4134,7 +4183,6 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {  	.name		= "timer3",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer3_irqs),  	.main_clk	= "timer3_fck",  	.prcm = {  		.omap4 = { @@ -4150,6 +4198,7 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {  static struct omap_hwmod omap44xx_timer4_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer4_irqs[] = {  	{ .irq = 40 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer4_addrs[] = { @@ -4158,6 +4207,7 @@ static struct omap_hwmod_addr_space omap44xx_timer4_addrs[] = {  		.pa_end		= 0x4803607f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer4 */ @@ -4166,7 +4216,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer4 = {  	.slave		= &omap44xx_timer4_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_timer4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4179,7 +4228,6 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {  	.name		= "timer4",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer4_irqs),  	.main_clk	= "timer4_fck",  	.prcm = {  		.omap4 = { @@ -4195,6 +4243,7 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {  static struct omap_hwmod omap44xx_timer5_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer5_irqs[] = {  	{ .irq = 41 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer5_addrs[] = { @@ -4203,6 +4252,7 @@ static struct omap_hwmod_addr_space omap44xx_timer5_addrs[] = {  		.pa_end		= 0x4013807f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer5 */ @@ -4211,7 +4261,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5 = {  	.slave		= &omap44xx_timer5_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer5_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer5_addrs),  	.user		= OCP_USER_MPU,  }; @@ -4221,6 +4270,7 @@ static struct omap_hwmod_addr_space omap44xx_timer5_dma_addrs[] = {  		.pa_end		= 0x4903807f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer5 (dma) */ @@ -4229,7 +4279,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5_dma = {  	.slave		= &omap44xx_timer5_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer5_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer5_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -4243,7 +4292,6 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {  	.name		= "timer5",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer5_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer5_irqs),  	.main_clk	= "timer5_fck",  	.prcm = {  		.omap4 = { @@ -4259,6 +4307,7 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {  static struct omap_hwmod omap44xx_timer6_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer6_irqs[] = {  	{ .irq = 42 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer6_addrs[] = { @@ -4267,6 +4316,7 @@ static struct omap_hwmod_addr_space omap44xx_timer6_addrs[] = {  		.pa_end		= 0x4013a07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer6 */ @@ -4275,7 +4325,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6 = {  	.slave		= &omap44xx_timer6_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer6_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer6_addrs),  	.user		= OCP_USER_MPU,  }; @@ -4285,6 +4334,7 @@ static struct omap_hwmod_addr_space omap44xx_timer6_dma_addrs[] = {  		.pa_end		= 0x4903a07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer6 (dma) */ @@ -4293,7 +4343,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6_dma = {  	.slave		= &omap44xx_timer6_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer6_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer6_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -4307,7 +4356,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {  	.name		= "timer6",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer6_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer6_irqs), +  	.main_clk	= "timer6_fck",  	.prcm = {  		.omap4 = { @@ -4323,6 +4372,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {  static struct omap_hwmod omap44xx_timer7_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer7_irqs[] = {  	{ .irq = 43 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer7_addrs[] = { @@ -4331,6 +4381,7 @@ static struct omap_hwmod_addr_space omap44xx_timer7_addrs[] = {  		.pa_end		= 0x4013c07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer7 */ @@ -4339,7 +4390,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7 = {  	.slave		= &omap44xx_timer7_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer7_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer7_addrs),  	.user		= OCP_USER_MPU,  }; @@ -4349,6 +4399,7 @@ static struct omap_hwmod_addr_space omap44xx_timer7_dma_addrs[] = {  		.pa_end		= 0x4903c07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer7 (dma) */ @@ -4357,7 +4408,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7_dma = {  	.slave		= &omap44xx_timer7_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer7_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer7_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -4371,7 +4421,6 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {  	.name		= "timer7",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer7_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer7_irqs),  	.main_clk	= "timer7_fck",  	.prcm = {  		.omap4 = { @@ -4387,6 +4436,7 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {  static struct omap_hwmod omap44xx_timer8_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer8_irqs[] = {  	{ .irq = 44 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer8_addrs[] = { @@ -4395,6 +4445,7 @@ static struct omap_hwmod_addr_space omap44xx_timer8_addrs[] = {  		.pa_end		= 0x4013e07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer8 */ @@ -4403,7 +4454,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8 = {  	.slave		= &omap44xx_timer8_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer8_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer8_addrs),  	.user		= OCP_USER_MPU,  }; @@ -4413,6 +4463,7 @@ static struct omap_hwmod_addr_space omap44xx_timer8_dma_addrs[] = {  		.pa_end		= 0x4903e07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> timer8 (dma) */ @@ -4421,7 +4472,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8_dma = {  	.slave		= &omap44xx_timer8_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_timer8_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer8_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -4435,7 +4485,6 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {  	.name		= "timer8",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer8_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer8_irqs),  	.main_clk	= "timer8_fck",  	.prcm = {  		.omap4 = { @@ -4451,6 +4500,7 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {  static struct omap_hwmod omap44xx_timer9_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer9_irqs[] = {  	{ .irq = 45 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer9_addrs[] = { @@ -4459,6 +4509,7 @@ static struct omap_hwmod_addr_space omap44xx_timer9_addrs[] = {  		.pa_end		= 0x4803e07f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer9 */ @@ -4467,7 +4518,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer9 = {  	.slave		= &omap44xx_timer9_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_timer9_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer9_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4480,7 +4530,6 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {  	.name		= "timer9",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer9_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer9_irqs),  	.main_clk	= "timer9_fck",  	.prcm = {  		.omap4 = { @@ -4496,6 +4545,7 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {  static struct omap_hwmod omap44xx_timer10_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer10_irqs[] = {  	{ .irq = 46 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer10_addrs[] = { @@ -4504,6 +4554,7 @@ static struct omap_hwmod_addr_space omap44xx_timer10_addrs[] = {  		.pa_end		= 0x4808607f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer10 */ @@ -4512,7 +4563,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer10 = {  	.slave		= &omap44xx_timer10_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_timer10_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer10_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4525,7 +4575,6 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {  	.name		= "timer10",  	.class		= &omap44xx_timer_1ms_hwmod_class,  	.mpu_irqs	= omap44xx_timer10_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer10_irqs),  	.main_clk	= "timer10_fck",  	.prcm = {  		.omap4 = { @@ -4541,6 +4590,7 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {  static struct omap_hwmod omap44xx_timer11_hwmod;  static struct omap_hwmod_irq_info omap44xx_timer11_irqs[] = {  	{ .irq = 47 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_timer11_addrs[] = { @@ -4549,6 +4599,7 @@ static struct omap_hwmod_addr_space omap44xx_timer11_addrs[] = {  		.pa_end		= 0x4808807f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> timer11 */ @@ -4557,7 +4608,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer11 = {  	.slave		= &omap44xx_timer11_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_timer11_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_timer11_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4570,7 +4620,6 @@ static struct omap_hwmod omap44xx_timer11_hwmod = {  	.name		= "timer11",  	.class		= &omap44xx_timer_hwmod_class,  	.mpu_irqs	= omap44xx_timer11_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer11_irqs),  	.main_clk	= "timer11_fck",  	.prcm = {  		.omap4 = { @@ -4608,11 +4657,13 @@ static struct omap_hwmod_class omap44xx_uart_hwmod_class = {  static struct omap_hwmod omap44xx_uart1_hwmod;  static struct omap_hwmod_irq_info omap44xx_uart1_irqs[] = {  	{ .irq = 72 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_uart1_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 48 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 49 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_uart1_addrs[] = { @@ -4621,6 +4672,7 @@ static struct omap_hwmod_addr_space omap44xx_uart1_addrs[] = {  		.pa_end		= 0x4806a0ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> uart1 */ @@ -4629,7 +4681,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart1 = {  	.slave		= &omap44xx_uart1_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_uart1_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_uart1_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4642,9 +4693,7 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {  	.name		= "uart1",  	.class		= &omap44xx_uart_hwmod_class,  	.mpu_irqs	= omap44xx_uart1_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart1_irqs),  	.sdma_reqs	= omap44xx_uart1_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart1_sdma_reqs),  	.main_clk	= "uart1_fck",  	.prcm = {  		.omap4 = { @@ -4660,11 +4709,13 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {  static struct omap_hwmod omap44xx_uart2_hwmod;  static struct omap_hwmod_irq_info omap44xx_uart2_irqs[] = {  	{ .irq = 73 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_uart2_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 50 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 51 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_uart2_addrs[] = { @@ -4673,6 +4724,7 @@ static struct omap_hwmod_addr_space omap44xx_uart2_addrs[] = {  		.pa_end		= 0x4806c0ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> uart2 */ @@ -4681,7 +4733,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart2 = {  	.slave		= &omap44xx_uart2_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_uart2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_uart2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4694,9 +4745,7 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {  	.name		= "uart2",  	.class		= &omap44xx_uart_hwmod_class,  	.mpu_irqs	= omap44xx_uart2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart2_irqs),  	.sdma_reqs	= omap44xx_uart2_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart2_sdma_reqs),  	.main_clk	= "uart2_fck",  	.prcm = {  		.omap4 = { @@ -4712,11 +4761,13 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {  static struct omap_hwmod omap44xx_uart3_hwmod;  static struct omap_hwmod_irq_info omap44xx_uart3_irqs[] = {  	{ .irq = 74 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_uart3_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 52 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 53 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_uart3_addrs[] = { @@ -4725,6 +4776,7 @@ static struct omap_hwmod_addr_space omap44xx_uart3_addrs[] = {  		.pa_end		= 0x480200ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> uart3 */ @@ -4733,7 +4785,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart3 = {  	.slave		= &omap44xx_uart3_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_uart3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_uart3_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4745,11 +4796,9 @@ static struct omap_hwmod_ocp_if *omap44xx_uart3_slaves[] = {  static struct omap_hwmod omap44xx_uart3_hwmod = {  	.name		= "uart3",  	.class		= &omap44xx_uart_hwmod_class, -	.flags		= (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET), +	.flags		= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET,  	.mpu_irqs	= omap44xx_uart3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart3_irqs),  	.sdma_reqs	= omap44xx_uart3_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart3_sdma_reqs),  	.main_clk	= "uart3_fck",  	.prcm = {  		.omap4 = { @@ -4765,11 +4814,13 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {  static struct omap_hwmod omap44xx_uart4_hwmod;  static struct omap_hwmod_irq_info omap44xx_uart4_irqs[] = {  	{ .irq = 70 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_dma_info omap44xx_uart4_sdma_reqs[] = {  	{ .name = "tx", .dma_req = 54 + OMAP44XX_DMA_REQ_START },  	{ .name = "rx", .dma_req = 55 + OMAP44XX_DMA_REQ_START }, +	{ .dma_req = -1 }  };  static struct omap_hwmod_addr_space omap44xx_uart4_addrs[] = { @@ -4778,6 +4829,7 @@ static struct omap_hwmod_addr_space omap44xx_uart4_addrs[] = {  		.pa_end		= 0x4806e0ff,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_per -> uart4 */ @@ -4786,7 +4838,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart4 = {  	.slave		= &omap44xx_uart4_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_uart4_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_uart4_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4799,9 +4850,7 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {  	.name		= "uart4",  	.class		= &omap44xx_uart_hwmod_class,  	.mpu_irqs	= omap44xx_uart4_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart4_irqs),  	.sdma_reqs	= omap44xx_uart4_sdma_reqs, -	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart4_sdma_reqs),  	.main_clk	= "uart4_fck",  	.prcm = {  		.omap4 = { @@ -4832,14 +4881,15 @@ static struct omap_hwmod_class_sysconfig omap44xx_usb_otg_hs_sysc = {  };  static struct omap_hwmod_class omap44xx_usb_otg_hs_hwmod_class = { -	.name = "usb_otg_hs", -	.sysc = &omap44xx_usb_otg_hs_sysc, +	.name	= "usb_otg_hs", +	.sysc	= &omap44xx_usb_otg_hs_sysc,  };  /* usb_otg_hs */  static struct omap_hwmod_irq_info omap44xx_usb_otg_hs_irqs[] = {  	{ .name = "mc", .irq = 92 + OMAP44XX_IRQ_GIC_START },  	{ .name = "dma", .irq = 93 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  /* usb_otg_hs master ports */ @@ -4853,6 +4903,7 @@ static struct omap_hwmod_addr_space omap44xx_usb_otg_hs_addrs[] = {  		.pa_end		= 0x4a0ab003,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_cfg -> usb_otg_hs */ @@ -4861,7 +4912,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_otg_hs = {  	.slave		= &omap44xx_usb_otg_hs_hwmod,  	.clk		= "l4_div_ck",  	.addr		= omap44xx_usb_otg_hs_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_usb_otg_hs_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4879,7 +4929,6 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {  	.class		= &omap44xx_usb_otg_hs_hwmod_class,  	.flags		= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,  	.mpu_irqs	= omap44xx_usb_otg_hs_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_usb_otg_hs_irqs),  	.main_clk	= "usb_otg_hs_ick",  	.prcm = {  		.omap4 = { @@ -4887,7 +4936,7 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {  		},  	},  	.opt_clks	= usb_otg_hs_opt_clks, -	.opt_clks_cnt = ARRAY_SIZE(usb_otg_hs_opt_clks), +	.opt_clks_cnt	= ARRAY_SIZE(usb_otg_hs_opt_clks),  	.slaves		= omap44xx_usb_otg_hs_slaves,  	.slaves_cnt	= ARRAY_SIZE(omap44xx_usb_otg_hs_slaves),  	.masters	= omap44xx_usb_otg_hs_masters, @@ -4922,6 +4971,7 @@ static struct omap_hwmod_class omap44xx_wd_timer_hwmod_class = {  static struct omap_hwmod omap44xx_wd_timer2_hwmod;  static struct omap_hwmod_irq_info omap44xx_wd_timer2_irqs[] = {  	{ .irq = 80 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_wd_timer2_addrs[] = { @@ -4930,6 +4980,7 @@ static struct omap_hwmod_addr_space omap44xx_wd_timer2_addrs[] = {  		.pa_end		= 0x4a31407f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_wkup -> wd_timer2 */ @@ -4938,7 +4989,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__wd_timer2 = {  	.slave		= &omap44xx_wd_timer2_hwmod,  	.clk		= "l4_wkup_clk_mux_ck",  	.addr		= omap44xx_wd_timer2_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_wd_timer2_addrs),  	.user		= OCP_USER_MPU | OCP_USER_SDMA,  }; @@ -4951,7 +5001,6 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {  	.name		= "wd_timer2",  	.class		= &omap44xx_wd_timer_hwmod_class,  	.mpu_irqs	= omap44xx_wd_timer2_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_wd_timer2_irqs),  	.main_clk	= "wd_timer2_fck",  	.prcm = {  		.omap4 = { @@ -4967,6 +5016,7 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {  static struct omap_hwmod omap44xx_wd_timer3_hwmod;  static struct omap_hwmod_irq_info omap44xx_wd_timer3_irqs[] = {  	{ .irq = 36 + OMAP44XX_IRQ_GIC_START }, +	{ .irq = -1 }  };  static struct omap_hwmod_addr_space omap44xx_wd_timer3_addrs[] = { @@ -4975,6 +5025,7 @@ static struct omap_hwmod_addr_space omap44xx_wd_timer3_addrs[] = {  		.pa_end		= 0x4013007f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> wd_timer3 */ @@ -4983,7 +5034,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3 = {  	.slave		= &omap44xx_wd_timer3_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_wd_timer3_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_wd_timer3_addrs),  	.user		= OCP_USER_MPU,  }; @@ -4993,6 +5043,7 @@ static struct omap_hwmod_addr_space omap44xx_wd_timer3_dma_addrs[] = {  		.pa_end		= 0x4903007f,  		.flags		= ADDR_TYPE_RT  	}, +	{ }  };  /* l4_abe -> wd_timer3 (dma) */ @@ -5001,7 +5052,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3_dma = {  	.slave		= &omap44xx_wd_timer3_hwmod,  	.clk		= "ocp_abe_iclk",  	.addr		= omap44xx_wd_timer3_dma_addrs, -	.addr_cnt	= ARRAY_SIZE(omap44xx_wd_timer3_dma_addrs),  	.user		= OCP_USER_SDMA,  }; @@ -5015,7 +5065,6 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {  	.name		= "wd_timer3",  	.class		= &omap44xx_wd_timer_hwmod_class,  	.mpu_irqs	= omap44xx_wd_timer3_irqs, -	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_wd_timer3_irqs),  	.main_clk	= "wd_timer3_fck",  	.prcm = {  		.omap4 = {  |