[alsa-devel] [PATCH] ASoC: fsl-ssi: fix do_div build warning in fsl_ssi_set_bclk()

Timur Tabi timur at tabi.org
Fri Jun 13 05:43:41 CEST 2014


do_div() requires that the first parameter is a 64-bit integer,
which but clkrate was defined as an unsigned long.  This caused
the following warnings:

 CC      sound/soc/fsl/fsl_ssi.o
sound/soc/fsl/fsl_ssi.c: In function 'fsl_ssi_set_bclk':
sound/soc/fsl/fsl_ssi.c:593:3: warning: comparison of distinct pointer types lacks a cast
sound/soc/fsl/fsl_ssi.c:593:3: warning: right shift count >= width of type
sound/soc/fsl/fsl_ssi.c:593:3: warning: passing argument 1 of '__div64_32' from incompatible pointer type
include/asm-generic/div64.h:35:17: note: expected 'uint64_t *' but argument is of type 'long unsigned int *'

Signed-off-by: Timur Tabi <timur at tabi.org>
---

Note: I cannot test this code because I do not have a platform
that runs the SSI in master mode.

 sound/soc/fsl/fsl_ssi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 9bfef55..9d98340 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -555,8 +555,8 @@ static int fsl_ssi_set_bclk(struct snd_pcm_substream *substream,
 	struct regmap *regs = ssi_private->regs;
 	int synchronous = ssi_private->cpu_dai_drv.symmetric_rates, ret;
 	u32 pm = 999, div2, psr, stccr, mask, afreq, factor, i;
-	unsigned long clkrate, baudrate, tmprate;
-	u64 sub, savesub = 100000;
+	unsigned long baudrate, tmprate;
+	u64 clkrate, sub, savesub = 100000;
 	unsigned int freq;
 	bool baudclk_is_used;
 
-- 
1.7.11.7



More information about the Alsa-devel mailing list