Skip to content
  • Axel Lin's avatar
    gpio: mcp23s08: Fix build error when CONFIG_SPI_MASTER=y && CONFIG_I2C=m · 0f119a84
    Axel Lin authored
    
    
    This patch fixes below build error when CONFIG_SPI_MASTER=y && CONFIG_I2C=m &&
    CONFIG_GPIO_MCP23S08=y.
    
      LD      init/built-in.o
    drivers/built-in.o: In function `mcp23017_write':
    clkdev.c:(.text+0x1e14): undefined reference to `i2c_smbus_write_word_data'
    drivers/built-in.o: In function `mcp23017_read':
    clkdev.c:(.text+0x1e24): undefined reference to `i2c_smbus_read_word_data'
    drivers/built-in.o: In function `mcp23008_write':
    clkdev.c:(.text+0x1e8c): undefined reference to `i2c_smbus_write_byte_data'
    drivers/built-in.o: In function `mcp23008_read':
    clkdev.c:(.text+0x1e98): undefined reference to `i2c_smbus_read_byte_data'
    drivers/built-in.o: In function `mcp23008_read_regs':
    clkdev.c:(.text+0x1ed0): undefined reference to `i2c_smbus_read_byte_data'
    drivers/built-in.o: In function `mcp23s08_init':
    clkdev.c:(.init.text+0x30): undefined reference to `i2c_register_driver'
    drivers/built-in.o: In function `mcp23s08_exit':
    clkdev.c:(.exit.text+0x30): undefined reference to `i2c_del_driver'
    make: *** [vmlinux] Error 1
    
    When CONFIG_I2C=m, meaning we can't build the drivers in with I2C support.
    Thus don't allow the drivers to be compiled as built-in when CONFIG_I2C=m.
    
    The real fix though is to break the driver apart into a SPI part, an I2C part
    and a common part. But that's something for 3.11 while this is something for
    3.10/stable.
    
    Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
    Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    0f119a84