[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