[U-Boot] [PATCH] drivers/net/mvgbe.c: Fix GCC 4.6 warnings

2011-11-19 Thread Anatolij Gustschin
Fix:
mvgbe.c: In function 'mvgbe_send':
mvgbe.c:555:2: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]
mvgbe.c: In function 'mvgbe_recv':
mvgbe.c:640:2: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]

Signed-off-by: Anatolij Gustschin 
Cc: Prafulla Wadaskar 
---
 drivers/net/mvgbe.c |9 ++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index fd13428..de7cdd7 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -531,6 +531,7 @@ static int mvgbe_send(struct eth_device *dev, void *dataptr,
struct mvgbe_txdesc *p_txdesc = dmvgbe->p_txdesc;
void *p = (void *)dataptr;
u32 cmd_sts;
+   u32 txuq0_reg_addr;
 
/* Copy buffer if it's misaligned */
if ((u32) dataptr & 0x07) {
@@ -552,7 +553,8 @@ static int mvgbe_send(struct eth_device *dev, void *dataptr,
p_txdesc->byte_cnt = datasize;
 
/* Set this tc desc as zeroth TXUQ */
-   MVGBE_REG_WR(regs->tcqdp[TXUQ], (u32) p_txdesc);
+   txuq0_reg_addr = (u32)®s->tcqdp[TXUQ];
+   writel((u32) p_txdesc, txuq0_reg_addr);
 
/* ensure tx desc writes above are performed before we start Tx DMA */
isb();
@@ -583,6 +585,7 @@ static int mvgbe_recv(struct eth_device *dev)
struct mvgbe_rxdesc *p_rxdesc_curr = dmvgbe->p_rxdesc_curr;
u32 cmd_sts;
u32 timeout = 0;
+   u32 rxdesc_curr_addr;
 
/* wait untill rx packet available or timeout */
do {
@@ -637,8 +640,8 @@ static int mvgbe_recv(struct eth_device *dev)
p_rxdesc_curr->buf_size = PKTSIZE_ALIGN;
p_rxdesc_curr->byte_cnt = 0;
 
-   writel((unsigned)p_rxdesc_curr->nxtdesc_p,
-   (u32) &dmvgbe->p_rxdesc_curr);
+   rxdesc_curr_addr = (u32)&dmvgbe->p_rxdesc_curr;
+   writel((unsigned)p_rxdesc_curr->nxtdesc_p, rxdesc_curr_addr);
 
return 0;
 }
-- 
1.7.5.4

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


Re: [U-Boot] [PATCH] drivers/net/mvgbe.c: Fix GCC 4.6 warnings

2011-12-05 Thread Wolfgang Denk
Dear Anatolij Gustschin,

In message <1321729176-5520-1-git-send-email-ag...@denx.de> you wrote:
> Fix:
> mvgbe.c: In function 'mvgbe_send':
> mvgbe.c:555:2: warning: dereferencing type-punned pointer will
> break strict-aliasing rules [-Wstrict-aliasing]
> mvgbe.c: In function 'mvgbe_recv':
> mvgbe.c:640:2: warning: dereferencing type-punned pointer will
> break strict-aliasing rules [-Wstrict-aliasing]
> 
> Signed-off-by: Anatolij Gustschin 
> Cc: Prafulla Wadaskar 
> ---
>  drivers/net/mvgbe.c |9 ++---
>  1 files changed, 6 insertions(+), 3 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
Your csh still thinks true is false. Write to your vendor  today  and
tell them that next year Configure ought to "rm /bin/csh" unless they
fix  their blasted shell. :-)
 - Larry Wall in Configure from the perl distribution
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] drivers/net/mvgbe.c: Fix GCC 4.6 warnings

2011-11-20 Thread Prafulla Wadaskar


> -Original Message-
> From: Anatolij Gustschin [mailto:ag...@denx.de]
> Sent: Sunday, November 20, 2011 12:30 AM
> To: u-boot@lists.denx.de
> Cc: Prafulla Wadaskar
> Subject: [PATCH] drivers/net/mvgbe.c: Fix GCC 4.6 warnings
> 
> Fix:
> mvgbe.c: In function 'mvgbe_send':
> mvgbe.c:555:2: warning: dereferencing type-punned pointer will
> break strict-aliasing rules [-Wstrict-aliasing]
> mvgbe.c: In function 'mvgbe_recv':
> mvgbe.c:640:2: warning: dereferencing type-punned pointer will
> break strict-aliasing rules [-Wstrict-aliasing]
> 
> Signed-off-by: Anatolij Gustschin 
> Cc: Prafulla Wadaskar 
> ---
>  drivers/net/mvgbe.c |9 ++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
> index fd13428..de7cdd7 100644
> --- a/drivers/net/mvgbe.c
> +++ b/drivers/net/mvgbe.c
> @@ -531,6 +531,7 @@ static int mvgbe_send(struct eth_device
> *dev, void *dataptr,
>   struct mvgbe_txdesc *p_txdesc = dmvgbe->p_txdesc;
>   void *p = (void *)dataptr;
>   u32 cmd_sts;
> + u32 txuq0_reg_addr;
> 
>   /* Copy buffer if it's misaligned */
>   if ((u32) dataptr & 0x07) {
> @@ -552,7 +553,8 @@ static int mvgbe_send(struct eth_device
> *dev, void *dataptr,
>   p_txdesc->byte_cnt = datasize;
> 
>   /* Set this tc desc as zeroth TXUQ */
> - MVGBE_REG_WR(regs->tcqdp[TXUQ], (u32) p_txdesc);
> + txuq0_reg_addr = (u32)®s->tcqdp[TXUQ];
> + writel((u32) p_txdesc, txuq0_reg_addr);
> 
>   /* ensure tx desc writes above are performed before we
> start Tx DMA */
>   isb();
> @@ -583,6 +585,7 @@ static int mvgbe_recv(struct eth_device
> *dev)
>   struct mvgbe_rxdesc *p_rxdesc_curr = dmvgbe->p_rxdesc_curr;
>   u32 cmd_sts;
>   u32 timeout = 0;
> + u32 rxdesc_curr_addr;
> 
>   /* wait untill rx packet available or timeout */
>   do {
> @@ -637,8 +640,8 @@ static int mvgbe_recv(struct eth_device
> *dev)
>   p_rxdesc_curr->buf_size = PKTSIZE_ALIGN;
>   p_rxdesc_curr->byte_cnt = 0;
> 
> - writel((unsigned)p_rxdesc_curr->nxtdesc_p,
> - (u32) &dmvgbe->p_rxdesc_curr);
> + rxdesc_curr_addr = (u32)&dmvgbe->p_rxdesc_curr;
> + writel((unsigned)p_rxdesc_curr->nxtdesc_p,
> rxdesc_curr_addr);
> 
>   return 0;
>  }

Acked-By: Prafulla Wadaskar 

Regards..
Prafulla . .

> --
> 1.7.5.4

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