[U-Boot] [PATCH] macb: fix compile warning

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@gmail.com --- BEWARE! this patch is only copile tested!
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..da41054 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 = netdev->enetaddr[0] | netdev->enetaddr[1] << 8 | + netdev->enetaddr[2] << 16 | netdev->enetaddr[3] << 24; macb_writel(macb, SA1B, hwaddr_bottom); - hwaddr_top = cpu_to_le16(*((u16 *)(dev->enetaddr + 4))); + hwaddr_top = netdev->enetaddr[4] | netdev->enetaddr[5] << 8; macb_writel(macb, SA1T, hwaddr_top); return 0; }

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@gmail.com --- BEWARE! this patch is only compile tested!
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; }

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ßmannandreas.devel@gmail.com
Tested-by: Reinhard Meyeru-boot@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 |
macb_writel(macb, SA1B, hwaddr_bottom);dev->enetaddr[2]<< 16 | dev->enetaddr[3]<< 24;
- 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

Dear "=?UTF-8?q?Andreas=20Bie=C3=9Fmann?=",
In message 1307619188-18655-1-git-send-email-andreas.devel@gmail.com you wrote:
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@gmail.com
BEWARE! this patch is only copile tested!
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..da41054 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 = netdev->enetaddr[0] | netdev->enetaddr[1] << 8 |
macb_writel(macb, SA1B, hwaddr_bottom);netdev->enetaddr[2] << 16 | netdev->enetaddr[3] << 24;
- hwaddr_top = cpu_to_le16(*((u16 *)(dev->enetaddr + 4)));
- hwaddr_top = netdev->enetaddr[4] | netdev->enetaddr[5] << 8; macb_writel(macb, SA1T, hwaddr_top); return 0;
This doesn't apply. Can you please rebase and resubmit? Thanks.
Best regards,
Wolfgang Denk

Dear Wolfgang Denk,
Dear "=?UTF-8?q?Andreas=20Bie=C3=9Fmann?=",
In message1307619188-18655-1-git-send-email-andreas.devel@gmail.com you wrote:
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ßmannandreas.devel@gmail.com
This doesn't apply. Can you please rebase and resubmit? Thanks.
V2 of this patch has been mainlined in June already. Note: macb is the LAN driver for all Atmel ARM and AVR32 SoCs.
Best Regards, Reinhard

Dear Reinhard Meyer,
In message 4E30894C.1030509@emk-elektronik.de you wrote:
This doesn't apply. Can you please rebase and resubmit? Thanks.
V2 of this patch has been mainlined in June already.
I see, thanks.
Best regards,
Wolfgang Denk
participants (3)
-
Andreas Bießmann
-
Reinhard Meyer
-
Wolfgang Denk