The existing GB Audio codec driver is dependent on MSM8994 Audio driver. During the development stage, this dependency was configured due to various changes involved in MSM Audio driver to enable addtional codec card and some of the changes proposed in mainline ASoC framework. However, these are not the real dependencies and some of them can be easily removed.
The folowing patch series includes the changes to resolve unnecessary depedencies and make the codec driver functional with the latest kernel.
Patch 1,2: Incudes jack framework related changes. Patch 3,4,5: Resolves compilation error observed with the latest kernel and also provides helper APIs required to allow dynamic addition/removal of modules. Patch 6: Finally provides config options and related Makefile changes to enable GB Codec driver.
Thanks to Alexandre for raising the headsup [1] and motivating me to provide the necessary changes.
This patchset is intended to resolve the componentization issue only. And as per the suggestion [2] from Mark, I'll share a separate patch series aligned to ASoC tree. Once the relevant changes are accepted in snd-soc framework, I'll share relevant patches to pull GB Audio out of the staging tree.
v1: - Include the changes for the review comments suggested by Dan - Rebase to latest staging-next
v2: - Avoid defining unused 'update' pointer - Fix the missing connect bool value required during mixer_update_power - Added Reviewed-by tag from Dan - Rebase to latest staging-next
v3: - Fix the warnings reported by lkp[3] - Rebase to latest staging-next
[1] https://lore.kernel.org/lkml/20200507212912.599433-1-alexandre.belloni@bootl... [2] https://lore.kernel.org/alsa-devel/20200612160620.GK5396@sirena.org.uk/ [3] https://lore.kernel.org/lkml/202006200150.mNVj1Duq%25lkp@intel.com/
Vaibhav Agarwal (7): staging: greybus: audio: Update snd_jack FW usage as per new APIs staging: greybus: audio: Maintain jack list within GB Audio module staging: greybus: audio: Resolve compilation errors for GB codec module staging: greybus: audio: Resolve compilation error in topology parser staging: greybus: audio: Add helper APIs for dynamic audio modules staging: greybus: audio: Enable GB codec, audio module compilation. drivers: staging: audio: Fix the missing header file for helper file
drivers/staging/greybus/Kconfig | 14 +- drivers/staging/greybus/Makefile | 6 +- drivers/staging/greybus/audio_codec.c | 178 +++++++++++--------- drivers/staging/greybus/audio_codec.h | 12 +- drivers/staging/greybus/audio_helper.c | 198 +++++++++++++++++++++++ drivers/staging/greybus/audio_helper.h | 17 ++ drivers/staging/greybus/audio_module.c | 15 +- drivers/staging/greybus/audio_topology.c | 131 +++++++-------- 8 files changed, 414 insertions(+), 157 deletions(-) create mode 100644 drivers/staging/greybus/audio_helper.c create mode 100644 drivers/staging/greybus/audio_helper.h
base-commit: 14442181d20490945f341644bb8257e334b01447