I got below build error if CONFIG_I2C_STU300=m.

ERROR: "i2c_register_board_info" [arch/arm/mach-u300/i2c.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Fix it by adding proper ifdef guard in i2c.h and Makefile.
So arch/arm/mach-u300/i2c.c will be compiled when CONFIG_I2C_STU300 is
configured as built-in or as a module.

Signed-off-by: Axel Lin <axel....@ingics.com>
---
 arch/arm/mach-u300/Makefile | 4 +++-
 arch/arm/mach-u300/i2c.h    | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-u300/Makefile b/arch/arm/mach-u300/Makefile
index 5a86c58..f612d17 100644
--- a/arch/arm/mach-u300/Makefile
+++ b/arch/arm/mach-u300/Makefile
@@ -9,5 +9,7 @@ obj-            :=
 
 obj-$(CONFIG_SPI_PL022)           += spi.o
 obj-$(CONFIG_MACH_U300_SPIDUMMY)  += dummyspichip.o
-obj-$(CONFIG_I2C_STU300)          += i2c.o
+ifneq ($(CONFIG_I2C_STU300),)
+obj-y          += i2c.o
+endif
 obj-$(CONFIG_REGULATOR_AB3100)    += regulator.o
diff --git a/arch/arm/mach-u300/i2c.h b/arch/arm/mach-u300/i2c.h
index 485c02e..9eec276 100644
--- a/arch/arm/mach-u300/i2c.h
+++ b/arch/arm/mach-u300/i2c.h
@@ -11,7 +11,7 @@
 #ifndef MACH_U300_I2C_H
 #define MACH_U300_I2C_H
 
-#ifdef CONFIG_I2C_STU300
+#if IS_ENABLED(ISCONFIG_I2C_STU300)
 void __init u300_i2c_register_board_devices(void);
 #else
 /* Compile out this stuff if no I2C adapter is available */
-- 
1.8.1.2



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to