Skip to content

Commit 11b0b80

Browse files
krzkbroonie
authored andcommitted
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: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org Link: https://lore.kernel.org/r/20230828132316.190386-1-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
1 parent 199cd64 commit 11b0b80

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

sound/soc/codecs/Kconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1968,11 +1968,15 @@ config SND_SOC_UDA1380
19681968
tristate
19691969
depends on I2C
19701970

1971+
config SND_SOC_WCD_CLASSH
1972+
tristate
1973+
19711974
config SND_SOC_WCD9335
19721975
tristate "WCD9335 Codec"
19731976
depends on SLIMBUS
19741977
select REGMAP_SLIMBUS
19751978
select REGMAP_IRQ
1979+
select SND_SOC_WCD_CLASSH
19761980
help
19771981
The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
19781982
Qualcomm Technologies, Inc. (QTI) multimedia solutions,
@@ -1987,6 +1991,7 @@ config SND_SOC_WCD934X
19871991
depends on SLIMBUS
19881992
select REGMAP_IRQ
19891993
select REGMAP_SLIMBUS
1994+
select SND_SOC_WCD_CLASSH
19901995
select SND_SOC_WCD_MBHC
19911996
depends on MFD_WCD934X || COMPILE_TEST
19921997
help
@@ -1997,6 +2002,7 @@ config SND_SOC_WCD938X
19972002
depends on SND_SOC_WCD938X_SDW
19982003
tristate
19992004
depends on SOUNDWIRE || !SOUNDWIRE
2005+
select SND_SOC_WCD_CLASSH
20002006

20012007
config SND_SOC_WCD938X_SDW
20022008
tristate "WCD9380/WCD9385 Codec - SDW"

sound/soc/codecs/Makefile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,10 +303,11 @@ snd-soc-twl4030-objs := twl4030.o
303303
snd-soc-twl6040-objs := twl6040.o
304304
snd-soc-uda1334-objs := uda1334.o
305305
snd-soc-uda1380-objs := uda1380.o
306+
snd-soc-wcd-classh-objs := wcd-clsh-v2.o
306307
snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o
307-
snd-soc-wcd9335-objs := wcd-clsh-v2.o wcd9335.o
308-
snd-soc-wcd934x-objs := wcd-clsh-v2.o wcd934x.o
309-
snd-soc-wcd938x-objs := wcd938x.o wcd-clsh-v2.o
308+
snd-soc-wcd9335-objs := wcd9335.o
309+
snd-soc-wcd934x-objs := wcd934x.o
310+
snd-soc-wcd938x-objs := wcd938x.o
310311
snd-soc-wcd938x-sdw-objs := wcd938x-sdw.o
311312
snd-soc-wl1273-objs := wl1273.o
312313
snd-soc-wm-adsp-objs := wm_adsp.o
@@ -685,6 +686,7 @@ obj-$(CONFIG_SND_SOC_TWL4030) += snd-soc-twl4030.o
685686
obj-$(CONFIG_SND_SOC_TWL6040) += snd-soc-twl6040.o
686687
obj-$(CONFIG_SND_SOC_UDA1334) += snd-soc-uda1334.o
687688
obj-$(CONFIG_SND_SOC_UDA1380) += snd-soc-uda1380.o
689+
obj-$(CONFIG_SND_SOC_WCD_CLASSH) += snd-soc-wcd-classh.o
688690
obj-$(CONFIG_SND_SOC_WCD_MBHC) += snd-soc-wcd-mbhc.o
689691
obj-$(CONFIG_SND_SOC_WCD9335) += snd-soc-wcd9335.o
690692
obj-$(CONFIG_SND_SOC_WCD934X) += snd-soc-wcd934x.o

sound/soc/codecs/wcd-clsh-v2.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ void wcd_clsh_set_hph_mode(struct wcd_clsh_ctrl *ctrl, int mode)
355355
wcd_clsh_v2_set_hph_mode(comp, mode);
356356

357357
}
358+
EXPORT_SYMBOL_GPL(wcd_clsh_set_hph_mode);
358359

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

870871
return 0;
871872
}
873+
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_set_state);
872874

873875
int wcd_clsh_ctrl_get_state(struct wcd_clsh_ctrl *ctrl)
874876
{
875877
return ctrl->state;
876878
}
879+
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_get_state);
877880

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

891894
return ctrl;
892895
}
896+
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_alloc);
893897

894898
void wcd_clsh_ctrl_free(struct wcd_clsh_ctrl *ctrl)
895899
{
896900
kfree(ctrl);
897901
}
902+
EXPORT_SYMBOL_GPL(wcd_clsh_ctrl_free);
903+
904+
MODULE_DESCRIPTION("WCD93XX Class-H driver");
905+
MODULE_LICENSE("GPL");

0 commit comments

Comments
 (0)