
After commit 9fa6a693ad8d ("ALSA: hda/tas2781: Remove tas2781_spi_fwlib.c and leverage SND_SOC_TAS2781_FMWLIB")created a separated lib for i2c, However, tasdevice_remove() used for not only for I2C but for SPI being still in that lib caused ld issue. All errors (new ones prefixed by >>):
ld.lld: error: undefined symbol: tasdevice_remove
referenced by tas2781_hda.c:33 (sound/pci/hda/tas2781_hda.c:33) vmlinux.o:(tas2781_hda_remove)
To fix this issue, the implementation of tasdevice_remove was moved from tas2781-comlib-i2c.c to tas2781-comlib.c.
Fixes: 9fa6a693ad8d ("ALSA: hda/tas2781: Remove tas2781_spi_fwlib.c and leverage SND_SOC_TAS2781_FMWLIB") Reported-by: kernel test robot lkp@intel.com Closes: https://urldefense.com/v3/__https://lore.kernel.org/oe-kbuild-all/2025051118... Signed-off-by: Shenghao Ding shenghao-ding@ti.com
--- v4: - Put report tag around Signed-off-by without quotes. v3: - Drop the report tag in the patch description. v2: - put the Fixes tag to point out the commit that introduced the regression - Add compiling error information reported by kernel test robot into patch description. v1: - | Reported-by: kernel test robot lkp@intel.com | Closes: https://urldefense.com/v3/__https://lore.kernel.org/oe-kbuild-all/2025051118... --- sound/soc/codecs/tas2781-comlib-i2c.c | 6 ------ sound/soc/codecs/tas2781-comlib.c | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/codecs/tas2781-comlib-i2c.c b/sound/soc/codecs/tas2781-comlib-i2c.c index a75b812618ee..c078bb0a8437 100644 --- a/sound/soc/codecs/tas2781-comlib-i2c.c +++ b/sound/soc/codecs/tas2781-comlib-i2c.c @@ -364,12 +364,6 @@ int tascodec_init(struct tasdevice_priv *tas_priv, void *codec, } EXPORT_SYMBOL_GPL(tascodec_init);
-void tasdevice_remove(struct tasdevice_priv *tas_priv) -{ - mutex_destroy(&tas_priv->codec_lock); -} -EXPORT_SYMBOL_GPL(tasdevice_remove); - MODULE_DESCRIPTION("TAS2781 common library for I2C"); MODULE_AUTHOR("Shenghao Ding, TI, shenghao-ding@ti.com"); MODULE_LICENSE("GPL"); diff --git a/sound/soc/codecs/tas2781-comlib.c b/sound/soc/codecs/tas2781-comlib.c index ad2f65359b15..076c1d955972 100644 --- a/sound/soc/codecs/tas2781-comlib.c +++ b/sound/soc/codecs/tas2781-comlib.c @@ -225,6 +225,12 @@ void tasdevice_dsp_remove(void *context) } EXPORT_SYMBOL_GPL(tasdevice_dsp_remove);
+void tasdevice_remove(struct tasdevice_priv *tas_priv) +{ + mutex_destroy(&tas_priv->codec_lock); +} +EXPORT_SYMBOL_GPL(tasdevice_remove); + MODULE_DESCRIPTION("TAS2781 common library"); MODULE_AUTHOR("Shenghao Ding, TI, shenghao-ding@ti.com"); MODULE_LICENSE("GPL");