[U-Boot] [PATCH] dm: net: Fixup the armada100 FEC driver

Prafulla Wadaskar prafulla at marvell.com
Mon Jul 30 08:32:01 CEST 2012



> -----Original Message-----
> From: u-boot-bounces at lists.denx.de [mailto:u-boot-
> bounces at lists.denx.de] On Behalf Of Marek Vasut
> Sent: 28 July 2012 01:20
> To: u-boot at lists.denx.de
> Cc: Marek Vasut; Joe Hershberger; u-boot-dm at lists.denx.de
> Subject: [U-Boot] [PATCH] dm: net: Fixup the armada100 FEC driver
> 
> Apply the following questionable adjustment to silence GCC.
> 
> armada100_fec.c: In function 'armdfec_send':
> armada100_fec.c:589:2: warning: dereferencing type-punned pointer will
> break strict-aliasing rules [-Wstrict-aliasing]
> 
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Joe Hershberger <joe.hershberger at ni.com>
> ---
>  drivers/net/armada100_fec.c |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/armada100_fec.c b/drivers/net/armada100_fec.c
> index d318a36..ed7cf20 100644
> --- a/drivers/net/armada100_fec.c
> +++ b/drivers/net/armada100_fec.c
> @@ -565,7 +565,7 @@ static int armdfec_send(struct eth_device *dev,
> void *dataptr, int datasize)
>  	struct tx_desc *p_txdesc = darmdfec->p_txdesc;
>  	void *p = (void *)dataptr;
>  	int retry = PHY_WAIT_ITERATIONS * PHY_WAIT_MICRO_SECONDS;
> -	u32 cmd_sts;
> +	u32 cmd_sts, temp;
> 
>  	/* Copy buffer if it's misaligned */
>  	if ((u32)dataptr & 0x07) {
> @@ -586,7 +586,8 @@ static int armdfec_send(struct eth_device *dev,
> void *dataptr, int datasize)
>  	p_txdesc->byte_cnt = datasize;
> 
>  	/* Apply send command using high priority TX queue */
> -	writel((u32)p_txdesc, &regs->txcdp[TXQ]);
> +	temp = (u32)&regs->txcdp[TXQ];
> +	writel((u32)p_txdesc, temp);
>  	writel(SDMA_CMD_TXDL | SDMA_CMD_TXDH | SDMA_CMD_ERD, &regs-
> >sdma_cmd);
> 
>  	/*
> --

Acked-By: Prafulla Wadaskar <prafulla at marvell.com>

Regards...
Prafulla . . .


More information about the U-Boot mailing list