mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
90619eb1dc
The split between ACPI and PCI platforms generated issues with randconfig:
with SND_SST_ATOM_HIFI2_PLATFORM_PCI=y and
SND_SST_ATOM_HIFI2_PLATFORM=m, we get this module link failure:
ERROR: "sst_context_init"
[sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
ERROR: "sst_context_cleanup"
[sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
ERROR: "sst_alloc_drv_context"
[sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
ERROR: "intel_sst_pm" [sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko]
undefined!
ERROR: "sst_configure_runtime_pm"
[sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] undefined!
To keep things simple, let's expose two configs for
SND_SST_ATOM_HIFI2_PLATFORM_PCI and SND_SST_ATOM_HIFI2_PLATFORM_ACPI,
which select a common SND_SST_ATOM_HIFI2_PLATFORM option. To avoid
breaking existing solutions with the semantics change,
SND_SST_ATOM_HIFI2_PLATFORM_ACPI uses "default ACPI" so that "make
oldnoconfig" and "make olddefconfig" still work as expected.
Also remove mentions of Medfield while we are at it since it was
removed recently.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 4772c16ede
("ASoC: Intel: Kconfig: Simplify-clarify ACPI/PCI
dependencies")
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-By: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
130 lines
3.9 KiB
Plaintext
130 lines
3.9 KiB
Plaintext
config SND_SOC_INTEL_SST_TOPLEVEL
|
|
bool "Intel ASoC SST drivers"
|
|
default y
|
|
depends on X86 || COMPILE_TEST
|
|
select SND_SOC_INTEL_MACH
|
|
help
|
|
Intel ASoC SST Platform Drivers. If you have a Intel machine that
|
|
has an audio controller with a DSP and I2S or DMIC port, then
|
|
enable this option by saying Y
|
|
|
|
Note that the answer to this question doesn't directly affect the
|
|
kernel: saying N will just cause the configurator to skip all
|
|
the questions about Intel SST drivers.
|
|
|
|
if SND_SOC_INTEL_SST_TOPLEVEL
|
|
|
|
config SND_SST_IPC
|
|
tristate
|
|
# This option controls the IPC core for HiFi2 platforms
|
|
|
|
config SND_SST_IPC_PCI
|
|
tristate
|
|
select SND_SST_IPC
|
|
# This option controls the PCI-based IPC for HiFi2 platforms
|
|
# (Medfield, Merrifield).
|
|
|
|
config SND_SST_IPC_ACPI
|
|
tristate
|
|
select SND_SST_IPC
|
|
# This option controls the ACPI-based IPC for HiFi2 platforms
|
|
# (Baytrail, Cherrytrail)
|
|
|
|
config SND_SOC_INTEL_SST_ACPI
|
|
tristate
|
|
# This option controls ACPI-based probing on
|
|
# Haswell/Broadwell/Baytrail legacy and will be set
|
|
# when these platforms are enabled
|
|
|
|
config SND_SOC_INTEL_SST
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_SST_FIRMWARE
|
|
tristate
|
|
select DW_DMAC_CORE
|
|
# This option controls firmware download on
|
|
# Haswell/Broadwell/Baytrail legacy and will be set
|
|
# when these platforms are enabled
|
|
|
|
config SND_SOC_INTEL_HASWELL
|
|
tristate "Haswell/Broadwell Platforms"
|
|
depends on SND_DMA_SGBUF
|
|
depends on DMADEVICES && ACPI
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_ACPI
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select SND_SOC_ACPI_INTEL_MATCH
|
|
help
|
|
If you have a Intel Haswell or Broadwell platform connected to
|
|
an I2S codec, then enable this option by saying Y or m. This is
|
|
typically used for Chromebooks. This is a recommended option.
|
|
|
|
config SND_SOC_INTEL_BAYTRAIL
|
|
tristate "Baytrail (legacy) Platforms"
|
|
depends on DMADEVICES && ACPI
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_ACPI
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select SND_SOC_ACPI_INTEL_MATCH
|
|
help
|
|
If you have a Intel Baytrail platform connected to an I2S codec,
|
|
then enable this option by saying Y or m. This was typically used
|
|
for Baytrail Chromebooks but this option is now deprecated and is
|
|
not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.
|
|
|
|
config SND_SST_ATOM_HIFI2_PLATFORM
|
|
tristate
|
|
select SND_SOC_COMPRESS
|
|
|
|
config SND_SST_ATOM_HIFI2_PLATFORM_PCI
|
|
tristate "PCI HiFi2 (Merrifield) Platforms"
|
|
depends on X86 && PCI
|
|
select SND_SST_IPC_PCI
|
|
select SND_SST_ATOM_HIFI2_PLATFORM
|
|
help
|
|
If you have a Intel Merrifield/Edison platform, then
|
|
enable this option by saying Y or m. Distros will typically not
|
|
enable this option: while Merrifield/Edison can run a mainline
|
|
kernel with limited functionality it will require a firmware file
|
|
which is not in the standard firmware tree
|
|
|
|
config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
|
|
tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
|
|
default ACPI
|
|
depends on X86 && ACPI
|
|
select SND_SST_IPC_ACPI
|
|
select SND_SST_ATOM_HIFI2_PLATFORM
|
|
select SND_SOC_ACPI_INTEL_MATCH
|
|
select IOSF_MBI
|
|
help
|
|
If you have a Intel Baytrail or Cherrytrail platform with an I2S
|
|
codec, then enable this option by saying Y or m. This is a
|
|
recommended option
|
|
|
|
config SND_SOC_INTEL_SKYLAKE_SSP_CLK
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_SKYLAKE
|
|
tristate "SKL/BXT/KBL/GLK/CNL... Platforms"
|
|
depends on PCI && ACPI
|
|
select SND_HDA_EXT_CORE
|
|
select SND_HDA_DSP_LOADER
|
|
select SND_SOC_TOPOLOGY
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_ACPI_INTEL_MATCH
|
|
help
|
|
If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
|
|
GeminiLake or CannonLake platform with the DSP enabled in the BIOS
|
|
then enable this option by saying Y or m.
|
|
|
|
config SND_SOC_ACPI_INTEL_MATCH
|
|
tristate
|
|
select SND_SOC_ACPI if ACPI
|
|
# this option controls the compilation of ACPI matching tables and
|
|
# helpers and is not meant to be selected by the user.
|
|
|
|
endif ## SND_SOC_INTEL_SST_TOPLEVEL
|
|
|
|
# ASoC codec drivers
|
|
source "sound/soc/intel/boards/Kconfig"
|