summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/immap_8260.h
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2013-05-17 20:01:54 -0500
committerWolfgang Denk <wd@denx.de>2013-06-11 22:01:45 +0200
commita166fbca20e40937bf37cc18c389f68e995c1821 (patch)
treeca90c9999014f7172aefabf257c9c0d2533aecf4 /arch/powerpc/include/asm/immap_8260.h
parente1208c2fe5e07f9a248cfbf9bbb212aa34ad2806 (diff)
downloadtalos-obmc-uboot-a166fbca20e40937bf37cc18c389f68e995c1821.tar.gz
talos-obmc-uboot-a166fbca20e40937bf37cc18c389f68e995c1821.zip
powerpc: fix 8xx and 82xx type-punning warnings with GCC 4.7
C99's strict aliasing rules are insane to use in low-level code such as a bootloader, but as Wolfgang has rejected -fno-strict-aliasing in the past, add a union so that 16-bit accesses can be performed. Compile-tested only. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'arch/powerpc/include/asm/immap_8260.h')
-rw-r--r--arch/powerpc/include/asm/immap_8260.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/arch/powerpc/include/asm/immap_8260.h b/arch/powerpc/include/asm/immap_8260.h
index 4974ae56fc..c7021a7095 100644
--- a/arch/powerpc/include/asm/immap_8260.h
+++ b/arch/powerpc/include/asm/immap_8260.h
@@ -526,13 +526,18 @@ typedef struct immap {
/* Some references are into the unique and known dpram spaces,
* others are from the generic base.
*/
-#define im_dprambase im_dpram1
- u_char im_dpram1[16*1024];
- char res1[16*1024];
- u_char im_dpram2[4*1024];
- char res2[8*1024];
- u_char im_dpram3[4*1024];
- char res3[16*1024];
+ union {
+ struct {
+ u_char im_dpram1[16 * 1024];
+ char res1[16 * 1024];
+ u_char im_dpram2[4 * 1024];
+ char res2[8 * 1024];
+ u_char im_dpram3[4 * 1024];
+ char res3[16 * 1024];
+ };
+ u8 im_dprambase[64 * 1024];
+ u16 im_dprambase16[32 * 1024];
+ };
sysconf8260_t im_siu_conf; /* SIU Configuration */
memctl8260_t im_memctl; /* Memory Controller */
OpenPOWER on IntegriCloud