pinctrl: mcp23s08: improve I2C Kconfig dependency
authorArnd Bergmann <arnd@arndb.de>
Tue, 30 May 2017 09:11:28 +0000 (11:11 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 30 May 2017 23:58:36 +0000 (01:58 +0200)
commitadeac77549ec13dc3bf87ec21f1b8a00f069bb1c
tree48f400cc2754da77104344a2e8c6026f843cf629
parent4196be5ba0b0f394ecee1cd1fde945034f943556
pinctrl: mcp23s08: improve I2C Kconfig dependency

With "SPI_MASTER=y && I2C=m", we can build mcp23s08 as a built-in driver,
which then results in a link failure:

drivers/pinctrl/built-in.o: In function `mcp23s08_probe_one.isra.0':
:(.text+0x7910): undefined reference to `__devm_regmap_init_i2c'
drivers/pinctrl/built-in.o: In function `mcp23s08_init':
:(.init.text+0x110): undefined reference to `i2c_register_driver'
drivers/pinctrl/built-in.o: In function `mcp23s08_exit':
:(.exit.text+0x3c): undefined reference to `i2c_del_driver'

To avoid the problem, this adds another dependency on I2C that enforces
mcp23s08 to be a loadable module whenever the I2C core is a module.

Fixes: 64ac43e6fa28 ("gpio: mcp23s08: move to pinctrl")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/Kconfig