mbox series

[v3,0/1] Enable using multiple different type kcontrols for widgets

Message ID 20210504100713.4160008-1-jaska.uimonen@linux.intel.com (mailing list archive)
Headers show
Series Enable using multiple different type kcontrols for widgets | expand

Message

Jaska Uimonen May 4, 2021, 10:07 a.m. UTC
Hi,

This is a patch v3 for enabling multiple different types of kcontrols
for a dapm widget.

Currently asoc allows to define and parse multiple same type kcontrols
for single widget. So you can have for example two volume controls in
a widget but not one byte and one enum control. Lately we've seen
couple of cases where different types of controls would be useful and
alsa topology actually allows you to create these.

This patch refactors the dapm kcontrol parsing by lifting the creation
loop and memory allocation up one level and making the type variable
to hold multiple type values. Sof driver is modified to use this type
information in the same patch as it is quite cumbersome to split the
changes nicely.

changes since v2:
- only 1 patch for not breaking bisect
- sof internal reviews -> minor changes + reviewed by tags
- no upstream comments after v2 -> assuming I'm on the right track here

Jaska Uimonen (1):
  ASoC: dapm: Add support for multiple kcontrol types to a widget

 include/sound/soc-topology.h |   2 +-
 sound/soc/soc-topology.c     | 466 +++++++++++++++++------------------
 sound/soc/sof/topology.c     |  15 +-
 3 files changed, 233 insertions(+), 250 deletions(-)