[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAB0kiBJiK=fQ_g0bjUkVTLzisQT+A5i-X9fxvM5Lvr1efpkYCA@mail.gmail.com>
Date: Sat, 3 Aug 2024 20:23:09 -0400
From: Chris Wulff <crwulff@...il.com>
To: linux-usb@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Lee Jones <lee@...nel.org>,
Jeff Johnson <quic_jjohnson@...cinc.com>, Perr Zhang <perr@...7.net>,
Pavel Hofman <pavel.hofman@...tera.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] usb: gadget: f_uac1: Change volume name and remove alt names
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@...il.com> wrote:
>
> From: Chris Wulff <crwulff@...il.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@...il.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
>
Powered by blists - more mailing lists