Fix serial broken-ness on PXA250
[deliverable/linux.git] / arch / arm / mach-pxa / clock.h
CommitLineData
a6dba20c
RK
1struct clk;
2
3struct clkops {
4 void (*enable)(struct clk *);
5 void (*disable)(struct clk *);
6 unsigned long (*getrate)(struct clk *);
7};
8
9struct clk {
10 struct list_head node;
11 const char *name;
12 struct device *dev;
13 const struct clkops *ops;
14 unsigned long rate;
15 unsigned int cken;
16 unsigned int delay;
17 unsigned int enabled;
bdb08cb2 18 struct clk *other;
a6dba20c
RK
19};
20
21#define INIT_CKEN(_name, _cken, _rate, _delay, _dev) \
22 { \
23 .name = _name, \
24 .dev = _dev, \
25 .ops = &clk_cken_ops, \
26 .rate = _rate, \
27 .cken = CKEN_##_cken, \
28 .delay = _delay, \
29 }
30
31#define INIT_CK(_name, _cken, _ops, _dev) \
32 { \
33 .name = _name, \
34 .dev = _dev, \
35 .ops = _ops, \
36 .cken = CKEN_##_cken, \
37 }
38
bdb08cb2
RK
39/*
40 * This is a placeholder to alias one clock device+name pair
41 * to another struct clk.
42 */
43#define INIT_CKOTHER(_name, _other, _dev) \
44 { \
45 .name = _name, \
46 .dev = _dev, \
47 .other = _other, \
48 }
49
a6dba20c
RK
50extern const struct clkops clk_cken_ops;
51
52void clk_cken_enable(struct clk *clk);
53void clk_cken_disable(struct clk *clk);
54
55void clks_register(struct clk *clks, size_t num);
This page took 0.097925 seconds and 5 git commands to generate.