[PATCH] ARM: omap: fix warning with LPAE build
Tony Lindgren
tony at atomide.com
Wed Nov 13 16:56:31 EST 2013
* Olof Johansson <olof at lixom.net> [131113 13:23]:
> On Wed, Nov 13, 2013 at 12:31 PM, Olof Johansson <olof at lixom.net> wrote:
> > On Wed, Nov 13, 2013 at 12:05 PM, Tony Lindgren <tony at atomide.com> wrote:
> >> * Olof Johansson <olof at lixom.net> [131112 22:53]:
> >>> Some omap3 code is throwing a warning:
> >>> arch/arm/mach-omap2/pm34xx.c: In function 'omap3_save_secure_ram_context':
> >>> arch/arm/mach-omap2/pm34xx.c:123:32: warning: cast to pointer from
> >>> integer of different size [-Wint-to-pointer-cast]
> >>>
> >>> In reality this code will never actually execute with LPAE=y, since
> >>> Cortex-A8 doesn't support it. So downcasting the __pa() is safe in
> >>> this case.
> >>>
> >>> Signed-off-by: Olof Johansson <olof at lixom.net>
> >>> ---
> >>>
> >>> Tony, queue up if you have a fixes branch please, otherwise I can apply
> >>> directly.
> >>>
> >>> arch/arm/mach-omap2/pm34xx.c | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
> >>> index 93b80e5..1f3770a 100644
> >>> --- a/arch/arm/mach-omap2/pm34xx.c
> >>> +++ b/arch/arm/mach-omap2/pm34xx.c
> >>> @@ -120,7 +120,7 @@ static void omap3_save_secure_ram_context(void)
> >>> * will hang the system.
> >>> */
> >>> pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON);
> >>> - ret = _omap_save_secure_sram((u32 *)
> >>> + ret = _omap_save_secure_sram((u32 *)(unsigned long)
> >>> __pa(omap3_secure_ram_storage));
> >>> pwrdm_set_next_pwrst(mpu_pwrdm, mpu_next_state);
> >>> /* Following is for error tracking, it should not happen */
> >>
> >> Hmm maybe the function prototype should be changed instead if
> >> it takes the physical address.
> >>
> >> How do you you reproduce this warning? I did not get it after
> >> enabling LPAE in multi_v7_defconfig with current mainline.
> >
> > Of course. No more late night patching for me. :)
Ah OK so it's in next.
> Actually, that is getting a little hairy. It's a function pointer to
> an assembly function, so we'd need to make it deal with the size of
> phys_addr_t there. It's probably easier to just go with the original
> patch here, at least I don't see much payoff from doing it the other
> way.
OK, please go ahead and apply:
Acked-by: Tony Lindgren <tony at atomide.com>
I'm still sorting out my fixes, and so far it looks like I don't
need to touch this file.
Regards,
Tony
More information about the linux-arm-kernel
mailing list