[U-Boot] [PATCH v2] board/linkstation/ide.c: Fix compile warning

Wolfgang Denk wd at denx.de
Tue Sep 15 00:26:02 CEST 2009


Fix warning: ide.c:60: warning: dereferencing type-punned pointer will
break strict-aliasing rules

Signed-off-by: Wolfgang Denk <wd at denx.de>
Cc: Guennadi Liakhovetski <lg at denx.de>

---
v2: Better implementation as suggested by Scott Wood in
    http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/67840/focus=67891

 board/linkstation/ide.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/board/linkstation/ide.c b/board/linkstation/ide.c
index 2c89d62..568fdf5 100644
--- a/board/linkstation/ide.c
+++ b/board/linkstation/ide.c
@@ -54,11 +54,13 @@ int ide_preinit (void)
 	if (devbusfn == -1)
 		devbusfn = pci_find_device(PCI_VENDOR_ID_ITE,PCI_DEVICE_ID_ITE_8212,0);
 	if (devbusfn != -1) {
+		u32 ide_bus_offset32;
+
 		status = 0;
 
 		pci_read_config_dword (devbusfn, PCI_BASE_ADDRESS_0,
-							   (u32 *) &ide_bus_offset[0]);
-		ide_bus_offset[0] &= 0xfffffffe;
+							   &ide_bus_offset32);
+		ide_bus_offset[0] = ide_bus_offset32 & 0xfffffffe;
 		ide_bus_offset[0] = pci_hose_bus_to_phys(&hose,
 							 ide_bus_offset[0] & 0xfffffffe,
 							 PCI_REGION_IO);
-- 
1.6.0.6



More information about the U-Boot mailing list