A lot of the existing SOF/Intel drivers expose ops structures or helpers that should not be visible or loadable by other drivers. During the last round of SoundWire reviews, GregKH suggested the use of module namespaces [1] to avoid exposing symbols that are only meant to be used in a restricted context.
This patchset suggests the use of namespaces for the different Intel parts, largely modeled after the existing hiearchical Kconfig options. While several SOF reviewers suggested on GitHub that this use of namespaces was too fine-grained, it can also be argued that this level of detail helps identify cases where the existing structures are not properly defined. We found such a case with the Xtensa architecture abstraction and another code partitioning issue for the SoundWire driver yesterday.
Module namespaces are currently not used widely in kernel circles, this is a first attempt to test the water for audio drivers and gather comments from maintainers/reviewers.
[1] https://www.kernel.org/doc/html/latest/core-api/symbol-namespaces.html
Pierre-Louis Bossart (8): ASoC: SOF: Intel: add module namespace for legacy IPC ASoC: SOF: Intel: add namespaces for BAYTRAIL and MERRIFIELD ASoC: SOF: Intel: add namespace for BROADWELL ASoC: SOF: remove references to Haswell ASoC: SOF: Intel: add namespace for HDA_COMMON ASoC: SOF: Intel: hda: add namespace for hda-codec functionality ASoC: SOF: move arch_ops under ops ASoC: SOF: Intel: add namespace for XTENSA
include/sound/sof.h | 1 - sound/soc/sof/Kconfig | 2 +- sound/soc/sof/intel/apl.c | 6 ++++-- sound/soc/sof/intel/bdw.c | 8 ++++++-- sound/soc/sof/intel/byt.c | 20 ++++++++++++++------ sound/soc/sof/intel/cnl.c | 14 ++++++++------ sound/soc/sof/intel/hda-codec.c | 14 +++++++------- sound/soc/sof/intel/hda.c | 3 +++ sound/soc/sof/intel/intel-ipc.c | 8 ++++---- sound/soc/sof/intel/shim.h | 6 ++---- sound/soc/sof/sof-acpi-dev.c | 26 ++------------------------ sound/soc/sof/sof-pci-dev.c | 12 ++---------- sound/soc/sof/sof-priv.h | 4 +++- sound/soc/sof/xtensa/core.c | 2 +- 14 files changed, 57 insertions(+), 69 deletions(-)