123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #include <linux/clkdev.h>
- #include <linux/syscore_ops.h>
- struct clkops {
- void (*enable)(struct clk *);
- void (*disable)(struct clk *);
- unsigned long (*getrate)(struct clk *);
- int (*setrate)(struct clk *, unsigned long);
- };
- struct clk {
- const struct clkops *ops;
- unsigned long rate;
- unsigned int cken;
- unsigned int delay;
- unsigned int enabled;
- };
- void clk_dummy_enable(struct clk *);
- void clk_dummy_disable(struct clk *);
- extern const struct clkops clk_dummy_ops;
- extern struct clk clk_dummy;
- #define INIT_CLKREG(_clk,_devname,_conname) \
- { \
- .clk = _clk, \
- .dev_id = _devname, \
- .con_id = _conname, \
- }
- #define DEFINE_CK(_name, _cken, _ops) \
- struct clk clk_##_name = { \
- .ops = _ops, \
- .cken = CKEN_##_cken, \
- }
- #define DEFINE_CLK(_name, _ops, _rate, _delay) \
- struct clk clk_##_name = { \
- .ops = _ops, \
- .rate = _rate, \
- .delay = _delay, \
- }
- #define DEFINE_PXA2_CKEN(_name, _cken, _rate, _delay) \
- struct clk clk_##_name = { \
- .ops = &clk_pxa2xx_cken_ops, \
- .rate = _rate, \
- .cken = CKEN_##_cken, \
- .delay = _delay, \
- }
- extern const struct clkops clk_pxa2xx_cken_ops;
- void clk_pxa2xx_cken_enable(struct clk *clk);
- void clk_pxa2xx_cken_disable(struct clk *clk);
- extern struct syscore_ops pxa2xx_clock_syscore_ops;
- #if defined(CONFIG_PXA3xx) || defined(CONFIG_PXA95x)
- #define DEFINE_PXA3_CKEN(_name, _cken, _rate, _delay) \
- struct clk clk_##_name = { \
- .ops = &clk_pxa3xx_cken_ops, \
- .rate = _rate, \
- .cken = CKEN_##_cken, \
- .delay = _delay, \
- }
- extern const struct clkops clk_pxa3xx_cken_ops;
- extern const struct clkops clk_pxa3xx_hsio_ops;
- extern const struct clkops clk_pxa3xx_ac97_ops;
- extern const struct clkops clk_pxa3xx_pout_ops;
- extern const struct clkops clk_pxa3xx_smemc_ops;
- extern void clk_pxa3xx_cken_enable(struct clk *);
- extern void clk_pxa3xx_cken_disable(struct clk *);
- extern struct syscore_ops pxa3xx_clock_syscore_ops;
- #endif
|