[U-Boot] [PATCH 07/11] arm: socfpga: sysmgr: Fix casting warning when enabling ARM64

Chin Liang See clsee at altera.com
Tue Sep 6 11:41:56 CEST 2016


On Mon, 2016-09-05 at 18:02 +0200, Marek Vasut wrote:
> On 08/22/2016 05:02 PM, Chin Liang See wrote:
> > Fix casting warning to pointer from integer of different size
> > when enabling ARM64 support
> 
> What sort of error did you observe ?

The warning is triggered as ARM64 has build flag -Wpointer-to-int-cast
and similar. Here is the build error log

arch/arm/mach-socfpga/system_manager.c: In function sysmgr_pinmux_init:
                                                                       
          arch/arm/mach-socfpga/system_manager.c:59:18: warning: cast
from pointer to integer of different size [-Wpointer-to-int-cast]      
                          uint32_t regs = (uint32_t)&sysmgr_regs
->emacio[0];                                                           
                                                              ^        
                                                                       
                                                          In file
included from arch/arm/mach-socfpga/system_manager.c:8:0:              
                                                                       
      ./arch/arm/include/asm/io.h:78:29: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]                      
                    #define __arch_putl(v,a)  (*(volatile unsigned int
*)(a) = (v))                                                           
                                                             ^  
Thanks
Chin Liang


> 
> > Signed-off-by: Chin Liang See <clsee at altera.com>
> > Cc: Marek Vasut <marex at denx.de>
> > Cc: Dinh Nguyen <dinguyen at opensource.altera.com>
> > Cc: Ley Foon Tan <lftan at altera.com>
> > ---
> >  arch/arm/mach-socfpga/system_manager.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm/mach-socfpga/system_manager.c b/arch/arm/mach
> > -socfpga/system_manager.c
> > index 75a65f3..89161bd 100644
> > --- a/arch/arm/mach-socfpga/system_manager.c
> > +++ b/arch/arm/mach-socfpga/system_manager.c
> > @@ -56,7 +56,7 @@ static void populate_sysmgr_fpgaintf_module(void)
> >   */
> >  void sysmgr_pinmux_init(void)
> >  {
> > -	uint32_t regs = (uint32_t)&sysmgr_regs->emacio[0];
> > +	uint32_t *regs = (uint32_t *)&sysmgr_regs->emacio[0];
> >  	const u8 *sys_mgr_init_table;
> >  	unsigned int len;
> >  	int i;
> > 
> 
> 


More information about the U-Boot mailing list