OMAP1: McBSP: fix build break for non-multi-OMAP1 configs
Subsystems (3)
PATCH 1/1 OMAP1: McBSP: fix build break for non-multi-OMAP1 configs
Commit 3cf32bba8ca0e0052ca41d74d455a5805b7fea85 ("OMAP: McBSP: Convert McBSP to platform device model") in the current omap-for-linus branch breaks compilation with non-multi-OMAP1 configs:
CC arch/arm/mach-omap1/mcbsp.oarch/arm/mach-omap1/mcbsp.c: In function 'omap1_mcbsp_init':arch/arm/mach-omap1/mcbsp.c:384: warning: dereferencing 'void *' pointer arch/arm/mach-omap1/mcbsp.c:387: error: invalid use of void expression arch/arm/mach-omap1/mcbsp.c:390: warning: dereferencing 'void *' pointer arch/arm/mach-omap1/mcbsp.c:393: error: invalid use of void expression
Fix by avoiding NULL dereferences.
--- arch/arm/mach-omap1/mcbsp.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-)
arch/arm/mach-omap1/mcbsp.c +12 -6
@@ -136,6 +136,8 @@ struct resource omap7xx_mcbsp_res[][6] = { }, }; +#define omap7xx_mcbsp_res_0 omap7xx_mcbsp_res[0] +static struct omap_mcbsp_platform_data omap7xx_mcbsp_pdata[] = { { .ops = &omap1_mcbsp_ops,
@@ -147,7 +149,7 @@ static struct omap_mcbsp_platform_data omap7xx_mcbsp_pdata[] = {#define OMAP7XX_MCBSP_RES_SZ ARRAY_SIZE(omap7xx_mcbsp_res[1])#define OMAP7XX_MCBSP_COUNT ARRAY_SIZE(omap7xx_mcbsp_res)#else -#define omap7xx_mcbsp_res NULL +#define omap7xx_mcbsp_res_0 NULL#define omap7xx_mcbsp_pdata NULL#define OMAP7XX_MCBSP_RES_SZ 0#define OMAP7XX_MCBSP_COUNT 0
@@ -238,6 +240,8 @@ struct resource omap15xx_mcbsp_res[][6] = { }, }; +#define omap15xx_mcbsp_res_0 omap15xx_mcbsp_res[0] +static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = { { .ops = &omap1_mcbsp_ops,
@@ -252,7 +256,7 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {#define OMAP15XX_MCBSP_RES_SZ ARRAY_SIZE(omap15xx_mcbsp_res[1])#define OMAP15XX_MCBSP_COUNT ARRAY_SIZE(omap15xx_mcbsp_res)#else -#define omap15xx_mcbsp_res NULL +#define omap15xx_mcbsp_res_0 NULL#define omap15xx_mcbsp_pdata NULL#define OMAP15XX_MCBSP_RES_SZ 0#define OMAP15XX_MCBSP_COUNT 0
@@ -343,6 +347,8 @@ struct resource omap16xx_mcbsp_res[][6] = { }, }; +#define omap16xx_mcbsp_res_0 omap16xx_mcbsp_res[0] +static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = { { .ops = &omap1_mcbsp_ops,
@@ -357,7 +363,7 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {#define OMAP16XX_MCBSP_RES_SZ ARRAY_SIZE(omap16xx_mcbsp_res[1])#define OMAP16XX_MCBSP_COUNT ARRAY_SIZE(omap16xx_mcbsp_res)#else -#define omap16xx_mcbsp_res NULL +#define omap16xx_mcbsp_res_0 NULL#define omap16xx_mcbsp_pdata NULL#define OMAP16XX_MCBSP_RES_SZ 0#define OMAP16XX_MCBSP_COUNT 0
@@ -381,19 +387,19 @@ static int __init omap1_mcbsp_init(void)return -ENOMEM ;if (cpu_is_omap7xx ()) -omap_mcbsp_register_board_cfg (omap7xx_mcbsp_res[0 ], +omap_mcbsp_register_board_cfg (omap7xx_mcbsp_res_0,OMAP7XX_MCBSP_RES_SZ , omap7xx_mcbsp_pdata,OMAP7XX_MCBSP_COUNT );if (cpu_is_omap15xx ()) -omap_mcbsp_register_board_cfg (omap15xx_mcbsp_res[0 ], +omap_mcbsp_register_board_cfg (omap15xx_mcbsp_res_0,OMAP15XX_MCBSP_RES_SZ , omap15xx_mcbsp_pdata,OMAP15XX_MCBSP_COUNT );if (cpu_is_omap16xx ()) -omap_mcbsp_register_board_cfg (omap16xx_mcbsp_res[0 ], +omap_mcbsp_register_board_cfg (omap16xx_mcbsp_res_0,OMAP16XX_MCBSP_RES_SZ , omap16xx_mcbsp_pdata,OMAP16XX_MCBSP_COUNT );
Signature · 1 line
1.7.2.3
PATCH 1/1 OMAP1: McBSP: fix build break for non-multi-OMAP1 configs
Quoted 14 lines · On Fri, 4 Mar 2011 15:36:46 -0700 (MST) Paul Walmsley <[email protected]> wrote:
Commit
3cf32bba8ca0e0052ca41d74d455a5805b7fea85("OMAP: McBSP: Convert McBSP to platform device model") in the current omap-for-linus branch breaks compilation with non-multi-OMAP1 configs:CC
arch/arm/mach-omap1/mcbsp.oarch/arm/mach-omap1/mcbsp.c: In function 'omap1_mcbsp_init':arch/arm/mach-omap1/mcbsp.c:384: warning: dereferencing 'void *' pointerarch/arm/mach-omap1/mcbsp.c:387: error: invalid use of void expressionarch/arm/mach-omap1/mcbsp.c:390: warning: dereferencing 'void *' pointerarch/arm/mach-omap1/mcbsp.c:393: error: invalid use of void expressionarch/arm/mach-omap1/mcbsp.c +2
-0+#define omap7xx_mcbsp_res_0 omap7xx_mcbsp_res[0] +
...
arch/arm/mach-omap1/mcbsp.c static int __init omap1_mcbsp_init(void) · line 393
Quoted 6 lines
arch/arm/mach-omap1/mcbsp.c +1
-1if (cpu_is_omap7xx ()) -omap_mcbsp_register_board_cfg (omap7xx_mcbsp_res[0 ], +omap_mcbsp_register_board_cfg (omap7xx_mcbsp_res_0,OMAP7XX_MCBSP_RES_SZ , omap7xx_mcbsp_pdata,OMAP7XX_MCBSP_COUNT );
omapxxx_mcbsp_res_0 doesn't look the best here in readability point of view but provides the smallest fix as no need to rename array and modify the _RES_SZ and _COUNT macros. So this fix is needed here and a small readability update can be done later.
PATCH 1/1 OMAP1: McBSP: fix build break for non-multi-OMAP1 configs
Quoted 6 lines · Jarkko Nikula
omapxxx_mcbsp_res_0doesn't look the best here in readability point of view but provides the smallest fix as no need to rename array and modify the_RES_SZand_COUNTmacros. So this fix is needed here and a small readability update can be done later.Acked-by Jarkko Nikula <[email protected]>
Thanks Jarkko. For what it's worth, I agree it's an ugly patch.
- Paul
Tony Lindgren
reviewerPATCH 1/1 OMAP1: McBSP: fix build break for non-multi-OMAP1 configs
Quoted 10 lines · Paul Walmsley
Quoted 6 lines · Jarkko Nikula
omapxxx_mcbsp_res_0doesn't look the best here in readability point of view but provides the smallest fix as no need to rename array and modify the_RES_SZand_COUNTmacros. So this fix is needed here and a small readability update can be done later.Acked-by Jarkko Nikula <[email protected]>Thanks Jarkko. For what it's worth, I agree it's an ugly patch.
Applying.
Tony