aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/plat-omap/include/plat/sram.h
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2011-02-23 10:08:33 -0500
committerNicolas Pitre <nicolas.pitre@linaro.org>2011-02-23 10:08:33 -0500
commita010ae86cc27ef660afdcc7e7d4cdbc2b38fce09 (patch)
tree50fb5ee861b3b0e79e31529f3bebb67baf12b7af /arch/arm/plat-omap/include/plat/sram.h
parent239a14a340ad4a81cfff4075625382d7f78f5258 (diff)
parent4760195df00982b4e388e859b41a63feed6d0cab (diff)
Merge branch 'for-linaro-2.6.38/dirty/arm/omap-thumb2+merged' of git://git.linaro.org/people/dmart/linux-2.6-arm into linaro-2.6.38linaro-linux-2.6.38-upstream-23Feb2011
Diffstat (limited to 'arch/arm/plat-omap/include/plat/sram.h')
-rw-r--r--arch/arm/plat-omap/include/plat/sram.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/include/plat/sram.h b/arch/arm/plat-omap/include/plat/sram.h
index 9967d5e855c..f500fc34d06 100644
--- a/arch/arm/plat-omap/include/plat/sram.h
+++ b/arch/arm/plat-omap/include/plat/sram.h
@@ -12,7 +12,19 @@
#define __ARCH_ARM_OMAP_SRAM_H
#ifndef __ASSEMBLY__
-extern void * omap_sram_push(void * start, unsigned long size);
+#include <asm/fncpy.h>
+
+extern void *omap_sram_push_address(unsigned long size);
+
+/* Macro to push a function to the internal SRAM, using the fncpy API */
+#define omap_sram_push(funcp, size) ({ \
+ typeof(&(funcp)) _res = NULL; \
+ void *_sram_address = omap_sram_push_address(size); \
+ if (_sram_address) \
+ _res = fncpy(_sram_address, &(funcp), size); \
+ _res; \
+})
+
extern void omap_sram_reprogram_clock(u32 dpllctl, u32 ckctl);
extern void omap2_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,