ALSA: ELD proc interface for HDMI sinks
authorWu Fengguang <wfg@linux.intel.com>
Tue, 18 Nov 2008 03:47:53 +0000 (11:47 +0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 18 Nov 2008 06:39:12 +0000 (07:39 +0100)
commit5f1e71b1cc2cc788c0f452772e2ce5e7430c40c2
tree74c344fbdfdb12e7a02003fc3d8f6db9b7da0c83
parent7f4a9f43427793bfe4d42e71f42e2b551bcfe354
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>
sound/pci/hda/hda_eld.c
sound/pci/hda/hda_local.h
sound/pci/hda/patch_intelhdmi.c