ARM: 6649/1: omap: use fncpy to copy the PM code functions to SRAM
commitb6338bdc8305b27688a7feb8689e4ccfd42f0292
authorJean Pihet <j-pihet@ti.com>
Wed, 2 Feb 2011 15:38:06 +0000 (2 16:38 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 4 Feb 2011 14:26:08 +0000 (4 14:26 +0000)
tree2854dda3c50899b00cb7b302b06d2ba6fd03cdb2
parent5756e9dd0de6d5c307773f8f734c0684b3098fdd
ARM: 6649/1: omap: use fncpy to copy the PM code functions to SRAM

The new fncpy API is better suited* for copying some
code to SRAM at runtime. This patch changes the ad-hoc
code to the more generic fncpy API.

*: 1. fncpy ensures that the thumb mode bit is propagated,
   2. fncpy provides the security of type safety between the
     original function and the sram function pointer.

Tested OK on OMAP3 in low power modes (RET/OFF)
using omap2plus_defconfig with !CONFIG_THUMB2_KERNEL.
Compile tested on OMAP1/2 using omap1_defconfig.

Boot tested on OMAP1 & OMAP2
Tested OK with suspend/resume on OMAP2420/n810

Boots fine on osk5912 and n800

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Dave Martin <dave.martin@linaro.org>
Tested-by: Kevin Hilman <khilman@ti.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-omap1/pm.h
arch/arm/mach-omap1/sleep.S
arch/arm/mach-omap1/sram.S
arch/arm/mach-omap2/pm.h
arch/arm/mach-omap2/sleep24xx.S
arch/arm/mach-omap2/sleep34xx.S
arch/arm/mach-omap2/sram242x.S
arch/arm/mach-omap2/sram243x.S
arch/arm/mach-omap2/sram34xx.S
arch/arm/plat-omap/include/plat/sram.h
arch/arm/plat-omap/sram.c