mbox series

[0/8] ASoC: SOF: Intel: add module namespace support

Message ID 20191217202231.18259-1-pierre-louis.bossart@linux.intel.com (mailing list archive)
Headers show
Series ASoC: SOF: Intel: add module namespace support | expand

Message

Pierre-Louis Bossart Dec. 17, 2019, 8:22 p.m. UTC
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(-)