mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 13:41:51 +00:00
ALSA: hda - Export snd_hda_gen_add_kctl()
It may be used in other codec drivers, so let it free. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
731dc3019c
commit
12c93df60c
@ -43,9 +43,9 @@ int snd_hda_gen_spec_init(struct hda_gen_spec *spec)
|
||||
}
|
||||
EXPORT_SYMBOL_HDA(snd_hda_gen_spec_init);
|
||||
|
||||
static struct snd_kcontrol_new *
|
||||
add_kctl(struct hda_gen_spec *spec, const char *name,
|
||||
const struct snd_kcontrol_new *temp)
|
||||
struct snd_kcontrol_new *
|
||||
snd_hda_gen_add_kctl(struct hda_gen_spec *spec, const char *name,
|
||||
const struct snd_kcontrol_new *temp)
|
||||
{
|
||||
struct snd_kcontrol_new *knew = snd_array_new(&spec->kctls);
|
||||
if (!knew)
|
||||
@ -59,6 +59,7 @@ add_kctl(struct hda_gen_spec *spec, const char *name,
|
||||
return NULL;
|
||||
return knew;
|
||||
}
|
||||
EXPORT_SYMBOL_HDA(snd_hda_gen_add_kctl);
|
||||
|
||||
static void free_kctls(struct hda_gen_spec *spec)
|
||||
{
|
||||
@ -548,7 +549,7 @@ static int add_control(struct hda_gen_spec *spec, int type, const char *name,
|
||||
{
|
||||
struct snd_kcontrol_new *knew;
|
||||
|
||||
knew = add_kctl(spec, name, &control_templates[type]);
|
||||
knew = snd_hda_gen_add_kctl(spec, name, &control_templates[type]);
|
||||
if (!knew)
|
||||
return -ENOMEM;
|
||||
knew->index = cidx;
|
||||
@ -1527,7 +1528,7 @@ static int create_multi_channel_mode(struct hda_codec *codec)
|
||||
struct hda_gen_spec *spec = codec->spec;
|
||||
|
||||
if (spec->multi_ios > 0) {
|
||||
if (!add_kctl(spec, NULL, &channel_mode_enum))
|
||||
if (!snd_hda_gen_add_kctl(spec, NULL, &channel_mode_enum))
|
||||
return -ENOMEM;
|
||||
}
|
||||
return 0;
|
||||
@ -2086,7 +2087,7 @@ static int create_bind_cap_vol_ctl(struct hda_codec *codec, int idx,
|
||||
struct snd_kcontrol_new *knew;
|
||||
|
||||
if (vol_ctl) {
|
||||
knew = add_kctl(spec, NULL, &cap_vol_temp);
|
||||
knew = snd_hda_gen_add_kctl(spec, NULL, &cap_vol_temp);
|
||||
if (!knew)
|
||||
return -ENOMEM;
|
||||
knew->index = idx;
|
||||
@ -2094,7 +2095,7 @@ static int create_bind_cap_vol_ctl(struct hda_codec *codec, int idx,
|
||||
knew->subdevice = HDA_SUBDEV_AMP_FLAG;
|
||||
}
|
||||
if (sw_ctl) {
|
||||
knew = add_kctl(spec, NULL, &cap_sw_temp);
|
||||
knew = snd_hda_gen_add_kctl(spec, NULL, &cap_sw_temp);
|
||||
if (!knew)
|
||||
return -ENOMEM;
|
||||
knew->index = idx;
|
||||
@ -2171,7 +2172,7 @@ static int create_capture_mixers(struct hda_codec *codec)
|
||||
|
||||
if (!spec->auto_mic && imux->num_items > 1) {
|
||||
struct snd_kcontrol_new *knew;
|
||||
knew = add_kctl(spec, NULL, &cap_src_temp);
|
||||
knew = snd_hda_gen_add_kctl(spec, NULL, &cap_src_temp);
|
||||
if (!knew)
|
||||
return -ENOMEM;
|
||||
knew->count = nums;
|
||||
@ -2592,7 +2593,7 @@ static int add_automute_mode_enum(struct hda_codec *codec)
|
||||
{
|
||||
struct hda_gen_spec *spec = codec->spec;
|
||||
|
||||
if (!add_kctl(spec, NULL, &automute_mode_enum))
|
||||
if (!snd_hda_gen_add_kctl(spec, NULL, &automute_mode_enum))
|
||||
return -ENOMEM;
|
||||
return 0;
|
||||
}
|
||||
|
@ -192,6 +192,10 @@ snd_hda_add_new_path(struct hda_codec *codec, hda_nid_t from_nid,
|
||||
void snd_hda_activate_path(struct hda_codec *codec, struct nid_path *path,
|
||||
bool enable, bool add_aamix);
|
||||
|
||||
struct snd_kcontrol_new *
|
||||
snd_hda_gen_add_kctl(struct hda_gen_spec *spec, const char *name,
|
||||
const struct snd_kcontrol_new *temp);
|
||||
|
||||
int snd_hda_gen_parse_auto_config(struct hda_codec *codec,
|
||||
const hda_nid_t *ignore_nids);
|
||||
int snd_hda_gen_build_controls(struct hda_codec *codec);
|
||||
|
Loading…
Reference in New Issue
Block a user