Skip to content

Commit cf51406

Browse files
simontrimmerbroonie
authored andcommitted
ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro
A straightforward extension of the SOC_DOUBLE_R_S_TLV() macro that allows the get and put functions to be customised. Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com> Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220425125012.3044919-2-rf@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 57ebd5d commit cf51406

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

include/sound/soc.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,17 @@
282282
.get = xhandler_get, .put = xhandler_put, \
283283
.private_value = SOC_DOUBLE_R_VALUE(reg_left, reg_right, xshift, \
284284
xmax, xinvert) }
285+
#define SOC_DOUBLE_R_S_EXT_TLV(xname, reg_left, reg_right, xshift, xmin, xmax, \
286+
xsign_bit, xinvert, xhandler_get, xhandler_put, \
287+
tlv_array) \
288+
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
289+
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ | \
290+
SNDRV_CTL_ELEM_ACCESS_READWRITE, \
291+
.tlv.p = (tlv_array), \
292+
.info = snd_soc_info_volsw, \
293+
.get = xhandler_get, .put = xhandler_put, \
294+
.private_value = SOC_DOUBLE_R_S_VALUE(reg_left, reg_right, xshift, \
295+
xmin, xmax, xsign_bit, xinvert) }
285296
#define SOC_SINGLE_BOOL_EXT(xname, xdata, xhandler_get, xhandler_put) \
286297
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
287298
.info = snd_soc_info_bool_ext, \

0 commit comments

Comments
 (0)