[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