diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2011-02-23 10:08:33 -0500 |
---|---|---|
committer | Nicolas Pitre <nicolas.pitre@linaro.org> | 2011-02-23 10:08:33 -0500 |
commit | a010ae86cc27ef660afdcc7e7d4cdbc2b38fce09 (patch) | |
tree | 50fb5ee861b3b0e79e31529f3bebb67baf12b7af /arch/arm/plat-omap/include/plat/sram.h | |
parent | 239a14a340ad4a81cfff4075625382d7f78f5258 (diff) | |
parent | 4760195df00982b4e388e859b41a63feed6d0cab (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.h | 14 |
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, |