[PATCH 5/5] versatilek: switch to static allocation clkdev
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Mon Aug 8 17:17:16 EDT 2011
as we need to register it before the device
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
arch/arm/mach-versatile/core.c | 19 ++++++++++++++++---
arch/arm/mach-versatile/include/mach/clkdev.h | 6 ++++++
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
index 28582f7..f58e3bd 100644
--- a/arch/arm/mach-versatile/core.c
+++ b/arch/arm/mach-versatile/core.c
@@ -144,10 +144,24 @@ static int vpb_clocksource_init(void)
core_initcall(vpb_clocksource_init);
+static struct clk_lookup clocks_lookups[] = {
+ CLKDEV_CON_ID("uart-pl0110", &ref_clk_24),
+ CLKDEV_CON_ID("uart-pl0111", &ref_clk_24),
+ CLKDEV_CON_ID("uart-pl0112", &ref_clk_24),
+ CLKDEV_CON_ID("uart-pl0113", &ref_clk_24),
+};
+
+static int versatile_clkdev_init(void)
+{
+ clkdev_add_table(clocks_lookups, ARRAY_SIZE(clocks_lookups));
+
+ return 0;
+}
+postcore_initcall(versatile_clkdev_init);
+
void versatile_register_uart(unsigned id)
{
resource_size_t start;
- struct device_d *dev;
switch (id) {
case 0:
@@ -165,9 +179,8 @@ void versatile_register_uart(unsigned id)
default:
return;
}
- dev = add_generic_device("uart-pl011", id, NULL, start, 4096,
+ add_generic_device("uart-pl011", id, NULL, start, 4096,
IORESOURCE_MEM, NULL);
- vpb_clk_create(&ref_clk_24, dev_name(dev));
}
void __noreturn reset_cpu (unsigned long ignored)
diff --git a/arch/arm/mach-versatile/include/mach/clkdev.h b/arch/arm/mach-versatile/include/mach/clkdev.h
index 04b37a8..a9092a2 100644
--- a/arch/arm/mach-versatile/include/mach/clkdev.h
+++ b/arch/arm/mach-versatile/include/mach/clkdev.h
@@ -4,4 +4,10 @@
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do { } while (0)
+#define CLKDEV_CON_ID(_id, _clk) \
+ { \
+ .con_id = _id, \
+ .clk = _clk, \
+ }
+
#endif
--
1.7.5.4
More information about the barebox
mailing list