Skip to contentSkip to conversation

omap: fix build when MTD_NAND_OMAP2 and TOUCHSCREEN_ADS7846 are disabled

PATCH Superseded Mike Rapoport 3 participants 5 messages May 4, 2011 – May 9, 2011

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

PATCH 1/1 omap: fix build when MTD_NAND_OMAP2 and TOUCHSCREEN_ADS7846 are disabled

Commits 5e6a64b36ce346b7a2d481ef9fa315290eb28e5e (omap: move detection of NAND CS to common-board-devices) and 96974a249b0cf3537f49115a59be67e2c54f315c (omap: consolidate touch screen initialization among different boards) break compilation when CONFIG_MTD_NAND_OMAP2 and CONFIG_TOUCHSCREEN_ADS7846 are not selected.
Removing ifdefs and stubs from common-board-devices.h fixes the problem.

---
17 more lines are gone ;-)

 arch/arm/mach-omap2/common-board-devices.h |   17 -----------------
 1 files changed, 0 insertions(+), 17 deletions(-)
arch/arm/mach-omap2/common-board-devices.h +0 -17
index ca03abf..eb80b3b 100644
@@ -26,27 +26,10 @@ static inline void omap4_pmic_init(const char *pmic_type,
 	omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
 }
 
-#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
-	defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
 struct ads7846_platform_data;
 
 void omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
 		       struct ads7846_platform_data *board_pdata);
-#else
-static inline void omap_ads7846_init(int bus_num,
-				     int gpio_pendown, int gpio_debounce,
-				     struct ads7846_platform_data *board_data)
-{
-}
-#endif
-
-#if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
 void omap_nand_flash_init(int opts, struct mtd_partition *parts, int n_parts);
-#else
-static inline void omap_nand_flash_init(int opts, struct mtd_partition *parts,
-					int nr_parts)
-{
-}
-#endif
 
 #endif /* __OMAP_COMMON_BOARD_DEVICES__ */
Signature · 1 line
1.7.3.1
#1 lore raw

PATCH 1/1 omap: fix build when MTD_NAND_OMAP2 and TOUCHSCREEN_ADS7846 are disabled

Hello!

Quoted 6 lines · Mike Rapoport

Commits 5e6a64b36ce346b7a2d481ef9fa315290eb28e5e (omap: move detection of NAND CS to common-board-devices) and 96974a249b0cf3537f49115a59be67e2c54f315c (omap: consolidate touch screen initialization among different boards) break compilation when CONFIG_MTD_NAND_OMAP2 and CONFIG_TOUCHSCREEN_ADS7846 are not selected.
Removing ifdefs and stubs from common-board-devices.h fixes the problem.

Works for me.

Bye,
Oleg

maintainer
#2 lore raw

PATCH 1/1 omap: fix build when MTD_NAND_OMAP2 and TOUCHSCREEN_ADS7846 are disabled

Quoted 4 lines · Oleg Drokin

Hello!

On May 4, 2011, at 9:27 AM, Mike Rapoport wrote:

Quoted 8 lines
Quoted 6 lines

Commits 5e6a64b36ce346b7a2d481ef9fa315290eb28e5e (omap: move detection of NAND CS to common-board-devices) and 96974a249b0cf3537f49115a59be67e2c54f315c (omap: consolidate touch screen initialization among different boards) break compilation when CONFIG_MTD_NAND_OMAP2 and CONFIG_TOUCHSCREEN_ADS7846 are not selected.
Removing ifdefs and stubs from common-board-devices.h fixes the problem.

Works for me.

We should not build in code unnecessarily unless the boards has ads7847. Many boards don't have it.

So how about do the ifdef optimization for ads7846_spi_board_info and omap_ads7846_init in common-board-devices.c?

That keeps the header clean and the we have all the code in one place in a way where it's optimized out if not selected.

Regards,

Tony

#3 lore raw

PATCH v2 1/1 omap: fix build when MTD_NAND_OMAP2 and TOUCHSCREEN_ADS7846 are disabled

Commits 5e6a64b36ce346b7a2d481ef9fa315290eb28e5e (omap: move detection of NAND CS to common-board-devices) and 96974a249b0cf3537f49115a59be67e2c54f315c (omap: consolidate touch screen initialization among different boards) break compilation when CONFIG_MTD_NAND_OMAP2 and CONFIG_TOUCHSCREEN_ADS7846 are not selected.
Removing ifdefs and stubs from common-board-devices.h fixes the problem.

---
Hope this one is better.

 arch/arm/mach-omap2/common-board-devices.c |   15 +++++++++++++++
 arch/arm/mach-omap2/common-board-devices.h |   17 -----------------
 2 files changed, 15 insertions(+), 17 deletions(-)
arch/arm/mach-omap2/common-board-devices.c +15 -0
index d57c71d..e94903b 100644
@@ -50,6 +50,8 @@ void __init omap_pmic_init(int bus, u32 clkrate,
 	omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1);
 }
 
+#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
+	defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
 static struct omap2_mcspi_device_config ads7846_mcspi_config = {
 	.turbo_mode	= 0,
 	.single_channel	= 1,	/* 0: slave, 1: master */
@@ -105,7 +107,14 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
 
 	spi_register_board_info(&ads7846_spi_board_info, 1);
 }
+#else
+void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
+			      struct ads7846_platform_data *board_pdata)
+{
+}
+#endif
 
+#if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
 static struct omap_nand_platform_data nand_data = {
 	.dma_channel	= -1,		/* disable DMA in OMAP NAND driver */
 };
@@ -146,3 +155,9 @@ void __init omap_nand_flash_init(int options, struct mtd_partition *parts,
 			printk(KERN_ERR "Unable to register NAND device\n");
 	}
 }
+#else
+void __init omap_nand_flash_init(int options, struct mtd_partition *parts,
+				 int nr_parts)
+{
+}
+#endif
arch/arm/mach-omap2/common-board-devices.h +0 -17
index ca03abf..eb80b3b 100644
@@ -26,27 +26,10 @@ static inline void omap4_pmic_init(const char *pmic_type,
 	omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
 }
 
-#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
-	defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
 struct ads7846_platform_data;
 
 void omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
 		       struct ads7846_platform_data *board_pdata);
-#else
-static inline void omap_ads7846_init(int bus_num,
-				     int gpio_pendown, int gpio_debounce,
-				     struct ads7846_platform_data *board_data)
-{
-}
-#endif
-
-#if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
 void omap_nand_flash_init(int opts, struct mtd_partition *parts, int n_parts);
-#else
-static inline void omap_nand_flash_init(int opts, struct mtd_partition *parts,
-					int nr_parts)
-{
-}
-#endif
 
 #endif /* __OMAP_COMMON_BOARD_DEVICES__ */
Signature · 1 line
1.7.3.1
maintainer
#4 lore raw

PATCH v2 1/1 omap: fix build when MTD_NAND_OMAP2 and TOUCHSCREEN_ADS7846 are disabled

Quoted 11 lines · Mike Rapoport

Commits 5e6a64b36ce346b7a2d481ef9fa315290eb28e5e (omap: move detection of NAND CS to common-board-devices) and 96974a249b0cf3537f49115a59be67e2c54f315c (omap: consolidate touch screen initialization among different boards) break compilation when CONFIG_MTD_NAND_OMAP2 and CONFIG_TOUCHSCREEN_ADS7846 are not selected.
Removing ifdefs and stubs from common-board-devices.h fixes the problem.

---
Hope this one is better.

Thanks, I'll fold this into your original patch.

Tony