Skip to contentSkip to conversation

OMAP1: McBSP: fix build break for non-multi-OMAP1 configs

PATCH New Paul Walmsley 3 participants 4 messages Mar 4, 2011 – Mar 8, 2011

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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.o
arch/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.

Cc Kishon Vijay Abraham I <[email protected]>
Cc Tony Lindgren <[email protected]>
---
 arch/arm/mach-omap1/mcbsp.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)
arch/arm/mach-omap1/mcbsp.c +12 -6
index e68f6c0..d9af981 100644
@@ -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
#1 lore raw

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.o
arch/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

arch/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 -1
 	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);

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.

#2 lore raw

PATCH 1/1 OMAP1: McBSP: fix build break for non-multi-OMAP1 configs

Quoted 6 lines · Jarkko Nikula

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.

Thanks Jarkko. For what it's worth, I agree it's an ugly patch.

- Paul

reviewer
#3 lore raw

PATCH 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_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.

Thanks Jarkko. For what it's worth, I agree it's an ugly patch.

Applying.

Tony