[U-Boot] [PATCH V2] fsl: esdhc: consolidate fsl_esdhc_cfg structure

Peng Fan
2016-03-29T04:37:27Z

Hi York,

On Tue, Mar 29, 2016 at 01:35:09AM +0000, york sun wrote:
>On 03/28/2016 06:23 PM, Peng Fan wrote:
>> Hi York,
>>
>> On Tue, Mar 29, 2016 at 12:33:42AM +0000, york sun wrote:
>>> On 03/15/2016 03:14 AM, Peng Fan wrote:
>>>> We can use phys_addr_to for esdhc_base to discard
>>>> the #ifdef.
>>>>
>>>> Signed-off-by: Peng Fan <van.freenix@gmail.com>
>>>> Cc: York Sun <york.sun@nxp.com>
>>>> Cc: Yangbo Lu <yangbo.lu@nxp.com>
>>>> Cc: Eric Nelson <eric@nelint.com>
>>>> Cc: Fabio Estevam <fabio.estevam@nxp.com>
>>>> Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
>>>> Cc: Tom Rini <trini@konsulko.com>
>>>> ---
>>>>
>>>> V2:
>>>> Split this patch from the V1 patch set.
>>>>
>>>> include/fsl_esdhc.h | 6 +-----
>>>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>>>
>>>> diff --git a/include/fsl_esdhc.h b/include/fsl_esdhc.h
>>>> index 073048f..fa760a5 100644
>>>> --- a/include/fsl_esdhc.h
>>>> +++ b/include/fsl_esdhc.h
>>>> @@ -168,11 +168,7 @@
>>>> #define ESDHC_VENDORSPEC_VSELECT 0x00000002 /* Use 1.8V */
>>>>
>>>> struct fsl_esdhc_cfg {
>>>> -#ifdef CONFIG_FSL_LAYERSCAPE
>>>> - u64 esdhc_base;
>>>> -#else
>>>> - u32 esdhc_base;
>>>> -#endif
>>>> + phys_addr_t esdhc_base;
>>>> u32 sdhc_clk;
>>>> u8 max_bus_width;
>>>> struct mmc_config cfg;
>>>>
>>>
>>> Peng,
>>>
>>> I thought this change is trivial and should be OK. But it turns out this change
>>> brings comping warning to many PPC boards
>>>
>>> drivers/mmc/fsl_esdhc.c:184:27: warning: cast to pointer from integer of
>>> different size [-Wint-to-pointer-cast]
>>
>> You can apply https://patchwork.ozlabs.org/patch/601919/ and retest.
>> I think the reason is that to PPC 64bit, "typedef unsigned long long phys_addr_t"
>> I think "esdhc_regs = (struct fsl_esdhc *)(unsigned long)(cfg->esdhc_base);"
>> can fix it.
>>
>> Do I need to send a single V3 patch to fix the warning, or you apply the
>> driver model V3 patch, if the driver model V3 can fix it?
>>
>
>I am concerned about git bisect. It is not good to have a patch with compiling
>warning. I prefer you fix it.

You can first apply https://patchwork.ozlabs.org/patch/601919/ V3 version
for driver model patch. In this patch I have such code:
"esdhc_regs = (struct fsl_esdhc *)(unsigned long)(cfg->esdhc_base);"
If you think this line code is ok, then you can apply this current patch.
If not, I think I may also fix this.

If this is ok for you, no need for me to send V3 :)

Thanks,
Peng.

>
>York
>
>