mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] usb: gadget: f_uac1: Change volume name and remove alt names
@ 2024-08-03 23:27 crwulff
  2024-08-04  0:23 ` Chris Wulff
  0 siblings, 1 reply; 2+ messages in thread
From: crwulff @ 2024-08-03 23:27 UTC (permalink / raw)
  To: linux-usb
  Cc: Greg Kroah-Hartman, Lee Jones, Jeff Johnson, Perr Zhang,
	Pavel Hofman, linux-kernel, Chris Wulff

From: Chris Wulff <crwulff@gmail.com>

This changes the UAPI to align with disussion of alt settings work.

fu_name is renamed to fu_vol_name, and alt settings mode names
are removed for now in favor of future work where they will be
settable in subdirectories for each alt mode.

discussion thread for api changes for alt mode settings:
https://lore.kernel.org/linux-usb/35be4668-58d3-894a-72cf-de1afaacae45@ivitera.com/T/

Signed-off-by: Chris Wulff <crwulff@gmail.com>
---
v2: Moved discussion thread tidbit into commit message
v1: https://lore.kernel.org/all/20240803155215.2746444-2-crwulff@gmail.com/
---
 .../ABI/testing/configfs-usb-gadget-uac1      |  8 ++---
 Documentation/usb/gadget-testing.rst          |  8 ++---
 drivers/usb/gadget/function/f_uac1.c          | 36 +++++++------------
 drivers/usb/gadget/function/u_uac1.h          |  8 ++---
 4 files changed, 18 insertions(+), 42 deletions(-)

diff --git a/Documentation/ABI/testing/configfs-usb-gadget-uac1 b/Documentation/ABI/testing/configfs-usb-gadget-uac1
index cf93b98b274d..64188a85592b 100644
--- a/Documentation/ABI/testing/configfs-usb-gadget-uac1
+++ b/Documentation/ABI/testing/configfs-usb-gadget-uac1
@@ -33,13 +33,9 @@ Description:
 		p_it_name		playback input terminal name
 		p_it_ch_name		playback channels name
 		p_ot_name		playback output terminal name
-		p_fu_name		playback functional unit name
-		p_alt0_name		playback alt mode 0 name
-		p_alt1_name		playback alt mode 1 name
+		p_fu_vol_name		playback mute/volume functional unit name
 		c_it_name		capture input terminal name
 		c_it_ch_name		capture channels name
 		c_ot_name		capture output terminal name
-		c_fu_name		capture functional unit name
-		c_alt0_name		capture alt mode 0 name
-		c_alt1_name		capture alt mode 1 name
+		c_fu_vol_name		capture mute/volume functional unit name
 		=====================	=======================================
diff --git a/Documentation/usb/gadget-testing.rst b/Documentation/usb/gadget-testing.rst
index a89b49e639c3..7a94490fb2fd 100644
--- a/Documentation/usb/gadget-testing.rst
+++ b/Documentation/usb/gadget-testing.rst
@@ -960,15 +960,11 @@ The uac1 function provides these attributes in its function directory:
 	p_it_name        playback input terminal name
 	p_it_ch_name     playback channels name
 	p_ot_name        playback output terminal name
-	p_fu_name        playback functional unit name
-	p_alt0_name      playback alt mode 0 name
-	p_alt1_name      playback alt mode 1 name
+	p_fu_vol_name    playback mute/volume functional unit name
 	c_it_name        capture input terminal name
 	c_it_ch_name     capture channels name
 	c_ot_name        capture output terminal name
-	c_fu_name        capture functional unit name
-	c_alt0_name      capture alt mode 0 name
-	c_alt1_name      capture alt mode 1 name
+	c_fu_vol_name    capture mute/volume functional unit name
 	================ ====================================================
 
 The attributes have sane default values.
diff --git a/drivers/usb/gadget/function/f_uac1.c b/drivers/usb/gadget/function/f_uac1.c
index 06a220fb7a87..bb36ce2be569 100644
--- a/drivers/usb/gadget/function/f_uac1.c
+++ b/drivers/usb/gadget/function/f_uac1.c
@@ -1254,16 +1254,16 @@ static int f_audio_bind(struct usb_configuration *c, struct usb_function *f)
 	strings_uac1[STR_USB_OUT_IT].s = audio_opts->p_it_name;
 	strings_uac1[STR_USB_OUT_IT_CH_NAMES].s = audio_opts->p_it_ch_name;
 	strings_uac1[STR_IO_OUT_OT].s = audio_opts->p_ot_name;
-	strings_uac1[STR_FU_OUT].s = audio_opts->p_fu_name;
-	strings_uac1[STR_AS_OUT_IF_ALT0].s = audio_opts->p_alt0_name;
-	strings_uac1[STR_AS_OUT_IF_ALT1].s = audio_opts->p_alt1_name;
+	strings_uac1[STR_FU_OUT].s = audio_opts->p_fu_vol_name;
+	strings_uac1[STR_AS_OUT_IF_ALT0].s = "Playback Inactive";
+	strings_uac1[STR_AS_OUT_IF_ALT1].s = "Playback Active";
 
 	strings_uac1[STR_IO_IN_IT].s = audio_opts->c_it_name;
 	strings_uac1[STR_IO_IN_IT_CH_NAMES].s = audio_opts->c_it_ch_name;
 	strings_uac1[STR_USB_IN_OT].s = audio_opts->c_ot_name;
-	strings_uac1[STR_FU_IN].s = audio_opts->c_fu_name;
-	strings_uac1[STR_AS_IN_IF_ALT0].s = audio_opts->c_alt0_name;
-	strings_uac1[STR_AS_IN_IF_ALT1].s = audio_opts->c_alt1_name;
+	strings_uac1[STR_FU_IN].s = audio_opts->c_fu_vol_name;
+	strings_uac1[STR_AS_IN_IF_ALT0].s = "Capture Inactive";
+	strings_uac1[STR_AS_IN_IF_ALT1].s = "Capture Active";
 
 	us = usb_gstrings_attach(cdev, uac1_strings, ARRAY_SIZE(strings_uac1));
 	if (IS_ERR(us))
@@ -1687,16 +1687,12 @@ UAC1_ATTRIBUTE_STRING(function_name);
 UAC1_ATTRIBUTE_STRING(p_it_name);
 UAC1_ATTRIBUTE_STRING(p_it_ch_name);
 UAC1_ATTRIBUTE_STRING(p_ot_name);
-UAC1_ATTRIBUTE_STRING(p_fu_name);
-UAC1_ATTRIBUTE_STRING(p_alt0_name);
-UAC1_ATTRIBUTE_STRING(p_alt1_name);
+UAC1_ATTRIBUTE_STRING(p_fu_vol_name);
 
 UAC1_ATTRIBUTE_STRING(c_it_name);
 UAC1_ATTRIBUTE_STRING(c_it_ch_name);
 UAC1_ATTRIBUTE_STRING(c_ot_name);
-UAC1_ATTRIBUTE_STRING(c_fu_name);
-UAC1_ATTRIBUTE_STRING(c_alt0_name);
-UAC1_ATTRIBUTE_STRING(c_alt1_name);
+UAC1_ATTRIBUTE_STRING(c_fu_vol_name);
 
 static struct configfs_attribute *f_uac1_attrs[] = {
 	&f_uac1_opts_attr_c_chmask,
@@ -1724,16 +1720,12 @@ static struct configfs_attribute *f_uac1_attrs[] = {
 	&f_uac1_opts_attr_p_it_name,
 	&f_uac1_opts_attr_p_it_ch_name,
 	&f_uac1_opts_attr_p_ot_name,
-	&f_uac1_opts_attr_p_fu_name,
-	&f_uac1_opts_attr_p_alt0_name,
-	&f_uac1_opts_attr_p_alt1_name,
+	&f_uac1_opts_attr_p_fu_vol_name,
 
 	&f_uac1_opts_attr_c_it_name,
 	&f_uac1_opts_attr_c_it_ch_name,
 	&f_uac1_opts_attr_c_ot_name,
-	&f_uac1_opts_attr_c_fu_name,
-	&f_uac1_opts_attr_c_alt0_name,
-	&f_uac1_opts_attr_c_alt1_name,
+	&f_uac1_opts_attr_c_fu_vol_name,
 
 	NULL,
 };
@@ -1792,16 +1784,12 @@ static struct usb_function_instance *f_audio_alloc_inst(void)
 	scnprintf(opts->p_it_name, sizeof(opts->p_it_name), "Playback Input terminal");
 	scnprintf(opts->p_it_ch_name, sizeof(opts->p_it_ch_name), "Playback Channels");
 	scnprintf(opts->p_ot_name, sizeof(opts->p_ot_name), "Playback Output terminal");
-	scnprintf(opts->p_fu_name, sizeof(opts->p_fu_name), "Playback Volume");
-	scnprintf(opts->p_alt0_name, sizeof(opts->p_alt0_name), "Playback Inactive");
-	scnprintf(opts->p_alt1_name, sizeof(opts->p_alt1_name), "Playback Active");
+	scnprintf(opts->p_fu_vol_name, sizeof(opts->p_fu_vol_name), "Playback Volume");
 
 	scnprintf(opts->c_it_name, sizeof(opts->c_it_name), "Capture Input terminal");
 	scnprintf(opts->c_it_ch_name, sizeof(opts->c_it_ch_name), "Capture Channels");
 	scnprintf(opts->c_ot_name, sizeof(opts->c_ot_name), "Capture Output terminal");
-	scnprintf(opts->c_fu_name, sizeof(opts->c_fu_name), "Capture Volume");
-	scnprintf(opts->c_alt0_name, sizeof(opts->c_alt0_name), "Capture Inactive");
-	scnprintf(opts->c_alt1_name, sizeof(opts->c_alt1_name), "Capture Active");
+	scnprintf(opts->c_fu_vol_name, sizeof(opts->c_fu_vol_name), "Capture Volume");
 
 	return &opts->func_inst;
 }
diff --git a/drivers/usb/gadget/function/u_uac1.h b/drivers/usb/gadget/function/u_uac1.h
index 67784de9782b..feb6eb76462f 100644
--- a/drivers/usb/gadget/function/u_uac1.h
+++ b/drivers/usb/gadget/function/u_uac1.h
@@ -57,16 +57,12 @@ struct f_uac1_opts {
 	char			p_it_name[USB_MAX_STRING_LEN];
 	char			p_it_ch_name[USB_MAX_STRING_LEN];
 	char			p_ot_name[USB_MAX_STRING_LEN];
-	char			p_fu_name[USB_MAX_STRING_LEN];
-	char			p_alt0_name[USB_MAX_STRING_LEN];
-	char			p_alt1_name[USB_MAX_STRING_LEN];
+	char			p_fu_vol_name[USB_MAX_STRING_LEN];
 
 	char			c_it_name[USB_MAX_STRING_LEN];
 	char			c_it_ch_name[USB_MAX_STRING_LEN];
 	char			c_ot_name[USB_MAX_STRING_LEN];
-	char			c_fu_name[USB_MAX_STRING_LEN];
-	char			c_alt0_name[USB_MAX_STRING_LEN];
-	char			c_alt1_name[USB_MAX_STRING_LEN];
+	char			c_fu_vol_name[USB_MAX_STRING_LEN];
 
 	struct mutex			lock;
 	int				refcnt;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] usb: gadget: f_uac1: Change volume name and remove alt names
  2024-08-03 23:27 [PATCH v2] usb: gadget: f_uac1: Change volume name and remove alt names crwulff
@ 2024-08-04  0:23 ` Chris Wulff
  0 siblings, 0 replies; 2+ messages in thread
From: Chris Wulff @ 2024-08-04  0:23 UTC (permalink / raw)
  To: linux-usb
  Cc: Greg Kroah-Hartman, Lee Jones, Jeff Johnson, Perr Zhang,
	Pavel Hofman, linux-kernel

I just realized the name semantics are backwards in the original patch as well.
(c_/p_ are device centric semantics and I made them host centric)
I will update that and send out a new version.

  -- Chris Wulff

On Sat, Aug 3, 2024 at 7:27 PM <crwulff@gmail.com> wrote:
>
> From: Chris Wulff <crwulff@gmail.com>
>
> This changes the UAPI to align with disussion of alt settings work.
>
> fu_name is renamed to fu_vol_name, and alt settings mode names
> are removed for now in favor of future work where they will be
> settable in subdirectories for each alt mode.
>
> discussion thread for api changes for alt mode settings:
> https://lore.kernel.org/linux-usb/35be4668-58d3-894a-72cf-de1afaacae45@ivitera.com/T/
>
> Signed-off-by: Chris Wulff <crwulff@gmail.com>
> ---
> v2: Moved discussion thread tidbit into commit message
> v1: https://lore.kernel.org/all/20240803155215.2746444-2-crwulff@gmail.com/
> ---
>  .../ABI/testing/configfs-usb-gadget-uac1      |  8 ++---
>  Documentation/usb/gadget-testing.rst          |  8 ++---
>  drivers/usb/gadget/function/f_uac1.c          | 36 +++++++------------
>  drivers/usb/gadget/function/u_uac1.h          |  8 ++---
>  4 files changed, 18 insertions(+), 42 deletions(-)
>
> diff --git a/Documentation/ABI/testing/configfs-usb-gadget-uac1 b/Documentation/ABI/testing/configfs-usb-gadget-uac1
> index cf93b98b274d..64188a85592b 100644
> --- a/Documentation/ABI/testing/configfs-usb-gadget-uac1
> +++ b/Documentation/ABI/testing/configfs-usb-gadget-uac1
> @@ -33,13 +33,9 @@ Description:
>                 p_it_name               playback input terminal name
>                 p_it_ch_name            playback channels name
>                 p_ot_name               playback output terminal name
> -               p_fu_name               playback functional unit name
> -               p_alt0_name             playback alt mode 0 name
> -               p_alt1_name             playback alt mode 1 name
> +               p_fu_vol_name           playback mute/volume functional unit name
>                 c_it_name               capture input terminal name
>                 c_it_ch_name            capture channels name
>                 c_ot_name               capture output terminal name
> -               c_fu_name               capture functional unit name
> -               c_alt0_name             capture alt mode 0 name
> -               c_alt1_name             capture alt mode 1 name
> +               c_fu_vol_name           capture mute/volume functional unit name
>                 =====================   =======================================
> diff --git a/Documentation/usb/gadget-testing.rst b/Documentation/usb/gadget-testing.rst
> index a89b49e639c3..7a94490fb2fd 100644
> --- a/Documentation/usb/gadget-testing.rst
> +++ b/Documentation/usb/gadget-testing.rst
> @@ -960,15 +960,11 @@ The uac1 function provides these attributes in its function directory:
>         p_it_name        playback input terminal name
>         p_it_ch_name     playback channels name
>         p_ot_name        playback output terminal name
> -       p_fu_name        playback functional unit name
> -       p_alt0_name      playback alt mode 0 name
> -       p_alt1_name      playback alt mode 1 name
> +       p_fu_vol_name    playback mute/volume functional unit name
>         c_it_name        capture input terminal name
>         c_it_ch_name     capture channels name
>         c_ot_name        capture output terminal name
> -       c_fu_name        capture functional unit name
> -       c_alt0_name      capture alt mode 0 name
> -       c_alt1_name      capture alt mode 1 name
> +       c_fu_vol_name    capture mute/volume functional unit name
>         ================ ====================================================
>
>  The attributes have sane default values.
> diff --git a/drivers/usb/gadget/function/f_uac1.c b/drivers/usb/gadget/function/f_uac1.c
> index 06a220fb7a87..bb36ce2be569 100644
> --- a/drivers/usb/gadget/function/f_uac1.c
> +++ b/drivers/usb/gadget/function/f_uac1.c
> @@ -1254,16 +1254,16 @@ static int f_audio_bind(struct usb_configuration *c, struct usb_function *f)
>         strings_uac1[STR_USB_OUT_IT].s = audio_opts->p_it_name;
>         strings_uac1[STR_USB_OUT_IT_CH_NAMES].s = audio_opts->p_it_ch_name;
>         strings_uac1[STR_IO_OUT_OT].s = audio_opts->p_ot_name;
> -       strings_uac1[STR_FU_OUT].s = audio_opts->p_fu_name;
> -       strings_uac1[STR_AS_OUT_IF_ALT0].s = audio_opts->p_alt0_name;
> -       strings_uac1[STR_AS_OUT_IF_ALT1].s = audio_opts->p_alt1_name;
> +       strings_uac1[STR_FU_OUT].s = audio_opts->p_fu_vol_name;
> +       strings_uac1[STR_AS_OUT_IF_ALT0].s = "Playback Inactive";
> +       strings_uac1[STR_AS_OUT_IF_ALT1].s = "Playback Active";
>
>         strings_uac1[STR_IO_IN_IT].s = audio_opts->c_it_name;
>         strings_uac1[STR_IO_IN_IT_CH_NAMES].s = audio_opts->c_it_ch_name;
>         strings_uac1[STR_USB_IN_OT].s = audio_opts->c_ot_name;
> -       strings_uac1[STR_FU_IN].s = audio_opts->c_fu_name;
> -       strings_uac1[STR_AS_IN_IF_ALT0].s = audio_opts->c_alt0_name;
> -       strings_uac1[STR_AS_IN_IF_ALT1].s = audio_opts->c_alt1_name;
> +       strings_uac1[STR_FU_IN].s = audio_opts->c_fu_vol_name;
> +       strings_uac1[STR_AS_IN_IF_ALT0].s = "Capture Inactive";
> +       strings_uac1[STR_AS_IN_IF_ALT1].s = "Capture Active";
>
>         us = usb_gstrings_attach(cdev, uac1_strings, ARRAY_SIZE(strings_uac1));
>         if (IS_ERR(us))
> @@ -1687,16 +1687,12 @@ UAC1_ATTRIBUTE_STRING(function_name);
>  UAC1_ATTRIBUTE_STRING(p_it_name);
>  UAC1_ATTRIBUTE_STRING(p_it_ch_name);
>  UAC1_ATTRIBUTE_STRING(p_ot_name);
> -UAC1_ATTRIBUTE_STRING(p_fu_name);
> -UAC1_ATTRIBUTE_STRING(p_alt0_name);
> -UAC1_ATTRIBUTE_STRING(p_alt1_name);
> +UAC1_ATTRIBUTE_STRING(p_fu_vol_name);
>
>  UAC1_ATTRIBUTE_STRING(c_it_name);
>  UAC1_ATTRIBUTE_STRING(c_it_ch_name);
>  UAC1_ATTRIBUTE_STRING(c_ot_name);
> -UAC1_ATTRIBUTE_STRING(c_fu_name);
> -UAC1_ATTRIBUTE_STRING(c_alt0_name);
> -UAC1_ATTRIBUTE_STRING(c_alt1_name);
> +UAC1_ATTRIBUTE_STRING(c_fu_vol_name);
>
>  static struct configfs_attribute *f_uac1_attrs[] = {
>         &f_uac1_opts_attr_c_chmask,
> @@ -1724,16 +1720,12 @@ static struct configfs_attribute *f_uac1_attrs[] = {
>         &f_uac1_opts_attr_p_it_name,
>         &f_uac1_opts_attr_p_it_ch_name,
>         &f_uac1_opts_attr_p_ot_name,
> -       &f_uac1_opts_attr_p_fu_name,
> -       &f_uac1_opts_attr_p_alt0_name,
> -       &f_uac1_opts_attr_p_alt1_name,
> +       &f_uac1_opts_attr_p_fu_vol_name,
>
>         &f_uac1_opts_attr_c_it_name,
>         &f_uac1_opts_attr_c_it_ch_name,
>         &f_uac1_opts_attr_c_ot_name,
> -       &f_uac1_opts_attr_c_fu_name,
> -       &f_uac1_opts_attr_c_alt0_name,
> -       &f_uac1_opts_attr_c_alt1_name,
> +       &f_uac1_opts_attr_c_fu_vol_name,
>
>         NULL,
>  };
> @@ -1792,16 +1784,12 @@ static struct usb_function_instance *f_audio_alloc_inst(void)
>         scnprintf(opts->p_it_name, sizeof(opts->p_it_name), "Playback Input terminal");
>         scnprintf(opts->p_it_ch_name, sizeof(opts->p_it_ch_name), "Playback Channels");
>         scnprintf(opts->p_ot_name, sizeof(opts->p_ot_name), "Playback Output terminal");
> -       scnprintf(opts->p_fu_name, sizeof(opts->p_fu_name), "Playback Volume");
> -       scnprintf(opts->p_alt0_name, sizeof(opts->p_alt0_name), "Playback Inactive");
> -       scnprintf(opts->p_alt1_name, sizeof(opts->p_alt1_name), "Playback Active");
> +       scnprintf(opts->p_fu_vol_name, sizeof(opts->p_fu_vol_name), "Playback Volume");
>
>         scnprintf(opts->c_it_name, sizeof(opts->c_it_name), "Capture Input terminal");
>         scnprintf(opts->c_it_ch_name, sizeof(opts->c_it_ch_name), "Capture Channels");
>         scnprintf(opts->c_ot_name, sizeof(opts->c_ot_name), "Capture Output terminal");
> -       scnprintf(opts->c_fu_name, sizeof(opts->c_fu_name), "Capture Volume");
> -       scnprintf(opts->c_alt0_name, sizeof(opts->c_alt0_name), "Capture Inactive");
> -       scnprintf(opts->c_alt1_name, sizeof(opts->c_alt1_name), "Capture Active");
> +       scnprintf(opts->c_fu_vol_name, sizeof(opts->c_fu_vol_name), "Capture Volume");
>
>         return &opts->func_inst;
>  }
> diff --git a/drivers/usb/gadget/function/u_uac1.h b/drivers/usb/gadget/function/u_uac1.h
> index 67784de9782b..feb6eb76462f 100644
> --- a/drivers/usb/gadget/function/u_uac1.h
> +++ b/drivers/usb/gadget/function/u_uac1.h
> @@ -57,16 +57,12 @@ struct f_uac1_opts {
>         char                    p_it_name[USB_MAX_STRING_LEN];
>         char                    p_it_ch_name[USB_MAX_STRING_LEN];
>         char                    p_ot_name[USB_MAX_STRING_LEN];
> -       char                    p_fu_name[USB_MAX_STRING_LEN];
> -       char                    p_alt0_name[USB_MAX_STRING_LEN];
> -       char                    p_alt1_name[USB_MAX_STRING_LEN];
> +       char                    p_fu_vol_name[USB_MAX_STRING_LEN];
>
>         char                    c_it_name[USB_MAX_STRING_LEN];
>         char                    c_it_ch_name[USB_MAX_STRING_LEN];
>         char                    c_ot_name[USB_MAX_STRING_LEN];
> -       char                    c_fu_name[USB_MAX_STRING_LEN];
> -       char                    c_alt0_name[USB_MAX_STRING_LEN];
> -       char                    c_alt1_name[USB_MAX_STRING_LEN];
> +       char                    c_fu_vol_name[USB_MAX_STRING_LEN];
>
>         struct mutex                    lock;
>         int                             refcnt;
> --
> 2.43.0
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-08-04  0:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-03 23:27 [PATCH v2] usb: gadget: f_uac1: Change volume name and remove alt names crwulff
2024-08-04  0:23 ` Chris Wulff

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®