]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
usb: gadget: f_uac1: Change volume name and remove alt names
authorChris Wulff <crwulff@gmail.com>
Sun, 4 Aug 2024 00:29:13 +0000 (20:29 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Aug 2024 16:11:35 +0000 (18:11 +0200)
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>
Link: https://lore.kernel.org/r/20240804002912.3293177-2-crwulff@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/configfs-usb-gadget-uac1
Documentation/usb/gadget-testing.rst
drivers/usb/gadget/function/f_uac1.c
drivers/usb/gadget/function/u_uac1.h

index cf93b98b274d8cb91eb033a769fd8771ab112b07..64188a85592b5d4ee56a819b7bf6d3d45939931b 100644 (file)
@@ -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
                =====================   =======================================
index 8092e250ec27bac5efdad24ec2ce67f217f5e70c..bf555c2270f5c0a646c5ef48750a58ce189eaed5 100644 (file)
@@ -971,15 +971,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.
index 06a220fb7a877aa2a8a6bf7713a2713569f0644d..c87e74afc88159581cd23446db3889dd22a10324 100644 (file)
@@ -1251,19 +1251,19 @@ static int f_audio_bind(struct usb_configuration *c, struct usb_function *f)
 
        strings_uac1[STR_AC_IF].s = audio_opts->function_name;
 
-       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_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_USB_OUT_IT].s = audio_opts->c_it_name;
+       strings_uac1[STR_USB_OUT_IT_CH_NAMES].s = audio_opts->c_it_ch_name;
+       strings_uac1[STR_IO_OUT_OT].s = audio_opts->c_ot_name;
+       strings_uac1[STR_FU_OUT].s = audio_opts->c_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->p_it_name;
+       strings_uac1[STR_IO_IN_IT_CH_NAMES].s = audio_opts->p_it_ch_name;
+       strings_uac1[STR_USB_IN_OT].s = audio_opts->p_ot_name;
+       strings_uac1[STR_FU_IN].s = audio_opts->p_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,
 };
@@ -1789,19 +1781,15 @@ static struct usb_function_instance *f_audio_alloc_inst(void)
 
        scnprintf(opts->function_name, sizeof(opts->function_name), "AC Interface");
 
-       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->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->p_it_name, sizeof(opts->p_it_name), "Capture Input terminal");
+       scnprintf(opts->p_it_ch_name, sizeof(opts->p_it_ch_name), "Capture Channels");
+       scnprintf(opts->p_ot_name, sizeof(opts->p_ot_name), "Capture Output terminal");
+       scnprintf(opts->p_fu_vol_name, sizeof(opts->p_fu_vol_name), "Capture Volume");
+
+       scnprintf(opts->c_it_name, sizeof(opts->c_it_name), "Playback Input terminal");
+       scnprintf(opts->c_it_ch_name, sizeof(opts->c_it_ch_name), "Playback Channels");
+       scnprintf(opts->c_ot_name, sizeof(opts->c_ot_name), "Playback Output terminal");
+       scnprintf(opts->c_fu_vol_name, sizeof(opts->c_fu_vol_name), "Playback Volume");
 
        return &opts->func_inst;
 }
index 67784de9782b062038f01e830c04ab98e6b5d438..feb6eb76462f3b53742f45ac83920c79d12cd872 100644 (file)
@@ -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;