aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2009-12-10 07:57:01 -0500
committerJaroslav Kysela <perex@perex.cz>2009-12-15 03:33:32 -0500
commit5e26dfd0615868872cb44842f1e1428c7b414ab0 (patch)
tree75472db826d948edde152969045a819653ac54b3 /sound/pci/hda/hda_codec.c
parent9e3fd8719f624a43575b56a4777b1552399a8be8 (diff)
ALSA: hda - simplify usage of HDA_SUBDEV_AMP_FLAG
The HDA_SUBDEV_NID_FLAG is duplicate for amplifier control elements. Move get_amp_nid_() call to the snd_hda_ctl_add() function. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r--sound/pci/hda/hda_codec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index c9af15ed7f1..c848ec0f085 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1733,11 +1733,14 @@ int snd_hda_ctl_add(struct hda_codec *codec, hda_nid_t nid,
1733 unsigned short flags = 0; 1733 unsigned short flags = 0;
1734 struct hda_nid_item *item; 1734 struct hda_nid_item *item;
1735 1735
1736 if (kctl->id.subdevice & HDA_SUBDEV_AMP_FLAG) 1736 if (kctl->id.subdevice & HDA_SUBDEV_AMP_FLAG) {
1737 flags |= HDA_NID_ITEM_AMP; 1737 flags |= HDA_NID_ITEM_AMP;
1738 if (nid == 0)
1739 nid = get_amp_nid_(kctl->private_value);
1740 }
1738 if ((kctl->id.subdevice & HDA_SUBDEV_NID_FLAG) != 0 && nid == 0) 1741 if ((kctl->id.subdevice & HDA_SUBDEV_NID_FLAG) != 0 && nid == 0)
1739 nid = kctl->id.subdevice & 0xffff; 1742 nid = kctl->id.subdevice & 0xffff;
1740 if (kctl->id.subdevice & 0xf0000000) 1743 if (kctl->id.subdevice & (HDA_SUBDEV_NID_FLAG|HDA_SUBDEV_AMP_FLAG))
1741 kctl->id.subdevice = 0; 1744 kctl->id.subdevice = 0;
1742 err = snd_ctl_add(codec->bus->card, kctl); 1745 err = snd_ctl_add(codec->bus->card, kctl);
1743 if (err < 0) 1746 if (err < 0)