From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?Andr=E9_Schwarz?= Date: Thu, 31 Jul 2008 19:34:39 +0200 Subject: [U-Boot-Users] mvbc_p board: build warnings In-Reply-To: <20080731132612.9CA54248B9@gemini.denx.de> References: <20080731132612.9CA54248B9@gemini.denx.de> Message-ID: <4891F7AF.4030902@matrix-vision.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang, thanks - I'll fix it on monday/tuesday and send a patch after testing the -rc2. regards, Andr? Wolfgang Denk schrieb: > Hi, > > I'm trying to clean up the build warnings for the mvbc_p board. > I've succeded with all but this one: > > mvbc_p.c: In function 'mvbc_init_gpio': > mvbc_p.c:124: warning: dereferencing type-punned pointer will break strict-aliasing rules > > This relates to the following code: > > 115 out_be32(&gpio->simple_ddr, SIMPLE_DDR); > 116 out_be32(&gpio->simple_dvo, SIMPLE_DVO); > 117 out_be32(&gpio->simple_ode, SIMPLE_ODE); > 118 out_be32(&gpio->simple_gpioe, SIMPLE_GPIOEN); <== volatile u8 outo_gpioe; > 119 > 120 out_be32((u32*)&gpio->sint_ode, SINT_ODE); <== volatile u8 sint_ode; > 121 out_be32((u32*)&gpio->sint_ddr, SINT_DDR); <== volatile u8 sint_ddr; > 122 out_be32((u32*)&gpio->sint_dvo, SINT_DVO); <== volatile u8 sint_dvo; > 123 out_be32((u32*)&gpio->sint_inten, SINT_INTEN); <== volatile u8 sint_inten; > 124 out_be32((u32*)&gpio->sint_itype, SINT_ITYPE); <== volatile u16 sint_itype; > 125 out_be32((u32*)&gpio->sint_gpioe, SINT_GPIOEN); <== volatile u8 outo_gpioe; > > > I don't know why the warning is only issued for the "u16" type and > not also for the "u8" ones, but anyway: Is the casting to "u32*" and > using out_be32() here really correct? > > I would expect to see some out_be8() and one out_be16() here? > > Best regards, > > Wolfgang Denk > MATRIX VISION GmbH, Talstra?e 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch?ftsf?hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner