1#ifndef __MACH_COMMON_CLKDEV_H 2#define __MACH_COMMON_CLKDEV_H 3 4#include <linux/clk.h> 5 6struct clk_ops { 7 unsigned long (*get_rate)(struct clk *clk); 8 unsigned long (*round_rate)(struct clk *clk, unsigned long rate); 9 int (*set_rate)(struct clk *clk, unsigned long rate); 10 int (*enable)(struct clk *clk); 11 int (*disable)(struct clk *clk); 12}; 13 14struct clk { 15 const char *name; 16 unsigned long rate; 17 spinlock_t lock; 18 u32 flags; 19 const struct clk_ops *ops; 20 const struct params *params; 21 void __iomem *reg; 22 u32 mask; 23 u32 shift; 24}; 25 26#endif 27 28