ASoC: rt1011: Fix 'I2S Reference' enum control
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Wed, 13 Oct 2021 12:33:00 +0000 (15:33 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 13 Oct 2021 15:26:15 +0000 (16:26 +0100)
commitf05a9b8552896d95fc22e135eaf9c6be541bfe79
tree7e509110af6b725c75626d2f8b7e7123c51f3c4f
parent51a67d6e28c6e1f10c8ef95b4f5fbf204ebbeb24
ASoC: rt1011: Fix 'I2S Reference' enum control

There are several things the patch adding the support for 'I2S Reference'
got wrong:
- "None" selection is in fact equals to last selected reference
- The custom put overrides RX/TX len, TDM slot sizes, etc
- the enum is useless in most part for the reference tracking
- there is no need for EXT control as there is a single bit in
  RT1011_TDM1_SET_1 register (bit 7) which selects the reference
- it was using ucontrol->value.integer.value[0] in the put/get callbacks
  which causesed access to 'I2S Reference' enum with alsamixer to fail

Complements: c3de683c4d1d ("ASoC: rt1011: Fix 'I2S Reference' enum control caused error")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20211013123300.11095-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt1011.c
sound/soc/codecs/rt1011.h