diff options
author | Rabin Vincent <rabin.vincent@stericsson.com> | 2010-05-06 10:47:25 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-06 20:17:20 +0100 |
commit | dc6048c7f97beaf8c5bb97ed772f43330d04727a (patch) | |
tree | 8a76888f2316ffd18099b132224799b571f77d9b /arch/arm/mach-nomadik/clock.c | |
parent | 2210d6453b4d888c122b2b1c236f50b0a2d30bfa (diff) | |
download | blackbird-op-linux-dc6048c7f97beaf8c5bb97ed772f43330d04727a.tar.gz blackbird-op-linux-dc6048c7f97beaf8c5bb97ed772f43330d04727a.zip |
ARM: 6103/1: nomadik: define clocks statically
Add a table for clocks to be defined statically, so that new clocks can
be added without having to call nmdk_clk_create() for each of them.
Remove the now unused nmdk_clk_create() function.
Acked-by: Alessandro Rubini <rubini@unipv.it>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-nomadik/clock.c')
-rw-r--r-- | arch/arm/mach-nomadik/clock.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/arch/arm/mach-nomadik/clock.c b/arch/arm/mach-nomadik/clock.c index 9f92502a0083..7af785017782 100644 --- a/arch/arm/mach-nomadik/clock.c +++ b/arch/arm/mach-nomadik/clock.c @@ -32,14 +32,26 @@ void clk_disable(struct clk *clk) } EXPORT_SYMBOL(clk_disable); -/* Create a clock structure with the given name */ -int nmdk_clk_create(struct clk *clk, const char *dev_id) -{ - struct clk_lookup *clkdev; +/* We have a fixed clock alone, for now */ +static struct clk clk_48 = { + .rate = 48 * 1000 * 1000, +}; + +#define CLK(_clk, dev) \ + { \ + .clk = _clk, \ + .dev_id = dev, \ + } + +static struct clk_lookup lookups[] = { + CLK(&clk_48, "uart0"), + CLK(&clk_48, "uart1"), +}; - clkdev = clkdev_alloc(clk, NULL, dev_id); - if (!clkdev) - return -ENOMEM; - clkdev_add(clkdev); +static int __init clk_init(void) +{ + clkdev_add_table(lookups, ARRAY_SIZE(lookups)); return 0; } + +arch_initcall(clk_init); |