Skip to content

Commit

Permalink
ASoC: loongson: make loongson-i2s.o a separate module
Browse files Browse the repository at this point in the history
An object file should not be linked into multiple modules and/or
vmlinux:

scripts/Makefile.build:221: /home/arnd/arm-soc/sound/soc/loongson/Makefile: loongson_i2s.o is added to multiple modules: snd-soc-loongson-i2s-pci snd-soc-loongson-i2s-plat

Change this one to make it a library module with two exported symbols
that will work in any configuration.

Fixes: ba4c5fa ("ASoC: loongson: Add I2S controller driver as platform device")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20241015150958.2294155-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Arnd Bergmann authored and Mark Brown committed Oct 17, 2024
1 parent 7bc18a7 commit 43916d9
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
10 changes: 6 additions & 4 deletions sound/soc/loongson/Makefile
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
#Platform Support
snd-soc-loongson-i2s-pci-y := loongson_i2s_pci.o loongson_i2s.o loongson_dma.o
obj-$(CONFIG_SND_SOC_LOONGSON_I2S_PCI) += snd-soc-loongson-i2s-pci.o
snd-soc-loongson-i2s-pci-y := loongson_i2s_pci.o loongson_dma.o
obj-$(CONFIG_SND_SOC_LOONGSON_I2S_PCI) += snd-soc-loongson-i2s-pci.o snd-soc-loongson-i2s.o

snd-soc-loongson-i2s-plat-y := loongson_i2s_plat.o loongson_i2s.o
obj-$(CONFIG_SND_SOC_LOONGSON_I2S_PLATFORM) += snd-soc-loongson-i2s-plat.o
snd-soc-loongson-i2s-plat-y := loongson_i2s_plat.o
obj-$(CONFIG_SND_SOC_LOONGSON_I2S_PLATFORM) += snd-soc-loongson-i2s-plat.o snd-soc-loongson-i2s.o

snd-soc-loongson-i2s-y := loongson_i2s.o

#Machine Support
snd-soc-loongson-card-y := loongson_card.o
Expand Down
5 changes: 5 additions & 0 deletions sound/soc/loongson/loongson_i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ struct snd_soc_dai_driver loongson_i2s_dai = {
.ops = &loongson_i2s_dai_ops,
.symmetric_rate = 1,
};
EXPORT_SYMBOL_GPL(loongson_i2s_dai);

static int i2s_suspend(struct device *dev)
{
Expand All @@ -268,3 +269,7 @@ static int i2s_resume(struct device *dev)
const struct dev_pm_ops loongson_i2s_pm = {
SYSTEM_SLEEP_PM_OPS(i2s_suspend, i2s_resume)
};
EXPORT_SYMBOL_GPL(loongson_i2s_pm);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Common functions for loongson I2S controller driver");

0 comments on commit 43916d9

Please sign in to comment.