Lars-Peter Clausen 29ae2fa553 ASoC: Consolidate enum and value enum controls
The implementations for enum and value enum controls are almost identical. The
only difference is that the value enum uses an additional look-up table to map
the control value to the register value, while the enum control uses a direct
mapping. Enums and value enums can easily be distinguished at runtime, for value
enums the values field of the snd_soc_enum struct contains the look-up table,
while for enums it is NULL. This patch adds two new small helper functions
called snd_soc_enum_item_to_val() and snd_soc_enum_val_to_item() which map
between register value and control item. If the items field of the snd_soc_enum
struct is NULL the function will do a direct mapping otherwise they'll use the
look-up table to do the mapping. Using these small helper functions it is
possible to use the same kcontrol handlers for both enums and value enums. The
functions are added a inline functions in soc.h so they can also be used by the
DAPM code to accomplish similar consolidation.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-01 12:03:33 +09:00
..
2012-10-09 07:07:14 +09:00
2012-10-09 07:07:14 +09:00
2011-08-17 00:53:54 +09:00
2011-05-19 14:10:45 -07:00
2013-08-19 15:48:33 +02:00
2013-02-14 17:27:17 +00:00
2012-09-28 14:21:54 +01:00
2009-02-05 09:17:50 +01:00
2012-01-03 22:54:56 -05:00
2008-11-17 11:45:39 +00:00
2010-10-18 16:46:27 -07:00
2011-02-14 17:10:11 +01:00
2013-12-30 12:19:26 +00:00
2014-01-23 18:48:28 -08:00
2013-06-12 17:46:54 +01:00
2012-12-24 15:57:20 +00:00
2013-05-08 15:43:56 +02:00
2011-09-20 16:02:16 +01:00
2009-12-18 13:06:47 +00:00
2011-08-08 14:30:37 +09:00
2010-04-30 16:12:44 +01:00