Unverified Commit 11b0b802 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Mark Brown
Browse files

ASoC: codecs: wcd93xx: fix object added to multiple drivers



Three Qualcomm audio codecs (WCD9355, WCD934x and WCD938x) use the same
object file wcd-clsh-v2.o leading to warnings:

  Makefile: wcd-clsh-v2.o is added to multiple modules: snd-soc-wcd9335 snd-soc-wcd934x snd-soc-wcd938x

Convert the wcd-clsh-v2.o to a module to solve it.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230828132316.190386-1-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 199cd641
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1968,11 +1968,15 @@ config SND_SOC_UDA1380
	tristate
	depends on I2C

config SND_SOC_WCD_CLASSH
	tristate

config SND_SOC_WCD9335
	tristate "WCD9335 Codec"
	depends on SLIMBUS
	select REGMAP_SLIMBUS
	select REGMAP_IRQ
	select SND_SOC_WCD_CLASSH
	help
	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
@@ -1987,6 +1991,7 @@ config SND_SOC_WCD934X
	depends on SLIMBUS
	select REGMAP_IRQ
	select REGMAP_SLIMBUS
	select SND_SOC_WCD_CLASSH
	select SND_SOC_WCD_MBHC
	depends on MFD_WCD934X || COMPILE_TEST
	help
@@ -1997,6 +2002,7 @@ config SND_SOC_WCD938X
	depends on SND_SOC_WCD938X_SDW
	tristate
	depends on SOUNDWIRE || !SOUNDWIRE
	select SND_SOC_WCD_CLASSH

config SND_SOC_WCD938X_SDW
	tristate "WCD9380/WCD9385 Codec - SDW"
+5 −3
Original line number Diff line number Diff line
@@ -303,10 +303,11 @@ snd-soc-twl4030-objs := twl4030.o
snd-soc-twl6040-objs := twl6040.o
snd-soc-uda1334-objs := uda1334.o
snd-soc-uda1380-objs := uda1380.o
snd-soc-wcd-classh-objs := wcd-clsh-v2.o
snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o
snd-soc-wcd9335-objs := wcd-clsh-v2.o wcd9335.o
snd-soc-wcd934x-objs := wcd-clsh-v2.o wcd934x.o
snd-soc-wcd938x-objs := wcd938x.o wcd-clsh-v2.o
snd-soc-wcd9335-objs := wcd9335.o
snd-soc-wcd934x-objs := wcd934x.o
snd-soc-wcd938x-objs := wcd938x.o
snd-soc-wcd938x-sdw-objs := wcd938x-sdw.o
snd-soc-wl1273-objs := wl1273.o
snd-soc-wm-adsp-objs := wm_adsp.o
@@ -685,6 +686,7 @@ obj-$(CONFIG_SND_SOC_TWL4030) += snd-soc-twl4030.o
obj-$(CONFIG_SND_SOC_TWL6040)	+= snd-soc-twl6040.o
obj-$(CONFIG_SND_SOC_UDA1334)	+= snd-soc-uda1334.o
obj-$(CONFIG_SND_SOC_UDA1380)	+= snd-soc-uda1380.o
obj-$(CONFIG_SND_SOC_WCD_CLASSH)	+= snd-soc-wcd-classh.o
obj-$(CONFIG_SND_SOC_WCD_MBHC)	+= snd-soc-wcd-mbhc.o
obj-$(CONFIG_SND_SOC_WCD9335)	+= snd-soc-wcd9335.o
obj-$(CONFIG_SND_SOC_WCD934X)	+= snd-soc-wcd934x.o
+8 −0
Original line number Diff line number Diff line
@@ -355,6 +355,7 @@ void wcd_clsh_set_hph_mode(struct wcd_clsh_ctrl *ctrl, int mode)
		wcd_clsh_v2_set_hph_mode(comp, mode);

}
EXPORT_SYMBOL_GPL(wcd_clsh_set_hph_mode);

static void wcd_clsh_set_flyback_current(struct snd_soc_component *comp,
					 int mode)
@@ -869,11 +870,13 @@ int wcd_clsh_ctrl_set_state(struct wcd_clsh_ctrl *ctrl,

	return 0;
}
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_set_state);

int wcd_clsh_ctrl_get_state(struct wcd_clsh_ctrl *ctrl)
{
	return ctrl->state;
}
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_get_state);

struct wcd_clsh_ctrl *wcd_clsh_ctrl_alloc(struct snd_soc_component *comp,
					  int version)
@@ -890,8 +893,13 @@ struct wcd_clsh_ctrl *wcd_clsh_ctrl_alloc(struct snd_soc_component *comp,

	return ctrl;
}
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_alloc);

void wcd_clsh_ctrl_free(struct wcd_clsh_ctrl *ctrl)
{
	kfree(ctrl);
}
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_free);

MODULE_DESCRIPTION("WCD93XX Class-H driver");
MODULE_LICENSE("GPL");