linux/arch/arm
Jean Pihet b6338bdc83 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>
2011-02-04 14:26:08 +00:00
..
boot Merge branches 'ftrace', 'gic', 'io', 'kexec', 'mod', 'sa11x0', 'sh' and 'versatile' into devel 2011-01-05 18:08:10 +00:00
common Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
configs kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
include/asm ARM: 6640/1: Thumb-2: Symbol manipulation macros for function body copying 2011-01-27 11:48:58 +00:00
kernel ARM: twd: ensure timer reload is reprogrammed on entry to periodic mode 2011-01-25 21:17:58 +00:00
lib ARM: udelay: prevent math rounding resulting in short udelays 2011-01-10 23:55:59 +00:00
mach-aaec2000 ARM: aaec2000: irq_data conversion. 2011-01-13 17:18:21 +01:00
mach-at91 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-bcmring Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-clps711x ARM: clps711x: irq_data conversion. 2011-01-13 17:18:24 +01:00
mach-cns3xxx Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-davinci Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-dove ARM: dove: irq_data conversion. 2011-01-13 17:18:27 +01:00
mach-ebsa110 ARM: ebsa110: irq_data conversion. 2011-01-13 17:18:28 +01:00
mach-ep93xx ARM: 6636/1: ep93xx: default multiplexed gpio ports to gpio mode 2011-01-25 21:18:04 +00:00
mach-footbridge ARM: footbridge: irq_data conversion. 2011-01-13 17:18:30 +01:00
mach-gemini Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-h720x Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-imx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-integrator Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-iop13xx ARM: iop13xx: irq_data conversion. 2011-01-13 17:18:35 +01:00
mach-iop32x ARM: iop32x: irq_data conversion. 2011-01-13 17:18:36 +01:00
mach-iop33x ARM: iop33x: irq_data conversion. 2011-01-13 17:18:37 +01:00
mach-ixp4xx ARM: ixp4xx: irq_data conversion. 2011-01-13 17:18:40 +01:00
mach-ixp23xx ARM: ixp23xx: irq_data conversion. 2011-01-13 17:18:39 +01:00
mach-ixp2000 ARM: ixp2000: irq_data conversion. 2011-01-13 17:18:38 +01:00
mach-kirkwood Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-01-13 10:32:54 -08:00
mach-ks8695 ARM: ks8695: irq_data conversion. 2011-01-13 17:18:41 +01:00
mach-l7200/include/mach
mach-lh7a40x ARM: lh7a40x: irq_data conversion. 2011-01-13 17:18:43 +01:00
mach-loki
mach-lpc32xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-mmp ARM: mmp: PXA910 drive strength FAST using wrong value 2011-01-15 04:29:20 -06:00
mach-msm Merge branch 'for-38-rc2' of git://codeaurora.org/quic/kernel/davidb/linux-msm 2011-01-20 16:30:22 -08:00
mach-mv78xx0
mach-mx3 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-mx5 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2011-01-14 12:12:42 +00:00
mach-mxc91231 Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-mxs ARM mxs: clkdev related compile fixes 2011-01-14 10:19:27 +01:00
mach-netx ARM: netx: irq_data conversion. 2011-01-13 17:18:48 +01:00
mach-nomadik
mach-ns9xxx ARM: ns9xxx: irq_data conversion. 2011-01-13 17:18:49 +01:00
mach-nuc93x ARM: nuc93x: irq_data conversion. 2011-01-13 17:18:50 +01:00
mach-omap1 ARM: 6649/1: omap: use fncpy to copy the PM code functions to SRAM 2011-02-04 14:26:08 +00:00
mach-omap2 ARM: 6649/1: omap: use fncpy to copy the PM code functions to SRAM 2011-02-04 14:26:08 +00:00
mach-orion5x Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-pnx4008 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-pxa Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-realview ARM: realview: name configuration options after actual board names 2011-01-25 15:08:01 +00:00
mach-rpc ARM: rpc: irq_data conversion. 2011-01-13 17:18:57 +01:00
mach-s3c24a0/include/mach
mach-s3c64xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2400
mach-s3c2410 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2412 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2011-01-15 13:24:02 +00:00
mach-s3c2416 Merge branch 'next-s3c24xx' into for-next 2011-01-06 18:44:09 +09:00
mach-s3c2440 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2443 Merge branch 'next-s3c24xx' into for-next 2011-01-06 18:44:09 +09:00
mach-s5p64x0 ARM: S5P6450: Add missing virtual ASoC DMA device 2011-01-18 14:44:32 +09:00
mach-s5p6442 ARM: S5P6442: Enable I2S device to work on SMDK6442 2011-01-18 14:44:32 +09:00
mach-s5pc100 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s5pv210 ARM: S5PV210: Add missing virtual ASoC DMA device 2011-01-18 14:45:33 +09:00
mach-s5pv310 ARM: S5PV310: Add missing virtual ASoC DMA device 2011-01-18 14:47:07 +09:00
mach-sa1100 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-shark ARM: shark: irq_data conversion. 2011-01-13 17:19:00 +01:00
mach-shmobile ARM: mach-shmobile: AG5EVM LCDC / MIPI-DSI platform data 2011-01-20 21:34:32 +09:00
mach-spear3xx
mach-spear6xx
mach-stmp37xx ARM: stmp37xx: irq_data conversion. 2011-01-13 17:19:02 +01:00
mach-stmp378x ARM: stmp378x: irq_data conversion. 2011-01-13 17:19:01 +01:00
mach-tcc8k ARM: tcc8k: irq_data conversion. 2011-01-13 17:19:03 +01:00
mach-tegra Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-01-26 16:31:44 +10:00
mach-u300 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
mach-ux500 mach-ux500: Updated and connected ab8500 regulator board configuration 2011-01-12 14:33:03 +00:00
mach-versatile ARM: versatile: name configuration options after actual board names 2011-01-25 15:08:02 +00:00
mach-vexpress ARM: 6635/2: Configure reference clock for Versatile Express timers 2011-01-25 16:18:33 +00:00
mach-w90x900 ARM: w90x900: irq_data conversion. 2011-01-13 17:19:07 +01:00
mm Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:29:50 -08:00
nwfpe
oprofile
plat-iop Merge branch 'clksrc' into devel 2011-01-05 18:09:03 +00:00
plat-mxc Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
plat-nomadik Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-01-17 10:54:41 -08:00
plat-omap ARM: 6649/1: omap: use fncpy to copy the PM code functions to SRAM 2011-02-04 14:26:08 +00:00
plat-orion ARM: plat-orion: irq_data conversion. 2011-01-13 17:19:12 +01:00
plat-pxa ARM: PXA SoCs: irq_data conversion. 2011-01-13 17:18:56 +01:00
plat-s3c24xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
plat-s5p ARM: S5P: Add Support System MMU 2011-01-13 13:35:31 +09:00
plat-samsung Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
plat-spear ARM: plat-spear: irq_data conversion. 2011-01-13 17:19:13 +01:00
plat-stmp3xxx ARM: plat-stmp3xxx: irq_data conversion. 2011-01-13 17:19:14 +01:00
plat-tcc
plat-versatile Merge branch 'clksrc' into devel 2011-01-05 18:09:03 +00:00
tools
vfp Merge branch 'misc' into devel 2011-01-06 22:32:52 +00:00
Kconfig Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
Kconfig-nommu
Kconfig.debug Merge branch 'misc' into devel 2011-01-06 22:32:52 +00:00
Makefile Merge branch 'sgu/mxs-core-v8' of git://git.pengutronix.de/git/ukl/linux-2.6 into imx-for-2.6.38-new 2011-01-03 10:15:11 +01:00