[alsa-devel] [PATCH 0/2] soundwire: fix Kconfig select/depend issues

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Fri Apr 12 16:56:21 CEST 2019


>>> Removing SOUNDWIRE_BUS Kconfig did clean it up and made it bit more
>>> align with others
> 
>> Good point, but no. This is intentional and follows the Kconfig pattern
>> pattern described by Takashi at https://lkml.org/lkml/2017/11/17/47
> 
>> yes, this SOUNDWIRE is overkill for now, but let's assume there is a second
>> non-intel implementation (which I understand as very likely given all the
>> threads on ARM64 support). In that case you'd really want a top-level
>> selector option that has no actual compilation impact - not used in any
>> Makefile or code - but enables the sub-options and let users/distros select
>> the platforms they care about.
> 
> I don't understand what you're saying here - what is the intended
> difference between SOUNDWIRE and SOUNDWIRE_BUS?  Having the separate
> option for _INTEL for your controller makes sense but otherwise the
> normal pattern for a bus would be that you'd have the root config
> option for the bus (which would enable the core code for the bus) and
> then everything else is hidden behind that.

I was thinking of this pattern:

config SOUNDWIRE
	bool "SoundWire support"

if SOUNDWIRE

config SOUNDWIRE_INTEL
	tristate "SoundWire for Intel"
	select SOUNDWIRE_BUS

config SOUNDWIRE_XYZ_ARM64
	tristate "SoundWire for XYZ platform"
	select SOUNDWIRE_BUS

config SOUNDWIRE_BUS
	tristate

endif

One could argue that SOUNDWIRE could select SOUNDWIRE_BUS directly, or 
merge the two, but then you could have a configuration where the bus is 
included with no actual users. Not to mention that the intent of the 
top-level selector is typically to have no impact on compilation as 
recommended by Linus.


More information about the Alsa-devel mailing list