With common acpi code exposed, separate Baytrail specific code from other legacy platforms. To reduce diff delta, it's still loaded with separate module called: byt-acpi. This may be address later, once heavy hitters are gone. Since this is the second of two, separation carries removal of common sst-acpi module with it.
Signed-off-by: Cezary Rojewski cezary.rojewski@intel.com --- sound/soc/intel/Kconfig | 8 ++-- sound/soc/intel/baytrail/Makefile | 2 + sound/soc/intel/baytrail/acpi.c | 43 +++++++++++++++++++++ sound/soc/intel/baytrail/sst-baytrail-dsp.c | 1 - sound/soc/intel/common/Makefile | 4 +- sound/soc/intel/common/sst-acpi.c | 36 ----------------- 6 files changed, 49 insertions(+), 45 deletions(-) create mode 100644 sound/soc/intel/baytrail/acpi.c
diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig index 9191773d203c..baab845ea0ef 100644 --- a/sound/soc/intel/Kconfig +++ b/sound/soc/intel/Kconfig @@ -35,11 +35,9 @@ config SND_SOC_INTEL_HASWELL_ACPI tristate # This option controls the ACPI-based on HSW/BDW platforms
-config SND_SOC_INTEL_SST_ACPI +config SND_SOC_INTEL_BAYTRAIL_ACPI tristate - # This option controls ACPI-based probing on - # Haswell/Broadwell/Baytrail legacy and will be set - # when these platforms are enabled + # This option controls the ACPI-based on BYT platforms
config SND_SOC_INTEL_SST tristate @@ -68,7 +66,7 @@ config SND_SOC_INTEL_BAYTRAIL tristate "Baytrail (legacy) Platforms" depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n select SND_SOC_INTEL_SST - select SND_SOC_INTEL_SST_ACPI + select SND_SOC_INTEL_BAYTRAIL_ACPI select SND_SOC_INTEL_SST_FIRMWARE select SND_SOC_ACPI_INTEL_MATCH help diff --git a/sound/soc/intel/baytrail/Makefile b/sound/soc/intel/baytrail/Makefile index 4d0806aac6bd..b59d4893b46b 100644 --- a/sound/soc/intel/baytrail/Makefile +++ b/sound/soc/intel/baytrail/Makefile @@ -1,5 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only snd-soc-sst-baytrail-pcm-objs := \ sst-baytrail-ipc.o sst-baytrail-pcm.o sst-baytrail-dsp.o +snd-soc-byt-acpi-objs := acpi.o
obj-$(CONFIG_SND_SOC_INTEL_BAYTRAIL) += snd-soc-sst-baytrail-pcm.o +obj-$(CONFIG_SND_SOC_INTEL_BAYTRAIL_ACPI) += snd-soc-byt-acpi.o diff --git a/sound/soc/intel/baytrail/acpi.c b/sound/soc/intel/baytrail/acpi.c new file mode 100644 index 000000000000..57d10a6e3be2 --- /dev/null +++ b/sound/soc/intel/baytrail/acpi.c @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Intel BYT loader on ACPI systems + * + * Copyright (C) 2019, Intel Corporation. All rights reserved. + */ + +#include <linux/acpi.h> +#include <linux/platform_device.h> +#include <sound/soc-acpi.h> +#include <sound/soc-acpi-intel-match.h> +#include "../common/sst-dsp.h" + +static struct sst_acpi_desc byt_acpi_desc = { + .drv_name = "baytrail-pcm-audio", + .machines = snd_soc_acpi_intel_baytrail_legacy_machines, + .resindex_lpe_base = 0, + .resindex_pcicfg_base = 1, + .resindex_fw_base = 2, + .irqindex_host_ipc = 5, + .sst_id = SST_DEV_ID_BYT, + .resindex_dma_base = -1, +}; + +static const struct acpi_device_id byt_acpi_ids[] = { + { "80860F28", (unsigned long)&byt_acpi_desc }, + { } +}; +MODULE_DEVICE_TABLE(acpi, byt_acpi_ids); + +static struct platform_driver byt_acpi_driver = { + .probe = sst_acpi_probe, + .remove = sst_acpi_remove, + .driver = { + .name = "byt-acpi", + .acpi_match_table = ACPI_PTR(byt_acpi_ids), + }, +}; +module_platform_driver(byt_acpi_driver); + +MODULE_AUTHOR("Cezary Rojewski cezary.rojewski@intel.com"); +MODULE_DESCRIPTION("Intel BYT loader on ACPI systems"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/intel/baytrail/sst-baytrail-dsp.c b/sound/soc/intel/baytrail/sst-baytrail-dsp.c index 4869e18116eb..81bc05d62d5d 100644 --- a/sound/soc/intel/baytrail/sst-baytrail-dsp.c +++ b/sound/soc/intel/baytrail/sst-baytrail-dsp.c @@ -13,7 +13,6 @@ #include <linux/dma-mapping.h> #include <linux/platform_device.h> #include <linux/firmware.h> - #include "../common/sst-dsp.h" #include "../common/sst-dsp-priv.h" #include "sst-baytrail-ipc.h" diff --git a/sound/soc/intel/common/Makefile b/sound/soc/intel/common/Makefile index 56c81e20b5bf..65e0e66ab64f 100644 --- a/sound/soc/intel/common/Makefile +++ b/sound/soc/intel/common/Makefile @@ -1,6 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 -snd-soc-sst-dsp-objs := sst-dsp.o -snd-soc-sst-acpi-objs := sst-acpi.o +snd-soc-sst-dsp-objs := sst-dsp.o sst-acpi.o snd-soc-sst-ipc-objs := sst-ipc.o snd-soc-sst-firmware-objs := sst-firmware.o snd-soc-acpi-intel-match-objs := soc-acpi-intel-byt-match.o soc-acpi-intel-cht-match.o \ @@ -11,6 +10,5 @@ snd-soc-acpi-intel-match-objs := soc-acpi-intel-byt-match.o soc-acpi-intel-cht-m soc-acpi-intel-hda-match.o
obj-$(CONFIG_SND_SOC_INTEL_SST) += snd-soc-sst-dsp.o snd-soc-sst-ipc.o -obj-$(CONFIG_SND_SOC_INTEL_SST_ACPI) += snd-soc-sst-acpi.o obj-$(CONFIG_SND_SOC_INTEL_SST_FIRMWARE) += snd-soc-sst-firmware.o obj-$(CONFIG_SND_SOC_ACPI_INTEL_MATCH) += snd-soc-acpi-intel-match.o diff --git a/sound/soc/intel/common/sst-acpi.c b/sound/soc/intel/common/sst-acpi.c index 7d2f04ff0479..8e75126106ea 100644 --- a/sound/soc/intel/common/sst-acpi.c +++ b/sound/soc/intel/common/sst-acpi.c @@ -13,7 +13,6 @@
#include "sst-dsp.h" #include <sound/soc-acpi.h> -#include <sound/soc-acpi-intel-match.h>
struct sst_acpi_priv { struct platform_device *pdev_mach; @@ -151,38 +150,3 @@ int sst_acpi_remove(struct platform_device *pdev) return 0; } EXPORT_SYMBOL_GPL(sst_acpi_remove); - -#if !IS_ENABLED(CONFIG_SND_SST_IPC_ACPI) -static struct sst_acpi_desc sst_acpi_baytrail_desc = { - .drv_name = "baytrail-pcm-audio", - .machines = snd_soc_acpi_intel_baytrail_legacy_machines, - .resindex_lpe_base = 0, - .resindex_pcicfg_base = 1, - .resindex_fw_base = 2, - .irqindex_host_ipc = 5, - .sst_id = SST_DEV_ID_BYT, - .resindex_dma_base = -1, -}; -#endif - -static const struct acpi_device_id sst_acpi_match[] = { -#if !IS_ENABLED(CONFIG_SND_SST_IPC_ACPI) - { "80860F28", (unsigned long)&sst_acpi_baytrail_desc }, -#endif - { } -}; -MODULE_DEVICE_TABLE(acpi, sst_acpi_match); - -static struct platform_driver sst_acpi_driver = { - .probe = sst_acpi_probe, - .remove = sst_acpi_remove, - .driver = { - .name = "sst-acpi", - .acpi_match_table = ACPI_PTR(sst_acpi_match), - }, -}; -module_platform_driver(sst_acpi_driver); - -MODULE_AUTHOR("Jarkko Nikula jarkko.nikula@linux.intel.com"); -MODULE_DESCRIPTION("Intel SST loader on ACPI systems"); -MODULE_LICENSE("GPL v2");