diff options
| -rw-r--r-- | arch/arm/mach-omap2/clock.c | 2 | ||||
| -rw-r--r-- | include/linux/clk/ti.h | 16 |
2 files changed, 13 insertions, 5 deletions
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index 94a4949be9b0..d6afc1291fe9 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
| @@ -120,6 +120,8 @@ u32 omap2_clk_readl(struct clk_hw_omap *clk, void __iomem *reg) | |||
| 120 | static struct ti_clk_ll_ops omap_clk_ll_ops = { | 120 | static struct ti_clk_ll_ops omap_clk_ll_ops = { |
| 121 | .clk_readl = clk_memmap_readl, | 121 | .clk_readl = clk_memmap_readl, |
| 122 | .clk_writel = clk_memmap_writel, | 122 | .clk_writel = clk_memmap_writel, |
| 123 | .clkdm_clk_enable = clkdm_clk_enable, | ||
| 124 | .clkdm_clk_disable = clkdm_clk_disable, | ||
| 123 | }; | 125 | }; |
| 124 | 126 | ||
| 125 | /** | 127 | /** |
diff --git a/include/linux/clk/ti.h b/include/linux/clk/ti.h index 61deace552ec..fcf91844e94b 100644 --- a/include/linux/clk/ti.h +++ b/include/linux/clk/ti.h | |||
| @@ -238,18 +238,24 @@ struct clk_omap_reg { | |||
| 238 | }; | 238 | }; |
| 239 | 239 | ||
| 240 | /** | 240 | /** |
| 241 | * struct ti_clk_ll_ops - low-level register access ops for a clock | 241 | * struct ti_clk_ll_ops - low-level ops for clocks |
| 242 | * @clk_readl: pointer to register read function | 242 | * @clk_readl: pointer to register read function |
| 243 | * @clk_writel: pointer to register write function | 243 | * @clk_writel: pointer to register write function |
| 244 | * @clkdm_clk_enable: pointer to clockdomain enable function | ||
| 245 | * @clkdm_clk_disable: pointer to clockdomain disable function | ||
| 244 | * | 246 | * |
| 245 | * Low-level register access ops are generally used by the basic clock types | 247 | * Low-level ops are generally used by the basic clock types (clk-gate, |
| 246 | * (clk-gate, clk-mux, clk-divider etc.) to provide support for various | 248 | * clk-mux, clk-divider etc.) to provide support for various low-level |
| 247 | * low-level hardware interfaces (direct MMIO, regmap etc.), but can also be | 249 | * hadrware interfaces (direct MMIO, regmap etc.), and is initialized |
| 248 | * used by other hardware-specific clock drivers if needed. | 250 | * by board code. Low-level ops also contain some other platform specific |
| 251 | * operations not provided directly by clock drivers. | ||
| 249 | */ | 252 | */ |
| 250 | struct ti_clk_ll_ops { | 253 | struct ti_clk_ll_ops { |
| 251 | u32 (*clk_readl)(void __iomem *reg); | 254 | u32 (*clk_readl)(void __iomem *reg); |
| 252 | void (*clk_writel)(u32 val, void __iomem *reg); | 255 | void (*clk_writel)(u32 val, void __iomem *reg); |
| 256 | int (*clkdm_clk_enable)(struct clockdomain *clkdm, struct clk *clk); | ||
| 257 | int (*clkdm_clk_disable)(struct clockdomain *clkdm, | ||
| 258 | struct clk *clk); | ||
| 253 | }; | 259 | }; |
| 254 | 260 | ||
| 255 | extern struct ti_clk_ll_ops *ti_clk_ll_ops; | 261 | extern struct ti_clk_ll_ops *ti_clk_ll_ops; |
