sound/soc/tegra/tegra210_mixer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
From: Arnd Bergmann <arnd@arndb.de>
Compile-testing this driver for 32-bit causes a build failure:
x86_64-linux-ld: sound/soc/tegra/tegra210_mixer.o: in function `tegra210_mixer_configure_gain':
tegra210_mixer.c:(.text+0x709): undefined reference to `__udivdi3'
As the driver is only actually used on 64-bit Tegra210, rework the
division to use the div_u64() helper that avoids the libgcc call.
Fixes: 36645381b864 ("ASoC: tegra: Add per-stream Mixer Fade controls")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
sound/soc/tegra/tegra210_mixer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/tegra/tegra210_mixer.c b/sound/soc/tegra/tegra210_mixer.c
index f05617b5f433..d21f55dad0e3 100644
--- a/sound/soc/tegra/tegra210_mixer.c
+++ b/sound/soc/tegra/tegra210_mixer.c
@@ -157,8 +157,8 @@ static int tegra210_mixer_configure_gain(struct snd_soc_component *cmpnt,
if (i == DURATION_N3_ID)
val = mixer->duration[id];
else if (i == DURATION_INV_N3_ID)
- val = (u32)(BIT_ULL(31 + TEGRA210_MIXER_PRESCALAR) /
- mixer->duration[id]);
+ val = div_u64(BIT_ULL(31 + TEGRA210_MIXER_PRESCALAR),
+ mixer->duration[id]);
else
val = gain_params.duration[i];
}
--
2.39.5
On Fri, May 08, 2026 at 10:00:25AM +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > Compile-testing this driver for 32-bit causes a build failure: > > x86_64-linux-ld: sound/soc/tegra/tegra210_mixer.o: in function `tegra210_mixer_configure_gain': > tegra210_mixer.c:(.text+0x709): undefined reference to `__udivdi3' Someone already sent this.
On Fri, May 08, 2026 at 09:51:27PM +0900, Mark Brown wrote: > On Fri, May 08, 2026 at 10:00:25AM +0200, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > Compile-testing this driver for 32-bit causes a build failure: > > > > x86_64-linux-ld: sound/soc/tegra/tegra210_mixer.o: in function `tegra210_mixer_configure_gain': > > tegra210_mixer.c:(.text+0x709): undefined reference to `__udivdi3' > > Someone already sent this. Indeed. Acked that one too. Thierry
On Fri, May 08, 2026 at 10:00:25AM +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > Compile-testing this driver for 32-bit causes a build failure: > > x86_64-linux-ld: sound/soc/tegra/tegra210_mixer.o: in function `tegra210_mixer_configure_gain': > tegra210_mixer.c:(.text+0x709): undefined reference to `__udivdi3' > > As the driver is only actually used on 64-bit Tegra210, rework the > division to use the div_u64() helper that avoids the libgcc call. To be pedantic: the driver is also used on subsequent generations, but your argument of it only ever being used on 64-bit systems is correct, so: Acked-by: Thierry Reding <treding@nvidia.com>
© 2016 - 2026 Red Hat, Inc.