
On 02/03/2014 07:40 PM, Mark Brown wrote:
sound/soc/codecs/adau1977-i2c.c | 58 ++ sound/soc/codecs/adau1977-spi.c | 73 +++
This isn't the general style, if we want to do that we should be converting all the other drivers.
I think we want to change it. Cause as it is right now we always get issues when the SPI core is build-in, but the I2C core is built as a module. Using the scheme used in this driver the core module for the driver does not depend on either framework, but provides a library to the bus specific modules. E.g. if SPI is built-in and the SPI driver for the ADAU1977 is built-in the core will also be built-in, but it is still possible to build I2C as a module and also build the ADAU1977 I2C driver as a module. And I know there is SND_SOC_I2C_AND_SPI, but in my opinion it's a hack to work around the issue. E.g. if you have a board driver and the board driver selects the CODEC driver, the board driver also has to depend on SND_SOC_I2C_AND_SPI to avoid any issues (None of the board drivers do this right now).
+config SND_SOC_ADAU1977
- tristate
+config SND_SOC_ADAU1977_I2C
- tristate
- select SND_SOC_ADAU1977
+config SND_SOC_ADAU1977_SPI
- tristate
- select SND_SOC_ADAU1977
Please make these user visible if OF is in use.
Was there a resolution on how to best do this? Make them always visible, or only when CONFIG_OF is selected?
- Lars