aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-highbank
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-05-07 14:22:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-07 14:22:14 -0400
commit1bf25e78af317e6d5d9b5594dfeb0036e0d589d6 (patch)
tree49dbd2d7bd6856b8ae1864c2dd0c0eb5e36d5398 /arch/arm/mach-highbank
parent38f56f33ca381751f9b8910f67e7a805ec0b68cb (diff)
parent0592c2189ece16f3e0c5a56245634aba93d0c9dd (diff)
Merge tag 'cleanup-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC late cleanups from Arnd Bergmann: "These are cleanups and smaller changes that either depend on earlier feature branches or came in late during the development cycle. We normally try to get all cleanups early, so these are the exceptions: - A follow-up on the clocksource reworks, hopefully the last time we need to merge clocksource subsystem changes through arm-soc. A first set of patches was part of the original 3.10 arm-soc cleanup series because of interdependencies with timer drivers now moved out of arch/arm. - Migrating the SPEAr13xx platform away from using auxdata for DMA channel descriptions towards using information in device tree, based on the earlier SPEAr multiplatform series - A few follow-ups on the Atmel SAMA5 support and other changes for Atmel at91 based on the larger at91 reworks. - Moving the armada irqchip implementation to drivers/irqchip - Several OMAP cleanups following up on the larger series already merged in 3.10." * tag 'cleanup-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (50 commits) ARM: OMAP4: change the device names in usb_bind_phy ARM: OMAP2+: Fix mismerge for timer.c between ff931c82 and da4a686a ARM: SPEAr: conditionalize SMP code ARM: arch_timer: Silence debug preempt warnings ARM: OMAP: remove unused variable serial: amba-pl011: fix !CONFIG_DMA_ENGINE case ata: arasan: remove the need for platform_data ARM: at91/sama5d34ek.dts: remove not needed compatibility string ARM: at91: dts: add MCI DMA support ARM: at91: dts: add i2c dma support ARM: at91: dts: set #dma-cells to the correct value ARM: at91: suspend both memory controllers on at91sam9263 irqchip: armada-370-xp: slightly cleanup irq controller driver irqchip: armada-370-xp: move IRQ handler to avoid forward declaration irqchip: move IRQ driver for Armada 370/XP ARM: mvebu: move L2 cache initialization in init_early() devtree: add binding documentation for sp804 ARM: integrator-cp: convert use CLKSRC_OF for timer init ARM: versatile: use OF init for sp804 timer ARM: versatile: add versatile dtbs to dtbs target ...
Diffstat (limited to 'arch/arm/mach-highbank')
-rw-r--r--arch/arm/mach-highbank/highbank.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c
index 76c1170b3528..e7df2dd43a40 100644
--- a/arch/arm/mach-highbank/highbank.c
+++ b/arch/arm/mach-highbank/highbank.c
@@ -15,6 +15,7 @@
15 */ 15 */
16#include <linux/clk.h> 16#include <linux/clk.h>
17#include <linux/clkdev.h> 17#include <linux/clkdev.h>
18#include <linux/clocksource.h>
18#include <linux/dma-mapping.h> 19#include <linux/dma-mapping.h>
19#include <linux/io.h> 20#include <linux/io.h>
20#include <linux/irq.h> 21#include <linux/irq.h>
@@ -28,12 +29,9 @@
28#include <linux/amba/bus.h> 29#include <linux/amba/bus.h>
29#include <linux/clk-provider.h> 30#include <linux/clk-provider.h>
30 31
31#include <asm/arch_timer.h>
32#include <asm/cacheflush.h> 32#include <asm/cacheflush.h>
33#include <asm/cputype.h> 33#include <asm/cputype.h>
34#include <asm/smp_plat.h> 34#include <asm/smp_plat.h>
35#include <asm/hardware/arm_timer.h>
36#include <asm/hardware/timer-sp.h>
37#include <asm/hardware/cache-l2x0.h> 35#include <asm/hardware/cache-l2x0.h>
38#include <asm/mach/arch.h> 36#include <asm/mach/arch.h>
39#include <asm/mach/map.h> 37#include <asm/mach/map.h>
@@ -90,36 +88,16 @@ static void __init highbank_init_irq(void)
90#endif 88#endif
91} 89}
92 90
93static struct clk_lookup lookup = {
94 .dev_id = "sp804",
95 .con_id = NULL,
96};
97
98static void __init highbank_timer_init(void) 91static void __init highbank_timer_init(void)
99{ 92{
100 int irq;
101 struct device_node *np; 93 struct device_node *np;
102 void __iomem *timer_base;
103 94
104 /* Map system registers */ 95 /* Map system registers */
105 np = of_find_compatible_node(NULL, NULL, "calxeda,hb-sregs"); 96 np = of_find_compatible_node(NULL, NULL, "calxeda,hb-sregs");
106 sregs_base = of_iomap(np, 0); 97 sregs_base = of_iomap(np, 0);
107 WARN_ON(!sregs_base); 98 WARN_ON(!sregs_base);
108 99
109 np = of_find_compatible_node(NULL, NULL, "arm,sp804");
110 timer_base = of_iomap(np, 0);
111 WARN_ON(!timer_base);
112 irq = irq_of_parse_and_map(np, 0);
113
114 of_clk_init(NULL); 100 of_clk_init(NULL);
115 lookup.clk = of_clk_get(np, 0);
116 clkdev_add(&lookup);
117
118 sp804_clocksource_and_sched_clock_init(timer_base + 0x20, "timer1");
119 sp804_clockevents_init(timer_base, irq, "timer0");
120
121 arch_timer_of_register();
122 arch_timer_sched_clock_init();
123 101
124 clocksource_of_init(); 102 clocksource_of_init();
125} 103}