[U-Boot] [PATCH v2] OMAP3 MMC: Fix warning dereferencing type-punned pointer
Tom
Tom.Rix at windriver.com
Sat Sep 26 14:29:26 CEST 2009
Dirk Behme wrote:
> Tom wrote:
>> Dirk Behme wrote:
>>> Fix warning
>>>
>>> dereferencing type-punned pointer will break strict-aliasing rules
>>>
>>> Signed-off-by: Dirk Behme <dirk.behme at googlemail.com>
>>> CC: Steve Sakoman <sakoman at gmail.com>
>>>
>>
>> This may be improved by consolidating the unions into the omap3 mmc.h
>> file
>> and using a pointer to union in the mmc_send_cmd.
>
> Hmmh, I'm not so familiar with unions ;) But moving
>
> union {
> unsigned int resp[4];
> mmc_resp_r3 r3;
> mmc_resp_r6 r6;
> } mmc_resp;
>
> and
>
> union {
> unsigned int resp[4];
> mmc_csd_reg_t Card_CSD;
> } mmc_resp;
>
> into the omap3 mmc.h would mean to make them global and to permanently
> allocate the space for resp[4]? That is, make local variables allocated
> locally (on stack?) move to global variables using (wasting?) some
> additional memory? If so, I'd like to keep stuff local as done by the
> original version. Sorry if I missed something ;)
>
I ment just the declaration like
union mmc_resp_t {
unsigned int resp[4];
mmc_resp_r3 r3;
mmc_resp_r6 r6;
mmc_csd_reg_t Card_CSD;
};
variables would still be defined in the C file.
Tom
> Best regards
>
> Dirk
>
More information about the U-Boot
mailing list