usb: gadget: f_uac1: Change volume name and remove alt names
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>
This commit is contained in:
parent
c26cee817f
commit
82313624b2
@ -33,13 +33,9 @@ Description:
|
|||||||
p_it_name playback input terminal name
|
p_it_name playback input terminal name
|
||||||
p_it_ch_name playback channels name
|
p_it_ch_name playback channels name
|
||||||
p_ot_name playback output terminal name
|
p_ot_name playback output terminal name
|
||||||
p_fu_name playback functional unit name
|
p_fu_vol_name playback mute/volume functional unit name
|
||||||
p_alt0_name playback alt mode 0 name
|
|
||||||
p_alt1_name playback alt mode 1 name
|
|
||||||
c_it_name capture input terminal name
|
c_it_name capture input terminal name
|
||||||
c_it_ch_name capture channels name
|
c_it_ch_name capture channels name
|
||||||
c_ot_name capture output terminal name
|
c_ot_name capture output terminal name
|
||||||
c_fu_name capture functional unit name
|
c_fu_vol_name capture mute/volume functional unit name
|
||||||
c_alt0_name capture alt mode 0 name
|
|
||||||
c_alt1_name capture alt mode 1 name
|
|
||||||
===================== =======================================
|
===================== =======================================
|
||||||
|
@ -971,15 +971,11 @@ The uac1 function provides these attributes in its function directory:
|
|||||||
p_it_name playback input terminal name
|
p_it_name playback input terminal name
|
||||||
p_it_ch_name playback channels name
|
p_it_ch_name playback channels name
|
||||||
p_ot_name playback output terminal name
|
p_ot_name playback output terminal name
|
||||||
p_fu_name playback functional unit name
|
p_fu_vol_name playback mute/volume functional unit name
|
||||||
p_alt0_name playback alt mode 0 name
|
|
||||||
p_alt1_name playback alt mode 1 name
|
|
||||||
c_it_name capture input terminal name
|
c_it_name capture input terminal name
|
||||||
c_it_ch_name capture channels name
|
c_it_ch_name capture channels name
|
||||||
c_ot_name capture output terminal name
|
c_ot_name capture output terminal name
|
||||||
c_fu_name capture functional unit name
|
c_fu_vol_name capture mute/volume functional unit name
|
||||||
c_alt0_name capture alt mode 0 name
|
|
||||||
c_alt1_name capture alt mode 1 name
|
|
||||||
================ ====================================================
|
================ ====================================================
|
||||||
|
|
||||||
The attributes have sane default values.
|
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_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].s = audio_opts->c_it_name;
|
||||||
strings_uac1[STR_USB_OUT_IT_CH_NAMES].s = audio_opts->p_it_ch_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->p_ot_name;
|
strings_uac1[STR_IO_OUT_OT].s = audio_opts->c_ot_name;
|
||||||
strings_uac1[STR_FU_OUT].s = audio_opts->p_fu_name;
|
strings_uac1[STR_FU_OUT].s = audio_opts->c_fu_vol_name;
|
||||||
strings_uac1[STR_AS_OUT_IF_ALT0].s = audio_opts->p_alt0_name;
|
strings_uac1[STR_AS_OUT_IF_ALT0].s = "Playback Inactive";
|
||||||
strings_uac1[STR_AS_OUT_IF_ALT1].s = audio_opts->p_alt1_name;
|
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].s = audio_opts->p_it_name;
|
||||||
strings_uac1[STR_IO_IN_IT_CH_NAMES].s = audio_opts->c_it_ch_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->c_ot_name;
|
strings_uac1[STR_USB_IN_OT].s = audio_opts->p_ot_name;
|
||||||
strings_uac1[STR_FU_IN].s = audio_opts->c_fu_name;
|
strings_uac1[STR_FU_IN].s = audio_opts->p_fu_vol_name;
|
||||||
strings_uac1[STR_AS_IN_IF_ALT0].s = audio_opts->c_alt0_name;
|
strings_uac1[STR_AS_IN_IF_ALT0].s = "Capture Inactive";
|
||||||
strings_uac1[STR_AS_IN_IF_ALT1].s = audio_opts->c_alt1_name;
|
strings_uac1[STR_AS_IN_IF_ALT1].s = "Capture Active";
|
||||||
|
|
||||||
us = usb_gstrings_attach(cdev, uac1_strings, ARRAY_SIZE(strings_uac1));
|
us = usb_gstrings_attach(cdev, uac1_strings, ARRAY_SIZE(strings_uac1));
|
||||||
if (IS_ERR(us))
|
if (IS_ERR(us))
|
||||||
@ -1687,16 +1687,12 @@ UAC1_ATTRIBUTE_STRING(function_name);
|
|||||||
UAC1_ATTRIBUTE_STRING(p_it_name);
|
UAC1_ATTRIBUTE_STRING(p_it_name);
|
||||||
UAC1_ATTRIBUTE_STRING(p_it_ch_name);
|
UAC1_ATTRIBUTE_STRING(p_it_ch_name);
|
||||||
UAC1_ATTRIBUTE_STRING(p_ot_name);
|
UAC1_ATTRIBUTE_STRING(p_ot_name);
|
||||||
UAC1_ATTRIBUTE_STRING(p_fu_name);
|
UAC1_ATTRIBUTE_STRING(p_fu_vol_name);
|
||||||
UAC1_ATTRIBUTE_STRING(p_alt0_name);
|
|
||||||
UAC1_ATTRIBUTE_STRING(p_alt1_name);
|
|
||||||
|
|
||||||
UAC1_ATTRIBUTE_STRING(c_it_name);
|
UAC1_ATTRIBUTE_STRING(c_it_name);
|
||||||
UAC1_ATTRIBUTE_STRING(c_it_ch_name);
|
UAC1_ATTRIBUTE_STRING(c_it_ch_name);
|
||||||
UAC1_ATTRIBUTE_STRING(c_ot_name);
|
UAC1_ATTRIBUTE_STRING(c_ot_name);
|
||||||
UAC1_ATTRIBUTE_STRING(c_fu_name);
|
UAC1_ATTRIBUTE_STRING(c_fu_vol_name);
|
||||||
UAC1_ATTRIBUTE_STRING(c_alt0_name);
|
|
||||||
UAC1_ATTRIBUTE_STRING(c_alt1_name);
|
|
||||||
|
|
||||||
static struct configfs_attribute *f_uac1_attrs[] = {
|
static struct configfs_attribute *f_uac1_attrs[] = {
|
||||||
&f_uac1_opts_attr_c_chmask,
|
&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_name,
|
||||||
&f_uac1_opts_attr_p_it_ch_name,
|
&f_uac1_opts_attr_p_it_ch_name,
|
||||||
&f_uac1_opts_attr_p_ot_name,
|
&f_uac1_opts_attr_p_ot_name,
|
||||||
&f_uac1_opts_attr_p_fu_name,
|
&f_uac1_opts_attr_p_fu_vol_name,
|
||||||
&f_uac1_opts_attr_p_alt0_name,
|
|
||||||
&f_uac1_opts_attr_p_alt1_name,
|
|
||||||
|
|
||||||
&f_uac1_opts_attr_c_it_name,
|
&f_uac1_opts_attr_c_it_name,
|
||||||
&f_uac1_opts_attr_c_it_ch_name,
|
&f_uac1_opts_attr_c_it_ch_name,
|
||||||
&f_uac1_opts_attr_c_ot_name,
|
&f_uac1_opts_attr_c_ot_name,
|
||||||
&f_uac1_opts_attr_c_fu_name,
|
&f_uac1_opts_attr_c_fu_vol_name,
|
||||||
&f_uac1_opts_attr_c_alt0_name,
|
|
||||||
&f_uac1_opts_attr_c_alt1_name,
|
|
||||||
|
|
||||||
NULL,
|
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->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_name, sizeof(opts->p_it_name), "Capture Input terminal");
|
||||||
scnprintf(opts->p_it_ch_name, sizeof(opts->p_it_ch_name), "Playback Channels");
|
scnprintf(opts->p_it_ch_name, sizeof(opts->p_it_ch_name), "Capture Channels");
|
||||||
scnprintf(opts->p_ot_name, sizeof(opts->p_ot_name), "Playback Output terminal");
|
scnprintf(opts->p_ot_name, sizeof(opts->p_ot_name), "Capture Output terminal");
|
||||||
scnprintf(opts->p_fu_name, sizeof(opts->p_fu_name), "Playback Volume");
|
scnprintf(opts->p_fu_vol_name, sizeof(opts->p_fu_vol_name), "Capture 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_name, sizeof(opts->c_it_name), "Playback Input terminal");
|
||||||
scnprintf(opts->c_it_ch_name, sizeof(opts->c_it_ch_name), "Capture Channels");
|
scnprintf(opts->c_it_ch_name, sizeof(opts->c_it_ch_name), "Playback Channels");
|
||||||
scnprintf(opts->c_ot_name, sizeof(opts->c_ot_name), "Capture Output terminal");
|
scnprintf(opts->c_ot_name, sizeof(opts->c_ot_name), "Playback Output terminal");
|
||||||
scnprintf(opts->c_fu_name, sizeof(opts->c_fu_name), "Capture Volume");
|
scnprintf(opts->c_fu_vol_name, sizeof(opts->c_fu_vol_name), "Playback 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");
|
|
||||||
|
|
||||||
return &opts->func_inst;
|
return &opts->func_inst;
|
||||||
}
|
}
|
||||||
|
@ -57,16 +57,12 @@ struct f_uac1_opts {
|
|||||||
char p_it_name[USB_MAX_STRING_LEN];
|
char p_it_name[USB_MAX_STRING_LEN];
|
||||||
char p_it_ch_name[USB_MAX_STRING_LEN];
|
char p_it_ch_name[USB_MAX_STRING_LEN];
|
||||||
char p_ot_name[USB_MAX_STRING_LEN];
|
char p_ot_name[USB_MAX_STRING_LEN];
|
||||||
char p_fu_name[USB_MAX_STRING_LEN];
|
char p_fu_vol_name[USB_MAX_STRING_LEN];
|
||||||
char p_alt0_name[USB_MAX_STRING_LEN];
|
|
||||||
char p_alt1_name[USB_MAX_STRING_LEN];
|
|
||||||
|
|
||||||
char c_it_name[USB_MAX_STRING_LEN];
|
char c_it_name[USB_MAX_STRING_LEN];
|
||||||
char c_it_ch_name[USB_MAX_STRING_LEN];
|
char c_it_ch_name[USB_MAX_STRING_LEN];
|
||||||
char c_ot_name[USB_MAX_STRING_LEN];
|
char c_ot_name[USB_MAX_STRING_LEN];
|
||||||
char c_fu_name[USB_MAX_STRING_LEN];
|
char c_fu_vol_name[USB_MAX_STRING_LEN];
|
||||||
char c_alt0_name[USB_MAX_STRING_LEN];
|
|
||||||
char c_alt1_name[USB_MAX_STRING_LEN];
|
|
||||||
|
|
||||||
struct mutex lock;
|
struct mutex lock;
|
||||||
int refcnt;
|
int refcnt;
|
||||||
|
Loading…
Reference in New Issue
Block a user