ALSA: hda: Move codec drivers into sound/hda/codecs directory

Now move the all remaining codec drivers from sound/pci/hda to
sound/hda/codecs subdirectory.  Some drivers are put under the further
vendor subdirectory, and the vendor helper code (*_helper.c) are put
under helpers subdirectory.  Also the sub-codec drivers are moved under
a different subdirectory, sound/hda/codecs/sub-codecs, for
distinguishing from the main HD-audio codec drivers.

The prefix patch_ and hda_ as well as the suffix _helper are dropped
from file names as they are mostly superfluous.

No functional changes but just file path shuffling.

Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250709160434.1859-7-tiwai@suse.de
This commit is contained in:
Takashi Iwai 2025-07-09 18:04:09 +02:00
parent 2d9223d2d6
commit 6014e9021b
54 changed files with 257 additions and 247 deletions

View File

@ -3,6 +3,7 @@ menu "HD-Audio"
source "sound/hda/common/Kconfig" source "sound/hda/common/Kconfig"
source "sound/hda/controllers/Kconfig" source "sound/hda/controllers/Kconfig"
source "sound/hda/codecs/Kconfig"
source "sound/hda/core/Kconfig" source "sound/hda/core/Kconfig"
endmenu endmenu

View File

@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
obj-y += core/ obj-y += core/
obj-$(CONFIG_SND_HDA) += common/ obj-$(CONFIG_SND_HDA) += common/
obj-$(CONFIG_SND_HDA) += codecs/
# this must be the last entry after codec drivers; # this must be the last entry after codec drivers;
# otherwise the codec patches won't be hooked before the PCI probe # otherwise the codec patches won't be hooked before the PCI probe
# when built in kernel # when built in kernel

View File

@ -1,140 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
menu "HD-Audio" if SND_HDA
config SND_HDA_GENERIC_LEDS config SND_HDA_GENERIC_LEDS
bool bool
if SND_HDA
config SND_HDA_CIRRUS_SCODEC
tristate
config SND_HDA_CIRRUS_SCODEC_KUNIT_TEST
tristate "KUnit test for Cirrus side-codec library" if !KUNIT_ALL_TESTS
depends on SND_HDA_CIRRUS_SCODEC && GPIOLIB && KUNIT
default KUNIT_ALL_TESTS
help
This builds KUnit tests for the cirrus side-codec library.
For more information on KUnit and unit tests in general,
please refer to the KUnit documentation in
Documentation/dev-tools/kunit/.
If in doubt, say "N".
config SND_HDA_SCODEC_CS35L41
tristate
select SND_HDA_GENERIC
select REGMAP_IRQ
select FW_CS_DSP
config SND_HDA_SCODEC_COMPONENT
tristate
config SND_HDA_SCODEC_CS35L41_I2C
tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
depends on I2C
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_SOC_CS35L41_LIB
select SND_HDA_SCODEC_CS35L41
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L41 I2C HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m
config SND_HDA_SCODEC_CS35L41_SPI
tristate "Build CS35L41 HD-audio codec support for SPI Bus"
depends on SPI_MASTER
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_SOC_CS35L41_LIB
select SND_HDA_SCODEC_CS35L41
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L41 SPI HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m
config SND_HDA_SCODEC_CS35L56
tristate
config SND_HDA_SCODEC_CS35L56_I2C
tristate "Build CS35L56 HD-audio side codec support for I2C Bus"
depends on I2C
depends on ACPI
depends on SND_SOC
select FW_CS_DSP
imply SERIAL_MULTI_INSTANTIATE
select SND_HDA_GENERIC
select SND_SOC_CS35L56_SHARED
select SND_HDA_SCODEC_CS35L56
select SND_HDA_CIRRUS_SCODEC
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L56 amplifier support with
I2C control.
config SND_HDA_SCODEC_CS35L56_SPI
tristate "Build CS35L56 HD-audio side codec support for SPI Bus"
depends on SPI_MASTER
depends on ACPI
depends on SND_SOC
select FW_CS_DSP
imply SERIAL_MULTI_INSTANTIATE
select SND_HDA_GENERIC
select SND_SOC_CS35L56_SHARED
select SND_HDA_SCODEC_CS35L56
select SND_HDA_CIRRUS_SCODEC
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L56 amplifier support with
SPI control.
config SND_HDA_SCODEC_TAS2781
tristate
select SND_HDA_GENERIC
config SND_HDA_SCODEC_TAS2781_I2C
tristate "Build TAS2781 HD-audio side codec support for I2C Bus"
depends on I2C
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_HDA_SCODEC_TAS2781
select SND_SOC_TAS2781_COMLIB_I2C
select SND_SOC_TAS2781_FMWLIB
select CRC32
help
Say Y or M here to include TAS2781 I2C HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_TAS2781_I2C=m
config SND_HDA_SCODEC_TAS2781_SPI
tristate "Build TAS2781 HD-audio side codec support for SPI Bus"
depends on SPI_MASTER
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_HDA_SCODEC_TAS2781
select SND_SOC_TAS2781_COMLIB
select SND_SOC_TAS2781_FMWLIB
select CRC8
select CRC32
help
Say Y or M here to include TAS2781 SPI HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_TAS2781_SPI=m
config SND_HDA_CODEC_REALTEK config SND_HDA_CODEC_REALTEK
tristate "Build Realtek HD-audio codec support" tristate "Build Realtek HD-audio codec support"
depends on INPUT depends on INPUT
@ -194,26 +63,6 @@ config SND_HDA_CODEC_HDMI
comment "Set to Y if you want auto-loading the codec driver" comment "Set to Y if you want auto-loading the codec driver"
depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m depends on SND_HDA=y && SND_HDA_CODEC_HDMI=m
config SND_HDA_CODEC_CIRRUS
tristate "Build Cirrus Logic codec support"
select SND_HDA_GENERIC
help
Say Y or M here to include Cirrus Logic codec support in
snd-hda-intel driver, such as CS4206.
comment "Set to Y if you want auto-loading the codec driver"
depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
config SND_HDA_CODEC_CS8409
tristate "Build Cirrus Logic HDA bridge support"
select SND_HDA_GENERIC
help
Say Y or M here to include Cirrus Logic HDA bridge support in
snd-hda-intel driver, such as CS8409.
comment "Set to Y if you want auto-loading the codec driver"
depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m
config SND_HDA_CODEC_CONEXANT config SND_HDA_CODEC_CONEXANT
tristate "Build Conexant HD-audio codec support" tristate "Build Conexant HD-audio codec support"
select SND_HDA_GENERIC select SND_HDA_GENERIC
@ -313,6 +162,7 @@ config SND_HDA_INTEL_HDMI_SILENT_STREAM
This feature can impact power consumption as resources This feature can impact power consumption as resources
are kept reserved both at transmitter and receiver. are kept reserved both at transmitter and receiver.
endif source "sound/hda/codecs/cirrus/Kconfig"
source "sound/hda/codecs/side-codecs/Kconfig"
endmenu endif # SND_HDA

31
sound/hda/codecs/Makefile Normal file
View File

@ -0,0 +1,31 @@
# SPDX-License-Identifier: GPL-2.0
subdir-ccflags-y += -I$(src)/../common
snd-hda-codec-generic-y := generic.o
snd-hda-codec-analog-y := analog.o
snd-hda-codec-ca0110-y := ca0110.o
snd-hda-codec-ca0132-y := ca0132.o
snd-hda-codec-cmedia-y := cmedia.o
snd-hda-codec-conexant-y := conexant.o
snd-hda-codec-idt-y := sigmatel.o
snd-hda-codec-realtek-y := realtek.o
snd-hda-codec-senarytech-y := senarytech.o
snd-hda-codec-si3054-y := si3054.o
snd-hda-codec-via-y := via.o
obj-y += cirrus/
obj-y += hdmi/
obj-y += side-codecs/
# codec drivers
obj-$(CONFIG_SND_HDA_GENERIC) += snd-hda-codec-generic.o
obj-$(CONFIG_SND_HDA_CODEC_ANALOG) += snd-hda-codec-analog.o
obj-$(CONFIG_SND_HDA_CODEC_CA0110) += snd-hda-codec-ca0110.o
obj-$(CONFIG_SND_HDA_CODEC_CA0132) += snd-hda-codec-ca0132.o
obj-$(CONFIG_SND_HDA_CODEC_CMEDIA) += snd-hda-codec-cmedia.o
obj-$(CONFIG_SND_HDA_CODEC_CONEXANT) += snd-hda-codec-conexant.o
obj-$(CONFIG_SND_HDA_CODEC_SIGMATEL) += snd-hda-codec-idt.o
obj-$(CONFIG_SND_HDA_CODEC_REALTEK) += snd-hda-codec-realtek.o
obj-$(CONFIG_SND_HDA_CODEC_SENARYTECH) += snd-hda-codec-senarytech.o
obj-$(CONFIG_SND_HDA_CODEC_SI3054) += snd-hda-codec-si3054.o
obj-$(CONFIG_SND_HDA_CODEC_VIA) += snd-hda-codec-via.o

View File

@ -16,7 +16,7 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_beep.h" #include "hda_beep.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
struct ad198x_spec { struct ad198x_spec {

View File

@ -13,7 +13,7 @@
#include "hda_local.h" #include "hda_local.h"
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
static const struct hda_codec_ops ca0110_patch_ops = { static const struct hda_codec_ops ca0110_patch_ops = {

View File

@ -4,7 +4,7 @@
* *
* Copyright (c) 2011, Creative Technology Ltd. * Copyright (c) 2011, Creative Technology Ltd.
* *
* Based on patch_ca0110.c * Based on ca0110.c
* Copyright (c) 2008 Takashi Iwai <tiwai@suse.de> * Copyright (c) 2008 Takashi Iwai <tiwai@suse.de>
*/ */

View File

@ -0,0 +1,21 @@
# SPDX-License-Identifier: GPL-2.0-only
config SND_HDA_CODEC_CIRRUS
tristate "Build Cirrus Logic codec support"
select SND_HDA_GENERIC
help
Say Y or M here to include Cirrus Logic codec support in
snd-hda-intel driver, such as CS4206.
comment "Set to Y if you want auto-loading the codec driver"
depends on SND_HDA=y && SND_HDA_CODEC_CIRRUS=m
config SND_HDA_CODEC_CS8409
tristate "Build Cirrus Logic HDA bridge support"
select SND_HDA_GENERIC
help
Say Y or M here to include Cirrus Logic HDA bridge support in
snd-hda-intel driver, such as CS8409.
comment "Set to Y if you want auto-loading the codec driver"
depends on SND_HDA=y && SND_HDA_CODEC_CS8409=m

View File

@ -0,0 +1,8 @@
# SPDX-License-Identifier: GPL-2.0
subdir-ccflags-y += -I$(src)/../../common
snd-hda-codec-cirrus-y := cirrus.o
snd-hda-codec-cs8409-y := cs8409.o cs8409-tables.o
obj-$(CONFIG_SND_HDA_CODEC_CIRRUS) += snd-hda-codec-cirrus.o
obj-$(CONFIG_SND_HDA_CODEC_CS8409) += snd-hda-codec-cs8409.o

View File

@ -15,7 +15,7 @@
#include "hda_local.h" #include "hda_local.h"
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "../generic.h"
/* /*
*/ */

View File

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* patch_cs8409-tables.c -- HD audio interface patch for Cirrus Logic CS8409 HDA bridge chip * cs8409-tables.c -- HD audio interface patch for Cirrus Logic CS8409 HDA bridge chip
* *
* Copyright (C) 2021 Cirrus Logic, Inc. and * Copyright (C) 2021 Cirrus Logic, Inc. and
* Cirrus Logic International Semiconductor Ltd. * Cirrus Logic International Semiconductor Ltd.
@ -8,7 +8,7 @@
* Author: Lucas Tanure <tanureal@opensource.cirrus.com> * Author: Lucas Tanure <tanureal@opensource.cirrus.com>
*/ */
#include "patch_cs8409.h" #include "cs8409.h"
/****************************************************************************** /******************************************************************************
* CS42L42 Specific Data * CS42L42 Specific Data

View File

@ -13,7 +13,7 @@
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/iopoll.h> #include <linux/iopoll.h>
#include "patch_cs8409.h" #include "cs8409.h"
/****************************************************************************** /******************************************************************************
* CS8409 Specific Functions * CS8409 Specific Functions

View File

@ -17,7 +17,7 @@
#include "hda_local.h" #include "hda_local.h"
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "../generic.h"
/* CS8409 Specific Definitions */ /* CS8409 Specific Definitions */

View File

@ -15,7 +15,7 @@
#include "hda_local.h" #include "hda_local.h"
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
/* CM9825 Offset Definitions */ /* CM9825 Offset Definitions */

View File

@ -19,7 +19,7 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_beep.h" #include "hda_beep.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
struct conexant_spec { struct conexant_spec {
struct hda_gen_spec gen; struct hda_gen_spec gen;
@ -312,10 +312,10 @@ enum {
}; };
/* for hda_fixup_thinkpad_acpi() */ /* for hda_fixup_thinkpad_acpi() */
#include "thinkpad_helper.c" #include "helpers/thinkpad.c"
/* for hda_fixup_ideapad_acpi() */ /* for hda_fixup_ideapad_acpi() */
#include "ideapad_hotkey_led_helper.c" #include "helpers/ideapad_hotkey_led.c"
static void cxt_fixup_stereo_dmic(struct hda_codec *codec, static void cxt_fixup_stereo_dmic(struct hda_codec *codec,
const struct hda_fixup *fix, int action) const struct hda_fixup *fix, int action)

View File

@ -25,7 +25,7 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_beep.h" #include "hda_beep.h"
#include "hda_generic.h" #include "generic.h"
/** /**

View File

@ -0,0 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
subdir-ccflags-y += -I$(src)/../../common
snd-hda-codec-hdmi-y := hdmi.o eld.o
obj-$(CONFIG_SND_HDA_CODEC_HDMI) += snd-hda-codec-hdmi.o

View File

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* /*
* *
* patch_hdmi.c - routines for HDMI/DisplayPort codecs * hdmi.c - routines for HDMI/DisplayPort codecs
* *
* Copyright(c) 2008-2010 Intel Corporation * Copyright(c) 2008-2010 Intel Corporation
* Copyright (c) 2006 ATI Technologies Inc. * Copyright (c) 2006 ATI Technologies Inc.

View File

@ -30,8 +30,8 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_beep.h" #include "hda_beep.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
#include "hda_component.h" #include "side-codecs/hda_component.h"
/* keep halting ALC5505 DSP, for power saving */ /* keep halting ALC5505 DSP, for power saving */
#define HALT_REALTEK_ALC5505 #define HALT_REALTEK_ALC5505
@ -7120,7 +7120,7 @@ static void alc285_fixup_hp_beep(struct hda_codec *codec,
} }
/* for hda_fixup_thinkpad_acpi() */ /* for hda_fixup_thinkpad_acpi() */
#include "thinkpad_helper.c" #include "helpers/thinkpad.c"
static void alc_fixup_thinkpad_acpi(struct hda_codec *codec, static void alc_fixup_thinkpad_acpi(struct hda_codec *codec,
const struct hda_fixup *fix, int action) const struct hda_fixup *fix, int action)
@ -7130,7 +7130,7 @@ static void alc_fixup_thinkpad_acpi(struct hda_codec *codec,
} }
/* for hda_fixup_ideapad_acpi() */ /* for hda_fixup_ideapad_acpi() */
#include "ideapad_hotkey_led_helper.c" #include "helpers/ideapad_hotkey_led.c"
static void alc_fixup_ideapad_acpi(struct hda_codec *codec, static void alc_fixup_ideapad_acpi(struct hda_codec *codec,
const struct hda_fixup *fix, int action) const struct hda_fixup *fix, int action)
@ -7362,10 +7362,10 @@ static void alc256_fixup_acer_sfg16_micmute_led(struct hda_codec *codec,
/* for alc295_fixup_hp_top_speakers */ /* for alc295_fixup_hp_top_speakers */
#include "hp_x360_helper.c" #include "helpers/hp_x360.c"
/* for alc285_fixup_ideapad_s740_coef() */ /* for alc285_fixup_ideapad_s740_coef() */
#include "ideapad_s740_helper.c" #include "helpers/ideapad_s740.c"
static const struct coef_fw alc256_fixup_set_coef_defaults_coefs[] = { static const struct coef_fw alc256_fixup_set_coef_defaults_coefs[] = {
WRITE_COEF(0x10, 0x0020), WRITE_COEF(0x24, 0x0000), WRITE_COEF(0x10, 0x0020), WRITE_COEF(0x24, 0x0000),

View File

@ -2,7 +2,7 @@
/* /*
* HD audio interface patch for Senary HDA audio codec * HD audio interface patch for Senary HDA audio codec
* *
* Initially based on sound/pci/hda/patch_conexant.c * Initially based on conexant.c
*/ */
#include <linux/init.h> #include <linux/init.h>
@ -17,7 +17,7 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_beep.h" #include "hda_beep.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
struct senary_spec { struct senary_spec {
struct hda_gen_spec gen; struct hda_gen_spec gen;

View File

@ -0,0 +1,128 @@
config SND_HDA_CIRRUS_SCODEC
tristate
config SND_HDA_CIRRUS_SCODEC_KUNIT_TEST
tristate "KUnit test for Cirrus side-codec library" if !KUNIT_ALL_TESTS
depends on SND_HDA_CIRRUS_SCODEC && GPIOLIB && KUNIT
default KUNIT_ALL_TESTS
help
This builds KUnit tests for the cirrus side-codec library.
For more information on KUnit and unit tests in general,
please refer to the KUnit documentation in
Documentation/dev-tools/kunit/.
If in doubt, say "N".
config SND_HDA_SCODEC_CS35L41
tristate
select SND_HDA_GENERIC
select REGMAP_IRQ
select FW_CS_DSP
config SND_HDA_SCODEC_COMPONENT
tristate
config SND_HDA_SCODEC_CS35L41_I2C
tristate "Build CS35L41 HD-audio side codec support for I2C Bus"
depends on I2C
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_SOC_CS35L41_LIB
select SND_HDA_SCODEC_CS35L41
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L41 I2C HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_I2C=m
config SND_HDA_SCODEC_CS35L41_SPI
tristate "Build CS35L41 HD-audio codec support for SPI Bus"
depends on SPI_MASTER
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_SOC_CS35L41_LIB
select SND_HDA_SCODEC_CS35L41
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L41 SPI HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_CS35L41_SPI=m
config SND_HDA_SCODEC_CS35L56
tristate
config SND_HDA_SCODEC_CS35L56_I2C
tristate "Build CS35L56 HD-audio side codec support for I2C Bus"
depends on I2C
depends on ACPI
depends on SND_SOC
select FW_CS_DSP
imply SERIAL_MULTI_INSTANTIATE
select SND_HDA_GENERIC
select SND_SOC_CS35L56_SHARED
select SND_HDA_SCODEC_CS35L56
select SND_HDA_CIRRUS_SCODEC
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L56 amplifier support with
I2C control.
config SND_HDA_SCODEC_CS35L56_SPI
tristate "Build CS35L56 HD-audio side codec support for SPI Bus"
depends on SPI_MASTER
depends on ACPI
depends on SND_SOC
select FW_CS_DSP
imply SERIAL_MULTI_INSTANTIATE
select SND_HDA_GENERIC
select SND_SOC_CS35L56_SHARED
select SND_HDA_SCODEC_CS35L56
select SND_HDA_CIRRUS_SCODEC
select SND_SOC_CS_AMP_LIB
help
Say Y or M here to include CS35L56 amplifier support with
SPI control.
config SND_HDA_SCODEC_TAS2781
tristate
select SND_HDA_GENERIC
config SND_HDA_SCODEC_TAS2781_I2C
tristate "Build TAS2781 HD-audio side codec support for I2C Bus"
depends on I2C
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_HDA_SCODEC_TAS2781
select SND_SOC_TAS2781_COMLIB_I2C
select SND_SOC_TAS2781_FMWLIB
select CRC32
help
Say Y or M here to include TAS2781 I2C HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_TAS2781_I2C=m
config SND_HDA_SCODEC_TAS2781_SPI
tristate "Build TAS2781 HD-audio side codec support for SPI Bus"
depends on SPI_MASTER
depends on ACPI
depends on EFI
depends on SND_SOC
select SND_HDA_SCODEC_TAS2781
select SND_SOC_TAS2781_COMLIB
select SND_SOC_TAS2781_FMWLIB
select CRC8
select CRC32
help
Say Y or M here to include TAS2781 SPI HD-audio side codec support
in snd-hda-intel driver, such as ALC287.
comment "Set to Y if you want auto-loading the side codec driver"
depends on SND_HDA=y && SND_HDA_SCODEC_TAS2781_SPI=m

View File

@ -0,0 +1,28 @@
# SPDX-License-Identifier: GPL-2.0
subdir-ccflags-y += -I$(src)/../../common
snd-hda-cirrus-scodec-y := cirrus_scodec.o
snd-hda-cirrus-scodec-test-y := cirrus_scodec_test.o
snd-hda-scodec-cs35l41-y := cs35l41_hda.o cs35l41_hda_property.o
snd-hda-scodec-cs35l41-i2c-y := cs35l41_hda_i2c.o
snd-hda-scodec-cs35l41-spi-y := cs35l41_hda_spi.o
snd-hda-scodec-cs35l56-y := cs35l56_hda.o
snd-hda-scodec-cs35l56-i2c-y := cs35l56_hda_i2c.o
snd-hda-scodec-cs35l56-spi-y := cs35l56_hda_spi.o
snd-hda-scodec-component-y := hda_component.o
snd-hda-scodec-tas2781-y := tas2781_hda.o
snd-hda-scodec-tas2781-i2c-y := tas2781_hda_i2c.o
snd-hda-scodec-tas2781-spi-y := tas2781_hda_spi.o
obj-$(CONFIG_SND_HDA_CIRRUS_SCODEC) += snd-hda-cirrus-scodec.o
obj-$(CONFIG_SND_HDA_CIRRUS_SCODEC_KUNIT_TEST) += snd-hda-cirrus-scodec-test.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L41) += snd-hda-scodec-cs35l41.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L41_I2C) += snd-hda-scodec-cs35l41-i2c.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L41_SPI) += snd-hda-scodec-cs35l41-spi.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L56) += snd-hda-scodec-cs35l56.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L56_I2C) += snd-hda-scodec-cs35l56-i2c.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L56_SPI) += snd-hda-scodec-cs35l56-spi.o
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

View File

@ -17,7 +17,7 @@
#include "hda_local.h" #include "hda_local.h"
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "../generic.h"
#include "hda_component.h" #include "hda_component.h"
#include "cs35l41_hda.h" #include "cs35l41_hda.h"
#include "cs35l41_hda_property.h" #include "cs35l41_hda_property.h"

View File

@ -20,7 +20,7 @@
#include "cirrus_scodec.h" #include "cirrus_scodec.h"
#include "cs35l56_hda.h" #include "cs35l56_hda.h"
#include "hda_component.h" #include "hda_component.h"
#include "hda_generic.h" #include "../generic.h"
/* /*
* The cs35l56_hda_dai_config[] reg sequence configures the device as * The cs35l56_hda_dai_config[] reg sequence configures the device as

View File

@ -30,7 +30,7 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_component.h" #include "hda_component.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "../generic.h"
#include "tas2781_hda.h" #include "tas2781_hda.h"
#define TAS2563_CAL_VAR_NAME_MAX 16 #define TAS2563_CAL_VAR_NAME_MAX 16

View File

@ -35,7 +35,7 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_component.h" #include "hda_component.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "../generic.h"
#include "tas2781_hda.h" #include "tas2781_hda.h"
#define TASDEVICE_RANGE_MAX_SIZE (256 * 128) #define TASDEVICE_RANGE_MAX_SIZE (256 * 128)

View File

@ -7,7 +7,7 @@
* Copyright (c) 2005 Embedded Alley Solutions, Inc. * Copyright (c) 2005 Embedded Alley Solutions, Inc.
* Matt Porter <mporter@embeddedalley.com> * Matt Porter <mporter@embeddedalley.com>
* *
* Based on patch_cmedia.c and patch_realtek.c * Based on cmedia.c and realtek.c
* Copyright (c) 2004 Takashi Iwai <tiwai@suse.de> * Copyright (c) 2004 Takashi Iwai <tiwai@suse.de>
*/ */
@ -24,7 +24,7 @@
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_beep.h" #include "hda_beep.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
enum { enum {
STAC_REF, STAC_REF,

View File

@ -43,7 +43,7 @@
#include "hda_local.h" #include "hda_local.h"
#include "hda_auto_parser.h" #include "hda_auto_parser.h"
#include "hda_jack.h" #include "hda_jack.h"
#include "hda_generic.h" #include "generic.h"
/* Pin Widget NID */ /* Pin Widget NID */
#define VT1708_HP_PIN_NID 0x20 #define VT1708_HP_PIN_NID 0x20

View File

@ -933,5 +933,3 @@ config SND_YMFPCI
will be called snd-ymfpci. will be called snd-ymfpci.
endif # SND_PCI endif # SND_PCI
source "sound/pci/hda/Kconfig"

View File

@ -69,7 +69,6 @@ obj-$(CONFIG_SND) += \
lx6464es/ \ lx6464es/ \
echoaudio/ \ echoaudio/ \
emu10k1/ \ emu10k1/ \
hda/ \
ice1712/ \ ice1712/ \
korg1212/ \ korg1212/ \
mixart/ \ mixart/ \

View File

@ -1,61 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
subdir-ccflags-y += -I$(src)/../../hda/common
snd-hda-codec-generic-y := hda_generic.o
snd-hda-codec-realtek-y := patch_realtek.o
snd-hda-codec-cmedia-y := patch_cmedia.o
snd-hda-codec-analog-y := patch_analog.o
snd-hda-codec-idt-y := patch_sigmatel.o
snd-hda-codec-si3054-y := patch_si3054.o
snd-hda-codec-cirrus-y := patch_cirrus.o
snd-hda-codec-cs8409-y := patch_cs8409.o patch_cs8409-tables.o
snd-hda-codec-ca0110-y := patch_ca0110.o
snd-hda-codec-ca0132-y := patch_ca0132.o
snd-hda-codec-conexant-y := patch_conexant.o
snd-hda-codec-senarytech-y :=patch_senarytech.o
snd-hda-codec-via-y := patch_via.o
snd-hda-codec-hdmi-y := patch_hdmi.o hda_eld.o
# side codecs
snd-hda-cirrus-scodec-y := cirrus_scodec.o
snd-hda-cirrus-scodec-test-y := cirrus_scodec_test.o
snd-hda-scodec-cs35l41-y := cs35l41_hda.o cs35l41_hda_property.o
snd-hda-scodec-cs35l41-i2c-y := cs35l41_hda_i2c.o
snd-hda-scodec-cs35l41-spi-y := cs35l41_hda_spi.o
snd-hda-scodec-cs35l56-y := cs35l56_hda.o
snd-hda-scodec-cs35l56-i2c-y := cs35l56_hda_i2c.o
snd-hda-scodec-cs35l56-spi-y := cs35l56_hda_spi.o
snd-hda-scodec-component-y := hda_component.o
snd-hda-scodec-tas2781-y := tas2781_hda.o
snd-hda-scodec-tas2781-i2c-y := tas2781_hda_i2c.o
snd-hda-scodec-tas2781-spi-y := tas2781_hda_spi.o
# codec drivers
obj-$(CONFIG_SND_HDA_GENERIC) += snd-hda-codec-generic.o
obj-$(CONFIG_SND_HDA_CODEC_REALTEK) += snd-hda-codec-realtek.o
obj-$(CONFIG_SND_HDA_CODEC_CMEDIA) += snd-hda-codec-cmedia.o
obj-$(CONFIG_SND_HDA_CODEC_ANALOG) += snd-hda-codec-analog.o
obj-$(CONFIG_SND_HDA_CODEC_SIGMATEL) += snd-hda-codec-idt.o
obj-$(CONFIG_SND_HDA_CODEC_SI3054) += snd-hda-codec-si3054.o
obj-$(CONFIG_SND_HDA_CODEC_CIRRUS) += snd-hda-codec-cirrus.o
obj-$(CONFIG_SND_HDA_CODEC_CS8409) += snd-hda-codec-cs8409.o
obj-$(CONFIG_SND_HDA_CODEC_CA0110) += snd-hda-codec-ca0110.o
obj-$(CONFIG_SND_HDA_CODEC_CA0132) += snd-hda-codec-ca0132.o
obj-$(CONFIG_SND_HDA_CODEC_CONEXANT) += snd-hda-codec-conexant.o
obj-$(CONFIG_SND_HDA_CODEC_SENARYTECH) += snd-hda-codec-senarytech.o
obj-$(CONFIG_SND_HDA_CODEC_VIA) += snd-hda-codec-via.o
obj-$(CONFIG_SND_HDA_CODEC_HDMI) += snd-hda-codec-hdmi.o
# side codecs
obj-$(CONFIG_SND_HDA_CIRRUS_SCODEC) += snd-hda-cirrus-scodec.o
obj-$(CONFIG_SND_HDA_CIRRUS_SCODEC_KUNIT_TEST) += snd-hda-cirrus-scodec-test.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L41) += snd-hda-scodec-cs35l41.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L41_I2C) += snd-hda-scodec-cs35l41-i2c.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L41_SPI) += snd-hda-scodec-cs35l41-spi.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L56) += snd-hda-scodec-cs35l56.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L56_I2C) += snd-hda-scodec-cs35l56-i2c.o
obj-$(CONFIG_SND_HDA_SCODEC_CS35L56_SPI) += snd-hda-scodec-cs35l56-spi.o
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