[PATCH] ASoC: tegra: fix build regression 32 bit kernels

From: Arnd Bergmann

Date: Fri May 08 2026 - 04:01:53 EST


From: Arnd Bergmann <arnd@xxxxxxxx>

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@xxxxxxxx>
---
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