All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ASoC: pxa: remove incorrect do_div() call
@ 2015-11-20  9:32 ` Arnd Bergmann
  0 siblings, 0 replies; 10+ messages in thread
From: Arnd Bergmann @ 2015-11-20  9:32 UTC (permalink / raw)
  To: alsa-devel, broonie
  Cc: Leo Yan, linux-kernel, Haojian Zhuang, Liam Girdwood, Daniel Mack,
	Zhangfei Gao, Robert Jarzmik, linux-arm-kernel

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);

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-02-26  2:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-20  9:32 [PATCH] ASoC: pxa: remove incorrect do_div() call Arnd Bergmann
2015-11-20  9:32 ` Arnd Bergmann
2015-11-20  9:32 ` Arnd Bergmann
2015-11-20 18:20 ` Applied "ASoC: pxa: remove incorrect do_div() call" to the asoc tree Mark Brown
2015-11-23  8:10 ` [PATCH] ASoC: pxa: remove incorrect do_div() call zhangfei
2015-11-23  8:10   ` zhangfei
2015-11-23  8:54   ` Arnd Bergmann
2015-11-23  8:54     ` Arnd Bergmann
2015-11-23  8:54     ` Arnd Bergmann
2016-02-26  2:46     ` Applied "ASoC: pxa: remove unused variable" to the asoc tree Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.