[PATCH] ALSA: HDA/Jack: Make device indices for HDMI
David Henningsson
david.henningsson at canonical.com
Tue Nov 29 20:19:56 CET 2011
Make sure we can associate HDMI Jacks with the correct PCM devices.
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
sound/pci/hda/hda_jack.c | 5 +++--
sound/pci/hda/hda_jack.h | 2 +-
sound/pci/hda/patch_hdmi.c | 3 ++-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/sound/pci/hda/hda_jack.c b/sound/pci/hda/hda_jack.c
index 3949015..0b1f72c 100644
--- a/sound/pci/hda/hda_jack.c
+++ b/sound/pci/hda/hda_jack.c
@@ -210,7 +210,7 @@ EXPORT_SYMBOL_HDA(snd_hda_jack_report_sync);
* will have the given name and index.
*/
int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid,
- const char *name, int idx)
+ const char *name, int idx, int device)
{
struct hda_jack_tbl *jack;
struct snd_kcontrol *kctl;
@@ -223,6 +223,7 @@ int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid,
kctl = snd_kctl_jack_new(name, idx, codec);
if (!kctl)
return -ENOMEM;
+ kctl->id.device = device;
if (snd_hda_ctl_add(codec, nid, kctl) < 0)
return -ENOMEM;
jack->kctl = kctl;
@@ -249,7 +250,7 @@ static int add_jack_kctl(struct hda_codec *codec, hda_nid_t nid,
return 0;
snd_hda_get_pin_label(codec, nid, cfg, name, sizeof(name), &idx);
- err = snd_hda_jack_add_kctl(codec, nid, name, idx);
+ err = snd_hda_jack_add_kctl(codec, nid, name, idx, 0);
if (err < 0)
return err;
return snd_hda_jack_detect_enable(codec, nid, 0);
diff --git a/sound/pci/hda/hda_jack.h b/sound/pci/hda/hda_jack.h
index f8f97c7..fcca96c 100644
--- a/sound/pci/hda/hda_jack.h
+++ b/sound/pci/hda/hda_jack.h
@@ -76,7 +76,7 @@ static inline bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid)
}
int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid,
- const char *name, int idx);
+ const char *name, int idx, int device);
int snd_hda_jack_add_kctls(struct hda_codec *codec,
const struct auto_pin_cfg *cfg);
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index bb8cfc6..9689c8d 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1277,7 +1277,8 @@ static int generic_hdmi_build_controls(struct hda_codec *codec)
if (err < 0)
return err;
err = snd_hda_jack_add_kctl(codec, per_pin->pin_nid,
- "HDMI", pin_idx);
+ "HDMI", pin_idx,
+ spec->pcm_rec[pin_idx].device);
if (err < 0)
return err;
}
--
1.7.5.4
--------------050907080508000907070701--
More information about the Alsa-devel
mailing list