diff options
Diffstat (limited to 'include/linux/sh_clk.h')
| -rw-r--r-- | include/linux/sh_clk.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/include/linux/sh_clk.h b/include/linux/sh_clk.h index 1636d1e2a5f1..875ce50719a9 100644 --- a/include/linux/sh_clk.h +++ b/include/linux/sh_clk.h | |||
| @@ -25,6 +25,10 @@ struct clk { | |||
| 25 | int id; | 25 | int id; |
| 26 | 26 | ||
| 27 | struct clk *parent; | 27 | struct clk *parent; |
| 28 | struct clk **parent_table; /* list of parents to */ | ||
| 29 | unsigned short parent_num; /* choose between */ | ||
| 30 | unsigned char src_shift; /* source clock field in the */ | ||
| 31 | unsigned char src_width; /* configuration register */ | ||
| 28 | struct clk_ops *ops; | 32 | struct clk_ops *ops; |
| 29 | 33 | ||
| 30 | struct list_head children; | 34 | struct list_head children; |
| @@ -138,13 +142,22 @@ int sh_clk_div4_enable_register(struct clk *clks, int nr, | |||
| 138 | int sh_clk_div4_reparent_register(struct clk *clks, int nr, | 142 | int sh_clk_div4_reparent_register(struct clk *clks, int nr, |
| 139 | struct clk_div4_table *table); | 143 | struct clk_div4_table *table); |
| 140 | 144 | ||
| 141 | #define SH_CLK_DIV6(_parent, _reg, _flags) \ | 145 | #define SH_CLK_DIV6_EXT(_parent, _reg, _flags, _parents, \ |
| 142 | { \ | 146 | _num_parents, _src_shift, _src_width) \ |
| 143 | .parent = _parent, \ | 147 | { \ |
| 144 | .enable_reg = (void __iomem *)_reg, \ | 148 | .parent = _parent, \ |
| 145 | .flags = _flags, \ | 149 | .enable_reg = (void __iomem *)_reg, \ |
| 150 | .flags = _flags, \ | ||
| 151 | .parent_table = _parents, \ | ||
| 152 | .parent_num = _num_parents, \ | ||
| 153 | .src_shift = _src_shift, \ | ||
| 154 | .src_width = _src_width, \ | ||
| 146 | } | 155 | } |
| 147 | 156 | ||
| 157 | #define SH_CLK_DIV6(_parent, _reg, _flags) \ | ||
| 158 | SH_CLK_DIV6_EXT(_parent, _reg, _flags, NULL, 0, 0, 0) | ||
| 159 | |||
| 148 | int sh_clk_div6_register(struct clk *clks, int nr); | 160 | int sh_clk_div6_register(struct clk *clks, int nr); |
| 161 | int sh_clk_div6_reparent_register(struct clk *clks, int nr); | ||
| 149 | 162 | ||
| 150 | #endif /* __SH_CLOCK_H */ | 163 | #endif /* __SH_CLOCK_H */ |
