ASoC: core: Add support for masking out parts of coefficient blocks
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 18 Feb 2012 00:20:33 +0000 (16:20 -0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 21 Feb 2012 19:34:48 +0000 (19:34 +0000)
commitf831b055ececb3172f7fe498db5ca1fb43ff644d
treecf0209339df80b83065986fe4db7f1ad61b9a154
parent71d08516b80638a69d5efea4e8cb832c053f9dd9
ASoC: core: Add support for masking out parts of coefficient blocks

Chip designers frequently include things like the enable and disable
controls for algorithms in the register blocks which also hold the
coefficients. Since it's desirable to split out the enable/disable
control from userspace the plain SND_SOC_BYTES() isn't optimal for
these devices.

Add a SND_SOC_BYTES_MASK() which allows a bitmask from the first word
of the block to be excluded from the control. This supports the needs
of devices I've looked at and lets us have a reasonably simple API.
Further controls can be added in future if that's needed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
include/sound/soc.h
sound/soc/soc-core.c