diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-11-08 20:08:08 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-11-27 12:38:22 +0000 |
commit | d72fbdf01fc77628c0b837d0dd2fd564fa26ede6 (patch) | |
tree | 5ea1ba4f2771cfaf454621f8a2f6bdd616aa8e88 /arch/arm/mach-integrator/include/mach | |
parent | cf30fb4a4f2d261a6527a654a7fdc8636f1e5b16 (diff) | |
download | blackbird-op-linux-d72fbdf01fc77628c0b837d0dd2fd564fa26ede6.tar.gz blackbird-op-linux-d72fbdf01fc77628c0b837d0dd2fd564fa26ede6.zip |
[ARM] integrator: convert to clkdev and lookup clocks by device name
People often point to the Integrator/Versatile/Realview
implementations to justify using the consumer name as the sole
selector for clocks.
Eliminate this excuse by changing the Integrator implementation, so
it provides a better example of how it should be done.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-integrator/include/mach')
-rw-r--r-- | arch/arm/mach-integrator/include/mach/clkdev.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-integrator/include/mach/clkdev.h b/arch/arm/mach-integrator/include/mach/clkdev.h new file mode 100644 index 000000000000..9293e410832a --- /dev/null +++ b/arch/arm/mach-integrator/include/mach/clkdev.h @@ -0,0 +1,25 @@ +#ifndef __ASM_MACH_CLKDEV_H +#define __ASM_MACH_CLKDEV_H + +#include <linux/module.h> +#include <asm/hardware/icst525.h> + +struct clk { + unsigned long rate; + struct module *owner; + const struct icst525_params *params; + void *data; + void (*setvco)(struct clk *, struct icst525_vco vco); +}; + +static inline int __clk_get(struct clk *clk) +{ + return try_module_get(clk->owner); +} + +static inline void __clk_put(struct clk *clk) +{ + module_put(clk->owner); +} + +#endif |