• Arnd Bergmann's avatar
    pinctrl: mcp23s08: improve I2C Kconfig dependency · adeac775
    Arnd Bergmann authored
    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: 64ac43e6 ("gpio: mcp23s08: move to pinctrl")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    adeac775
Kconfig 8.76 KB