On Wed, Sep 10, 2014 at 10:06:58AM +0200, Tobias Klauser wrote: > If SERIAL_MCTRL_GPIO is selected but GPIOLIB is not, the noop functions > from serial_mctrl_gpio.h are pulled in. However, serial_mctrl_gpio.c is > still compiled, leading to function redefinition build errors. Since all > drivers that include serial_mctrl_gpio.h also depend on > SERIAL_MCTRL_GPIO, let it depend on GPIOLIB as well remove the noop > functions alltogether. > > Reported-by: Jim Davis <[email protected]> > Signed-off-by: Tobias Klauser <[email protected]> > --- > drivers/tty/serial/Kconfig | 1 + > drivers/tty/serial/serial_mctrl_gpio.h | 35 > ---------------------------------- > 2 files changed, 1 insertion(+), 35 deletions(-)
I fixed this yesterday with commit below from Alexander, which does things a bit differently than you. Any objections to it? thanks, greg k-h
>From efb089517d2f34a58aceb600ab58b0ca3db1fa07 Mon Sep 17 00:00:00 2001 From: Alexander Shiyan <[email protected]> Date: Tue, 9 Sep 2014 08:14:36 +0400 Subject: serial: clps711x: Fix COMPILE_TEST build for target without GPIOLIB support The patch fixes the following build error of CLPS711X serial driver for targets without GPIOLIB support: >> drivers/tty/serial/serial_mctrl_gpio.c:44:6: error: redefinition of 'mctrl_gpio_set' void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) ^ In file included from drivers/tty/serial/serial_mctrl_gpio.c:23:0: drivers/tty/serial/serial_mctrl_gpio.h:80:6: note: previous definition of 'mctrl_gpio_set' was here void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) ^ Reported-by: kbuild test robot <[email protected]> Signed-off-by: Alexander Shiyan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> --- drivers/tty/serial/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index 8079f5225575..81f6ee7d4223 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -222,7 +222,7 @@ config SERIAL_CLPS711X tristate "CLPS711X serial port support" depends on ARCH_CLPS711X || COMPILE_TEST select SERIAL_CORE - select SERIAL_MCTRL_GPIO + select SERIAL_MCTRL_GPIO if GPIOLIB help This enables the driver for the on-chip UARTs of the Cirrus Logic EP711x/EP721x/EP731x processors. -- 2.1.0

