omap_hwmod: use a null structure record to terminate omap_hwmod_addr_space arrays
Previously, struct omap_hwmod_addr_space arrays were unterminated; and
users of these arrays used the ARRAY_SIZE() macro to determine the
length of the array. However, ARRAY_SIZE() only works when the array
is in the same scope as the macro user.
So far this hasn't been a problem. However, to reduce duplicated
data, a subsequent patch will move common data to a separate, shared
file. When this is done, ARRAY_SIZE() will no longer be usable.
This patch removes ARRAY_SIZE() usage for struct omap_hwmod_addr_space
arrays and uses a null structure member as the array terminator
instead.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index c4d0ae8..1a7ce3e 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -1,7 +1,7 @@
/*
* omap_hwmod_2420_data.c - hardware modules present on the OMAP2420 chips
*
- * Copyright (C) 2009-2010 Nokia Corporation
+ * Copyright (C) 2009-2011 Nokia Corporation
* Paul Walmsley
*
* This program is free software; you can redistribute it and/or modify
@@ -120,6 +120,7 @@
.pa_end = 0x480980ff,
.flags = ADDR_TYPE_RT,
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi1 = {
@@ -127,7 +128,6 @@
.slave = &omap2420_mcspi1_hwmod,
.clk = "mcspi1_ick",
.addr = omap2420_mcspi1_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_mcspi1_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -138,6 +138,7 @@
.pa_end = 0x4809a0ff,
.flags = ADDR_TYPE_RT,
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi2 = {
@@ -145,7 +146,6 @@
.slave = &omap2420_mcspi2_hwmod,
.clk = "mcspi2_ick",
.addr = omap2420_mcspi2_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_mcspi2_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -163,6 +163,7 @@
.pa_end = OMAP2_UART1_BASE + SZ_8K - 1,
.flags = ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
},
+ { }
};
static struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
@@ -170,7 +171,6 @@
.slave = &omap2420_uart1_hwmod,
.clk = "uart1_ick",
.addr = omap2420_uart1_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_uart1_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -181,6 +181,7 @@
.pa_end = OMAP2_UART2_BASE + SZ_1K - 1,
.flags = ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
},
+ { }
};
static struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
@@ -188,7 +189,6 @@
.slave = &omap2420_uart2_hwmod,
.clk = "uart2_ick",
.addr = omap2420_uart2_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_uart2_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -199,6 +199,7 @@
.pa_end = OMAP2_UART3_BASE + SZ_1K - 1,
.flags = ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
},
+ { }
};
static struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
@@ -206,7 +207,6 @@
.slave = &omap2420_uart3_hwmod,
.clk = "uart3_ick",
.addr = omap2420_uart3_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_uart3_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -220,6 +220,7 @@
.pa_end = 0x48070000 + OMAP2_I2C_AS_LEN - 1,
.flags = ADDR_TYPE_RT,
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_core__i2c1 = {
@@ -227,7 +228,6 @@
.slave = &omap2420_i2c1_hwmod,
.clk = "i2c1_ick",
.addr = omap2420_i2c1_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_i2c1_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -238,6 +238,7 @@
.pa_end = 0x48072000 + OMAP2_I2C_AS_LEN - 1,
.flags = ADDR_TYPE_RT,
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_core__i2c2 = {
@@ -245,7 +246,6 @@
.slave = &omap2420_i2c2_hwmod,
.clk = "i2c2_ick",
.addr = omap2420_i2c2_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_i2c2_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -370,6 +370,7 @@
.pa_end = 0x48028000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_wkup -> timer1 */
@@ -378,7 +379,6 @@
.slave = &omap2420_timer1_hwmod,
.clk = "gpt1_ick",
.addr = omap2420_timer1_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer1_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -420,6 +420,7 @@
.pa_end = 0x4802a000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer2 */
@@ -428,7 +429,6 @@
.slave = &omap2420_timer2_hwmod,
.clk = "gpt2_ick",
.addr = omap2420_timer2_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer2_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -470,6 +470,7 @@
.pa_end = 0x48078000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer3 */
@@ -478,7 +479,6 @@
.slave = &omap2420_timer3_hwmod,
.clk = "gpt3_ick",
.addr = omap2420_timer3_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer3_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -520,6 +520,7 @@
.pa_end = 0x4807a000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer4 */
@@ -528,7 +529,6 @@
.slave = &omap2420_timer4_hwmod,
.clk = "gpt4_ick",
.addr = omap2420_timer4_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer4_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -570,6 +570,7 @@
.pa_end = 0x4807c000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer5 */
@@ -578,7 +579,6 @@
.slave = &omap2420_timer5_hwmod,
.clk = "gpt5_ick",
.addr = omap2420_timer5_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer5_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -621,6 +621,7 @@
.pa_end = 0x4807e000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer6 */
@@ -629,7 +630,6 @@
.slave = &omap2420_timer6_hwmod,
.clk = "gpt6_ick",
.addr = omap2420_timer6_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer6_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -671,6 +671,7 @@
.pa_end = 0x48080000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer7 */
@@ -679,7 +680,6 @@
.slave = &omap2420_timer7_hwmod,
.clk = "gpt7_ick",
.addr = omap2420_timer7_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer7_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -721,6 +721,7 @@
.pa_end = 0x48082000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer8 */
@@ -729,7 +730,6 @@
.slave = &omap2420_timer8_hwmod,
.clk = "gpt8_ick",
.addr = omap2420_timer8_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer8_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -771,6 +771,7 @@
.pa_end = 0x48084000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer9 */
@@ -779,7 +780,6 @@
.slave = &omap2420_timer9_hwmod,
.clk = "gpt9_ick",
.addr = omap2420_timer9_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer9_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -821,6 +821,7 @@
.pa_end = 0x48086000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer10 */
@@ -829,7 +830,6 @@
.slave = &omap2420_timer10_hwmod,
.clk = "gpt10_ick",
.addr = omap2420_timer10_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer10_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -871,6 +871,7 @@
.pa_end = 0x48088000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer11 */
@@ -879,7 +880,6 @@
.slave = &omap2420_timer11_hwmod,
.clk = "gpt11_ick",
.addr = omap2420_timer11_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer11_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -921,6 +921,7 @@
.pa_end = 0x4808a000 + SZ_1K - 1,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> timer12 */
@@ -929,7 +930,6 @@
.slave = &omap2420_timer12_hwmod,
.clk = "gpt12_ick",
.addr = omap2420_timer12_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_timer12_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -966,6 +966,7 @@
.pa_end = 0x4802207f,
.flags = ADDR_TYPE_RT
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_wkup__wd_timer2 = {
@@ -973,7 +974,6 @@
.slave = &omap2420_wd_timer2_hwmod,
.clk = "mpu_wdt_ick",
.addr = omap2420_wd_timer2_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_wd_timer2_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -1184,6 +1184,7 @@
.pa_end = 0x480503FF,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> dss */
@@ -1192,7 +1193,6 @@
.slave = &omap2420_dss_core_hwmod,
.clk = "dss_ick",
.addr = omap2420_dss_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_dss_addrs),
.fw = {
.omap2 = {
.l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
@@ -1268,6 +1268,7 @@
.pa_end = 0x480507FF,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> dss_dispc */
@@ -1276,7 +1277,6 @@
.slave = &omap2420_dss_dispc_hwmod,
.clk = "dss_ick",
.addr = omap2420_dss_dispc_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_dss_dispc_addrs),
.fw = {
.omap2 = {
.l4_fw_region = OMAP2420_L4_CORE_FW_DSS_DISPC_REGION,
@@ -1338,6 +1338,7 @@
.pa_end = 0x48050BFF,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> dss_rfbi */
@@ -1346,7 +1347,6 @@
.slave = &omap2420_dss_rfbi_hwmod,
.clk = "dss_ick",
.addr = omap2420_dss_rfbi_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_dss_rfbi_addrs),
.fw = {
.omap2 = {
.l4_fw_region = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
@@ -1394,6 +1394,7 @@
.pa_end = 0x48050FFF,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> dss_venc */
@@ -1402,7 +1403,6 @@
.slave = &omap2420_dss_venc_hwmod,
.clk = "dss_54m_fck",
.addr = omap2420_dss_venc_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_dss_venc_addrs),
.fw = {
.omap2 = {
.l4_fw_region = OMAP2420_L4_CORE_FW_DSS_VENC_REGION,
@@ -1536,6 +1536,7 @@
.pa_end = 0x480181ff,
.flags = ADDR_TYPE_RT
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio1 = {
@@ -1543,7 +1544,6 @@
.slave = &omap2420_gpio1_hwmod,
.clk = "gpios_ick",
.addr = omap2420_gpio1_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_gpio1_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -1554,6 +1554,7 @@
.pa_end = 0x4801a1ff,
.flags = ADDR_TYPE_RT
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio2 = {
@@ -1561,7 +1562,6 @@
.slave = &omap2420_gpio2_hwmod,
.clk = "gpios_ick",
.addr = omap2420_gpio2_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_gpio2_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -1572,6 +1572,7 @@
.pa_end = 0x4801c1ff,
.flags = ADDR_TYPE_RT
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio3 = {
@@ -1579,7 +1580,6 @@
.slave = &omap2420_gpio3_hwmod,
.clk = "gpios_ick",
.addr = omap2420_gpio3_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_gpio3_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -1590,6 +1590,7 @@
.pa_end = 0x4801e1ff,
.flags = ADDR_TYPE_RT
},
+ { }
};
static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio4 = {
@@ -1597,7 +1598,6 @@
.slave = &omap2420_gpio4_hwmod,
.clk = "gpios_ick",
.addr = omap2420_gpio4_addr_space,
- .addr_cnt = ARRAY_SIZE(omap2420_gpio4_addr_space),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -1789,6 +1789,7 @@
.pa_end = 0x48056fff,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* dma_system -> L3 */
@@ -1810,7 +1811,6 @@
.slave = &omap2420_dma_system_hwmod,
.clk = "sdma_ick",
.addr = omap2420_dma_system_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_dma_system_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -1868,6 +1868,7 @@
.pa_end = 0x480941ff,
.flags = ADDR_TYPE_RT,
},
+ { }
};
/* l4_core -> mailbox */
@@ -1875,7 +1876,6 @@
.master = &omap2420_l4_core_hwmod,
.slave = &omap2420_mailbox_hwmod,
.addr = omap2420_mailbox_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_mailbox_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -2044,6 +2044,7 @@
.pa_end = 0x480740ff,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> mcbsp1 */
@@ -2052,7 +2053,6 @@
.slave = &omap2420_mcbsp1_hwmod,
.clk = "mcbsp1_ick",
.addr = omap2420_mcbsp1_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_mcbsp1_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};
@@ -2101,6 +2101,7 @@
.pa_end = 0x480760ff,
.flags = ADDR_TYPE_RT
},
+ { }
};
/* l4_core -> mcbsp2 */
@@ -2109,7 +2110,6 @@
.slave = &omap2420_mcbsp2_hwmod,
.clk = "mcbsp2_ick",
.addr = omap2420_mcbsp2_addrs,
- .addr_cnt = ARRAY_SIZE(omap2420_mcbsp2_addrs),
.user = OCP_USER_MPU | OCP_USER_SDMA,
};