summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/omap4-common.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-02-29 23:24:39 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-02-29 23:24:39 +0400
commitc5f2ac92c69c64ea303a7b28b17143fbf601182d (patch)
tree638fb1efb0c14b53876e2002ece72acc1494a311 /arch/arm/mach-omap2/omap4-common.c
parent88ebdda6159ffc15699f204c33feb3e431bf9bdc (diff)
parentf2273ecd9a7405b867522ce03d31a9fee80c2495 (diff)
downloadlinux-c5f2ac92c69c64ea303a7b28b17143fbf601182d.tar.xz
Merge tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Arnd Bergmann says: "Another set of arm-soc bug fixes on top of v3.3-rc5. The few larger bits are all for devices that still need to get set up in board code. Only three platforms are in this set of fixes: omap2+, pxa and lpc32xx." * tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits) ARM: LPC32xx: serial.c: Fixed loop limit ARM: LPC32xx: serial.c: HW bug workaround ARM: LPC32xx: irq.c: Clear latched event ARM: LPC32xx: Fix interrupt controller init ARM: LPC32xx: Fix irq on GPI_28 ARM: OMAP2: fix mailbox init code ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators ARM: OMAP1: Fix out-of-bounds array access for Innovator OMAP3 EVM: remove out-of-bounds array access of gpio_leds ARM: OMAP: Fix build error when mmc_omap is built as module ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module pxa/hx4700: add platform device and I2C info for AK4641 codec arch/arm/mach-pxa/: included linux/gpio.h twice arch/arm/mach-mmp/: some files include some headers twice ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe ARM: pxa: fix including linux/gpio.h twice ARM: pxa: fix mixed declarations and code in sharpsl_pm ARM: pxa: fix wrong parsing gpio event on spitz ARM: OMAP2+: usb-host: fix compile warning ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback ...
Diffstat (limited to 'arch/arm/mach-omap2/omap4-common.c')
-rw-r--r--arch/arm/mach-omap2/omap4-common.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
index 40a8fbc07e4b..ebc595091312 100644
--- a/arch/arm/mach-omap2/omap4-common.c
+++ b/arch/arm/mach-omap2/omap4-common.c
@@ -24,6 +24,7 @@
#include <plat/irqs.h>
#include <plat/sram.h>
+#include <plat/omap-secure.h>
#include <mach/hardware.h>
#include <mach/omap-wakeupgen.h>
@@ -43,6 +44,9 @@ static void __iomem *sar_ram_base;
void __iomem *dram_sync, *sram_sync;
+static phys_addr_t paddr;
+static u32 size;
+
void omap_bus_sync(void)
{
if (dram_sync && sram_sync) {
@@ -52,18 +56,20 @@ void omap_bus_sync(void)
}
}
-static int __init omap_barriers_init(void)
+/* Steal one page physical memory for barrier implementation */
+int __init omap_barrier_reserve_memblock(void)
{
- struct map_desc dram_io_desc[1];
- phys_addr_t paddr;
- u32 size;
-
- if (!cpu_is_omap44xx())
- return -ENODEV;
size = ALIGN(PAGE_SIZE, SZ_1M);
paddr = arm_memblock_steal(size, SZ_1M);
+ return 0;
+}
+
+void __init omap_barriers_init(void)
+{
+ struct map_desc dram_io_desc[1];
+
dram_io_desc[0].virtual = OMAP4_DRAM_BARRIER_VA;
dram_io_desc[0].pfn = __phys_to_pfn(paddr);
dram_io_desc[0].length = size;
@@ -75,9 +81,10 @@ static int __init omap_barriers_init(void)
pr_info("OMAP4: Map 0x%08llx to 0x%08lx for dram barrier\n",
(long long) paddr, dram_io_desc[0].virtual);
- return 0;
}
-core_initcall(omap_barriers_init);
+#else
+void __init omap_barriers_init(void)
+{}
#endif
void __init gic_init_irq(void)