linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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 related	[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 related	[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

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;
as well as URLs for NNTP newsgroup(s).