The HDMI channel map helper APIs and control registration can be reused by ASoC skylake HDMI drivers.
A common chmap object is created, channel map control callback handlers, helper APIs and data structures are moved to the core. Driver object store an instance of this chmap object to register chmap controls and program channel allocation for HDMI infoframe. Driver registers ops for specific operations.
changes in v3: - Namespace managed as per hda frmwrk requirement - Address review comments in v2
Subhransu S. Prusty (7): ALSA: hda - Create common chmap object ALSA: hda - Register chmap obj as priv data instead of codec ALSA: hda - Use hdac name space for CEA spk alloc structure ALSA: hda - Add hdmi chmap verb programming ops to chmap object ALSA: hda - chmap helper args modified to use generic hdac objs. ALSA: hda - Move chmap support helpers/ops to core ALSA: hda - Use snd_hdac namespace prefix for chmap exported APIs
include/sound/hda_chmap.h | 76 +++++ sound/hda/Makefile | 2 +- sound/hda/hdmi_chmap.c | 791 +++++++++++++++++++++++++++++++++++++++++++ sound/pci/hda/hda_eld.c | 31 +- sound/pci/hda/patch_hdmi.c | 824 +++++---------------------------------------- 5 files changed, 950 insertions(+), 774 deletions(-) create mode 100644 include/sound/hda_chmap.h create mode 100644 sound/hda/hdmi_chmap.c