Re: [PATCH] ASoC: dapm: Add support for multi register mux
From: Lars-Peter Clausen
Date: Thu Apr 03 2014 - 09:31:43 EST
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/