[PATCH v4] ALSA: hda/tas2781: Fix the ld issue reported by kernel test robot

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");

On Tue, 13 May 2025 10:59:47 +0200, Shenghao Ding wrote:
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
Applied now. Thanks.
Takashi

On Tue, May 13, 2025 at 04:59:47PM +0800, Shenghao Ding wrote:
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.
Please submit patches using subject lines reflecting the style for the subsystem, this makes it easier for people to identify relevant patches. Look at what existing commits in the area you're changing are doing and make sure your subject lines visually resemble what they're doing. There's no need to resubmit to fix this alone.

On Tue, May 13, 2025 at 04:59:47PM +0800, Shenghao Ding wrote:
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.
Acked-by: Mark Brown broonie@kernel.org
Even though this is an ASoC patch the fixed commit is in Takashi's tree so it needs to go via there.
participants (3)
-
Mark Brown
-
Shenghao Ding
-
Takashi Iwai