[U-Boot] [PATCH v2] macb: fix compile warning
Reinhard Meyer
u-boot at emk-elektronik.de
Thu Jun 9 21:02:53 CEST 2011
Dear Andreas Bießmann,
> This patch fixes following compile warning:
>
> ---8<---
> macb.c: In function 'macb_write_hwaddr':
> macb.c:525:2: warning: dereferencing type-punned pointer will break strict-aliasing rules
> --->8---
>
> Signed-off-by: Andreas Bießmann<andreas.devel at gmail.com>
Tested-by: Reinhard Meyer<u-boot at emk-elektronik.de>
> ---
> BEWARE! this patch is only compile tested!
Works well with top9000(at91sam9xe). Thanks.
>
> changes since v1:
> - use correct eth_device
>
> drivers/net/macb.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/macb.c b/drivers/net/macb.c
> index 72ea1fc..c63eea9 100644
> --- a/drivers/net/macb.c
> +++ b/drivers/net/macb.c
> @@ -522,9 +522,10 @@ static int macb_write_hwaddr(struct eth_device *dev)
> u16 hwaddr_top;
>
> /* set hardware address */
> - hwaddr_bottom = cpu_to_le32(*((u32 *)dev->enetaddr));
> + hwaddr_bottom = dev->enetaddr[0] | dev->enetaddr[1]<< 8 |
> + dev->enetaddr[2]<< 16 | dev->enetaddr[3]<< 24;
> macb_writel(macb, SA1B, hwaddr_bottom);
> - hwaddr_top = cpu_to_le16(*((u16 *)(dev->enetaddr + 4)));
> + hwaddr_top = dev->enetaddr[4] | dev->enetaddr[5]<< 8;
> macb_writel(macb, SA1T, hwaddr_top);
> return 0;
> }
Applied to u-boot-atmel/master. Thanks,
Reinhard
More information about the U-Boot
mailing list