aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_local.h
diff options
context:
space:
mode:
authorWu Fengguang <wfg@linux.intel.com>2008-11-17 22:47:53 -0500
committerTakashi Iwai <tiwai@suse.de>2008-11-18 01:39:12 -0500
commit5f1e71b1cc2cc788c0f452772e2ce5e7430c40c2 (patch)
tree74c344fbdfdb12e7a02003fc3d8f6db9b7da0c83 /sound/pci/hda/hda_local.h
parent7f4a9f43427793bfe4d42e71f42e2b551bcfe354 (diff)
ALSA: ELD proc interface for HDMI sinks
Create /proc/asound/card<card_no>/eld#<codec_no> to reflect the audio configurations and capabilities of the attached HDMI sink. Some notes: - Shall we show an empty file if the ELD content is not valid? Well it's not that simple. There could be partially populated ELD, and there may be malformed ELD provided by buggy drivers/monitors. So expose ELD as it is. - The ELD retrieval routines rely on the Intel HDA interface, others are/could be universal and independent ones. - How do we name the proc file? If there are going to be two HDMI pins per codec, then the current naming scheme (eld#<codec no>) will fail. Luckily the user space dependencies should be minimal, so it would be trivial to do the rename if that happens. - The ELD proc file content is designed to be easy for scripts and human reading. Its lines all have the pattern: <item_name>\t[\t]*<item_value> where <item_name> is a keyword in c language, while <item_value> could be any contents, including white spaces. <item_value> could also be a null value. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_local.h')
-rw-r--r--sound/pci/hda/hda_local.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index e1b76686672a..02ac7321e5e4 100644
--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -484,4 +484,13 @@ int snd_hdmi_get_eld_size(struct hda_codec *codec, hda_nid_t nid);
484int snd_hdmi_get_eld(struct sink_eld *, struct hda_codec *, hda_nid_t); 484int snd_hdmi_get_eld(struct sink_eld *, struct hda_codec *, hda_nid_t);
485void snd_hdmi_show_eld(struct sink_eld *eld); 485void snd_hdmi_show_eld(struct sink_eld *eld);
486 486
487#ifdef CONFIG_PROC_FS
488int snd_hda_eld_proc_new(struct hda_codec *codec, struct sink_eld *eld);
489#else
490inline int snd_hda_eld_proc_new(struct hda_codec *codec, struct sink_eld *eld)
491{
492 return 0;
493}
494#endif
495
487#endif /* __SOUND_HDA_LOCAL_H */ 496#endif /* __SOUND_HDA_LOCAL_H */