summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-spear/generic.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-12-02 17:59:57 +0100
committerArnd Bergmann <arnd@arndb.de>2013-03-12 17:39:58 +0100
commitd9909ebe650f028459b9be5a2321fee520b446b0 (patch)
tree09736f1e19ed89396841a2654e4d8b901ac73334 /arch/arm/mach-spear/generic.h
parentARM: spear: move generic.h and pl080.h into private dir (diff)
downloadlinux-d9909ebe650f028459b9be5a2321fee520b446b0.tar.xz
linux-d9909ebe650f028459b9be5a2321fee520b446b0.zip
ARM: spear: make clock driver independent of headers
Device drivers should not access MMIO registers through hardcoded platform specific address constants. Instead, we can pass the MMIO token to the spear clock driver in the initialization routine to contain that knowledge in the platform code itself. Ideally, the clock driver would use of_iomap() or similar to get the address, and that can be used later, but for now, this is the minimal change. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'arch/arm/mach-spear/generic.h')
-rw-r--r--arch/arm/mach-spear/generic.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/arm/mach-spear/generic.h b/arch/arm/mach-spear/generic.h
index af47d9b0d83d..8ba7e75b648d 100644
--- a/arch/arm/mach-spear/generic.h
+++ b/arch/arm/mach-spear/generic.h
@@ -29,10 +29,11 @@ extern struct dw_dma_slave nand_write_dma_priv;
bool dw_dma_filter(struct dma_chan *chan, void *slave);
void __init spear_setup_of_timer(void);
-void __init spear3xx_clk_init(void);
+void __init spear3xx_clk_init(void __iomem *misc_base,
+ void __iomem *soc_config_base);
void __init spear3xx_map_io(void);
void __init spear3xx_dt_init_irq(void);
-void __init spear6xx_clk_init(void);
+void __init spear6xx_clk_init(void __iomem *misc_base);
void __init spear13xx_map_io(void);
void __init spear13xx_l2x0_init(void);
@@ -44,15 +45,15 @@ void __cpuinit spear13xx_cpu_die(unsigned int cpu);
extern struct smp_operations spear13xx_smp_ops;
#ifdef CONFIG_MACH_SPEAR1310
-void __init spear1310_clk_init(void);
+void __init spear1310_clk_init(void __iomem *misc_base, void __iomem *ras_base);
#else
-static inline void spear1310_clk_init(void) {}
+static inline void spear1310_clk_init(void __iomem *misc_base, void __iomem *ras_base) {}
#endif
#ifdef CONFIG_MACH_SPEAR1340
-void __init spear1340_clk_init(void);
+void __init spear1340_clk_init(void __iomem *misc_base);
#else
-static inline void spear1340_clk_init(void) {}
+static inline void spear1340_clk_init(void __iomem *misc_base) {}
#endif
#endif /* __MACH_GENERIC_H */