Re: [PATCH] [v2] ASoC: sophgo: fix 64-bit division build failure
Alexander Sverdlin <[email protected]>
| Newsgroups | dev.linux.lists.sophgo,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 2026-02-02 at 22:59 +0100, Arnd Bergmann wrote: > 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]> Reviewed-by: Alexander Sverdlin <[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; > } > -- Alexander Sverdlin.