On Tue, Feb 04, 2014 at 12:16:38PM +0100, Lars-Peter Clausen wrote:
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).
I'm having a hard time seeing that as a meaningful issue to be honest - only I2C has the modular option and I'm never terribly convinced about the realism of scenarios that trigger this. In any case the main thing is that we shouldn't be silently putting something like this into driver submissions, we should be actively making the change to all drivers.
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?
Always visible if their dependencies are enabled.