[PATCH] [v2] ASoC: sophgo: fix 64-bit division build failure
Arnd Bergmann <[email protected]>
| Newsgroups | dev.linux.lists.sophgo,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
From: Arnd Bergmann <[email protected]> cv1800b_adc_setbclk_div() does four 64-bit divisions in a row, which is rather inefficient on 32-bit systems, and using the plain division causes a build failure as a result: ERROR: modpost: "__aeabi_uldivmod" [sound/soc/sophgo/cv1800b-sound-adc.ko] undefined! As the input value is actually a 32-bit integer, just change the type of the temporary value as well. Fixes: 4cf8752a03e6 ("ASoC: sophgo: add CV1800B internal ADC codec driver") Suggested-by: Alexander Sverdlin <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> --- sound/soc/sophgo/cv1800b-sound-adc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/sophgo/cv1800b-sound-adc.c b/sound/soc/sophgo/cv1800b-sound-adc.c index 794030b713e9..de1c77014c2f 100644 --- a/sound/soc/sophgo/cv1800b-sound-adc.c +++ b/sound/soc/sophgo/cv1800b-sound-adc.c @@ -100,7 +100,7 @@ static int cv1800b_adc_setbclk_div(struct cv1800b_priv *priv, unsigned int rate) { u32 val; u32 bclk_div; - u64 tmp; + u32 tmp; if (!priv->mclk_rate || !rate) return -EINVAL; @@ -117,7 +117,7 @@ static int cv1800b_adc_setbclk_div(struct cv1800b_priv *priv, unsigned int rate) } if (tmp > 256) { - dev_err(priv->dev, "BCLK divider %llu out of range\n", tmp); + dev_err(priv->dev, "BCLK divider %u out of range\n", tmp); return -EINVAL; } -- 2.39.5