[alsa-devel] [PATCH 23/35] ASoC: Intel: Baytrail: Define separate ACPI loader
Cezary Rojewski
cezary.rojewski at intel.com
Thu Aug 22 21:04:13 CEST 2019
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 at 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 at 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 at linux.intel.com>");
-MODULE_DESCRIPTION("Intel SST loader on ACPI systems");
-MODULE_LICENSE("GPL v2");
--
2.17.1
More information about the Alsa-devel
mailing list