Re: [PATCH] ASoC: dapm: Add support for multi register mux

From: Lars-Peter Clausen
Date: Mon Apr 07 2014 - 08:54:18 EST


On 04/05/2014 02:12 AM, Arun Shamanna Lakshmi wrote:
1. Modify soc_enum struct to handle pointers for reg and mask
2. Add dapm get and put APIs for multi register one hot encoded mux
3. Update snd_soc_dapm_update struct to support multiple reg update

Signed-off-by: Arun S L <aruns@xxxxxxxxxx>
Signed-off-by: Songhee Baek <sbaek@xxxxxxxxxx>

Looks good to me, so:

Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx>


As Takashi said it is not that nice that there is a bit of code churn by having to update all the existing users of e->reg and e->mask. But implementing this properly seems to cause even more code churn. And I think it will be done best in an effort to consolidate the kcontrol helpers and the DAPM kcontrol helpers by adding an additional layer of abstraction between the kcontrols and the hardware access that translates between the logical value and the physical value(s).

E.g. something like

struct kcontrol_ops {
int (*read)(...);
int (*write)(...);
};

And then have one kind of ops for each kind of control type and at the high level only have put and get handlers for enums and for switches/volumes.

- 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/