@@ -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
===================== =======================================
@@ -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.
@@ -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;
}
@@ -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;