[REQUEST]
This patch series intends to "Enable Greybus Audio codec driver" existing in the staging tree. I have shared the original patch series with Greybus-Dev mailing list and as per the suggestion from Alexandre, I'm also interested to push Greybus Audio to sound soc tree. Thus, now I'm resending it to ASoc maintainers for review.
Following is the top level SW design for GB Codec driver and GB Audio modules.
+--------------+ +-------------->+GBA Module 1 | | +--------------+ +-----------------------+ | | | | | Greybus | +--------------+ | SND SOC | Audio +-------------->+GBA Module 2 | | Framework | Codec | +--------------+ | | Driver | | | | +-----------------------+ +--------------+ +-------------->+GBA Module N | +--------------+
Patch 5 contains the changes to provide helper APIs to link DAPM DAI widgets for the module added and remove/free component controls for the module removed dynamically. Eventually, I propose to extend snd_soc_xxx APIs for this purpose.
Kindly share your inputs.
[COVER LETTER]
The existing GB Audio codec driver is dependent on MSM8994 Audio driver. During the development stage, this depdency 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.
[1] https://lore.kernel.org/lkml/20200507212912.599433-1-alexandre.belloni@bootl...
Vaibhav Agarwal (6): 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/greybus/Kconfig | 14 +- drivers/staging/greybus/Makefile | 6 +- drivers/staging/greybus/audio_codec.c | 187 +++++++++++++-------- drivers/staging/greybus/audio_codec.h | 12 +- drivers/staging/greybus/audio_helper.c | 197 +++++++++++++++++++++++ drivers/staging/greybus/audio_helper.h | 17 ++ drivers/staging/greybus/audio_module.c | 20 +-- drivers/staging/greybus/audio_topology.c | 130 +++++++-------- 8 files changed, 427 insertions(+), 156 deletions(-) create mode 100644 drivers/staging/greybus/audio_helper.c create mode 100644 drivers/staging/greybus/audio_helper.h
base-commit: ae73e7784871ebe2c43da619b4a1e2c9ff81508d