On 10/19/2015 09:00 PM, Joachim Eastwood wrote: [...] > +config MMA7455 > + tristate "Freescale MMA7455L/MMA7456L Accelerometer Driver" > + depends on I2C || SPI_MASTER > + select IIO_BUFFER > + select IIO_TRIGGERED_BUFFER > + select MMA7455_I2C if I2C > + select MMA7455_SPI if SPI Ah, damm, I shouldn't have said bmg160 is a good example without actually looking at its Kconfig entry. Only saw the C files and those looked good. This is still problematic. The depends on clause allows this driver to be built-in if either I2C is built-in or SPI_MASTER is built-in. And then the respective I2C and SPI modules will also be selected as built-in even though the I2C symbol is only selected as a module. So you now have built-in code that tries to reference code that is only available as a module. A better solution is to make the Kconfig entries for the I2C and SPI modules user selectable and then let them select the main module. > + help > + Say yes here to build support for the Freescale MMA7455L and > + MMA7456L 3-axis accelerometer. > + > + To compile this driver as a module, choose M here: the module > + will be called mma7455_i2c or mma7455_spi. > + > +config MMA7455_I2C > + tristate > + select REGMAP_I2C > + > +config MMA7455_SPI > + tristate > + select REGMAP_SPI > + -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html