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 v2: - Splitted patches for easier review - Access most of chmap helpers through ops, thus reducing number of exported APIs for chmap support
Subhransu S. Prusty (7): ALSA: hda - Create common chmap object ALSA: hda - Register chmap obj as priv data instead of codec ALSA: hda - Use hdmi name space for CEA spk alloc structure ALSA: hda - Add hdmi chmap verb programming ops to chmap object ALSA: hda - Use ops instead of directly accessing chmap helpers ALSA: hda - Move chmap support helpers/ops to core ALSA: hda - Use snd_hdmi namespace prefix for printing ch alloc api
include/sound/hdmi_chmap.h | 75 ++++ sound/hda/Makefile | 2 +- sound/hda/hdmi_chmap.c | 791 ++++++++++++++++++++++++++++++++++++++++++ sound/pci/hda/hda_eld.c | 31 +- sound/pci/hda/patch_hdmi.c | 830 +++++---------------------------------------- 5 files changed, 957 insertions(+), 772 deletions(-) create mode 100644 include/sound/hdmi_chmap.h create mode 100644 sound/hda/hdmi_chmap.c