ALSA: hda - proc - add support for dynamic controls to mixer<->NID mapping
This patch adds support for dynamically created controls to proc codec file (Control: lines). Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
3911a4c19e
commit
4d02d1b638
@@ -2671,7 +2671,8 @@ static struct snd_kcontrol_new stac92xx_control_templates[] = {
|
||||
static struct snd_kcontrol_new *
|
||||
stac_control_new(struct sigmatel_spec *spec,
|
||||
struct snd_kcontrol_new *ktemp,
|
||||
const char *name)
|
||||
const char *name,
|
||||
hda_nid_t nid)
|
||||
{
|
||||
struct snd_kcontrol_new *knew;
|
||||
|
||||
@@ -2687,6 +2688,8 @@ stac_control_new(struct sigmatel_spec *spec,
|
||||
spec->kctls.alloced--;
|
||||
return NULL;
|
||||
}
|
||||
if (nid)
|
||||
knew->subdevice = (1<<31)|nid;
|
||||
return knew;
|
||||
}
|
||||
|
||||
@@ -2695,7 +2698,8 @@ static int stac92xx_add_control_temp(struct sigmatel_spec *spec,
|
||||
int idx, const char *name,
|
||||
unsigned long val)
|
||||
{
|
||||
struct snd_kcontrol_new *knew = stac_control_new(spec, ktemp, name);
|
||||
struct snd_kcontrol_new *knew = stac_control_new(spec, ktemp, name,
|
||||
get_amp_nid_(val));
|
||||
if (!knew)
|
||||
return -ENOMEM;
|
||||
knew->index = idx;
|
||||
@@ -2766,7 +2770,7 @@ static int stac92xx_add_input_source(struct sigmatel_spec *spec)
|
||||
if (!spec->num_adcs || imux->num_items <= 1)
|
||||
return 0; /* no need for input source control */
|
||||
knew = stac_control_new(spec, &stac_input_src_temp,
|
||||
stac_input_src_temp.name);
|
||||
stac_input_src_temp.name, 0);
|
||||
if (!knew)
|
||||
return -ENOMEM;
|
||||
knew->count = spec->num_adcs;
|
||||
|
Reference in New Issue
Block a user