[alsa-devel] [PATCH] ASoC: dapm: Add support for multi register mux
Lars-Peter Clausen
lars at metafoo.de
Thu Apr 3 15:31:58 CEST 2014
On 04/03/2014 11:53 AM, Mark Brown wrote:
> On Thu, Apr 03, 2014 at 11:47:15AM +0200, Takashi Iwai wrote:
>
>> I'm a bit late in the game, but I feel a bit uneasy through looking
>> at the whole changes. My primary question is, whether do we really
>> need to share the same struct soc_enum for the onehot type? What
>> makes hard to use a struct soc_enum_onehot for them? You need
>> different individual get/put for each type. We may still need to
>> change soc_dapm_update stuff, but it's different from sharing
>> soc_enum.
>
> Indeed, I had thought this was where the discussion was heading - not
> looked at this version of the patch yet.
>
It would be nice, but it also requires some slight restructuring. The issue
we have right now is that there is strictly speaking a bit of a layering
violation. The DAPM widgets should not need to know how the kcontrols that
are attached to the widget do their IO. What we essentially do in
dapm_connect_mux() (and also dapm_connect_mixer) is an open-coded version of
the controls get handler. Replacing that by calling the get handler instead
should allow us to use different structs for enums and onehot enums.
- Lars
More information about the Alsa-devel
mailing list