#ifndef __MACH_COMMON_CLKDEV_H #define __MACH_COMMON_CLKDEV_H #include <linux/clk.h> struct clk_ops { unsigned long (*get_rate)(struct clk *clk); unsigned long (*round_rate)(struct clk *clk, unsigned long rate); int (*set_rate)(struct clk *clk, unsigned long rate); int (*enable)(struct clk *clk); int (*disable)(struct clk *clk); }; struct clk { const char *name; unsigned long rate; spinlock_t lock; u32 flags; const struct clk_ops *ops; const struct params *params; void __iomem *reg; u32 mask; u32 shift; }; #endif |