ASoC: topology: Update TLV support so we can support more TLV types
authorMengdong Lin <mengdong.lin@intel.com>
Wed, 5 Aug 2015 13:41:13 +0000 (14:41 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 6 Aug 2015 11:34:46 +0000 (12:34 +0100)
commit28a87eebcad40101b1b273cbd4f2a02c104f9367
tree09e5be519de6b8f9f19d3ce3122678dfa5560f89
parent113adf21cf1ed49b57098c1d0d6b38ffbe9ea1e6
ASoC: topology: Update TLV support so we can support more TLV types

Currently the TLV topology structure is targeted at only supporting the
DB scale data. This patch extends support for the other TLV types so they
can be easily added at a later stage.

TLV structure is moved to common topology control header since it's a
common field for controls and can be processed in a general way.

Users must set a proper access flag for a control since it's used to
decide if the TLV field is valid and if a TLV callback is needed.

Removed the following fields from topology TLV struct:
- size/count: type can decide the size.
- numid: not needed to initialize TLV for kcontrol.
- data: replaced by the type specific struct.

Added TLV structure to generic control header and removed TLV structure
from mixer control.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/uapi/sound/asoc.h
sound/soc/soc-topology.c