[U-Boot] Warning in omap3_mmc.c

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sun Sep 6 15:17:21 CEST 2009


On 09:55 Sun 06 Sep     , Dirk Behme wrote:
> 
> Recent U-Boot head gives (e.g. for omap3_beagle_config)
> 
> omap3_mmc.c: In function 'mmc_detect_card': 
> 
> omap3_mmc.c:279: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> omap3_mmc.c:292: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> omap3_mmc.c:336: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> omap3_mmc.c: In function 'configure_mmc': 
> 
> omap3_mmc.c:460: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> omap3_mmc.c:461: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> omap3_mmc.c:462: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> omap3_mmc.c:463: warning: dereferencing type-punned pointer will break 
> strict-aliasing rules
> 
> This is from e.g.
> 
> 279: ocr_recvd = ((mmc_resp_r3 *) resp)->ocr;
> 336: mmc_card_cur->RCA = ((mmc_resp_r6 *) resp)->newpublishedrca;
> 
> with
> 
> unsigned int resp[4];
> 
> and
> 
> typedef struct {
> 	unsigned int ocr;
> } mmc_resp_r3;
> 
> typedef struct {
> 	unsigned short cardstatus;
> 	unsigned short newpublishedrca;
> } mmc_resp_r6;
> 
> Any idea how to fix this?
try to create a union

Best Regards,
J.


More information about the U-Boot mailing list