[PATCH 05/27] ALSA: hda: Move controller drivers into sound/hda/controllers directory

Takashi Iwai
2025-07-09T16:05:38Z

Now HD-audio controller drivers are moved into sound/hda/controllers
directory as a part of HD-audio code reorganization. Most of drivers
are independent from PCI bus, hence it makes more sense to put under
sound/hda.

The hda_ prefix is dropped from most of files at moving, as it's
more or less superfluous.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/hda/Kconfig | 1 +
sound/hda/Makefile | 4 ++
sound/hda/controllers/Kconfig | 42 +++++++++++++++++++
sound/hda/controllers/Makefile | 13 ++++++
.../hda/hda_acpi.c => hda/controllers/acpi.c} | 0
.../hda_intel.c => hda/controllers/intel.c} | 5 +--
.../hda_intel.h => hda/controllers/intel.h} | 0
.../controllers/intel_trace.h} | 2 +-
.../hda_tegra.c => hda/controllers/tegra.c} | 0
sound/pci/hda/Kconfig | 42 -------------------
sound/pci/hda/Makefile | 14 -------
11 files changed, 63 insertions(+), 60 deletions(-)
create mode 100644 sound/hda/controllers/Kconfig
create mode 100644 sound/hda/controllers/Makefile
rename sound/{pci/hda/hda_acpi.c => hda/controllers/acpi.c} (100%)
rename sound/{pci/hda/hda_intel.c => hda/controllers/intel.c} (99%)
rename sound/{pci/hda/hda_intel.h => hda/controllers/intel.h} (100%)
rename sound/{pci/hda/hda_intel_trace.h => hda/controllers/intel_trace.h} (95%)
rename sound/{pci/hda/hda_tegra.c => hda/controllers/tegra.c} (100%)

diff --git a/sound/hda/Kconfig b/sound/hda/Kconfig
index 2928cb570ec6..d360c884bd6d 100644
--- a/sound/hda/Kconfig
+++ b/sound/hda/Kconfig
@@ -2,6 +2,7 @@
menu "HD-Audio"

source "sound/hda/common/Kconfig"
+source "sound/hda/controllers/Kconfig"
source "sound/hda/core/Kconfig"

endmenu
diff --git a/sound/hda/Makefile b/sound/hda/Makefile
index e7596bf736a4..fc76086a1f5e 100644
--- a/sound/hda/Makefile
+++ b/sound/hda/Makefile
@@ -1,3 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
obj-y += core/
obj-$(CONFIG_SND_HDA) += common/
+# this must be the last entry after codec drivers;
+# otherwise the codec patches won't be hooked before the PCI probe
+# when built in kernel
+obj-$(CONFIG_SND_HDA) += controllers/
diff --git a/sound/hda/controllers/Kconfig b/sound/hda/controllers/Kconfig
new file mode 100644
index 000000000000..34721f50b055
--- /dev/null
+++ b/sound/hda/controllers/Kconfig
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config SND_HDA_INTEL
+ tristate "HD Audio PCI"
+ depends on SND_PCI
+ select SND_HDA
+ select SND_INTEL_DSP_CONFIG
+ help
+ Say Y here to include support for Intel "High Definition
+ Audio" (Azalia) and its compatible devices.
+
+ This option enables the HD-audio controller. Don't forget
+ to choose the appropriate HD-audio codec options.
+
+ To compile this driver as a module, choose M here: the module
+ will be called snd-hda-intel.
+
+config SND_HDA_TEGRA
+ tristate "NVIDIA Tegra HD Audio"
+ depends on ARCH_TEGRA
+ select SND_HDA
+ select SND_HDA_ALIGNED_MMIO
+ help
+ Say Y here to support the HDA controller present in NVIDIA
+ Tegra SoCs
+
+ This options enables support for the HD Audio controller
+ present in some NVIDIA Tegra SoCs, used to communicate audio
+ to the HDMI output.
+
+ To compile this driver as a module, choose M here: the module
+ will be called snd-hda-tegra.
+
+config SND_HDA_ACPI
+ tristate "HD Audio ACPI"
+ depends on ACPI
+ select SND_HDA
+ help
+ Say Y here to include support for Azalia-compatible HDA controllers
+ which are advertised via ACPI objects.
+
+ To compile this driver as a module, choose M here: the module
+ will be called snd-hda-acpi.
diff --git a/sound/hda/controllers/Makefile b/sound/hda/controllers/Makefile
new file mode 100644
index 000000000000..a4bcd055e9ae
--- /dev/null
+++ b/sound/hda/controllers/Makefile
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: GPL-2.0
+snd-hda-intel-y := intel.o
+snd-hda-tegra-y := tegra.o
+snd-hda-acpi-y := acpi.o
+
+subdir-ccflags-y += -I$(src)/../common
+
+# for trace-points
+CFLAGS_intel.o := -I$(src)
+
+obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o
+obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-tegra.o
+obj-$(CONFIG_SND_HDA_ACPI) += snd-hda-acpi.o
diff --git a/sound/pci/hda/hda_acpi.c b/sound/hda/controllers/acpi.c
similarity index 100%
rename from sound/pci/hda/hda_acpi.c
rename to sound/hda/controllers/acpi.c
diff --git a/sound/pci/hda/hda_intel.c b/sound/hda/controllers/intel.c
similarity index 99%
rename from sound/pci/hda/hda_intel.c
rename to sound/hda/controllers/intel.c
index 439cf1bda6e6..ebfc999156f4 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/hda/controllers/intel.c
@@ -54,11 +54,10 @@
#include <linux/apple-gmux.h>
#include <linux/firmware.h>
#include <sound/hda_codec.h>
-#include "hda_controller.h"
-#include "hda_intel.h"
+#include "intel.h"

#define CREATE_TRACE_POINTS
-#include "hda_intel_trace.h"
+#include "intel_trace.h"

/* position fix mode */
enum {
diff --git a/sound/pci/hda/hda_intel.h b/sound/hda/controllers/intel.h
similarity index 100%
rename from sound/pci/hda/hda_intel.h
rename to sound/hda/controllers/intel.h
diff --git a/sound/pci/hda/hda_intel_trace.h b/sound/hda/controllers/intel_trace.h
similarity index 95%
rename from sound/pci/hda/hda_intel_trace.h
rename to sound/hda/controllers/intel_trace.h
index 2775fa81a500..fb10ab9e7e55 100644
--- a/sound/pci/hda/hda_intel_trace.h
+++ b/sound/hda/controllers/intel_trace.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM hda_intel
-#define TRACE_INCLUDE_FILE hda_intel_trace
+#define TRACE_INCLUDE_FILE intel_trace

#if !defined(_TRACE_HDA_INTEL_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_HDA_INTEL_H
diff --git a/sound/pci/hda/hda_tegra.c b/sound/hda/controllers/tegra.c
similarity index 100%
rename from sound/pci/hda/hda_tegra.c
rename to sound/hda/controllers/tegra.c
diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig
index 1dfd56493d39..a5d345514cf3 100644
--- a/sound/pci/hda/Kconfig
+++ b/sound/pci/hda/Kconfig
@@ -4,48 +4,6 @@ menu "HD-Audio"
config SND_HDA_GENERIC_LEDS
bool

-config SND_HDA_INTEL
- tristate "HD Audio PCI"
- depends on SND_PCI
- select SND_HDA
- select SND_INTEL_DSP_CONFIG
- help
- Say Y here to include support for Intel "High Definition
- Audio" (Azalia) and its compatible devices.
-
- This option enables the HD-audio controller. Don't forget
- to choose the appropriate codec options below.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-hda-intel.
-
-config SND_HDA_TEGRA
- tristate "NVIDIA Tegra HD Audio"
- depends on ARCH_TEGRA
- select SND_HDA
- select SND_HDA_ALIGNED_MMIO
- help
- Say Y here to support the HDA controller present in NVIDIA
- Tegra SoCs
-
- This options enables support for the HD Audio controller
- present in some NVIDIA Tegra SoCs, used to communicate audio
- to the HDMI output.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-hda-tegra.
-
-config SND_HDA_ACPI
- tristate "HD Audio ACPI"
- depends on ACPI
- select SND_HDA
- help
- Say Y here to include support for Azalia-compatible HDA controllers
- which are advertised via ACPI objects.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-hda-acpi.
-
if SND_HDA

config SND_HDA_CIRRUS_SCODEC
diff --git a/sound/pci/hda/Makefile b/sound/pci/hda/Makefile
index 920011bb1b06..79de0af71ad4 100644
--- a/sound/pci/hda/Makefile
+++ b/sound/pci/hda/Makefile
@@ -1,11 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
-snd-hda-intel-y := hda_intel.o
-snd-hda-tegra-y := hda_tegra.o
-snd-hda-acpi-y := hda_acpi.o
-
-# for trace-points
-CFLAGS_hda_intel.o := -I$(src)
-
subdir-ccflags-y += -I$(src)/../../hda/common

snd-hda-codec-generic-y := hda_generic.o
@@ -66,10 +59,3 @@ obj-$(CONFIG_SND_HDA_SCODEC_COMPONENT) += snd-hda-scodec-component.o
obj-$(CONFIG_SND_HDA_SCODEC_TAS2781) += snd-hda-scodec-tas2781.o
obj-$(CONFIG_SND_HDA_SCODEC_TAS2781_I2C) += snd-hda-scodec-tas2781-i2c.o
obj-$(CONFIG_SND_HDA_SCODEC_TAS2781_SPI) += snd-hda-scodec-tas2781-spi.o
-
-# this must be the last entry after codec drivers;
-# otherwise the codec patches won't be hooked before the PCI probe
-# when built in kernel
-obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o
-obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-tegra.o
-obj-$(CONFIG_SND_HDA_ACPI) += snd-hda-acpi.o
--
2.50.0