[U-Boot] Warning in omap3_mmc.c

Dirk Behme dirk.behme at googlemail.com
Sun Sep 6 09:55:55 CEST 2009


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?

Many thanks

Dirk



More information about the U-Boot mailing list