Re: [U-Boot] [PATCH 05/56] board/tqc/tqm5200/cmd_stk52xx.c: fix GC 4.6 build warnings

2011-11-07 Thread Wolfgang Denk
Dear Wolfgang Denk,

In message <1320458160-23136-6-git-send-email...@denx.de> you wrote:
> Fix:
> cmd_stk52xx.c: In function 'spi_transmit':
> cmd_stk52xx.c:85:6: warning: variable 'dummy' set but not used
> [-Wunused-but-set-variable]
> cmd_stk52xx.c: In function 'i2s_play_wave':
> cmd_stk52xx.c:199:3: warning: dereferencing type-punned pointer will
> break strict-aliasing rules [-Wstrict-aliasing]
> 
> Signed-off-by: Wolfgang Denk 
> ---
>  board/tqc/tqm5200/cmd_stk52xx.c |   23 ---
>  1 files changed, 12 insertions(+), 11 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
One difference between a man and a machine is that a machine is quiet
when well oiled.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 05/56] board/tqc/tqm5200/cmd_stk52xx.c: fix GC 4.6 build warnings

2011-11-04 Thread Wolfgang Denk
Fix:
cmd_stk52xx.c: In function 'spi_transmit':
cmd_stk52xx.c:85:6: warning: variable 'dummy' set but not used
[-Wunused-but-set-variable]
cmd_stk52xx.c: In function 'i2s_play_wave':
cmd_stk52xx.c:199:3: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]

Signed-off-by: Wolfgang Denk 
---
 board/tqc/tqm5200/cmd_stk52xx.c |   23 ---
 1 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/board/tqc/tqm5200/cmd_stk52xx.c b/board/tqc/tqm5200/cmd_stk52xx.c
index 0789c58..c40f7f0 100644
--- a/board/tqc/tqm5200/cmd_stk52xx.c
+++ b/board/tqc/tqm5200/cmd_stk52xx.c
@@ -82,18 +82,17 @@ static void spi_init(void)
 
 static int spi_transmit(unsigned char data)
 {
-   int dummy;
struct mpc5xxx_spi *spi = (struct mpc5xxx_spi*)MPC5XXX_SPI;
 
spi->dr = data;
/* wait for SPI transmission completed */
-   while(!(spi->sr & 0x80))
-   {
-   if (spi->sr & 0x40) /* if write collision occured */
-   {
+   while (!(spi->sr & 0x80)) {
+   if (spi->sr & 0x40) {   /* if write collision occured */
+   int dummy;
+
/* do dummy read to clear status register */
dummy = spi->dr;
-   printf ("SPI write collision\n");
+   printf("SPI write collision: dr=0x%x\n", dummy);
return -1;
}
}
@@ -172,10 +171,8 @@ static void i2s_init(void)
psc->ccr = 0x1F03;  /* 16 bit data width; 5.617MHz MCLK */
psc->ctur = 0x0F;   /* 16 bit frame width */
 
-   for(i=0;i<128;i++)
-   {
+   for (i = 0; i < 128; i++)
psc->psc_buffer_32 = 0; /* clear tx fifo */
-   }
 }
 
 static int i2s_play_wave(unsigned long addr, unsigned long len)
@@ -183,7 +180,6 @@ static int i2s_play_wave(unsigned long addr, unsigned long 
len)
unsigned long i;
unsigned char *wave_file = (uchar *)addr + 44;  /* quick'n dirty: skip
 * wav header*/
-   unsigned char swapped[4];
struct mpc5xxx_psc *psc = (struct mpc5xxx_psc*)MPC5XXX_PSC2;
 
/*
@@ -192,11 +188,16 @@ static int i2s_play_wave(unsigned long addr, unsigned 
long len)
psc->command = (PSC_RX_ENABLE | PSC_TX_ENABLE);
 
for(i = 0;i < (len / 4); i++) {
+   unsigned char swapped[4];
+   unsigned long *p = (unsigned long*)swapped;
+
swapped[3] = *wave_file++;
swapped[2] = *wave_file++;
swapped[1] = *wave_file++;
swapped[0] = *wave_file++;
-   psc->psc_buffer_32 =  *((unsigned long*)swapped);
+
+   psc->psc_buffer_32 =  *p;
+
while (psc->tfnum > 400) {
if(ctrlc())
return 0;
-- 
1.7.6.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot