From d6ae99d04e1cca3aa4696cc1b1b90542198e2d0a Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Sun, 13 Oct 2013 12:30:00 -0700 Subject: [PATCH] staging/olpc_dcon: fix kconfig to fix build errors Fix build errors when GPIO_CS5535=m and FB_OLPC_DCON=y by preventing that kconfig combination. These build errors are caused by having a kconfig bool symbol (FB_OLPC_DCON_1) that depend on a tristate symbol (GPIO_CS5535), but when the tristate symbol is =m, the bool symbol is =y. drivers/built-in.o: In function `dcon_read_status_xo_1': olpc_dcon_xo_1.c:(.text+0x359531): undefined reference to `cs5535_gpio_set' drivers/built-in.o: In function `dcon_wiggle_xo_1': olpc_dcon_xo_1.c:(.text+0x35959f): undefined reference to `cs5535_gpio_set' olpc_dcon_xo_1.c:(.text+0x359610): undefined reference to `cs5535_gpio_clear' drivers/built-in.o:olpc_dcon_xo_1.c:(.text+0x3596a1): more undefined references to `cs5535_gpio_clear' follow drivers/built-in.o: In function `dcon_wiggle_xo_1': olpc_dcon_xo_1.c:(.text+0x359708): undefined reference to `cs5535_gpio_set' drivers/built-in.o: In function `dcon_init_xo_1': olpc_dcon_xo_1.c:(.text+0x35989b): undefined reference to `cs5535_gpio_clear' olpc_dcon_xo_1.c:(.text+0x3598b5): undefined reference to `cs5535_gpio_isset' olpc_dcon_xo_1.c:(.text+0x359963): undefined reference to `cs5535_gpio_setup_event' olpc_dcon_xo_1.c:(.text+0x359980): undefined reference to `cs5535_gpio_set_irq' olpc_dcon_xo_1.c:(.text+0x359a36): undefined reference to `cs5535_gpio_set' However, adding GPIO_CS5535 to the Kconfig dependencies also creates a kconfig recursive dependency error on powerpc: drivers/i2c/Kconfig:5:error: recursive dependency detected! drivers/i2c/Kconfig:5: symbol I2C is selected by FB_OLPC_DCON drivers/staging/olpc_dcon/Kconfig:1: symbol FB_OLPC_DCON depends on GPIO_CS5535 drivers/gpio/Kconfig:577: symbol GPIO_CS5535 depends on GPIOLIB drivers/gpio/Kconfig:38: symbol GPIOLIB is selected by ARCH_REQUIRE_GPIOLIB drivers/gpio/Kconfig:23: symbol ARCH_REQUIRE_GPIOLIB is selected by MCU_MPC8349EMITX arch/powerpc/platforms/Kconfig:351: symbol MCU_MPC8349EMITX depends on I2C This is due to FB_OLPC_DCON selecting I2C instead of depending on it, so change the select to a dependency. Signed-off-by: Randy Dunlap Cc: Daniel Drake Cc: Jens Frederich Cc: Jon Nettleton Signed-off-by: Greg Kroah-Hartman --- drivers/staging/olpc_dcon/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/olpc_dcon/Kconfig b/drivers/staging/olpc_dcon/Kconfig index 2ff015d84509..d277f048789e 100644 --- a/drivers/staging/olpc_dcon/Kconfig +++ b/drivers/staging/olpc_dcon/Kconfig @@ -1,7 +1,8 @@ config FB_OLPC_DCON tristate "One Laptop Per Child Display CONtroller support" depends on OLPC && FB - select I2C + depends on I2C + depends on (GPIO_CS5535 || GPIO_CS5535=n) select BACKLIGHT_CLASS_DEVICE ---help--- In order to support very low power operation, the XO laptop uses a -- 2.11.0