#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 | |