[PATCH 02/27] ALSA: hda: Move HD-audio core stuff into sound/hda/core

Takashi Iwai
2025-07-09T16:04:46Z

This is a part of HD-audio code restructuring.
Simply move the current code of sound/hda/* into the subdirectory
sound/hda/core, so that more stuff can be moved into sound/hda cleanly
later.

Most of file names with hdac_ and hdac_ext_ prefix are renamed without
the prefix, since they can be identified well in the directory name
and superfluous.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/hda/Kconfig | 67 +------------------
sound/hda/Makefile | 22 +-----
sound/hda/core/Kconfig | 67 +++++++++++++++++++
sound/hda/core/Makefile | 22 ++++++
sound/hda/{ => core}/array.c | 0
sound/hda/{hdac_bus.c => core/bus.c} | 0
.../{hdac_component.c => core/component.c} | 0
.../{hdac_controller.c => core/controller.c} | 0
sound/hda/{hdac_device.c => core/device.c} | 0
sound/hda/{ => core}/ext/Makefile | 2 +-
.../{ext/hdac_ext_bus.c => core/ext/bus.c} | 0
.../ext/controller.c} | 0
.../hdac_ext_stream.c => core/ext/stream.c} | 0
sound/hda/{ => core}/hda_bus_type.c | 0
sound/hda/{ => core}/hdmi_chmap.c | 0
sound/hda/{hdac_i915.c => core/i915.c} | 0
sound/hda/{ => core}/intel-dsp-config.c | 0
sound/hda/{ => core}/intel-nhlt.c | 0
sound/hda/{ => core}/intel-sdw-acpi.c | 0
sound/hda/{ => core}/local.h | 0
sound/hda/{hdac_regmap.c => core/regmap.c} | 0
sound/hda/{hdac_stream.c => core/stream.c} | 0
sound/hda/{hdac_sysfs.c => core/sysfs.c} | 0
sound/hda/{ => core}/trace.c | 0
sound/hda/{ => core}/trace.h | 0
25 files changed, 92 insertions(+), 88 deletions(-)
create mode 100644 sound/hda/core/Kconfig
create mode 100644 sound/hda/core/Makefile
rename sound/hda/{ => core}/array.c (100%)
rename sound/hda/{hdac_bus.c => core/bus.c} (100%)
rename sound/hda/{hdac_component.c => core/component.c} (100%)
rename sound/hda/{hdac_controller.c => core/controller.c} (100%)
rename sound/hda/{hdac_device.c => core/device.c} (100%)
rename sound/hda/{ => core}/ext/Makefile (54%)
rename sound/hda/{ext/hdac_ext_bus.c => core/ext/bus.c} (100%)
rename sound/hda/{ext/hdac_ext_controller.c => core/ext/controller.c} (100%)
rename sound/hda/{ext/hdac_ext_stream.c => core/ext/stream.c} (100%)
rename sound/hda/{ => core}/hda_bus_type.c (100%)
rename sound/hda/{ => core}/hdmi_chmap.c (100%)
rename sound/hda/{hdac_i915.c => core/i915.c} (100%)
rename sound/hda/{ => core}/intel-dsp-config.c (100%)
rename sound/hda/{ => core}/intel-nhlt.c (100%)
rename sound/hda/{ => core}/intel-sdw-acpi.c (100%)
rename sound/hda/{ => core}/local.h (100%)
rename sound/hda/{hdac_regmap.c => core/regmap.c} (100%)
rename sound/hda/{hdac_stream.c => core/stream.c} (100%)
rename sound/hda/{hdac_sysfs.c => core/sysfs.c} (100%)
rename sound/hda/{ => core}/trace.c (100%)
rename sound/hda/{ => core}/trace.h (100%)

diff --git a/sound/hda/Kconfig b/sound/hda/Kconfig
index eb488a522572..e38014656077 100644
--- a/sound/hda/Kconfig
+++ b/sound/hda/Kconfig
@@ -1,67 +1,2 @@
# SPDX-License-Identifier: GPL-2.0-only
-config SND_HDA_CORE
- tristate
- select REGMAP
-
-config SND_HDA_DSP_LOADER
- bool
-
-config SND_HDA_ALIGNED_MMIO
- bool
-
-config SND_HDA_COMPONENT
- bool
-
-config SND_HDA_I915
- bool
- select SND_HDA_COMPONENT
-
-config SND_HDA_EXT_CORE
- tristate
- select SND_HDA_CORE
-
-config SND_HDA_PREALLOC_SIZE
- int "Pre-allocated buffer size for HD-audio driver"
- range 0 32768
- default 0 if SND_DMA_SGBUF
- default 64 if !SND_DMA_SGBUF
- help
- Specifies the default pre-allocated buffer-size in kB for the
- HD-audio driver. A larger buffer (e.g. 2048) is preferred
- for systems using PulseAudio. The default 64 is chosen just
- for compatibility reasons.
- On x86 systems, the default is zero as S/G allocation works
- and no preallocation is needed in most cases.
-
- Note that the pre-allocation size can be changed dynamically
- via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too.
-
-config SND_INTEL_NHLT
- bool
- # this config should be selected only for Intel ACPI platforms.
- # A fallback is provided so that the code compiles in all cases.
-
-config SND_INTEL_DSP_CONFIG
- tristate
- select ACPI_NHLT if ACPI
- select SND_INTEL_NHLT if ACPI
- select SND_INTEL_SOUNDWIRE_ACPI if ACPI
- # this config should be selected only for Intel DSP platforms.
- # A fallback is provided so that the code compiles in all cases.
-
-config SND_INTEL_SOUNDWIRE_ACPI
- tristate
-
-config SND_INTEL_BYT_PREFER_SOF
- bool "Prefer SOF driver over SST on BY/CHT platforms"
- depends on SND_SST_ATOM_HIFI2_PLATFORM_ACPI && SND_SOC_SOF_BAYTRAIL
- default n
- help
- The kernel has 2 drivers for the Low Power Engine audio-block on
- Bay- and Cherry-Trail SoCs. The old SST driver and the new SOF
- driver. If both drivers are enabled then the kernel will default
- to using the old SST driver, unless told otherwise through the
- snd_intel_dspcfg.dsp_driver module-parameter.
-
- Set this option to Y to make the kernel default to the new SOF
- driver instead.
+source "sound/hda/core/Kconfig"
diff --git a/sound/hda/Makefile b/sound/hda/Makefile
index 83cceafe0d4c..3fdbc22b1530 100644
--- a/sound/hda/Makefile
+++ b/sound/hda/Makefile
@@ -1,22 +1,2 @@
# SPDX-License-Identifier: GPL-2.0
-snd-hda-core-y := hda_bus_type.o hdac_bus.o hdac_device.o hdac_sysfs.o \
- hdac_regmap.o hdac_controller.o hdac_stream.o array.o hdmi_chmap.o
-
-snd-hda-core-y += trace.o
-CFLAGS_trace.o := -I$(src)
-
-# for sync with i915 gfx driver
-snd-hda-core-$(CONFIG_SND_HDA_COMPONENT) += hdac_component.o
-snd-hda-core-$(CONFIG_SND_HDA_I915) += hdac_i915.o
-
-obj-$(CONFIG_SND_HDA_CORE) += snd-hda-core.o
-
-#extended hda
-obj-$(CONFIG_SND_HDA_EXT_CORE) += ext/
-
-snd-intel-dspcfg-y := intel-dsp-config.o
-snd-intel-dspcfg-$(CONFIG_SND_INTEL_NHLT) += intel-nhlt.o
-obj-$(CONFIG_SND_INTEL_DSP_CONFIG) += snd-intel-dspcfg.o
-
-snd-intel-sdw-acpi-y := intel-sdw-acpi.o
-obj-$(CONFIG_SND_INTEL_SOUNDWIRE_ACPI) += snd-intel-sdw-acpi.o
+obj-y += core/
diff --git a/sound/hda/core/Kconfig b/sound/hda/core/Kconfig
new file mode 100644
index 000000000000..eb488a522572
--- /dev/null
+++ b/sound/hda/core/Kconfig
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config SND_HDA_CORE
+ tristate
+ select REGMAP
+
+config SND_HDA_DSP_LOADER
+ bool
+
+config SND_HDA_ALIGNED_MMIO
+ bool
+
+config SND_HDA_COMPONENT
+ bool
+
+config SND_HDA_I915
+ bool
+ select SND_HDA_COMPONENT
+
+config SND_HDA_EXT_CORE
+ tristate
+ select SND_HDA_CORE
+
+config SND_HDA_PREALLOC_SIZE
+ int "Pre-allocated buffer size for HD-audio driver"
+ range 0 32768
+ default 0 if SND_DMA_SGBUF
+ default 64 if !SND_DMA_SGBUF
+ help
+ Specifies the default pre-allocated buffer-size in kB for the
+ HD-audio driver. A larger buffer (e.g. 2048) is preferred
+ for systems using PulseAudio. The default 64 is chosen just
+ for compatibility reasons.
+ On x86 systems, the default is zero as S/G allocation works
+ and no preallocation is needed in most cases.
+
+ Note that the pre-allocation size can be changed dynamically
+ via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too.
+
+config SND_INTEL_NHLT
+ bool
+ # this config should be selected only for Intel ACPI platforms.
+ # A fallback is provided so that the code compiles in all cases.
+
+config SND_INTEL_DSP_CONFIG
+ tristate
+ select ACPI_NHLT if ACPI
+ select SND_INTEL_NHLT if ACPI
+ select SND_INTEL_SOUNDWIRE_ACPI if ACPI
+ # this config should be selected only for Intel DSP platforms.
+ # A fallback is provided so that the code compiles in all cases.
+
+config SND_INTEL_SOUNDWIRE_ACPI
+ tristate
+
+config SND_INTEL_BYT_PREFER_SOF
+ bool "Prefer SOF driver over SST on BY/CHT platforms"
+ depends on SND_SST_ATOM_HIFI2_PLATFORM_ACPI && SND_SOC_SOF_BAYTRAIL
+ default n
+ help
+ The kernel has 2 drivers for the Low Power Engine audio-block on
+ Bay- and Cherry-Trail SoCs. The old SST driver and the new SOF
+ driver. If both drivers are enabled then the kernel will default
+ to using the old SST driver, unless told otherwise through the
+ snd_intel_dspcfg.dsp_driver module-parameter.
+
+ Set this option to Y to make the kernel default to the new SOF
+ driver instead.
diff --git a/sound/hda/core/Makefile b/sound/hda/core/Makefile
new file mode 100644
index 000000000000..89cb46143050
--- /dev/null
+++ b/sound/hda/core/Makefile
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: GPL-2.0
+snd-hda-core-y := hda_bus_type.o bus.o device.o sysfs.o \
+ regmap.o controller.o stream.o array.o hdmi_chmap.o
+
+snd-hda-core-y += trace.o
+CFLAGS_trace.o := -I$(src)
+
+# for sync with i915 gfx driver
+snd-hda-core-$(CONFIG_SND_HDA_COMPONENT) += component.o
+snd-hda-core-$(CONFIG_SND_HDA_I915) += i915.o
+
+obj-$(CONFIG_SND_HDA_CORE) += snd-hda-core.o
+
+#extended hda
+obj-$(CONFIG_SND_HDA_EXT_CORE) += ext/
+
+snd-intel-dspcfg-y := intel-dsp-config.o
+snd-intel-dspcfg-$(CONFIG_SND_INTEL_NHLT) += intel-nhlt.o
+obj-$(CONFIG_SND_INTEL_DSP_CONFIG) += snd-intel-dspcfg.o
+
+snd-intel-sdw-acpi-y := intel-sdw-acpi.o
+obj-$(CONFIG_SND_INTEL_SOUNDWIRE_ACPI) += snd-intel-sdw-acpi.o
diff --git a/sound/hda/array.c b/sound/hda/core/array.c
similarity index 100%
rename from sound/hda/array.c
rename to sound/hda/core/array.c
diff --git a/sound/hda/hdac_bus.c b/sound/hda/core/bus.c
similarity index 100%
rename from sound/hda/hdac_bus.c
rename to sound/hda/core/bus.c
diff --git a/sound/hda/hdac_component.c b/sound/hda/core/component.c
similarity index 100%
rename from sound/hda/hdac_component.c
rename to sound/hda/core/component.c
diff --git a/sound/hda/hdac_controller.c b/sound/hda/core/controller.c
similarity index 100%
rename from sound/hda/hdac_controller.c
rename to sound/hda/core/controller.c
diff --git a/sound/hda/hdac_device.c b/sound/hda/core/device.c
similarity index 100%
rename from sound/hda/hdac_device.c
rename to sound/hda/core/device.c
diff --git a/sound/hda/ext/Makefile b/sound/hda/core/ext/Makefile
similarity index 54%
rename from sound/hda/ext/Makefile
rename to sound/hda/core/ext/Makefile
index 05883fb28d28..85190a7eb5de 100644
--- a/sound/hda/ext/Makefile
+++ b/sound/hda/core/ext/Makefile
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-2.0-only
-snd-hda-ext-core-y := hdac_ext_bus.o hdac_ext_controller.o hdac_ext_stream.o
+snd-hda-ext-core-y := bus.o controller.o stream.o

obj-$(CONFIG_SND_HDA_EXT_CORE) += snd-hda-ext-core.o
diff --git a/sound/hda/ext/hdac_ext_bus.c b/sound/hda/core/ext/bus.c
similarity index 100%
rename from sound/hda/ext/hdac_ext_bus.c
rename to sound/hda/core/ext/bus.c
diff --git a/sound/hda/ext/hdac_ext_controller.c b/sound/hda/core/ext/controller.c
similarity index 100%
rename from sound/hda/ext/hdac_ext_controller.c
rename to sound/hda/core/ext/controller.c
diff --git a/sound/hda/ext/hdac_ext_stream.c b/sound/hda/core/ext/stream.c
similarity index 100%
rename from sound/hda/ext/hdac_ext_stream.c
rename to sound/hda/core/ext/stream.c
diff --git a/sound/hda/hda_bus_type.c b/sound/hda/core/hda_bus_type.c
similarity index 100%
rename from sound/hda/hda_bus_type.c
rename to sound/hda/core/hda_bus_type.c
diff --git a/sound/hda/hdmi_chmap.c b/sound/hda/core/hdmi_chmap.c
similarity index 100%
rename from sound/hda/hdmi_chmap.c
rename to sound/hda/core/hdmi_chmap.c
diff --git a/sound/hda/hdac_i915.c b/sound/hda/core/i915.c
similarity index 100%
rename from sound/hda/hdac_i915.c
rename to sound/hda/core/i915.c
diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c
similarity index 100%
rename from sound/hda/intel-dsp-config.c
rename to sound/hda/core/intel-dsp-config.c
diff --git a/sound/hda/intel-nhlt.c b/sound/hda/core/intel-nhlt.c
similarity index 100%
rename from sound/hda/intel-nhlt.c
rename to sound/hda/core/intel-nhlt.c
diff --git a/sound/hda/intel-sdw-acpi.c b/sound/hda/core/intel-sdw-acpi.c
similarity index 100%
rename from sound/hda/intel-sdw-acpi.c
rename to sound/hda/core/intel-sdw-acpi.c
diff --git a/sound/hda/local.h b/sound/hda/core/local.h
similarity index 100%
rename from sound/hda/local.h
rename to sound/hda/core/local.h
diff --git a/sound/hda/hdac_regmap.c b/sound/hda/core/regmap.c
similarity index 100%
rename from sound/hda/hdac_regmap.c
rename to sound/hda/core/regmap.c
diff --git a/sound/hda/hdac_stream.c b/sound/hda/core/stream.c
similarity index 100%
rename from sound/hda/hdac_stream.c
rename to sound/hda/core/stream.c
diff --git a/sound/hda/hdac_sysfs.c b/sound/hda/core/sysfs.c
similarity index 100%
rename from sound/hda/hdac_sysfs.c
rename to sound/hda/core/sysfs.c
diff --git a/sound/hda/trace.c b/sound/hda/core/trace.c
similarity index 100%
rename from sound/hda/trace.c
rename to sound/hda/core/trace.c
diff --git a/sound/hda/trace.h b/sound/hda/core/trace.h
similarity index 100%
rename from sound/hda/trace.h
rename to sound/hda/core/trace.h
--
2.50.0