[03/13] video: clarify I2C dependencies

Message ID 1398342509-10243-4-git-send-email-peter.griffin@linaro.org
State New
Headers show

Commit Message

Peter Griffin April 24, 2014, 12:28 p.m.
From: Arnd Bergmann <arnd@arndb.de>

We can only use I2C support in frame buffer drivers if
Either I2C is built-in, or both I2C and the driver itself
are loadable modules.

Fix this dependency for MB862XX and CyberPro frame buffers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-fbdev@vger.kernel.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Anatolij Gustschin <agust@denx.de>
---
 drivers/video/fbdev/Kconfig |    2 ++
 1 file changed, 2 insertions(+)

Comments

Russell King - ARM Linux April 24, 2014, 12:32 p.m. | #1
On Thu, Apr 24, 2014 at 01:28:19PM +0100, Peter Griffin wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> We can only use I2C support in frame buffer drivers if
> Either I2C is built-in, or both I2C and the driver itself
> are loadable modules.

Why?
Arnd Bergmann April 24, 2014, 12:48 p.m. | #2
On Thursday 24 April 2014 13:32:35 Russell King - ARM Linux wrote:
> On Thu, Apr 24, 2014 at 01:28:19PM +0100, Peter Griffin wrote:
> > From: Arnd Bergmann <arnd@arndb.de>
> > 
> > We can only use I2C support in frame buffer drivers if
> > Either I2C is built-in, or both I2C and the driver itself
> > are loadable modules.
> 
> Why?


If I2C is a loadable module, and the I2C support of the framebuffer
driver is built-in, you get a link error when building vmlinux:

drivers/built-in.o: In function `cyberpro_pci_remove':
:(.text+0x1ea5c): undefined reference to `i2c_del_adapter'
drivers/built-in.o: In function `cyberpro_pci_probe':
:(.text+0x20224): undefined reference to `i2c_bit_add_bus'
:(.text+0x20240): undefined reference to `i2c_del_adapter'
make[2]: *** [vmlinux] Error 1

It's probably a good idea to mention that in the changeset
text.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index a4116bf..5577a94 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -360,6 +360,7 @@  config FB_CYBER2000_DDC
 config FB_CYBER2000_I2C
 	bool "CyberPro 2000/2010/5000 I2C support"
 	depends on FB_CYBER2000 && I2C && ARCH_NETWINDER
+	depends on I2C=y || FB_CYBER2000=m
 	select I2C_ALGOBIT
 	help
 	  Enable support for the I2C video decoder interface on the
@@ -2296,6 +2297,7 @@  endchoice
 config FB_MB862XX_I2C
 	bool "Support I2C bus on MB862XX GDC"
 	depends on FB_MB862XX && I2C
+	depends on FB_MB862XX=m || I2C=y
 	default y
 	help
 	  Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter