Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1275101
| From | zhangfei <zhangfei.gao@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] ASoC: pxa: remove incorrect do_div() call |
| Date | 2015-11-23 09:20 +0100 |
| Message-ID | <qxUvU-7DO-5@gated-at.bofh.it> (permalink) |
| References | <qwQkG-5nF-23@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 11/20/2015 05:32 PM, Arnd Bergmann wrote: > The new optimized do_div implementation (now in asm-generic/next) exposes a > glitch in the brownstone audio driver by producing a compile-time warning: > > sound/soc/pxa/brownstone.c: In function 'brownstone_wm8994_hw_params': > sound/soc/pxa/brownstone.c:67:85: warning: comparison of distinct pointer types lacks a cast > sound/soc/pxa/brownstone.c:67:10125: warning: right shift count >= width of type [-Wshift-count-overflow] > sound/soc/pxa/brownstone.c:67:10254: warning: passing argument 1 of '__div64_32' from incompatible pointer type [-Wincompatible-pointer-types] > > The driver just divides two plain integer values, so it should not > use do_div to start with, but has apparently done so ever since the > code was first merged. This replaces do_div with a simple division > operator. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > I think this one is harmless, so we only need it in 4.5 to avoid the warning, > but not backported to earlier kernels. > > Found today on ARM allmodconfig > > diff --git a/sound/soc/pxa/brownstone.c b/sound/soc/pxa/brownstone.c > index 6147e86e9b0f..416ea646c3b1 100644 > --- a/sound/soc/pxa/brownstone.c > +++ b/sound/soc/pxa/brownstone.c > @@ -63,8 +63,7 @@ static int brownstone_wm8994_hw_params(struct snd_pcm_substream *substream, > sysclk = params_rate(params) * 512; > sspa_mclk = params_rate(params) * 64; > } > - sspa_div = freq_out; > - do_div(sspa_div, sspa_mclk); > + sspa_div = freq_out / sspa_mclk; > > snd_soc_dai_set_sysclk(cpu_dai, MMP_SSPA_CLK_AUDIO, freq_out, 0); > snd_soc_dai_set_pll(cpu_dai, MMP_SYSCLK, 0, freq_out, sysclk); > Thanks Arnd. Looks sspa_div is not used at all. So we can remove sspa_div as well as do_div. What do you think. Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] ASoC: pxa: remove incorrect do_div() call Arnd Bergmann <arnd@arndb.de> - 2015-11-20 10:40 +0100
Re: [PATCH] ASoC: pxa: remove incorrect do_div() call zhangfei <zhangfei.gao@linaro.org> - 2015-11-23 09:20 +0100
Re: [PATCH] ASoC: pxa: remove incorrect do_div() call Arnd Bergmann <arnd@arndb.de> - 2015-11-23 10:00 +0100
csiph-web