* [PATCH 0/2] ASoC: Add macros for signed TLV controls with callbacks @ 2022-04-22 16:01 Richard Fitzgerald 2022-04-22 16:01 ` [PATCH 1/2] ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro Richard Fitzgerald 2022-04-22 16:01 ` [PATCH 2/2] ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro Richard Fitzgerald 0 siblings, 2 replies; 5+ messages in thread From: Richard Fitzgerald @ 2022-04-22 16:01 UTC (permalink / raw) To: broonie; +Cc: alsa-devel, linux-kernel, patches, Richard Fitzgerald This adds SOC_DOUBLE_R_S_EXT_TLV and SOC_SINGLE_S_EXT_TLV macros for signed TLV controls that need custom get/put callbacks. These will be needed by future Cirrus codec drivers, but are not particularly exotic so could be useful for others. Richard Fitzgerald (1): ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro Simon Trimmer (1): ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro include/sound/soc.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro 2022-04-22 16:01 [PATCH 0/2] ASoC: Add macros for signed TLV controls with callbacks Richard Fitzgerald @ 2022-04-22 16:01 ` Richard Fitzgerald 2022-04-25 12:26 ` Mark Brown 2022-04-22 16:01 ` [PATCH 2/2] ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro Richard Fitzgerald 1 sibling, 1 reply; 5+ messages in thread From: Richard Fitzgerald @ 2022-04-22 16:01 UTC (permalink / raw) To: broonie; +Cc: alsa-devel, linux-kernel, patches, Simon Trimmer From: Simon Trimmer <simont@opensource.cirrus.com> 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> --- include/sound/soc.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/sound/soc.h b/include/sound/soc.h index 2d3261799d2c..8368b69dfef8 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -282,6 +282,17 @@ .get = xhandler_get, .put = xhandler_put, \ .private_value = SOC_DOUBLE_R_VALUE(reg_left, reg_right, xshift, \ xmax, xinvert) } +#define SOC_DOUBLE_R_S_EXT_TLV(xname, reg_left, reg_right, xshift, xmin, xmax, \ + xsign_bit, xinvert, xhandler_get, xhandler_put, \ + tlv_array) \ +{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ + .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ | \ + SNDRV_CTL_ELEM_ACCESS_READWRITE, \ + .tlv.p = (tlv_array), \ + .info = snd_soc_info_volsw, \ + .get = xhandler_get, .put = xhandler_put, \ + .private_value = SOC_DOUBLE_R_S_VALUE(reg_left, reg_right, xshift, \ + xmin, xmax, xsign_bit, xinvert) } #define SOC_SINGLE_BOOL_EXT(xname, xdata, xhandler_get, xhandler_put) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ .info = snd_soc_info_bool_ext, \ -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro 2022-04-22 16:01 ` [PATCH 1/2] ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro Richard Fitzgerald @ 2022-04-25 12:26 ` Mark Brown 2022-04-25 12:40 ` Richard Fitzgerald 0 siblings, 1 reply; 5+ messages in thread From: Mark Brown @ 2022-04-25 12:26 UTC (permalink / raw) To: Richard Fitzgerald; +Cc: alsa-devel, linux-kernel, patches, Simon Trimmer [-- Attachment #1: Type: text/plain, Size: 515 bytes --] On Fri, Apr 22, 2022 at 05:01:11PM +0100, Richard Fitzgerald wrote: > From: Simon Trimmer <simont@opensource.cirrus.com> > > 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> > --- You've not provided a Signed-off-by for this so I can't do anything with it, please see Documentation/process/submitting-patches.rst for details on what this is and why it's important. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro 2022-04-25 12:26 ` Mark Brown @ 2022-04-25 12:40 ` Richard Fitzgerald 0 siblings, 0 replies; 5+ messages in thread From: Richard Fitzgerald @ 2022-04-25 12:40 UTC (permalink / raw) To: Mark Brown; +Cc: alsa-devel, linux-kernel, patches, Simon Trimmer On 25/04/2022 13:26, Mark Brown wrote: > On Fri, Apr 22, 2022 at 05:01:11PM +0100, Richard Fitzgerald wrote: >> From: Simon Trimmer <simont@opensource.cirrus.com> >> >> 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> >> --- > > You've not provided a Signed-off-by for this so I can't do anything with > it, please see Documentation/process/submitting-patches.rst for details > on what this is and why it's important. > Damn, sorry. Would be nice if checkpatch warned about that. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro 2022-04-22 16:01 [PATCH 0/2] ASoC: Add macros for signed TLV controls with callbacks Richard Fitzgerald 2022-04-22 16:01 ` [PATCH 1/2] ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro Richard Fitzgerald @ 2022-04-22 16:01 ` Richard Fitzgerald 1 sibling, 0 replies; 5+ messages in thread From: Richard Fitzgerald @ 2022-04-22 16:01 UTC (permalink / raw) To: broonie; +Cc: alsa-devel, linux-kernel, patches, Richard Fitzgerald Add a SOC_SINGLE_S_EXT_TLV macro as a convenience wrapper around SOC_DOUBLE_R_S_EXT_TLV for mono volume controls. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> --- include/sound/soc.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/sound/soc.h b/include/sound/soc.h index 8368b69dfef8..f906e5a70830 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -293,6 +293,12 @@ .get = xhandler_get, .put = xhandler_put, \ .private_value = SOC_DOUBLE_R_S_VALUE(reg_left, reg_right, xshift, \ xmin, xmax, xsign_bit, xinvert) } +#define SOC_SINGLE_S_EXT_TLV(xname, xreg, xshift, xmin, xmax, \ + xsign_bit, xinvert, xhandler_get, xhandler_put, \ + tlv_array) \ + SOC_DOUBLE_R_S_EXT_TLV(xname, xreg, xreg, xshift, xmin, xmax, \ + xsign_bit, xinvert, xhandler_get, xhandler_put, \ + tlv_array) #define SOC_SINGLE_BOOL_EXT(xname, xdata, xhandler_get, xhandler_put) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ .info = snd_soc_info_bool_ext, \ -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-04-25 12:41 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-04-22 16:01 [PATCH 0/2] ASoC: Add macros for signed TLV controls with callbacks Richard Fitzgerald 2022-04-22 16:01 ` [PATCH 1/2] ASoC: soc.h: Introduce SOC_DOUBLE_R_S_EXT_TLV() macro Richard Fitzgerald 2022-04-25 12:26 ` Mark Brown 2022-04-25 12:40 ` Richard Fitzgerald 2022-04-22 16:01 ` [PATCH 2/2] ASoC: soc.h: Add SOC_SINGLE_S_EXT_TLV macro Richard Fitzgerald
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®