aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-08-31 20:26:48 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-08-31 20:26:48 -0400
commitf36fc04e4cdda9e4c72ee504e7dc638f9a168863 (patch)
tree27ccf1037fba7b0deeb5bfdfb748bd9cc97c293d /include/linux
parent26f8b7edc9eab56638274f5db90848a6df602081 (diff)
parentba30011577330b7e29ecb5916d89c6db9fbc5b3d (diff)
Merge tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk updates from Michael Turquette: "The clk framework changes for 4.3 are mostly updates to existing drivers and the addition of new clock drivers. Stephen Boyd has also done a lot of subsystem-wide driver clean-ups (thanks!). There are also fixes to the framework core and changes to better split clock provider drivers from clock consumer drivers" * tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (227 commits) clk: s5pv210: add missing call to samsung_clk_of_add_provider() clk: pistachio: correct critical clock list clk: pistachio: Fix PLL rate calculation in integer mode clk: pistachio: Fix override of clk-pll settings from boot loader clk: pistachio: Fix 32bit integer overflows clk: tegra: Fix some static checker problems clk: qcom: Fix MSM8916 prng clock enable bit clk: Add missing header for 'bool' definition to clk-conf.h drivers/clk: appropriate __init annotation for const data clk: rockchip: register pll mux before pll itself clk: add bindings for the Ux500 clocks clk/ARM: move Ux500 PRCC bases to the device tree clk: remove duplicated code with __clk_set_parent_after clk: Convert __clk_get_name(hw->clk) to clk_hw_get_name(hw) clk: Constify clk_hw argument to provider APIs clk: Hi6220: add stub clock driver dt-bindings: clk: Hi6220: Document stub clock driver dt-bindings: arm: Hi6220: add doc for SRAM controller clk: atlas7: fix pll missed divide NR in fraction mode clk: atlas7: fix bit field and its root clk for coresight_tpiu ...
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/clk-provider.h89
-rw-r--r--include/linux/clk/clk-conf.h2
-rw-r--r--include/linux/clk/tegra.h3
-rw-r--r--include/linux/clk/ti.h157
-rw-r--r--include/linux/platform_data/clk-ux500.h12
5 files changed, 113 insertions, 150 deletions
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index 78842f46f152..3ecc07d0da77 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -11,7 +11,6 @@
11#ifndef __LINUX_CLK_PROVIDER_H 11#ifndef __LINUX_CLK_PROVIDER_H
12#define __LINUX_CLK_PROVIDER_H 12#define __LINUX_CLK_PROVIDER_H
13 13
14#include <linux/clk.h>
15#include <linux/io.h> 14#include <linux/io.h>
16#include <linux/of.h> 15#include <linux/of.h>
17 16
@@ -33,11 +32,34 @@
33#define CLK_GET_ACCURACY_NOCACHE BIT(8) /* do not use the cached clk accuracy */ 32#define CLK_GET_ACCURACY_NOCACHE BIT(8) /* do not use the cached clk accuracy */
34#define CLK_RECALC_NEW_RATES BIT(9) /* recalc rates after notifications */ 33#define CLK_RECALC_NEW_RATES BIT(9) /* recalc rates after notifications */
35 34
35struct clk;
36struct clk_hw; 36struct clk_hw;
37struct clk_core; 37struct clk_core;
38struct dentry; 38struct dentry;
39 39
40/** 40/**
41 * struct clk_rate_request - Structure encoding the clk constraints that
42 * a clock user might require.
43 *
44 * @rate: Requested clock rate. This field will be adjusted by
45 * clock drivers according to hardware capabilities.
46 * @min_rate: Minimum rate imposed by clk users.
47 * @max_rate: Maximum rate a imposed by clk users.
48 * @best_parent_rate: The best parent rate a parent can provide to fulfill the
49 * requested constraints.
50 * @best_parent_hw: The most appropriate parent clock that fulfills the
51 * requested constraints.
52 *
53 */
54struct clk_rate_request {
55 unsigned long rate;
56 unsigned long min_rate;
57 unsigned long max_rate;
58 unsigned long best_parent_rate;
59 struct clk_hw *best_parent_hw;
60};
61
62/**
41 * struct clk_ops - Callback operations for hardware clocks; these are to 63 * struct clk_ops - Callback operations for hardware clocks; these are to
42 * be provided by the clock implementation, and will be called by drivers 64 * be provided by the clock implementation, and will be called by drivers
43 * through the clk_* api. 65 * through the clk_* api.
@@ -176,12 +198,8 @@ struct clk_ops {
176 unsigned long parent_rate); 198 unsigned long parent_rate);
177 long (*round_rate)(struct clk_hw *hw, unsigned long rate, 199 long (*round_rate)(struct clk_hw *hw, unsigned long rate,
178 unsigned long *parent_rate); 200 unsigned long *parent_rate);
179 long (*determine_rate)(struct clk_hw *hw, 201 int (*determine_rate)(struct clk_hw *hw,
180 unsigned long rate, 202 struct clk_rate_request *req);
181 unsigned long min_rate,
182 unsigned long max_rate,
183 unsigned long *best_parent_rate,
184 struct clk_hw **best_parent_hw);
185 int (*set_parent)(struct clk_hw *hw, u8 index); 203 int (*set_parent)(struct clk_hw *hw, u8 index);
186 u8 (*get_parent)(struct clk_hw *hw); 204 u8 (*get_parent)(struct clk_hw *hw);
187 int (*set_rate)(struct clk_hw *hw, unsigned long rate, 205 int (*set_rate)(struct clk_hw *hw, unsigned long rate,
@@ -343,6 +361,9 @@ struct clk_div_table {
343 * to the closest integer instead of the up one. 361 * to the closest integer instead of the up one.
344 * CLK_DIVIDER_READ_ONLY - The divider settings are preconfigured and should 362 * CLK_DIVIDER_READ_ONLY - The divider settings are preconfigured and should
345 * not be changed by the clock framework. 363 * not be changed by the clock framework.
364 * CLK_DIVIDER_MAX_AT_ZERO - For dividers which are like CLK_DIVIDER_ONE_BASED
365 * except when the value read from the register is zero, the divisor is
366 * 2^width of the field.
346 */ 367 */
347struct clk_divider { 368struct clk_divider {
348 struct clk_hw hw; 369 struct clk_hw hw;
@@ -360,6 +381,7 @@ struct clk_divider {
360#define CLK_DIVIDER_HIWORD_MASK BIT(3) 381#define CLK_DIVIDER_HIWORD_MASK BIT(3)
361#define CLK_DIVIDER_ROUND_CLOSEST BIT(4) 382#define CLK_DIVIDER_ROUND_CLOSEST BIT(4)
362#define CLK_DIVIDER_READ_ONLY BIT(5) 383#define CLK_DIVIDER_READ_ONLY BIT(5)
384#define CLK_DIVIDER_MAX_AT_ZERO BIT(6)
363 385
364extern const struct clk_ops clk_divider_ops; 386extern const struct clk_ops clk_divider_ops;
365 387
@@ -550,6 +572,23 @@ struct clk *clk_register_gpio_gate(struct device *dev, const char *name,
550void of_gpio_clk_gate_setup(struct device_node *node); 572void of_gpio_clk_gate_setup(struct device_node *node);
551 573
552/** 574/**
575 * struct clk_gpio_mux - gpio controlled clock multiplexer
576 *
577 * @hw: see struct clk_gpio
578 * @gpiod: gpio descriptor to select the parent of this clock multiplexer
579 *
580 * Clock with a gpio control for selecting the parent clock.
581 * Implements .get_parent, .set_parent and .determine_rate
582 */
583
584extern const struct clk_ops clk_gpio_mux_ops;
585struct clk *clk_register_gpio_mux(struct device *dev, const char *name,
586 const char * const *parent_names, u8 num_parents, unsigned gpio,
587 bool active_low, unsigned long flags);
588
589void of_gpio_mux_clk_setup(struct device_node *node);
590
591/**
553 * clk_register - allocate a new clock, register it and return an opaque cookie 592 * clk_register - allocate a new clock, register it and return an opaque cookie
554 * @dev: device that is registering this clock 593 * @dev: device that is registering this clock
555 * @hw: link to hardware-specific clock data 594 * @hw: link to hardware-specific clock data
@@ -568,31 +607,27 @@ void devm_clk_unregister(struct device *dev, struct clk *clk);
568 607
569/* helper functions */ 608/* helper functions */
570const char *__clk_get_name(struct clk *clk); 609const char *__clk_get_name(struct clk *clk);
610const char *clk_hw_get_name(const struct clk_hw *hw);
571struct clk_hw *__clk_get_hw(struct clk *clk); 611struct clk_hw *__clk_get_hw(struct clk *clk);
572u8 __clk_get_num_parents(struct clk *clk); 612unsigned int clk_hw_get_num_parents(const struct clk_hw *hw);
573struct clk *__clk_get_parent(struct clk *clk); 613struct clk_hw *clk_hw_get_parent(const struct clk_hw *hw);
574struct clk *clk_get_parent_by_index(struct clk *clk, u8 index); 614struct clk_hw *clk_hw_get_parent_by_index(const struct clk_hw *hw,
615 unsigned int index);
575unsigned int __clk_get_enable_count(struct clk *clk); 616unsigned int __clk_get_enable_count(struct clk *clk);
576unsigned long __clk_get_rate(struct clk *clk); 617unsigned long clk_hw_get_rate(const struct clk_hw *hw);
577unsigned long __clk_get_flags(struct clk *clk); 618unsigned long __clk_get_flags(struct clk *clk);
578bool __clk_is_prepared(struct clk *clk); 619unsigned long clk_hw_get_flags(const struct clk_hw *hw);
620bool clk_hw_is_prepared(const struct clk_hw *hw);
579bool __clk_is_enabled(struct clk *clk); 621bool __clk_is_enabled(struct clk *clk);
580struct clk *__clk_lookup(const char *name); 622struct clk *__clk_lookup(const char *name);
581long __clk_mux_determine_rate(struct clk_hw *hw, unsigned long rate, 623int __clk_mux_determine_rate(struct clk_hw *hw,
582 unsigned long min_rate, 624 struct clk_rate_request *req);
583 unsigned long max_rate, 625int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req);
584 unsigned long *best_parent_rate, 626int __clk_mux_determine_rate_closest(struct clk_hw *hw,
585 struct clk_hw **best_parent_p); 627 struct clk_rate_request *req);
586unsigned long __clk_determine_rate(struct clk_hw *core,
587 unsigned long rate,
588 unsigned long min_rate,
589 unsigned long max_rate);
590long __clk_mux_determine_rate_closest(struct clk_hw *hw, unsigned long rate,
591 unsigned long min_rate,
592 unsigned long max_rate,
593 unsigned long *best_parent_rate,
594 struct clk_hw **best_parent_p);
595void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent); 628void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent);
629void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate,
630 unsigned long max_rate);
596 631
597static inline void __clk_hw_set_clk(struct clk_hw *dst, struct clk_hw *src) 632static inline void __clk_hw_set_clk(struct clk_hw *dst, struct clk_hw *src)
598{ 633{
@@ -603,7 +638,7 @@ static inline void __clk_hw_set_clk(struct clk_hw *dst, struct clk_hw *src)
603/* 638/*
604 * FIXME clock api without lock protection 639 * FIXME clock api without lock protection
605 */ 640 */
606unsigned long __clk_round_rate(struct clk *clk, unsigned long rate); 641unsigned long clk_hw_round_rate(struct clk_hw *hw, unsigned long rate);
607 642
608struct of_device_id; 643struct of_device_id;
609 644
diff --git a/include/linux/clk/clk-conf.h b/include/linux/clk/clk-conf.h
index f3050e15f833..e0c362363c38 100644
--- a/include/linux/clk/clk-conf.h
+++ b/include/linux/clk/clk-conf.h
@@ -7,6 +7,8 @@
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 */ 8 */
9 9
10#include <linux/types.h>
11
10struct device_node; 12struct device_node;
11 13
12#if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK) 14#if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK)
diff --git a/include/linux/clk/tegra.h b/include/linux/clk/tegra.h
index 19c4208f4752..57bf7aab4516 100644
--- a/include/linux/clk/tegra.h
+++ b/include/linux/clk/tegra.h
@@ -17,7 +17,8 @@
17#ifndef __LINUX_CLK_TEGRA_H_ 17#ifndef __LINUX_CLK_TEGRA_H_
18#define __LINUX_CLK_TEGRA_H_ 18#define __LINUX_CLK_TEGRA_H_
19 19
20#include <linux/clk.h> 20#include <linux/types.h>
21#include <linux/bug.h>
21 22
22/* 23/*
23 * Tegra CPU clock and reset control ops 24 * Tegra CPU clock and reset control ops
diff --git a/include/linux/clk/ti.h b/include/linux/clk/ti.h
index 79b76e13d904..9299222d680d 100644
--- a/include/linux/clk/ti.h
+++ b/include/linux/clk/ti.h
@@ -188,33 +188,6 @@ struct clk_hw_omap {
188/* DPLL Type and DCO Selection Flags */ 188/* DPLL Type and DCO Selection Flags */
189#define DPLL_J_TYPE 0x1 189#define DPLL_J_TYPE 0x1
190 190
191/* Composite clock component types */
192enum {
193 CLK_COMPONENT_TYPE_GATE = 0,
194 CLK_COMPONENT_TYPE_DIVIDER,
195 CLK_COMPONENT_TYPE_MUX,
196 CLK_COMPONENT_TYPE_MAX,
197};
198
199/**
200 * struct ti_dt_clk - OMAP DT clock alias declarations
201 * @lk: clock lookup definition
202 * @node_name: clock DT node to map to
203 */
204struct ti_dt_clk {
205 struct clk_lookup lk;
206 char *node_name;
207};
208
209#define DT_CLK(dev, con, name) \
210 { \
211 .lk = { \
212 .dev_id = dev, \
213 .con_id = con, \
214 }, \
215 .node_name = name, \
216 }
217
218/* Static memmap indices */ 191/* Static memmap indices */
219enum { 192enum {
220 TI_CLKM_CM = 0, 193 TI_CLKM_CM = 0,
@@ -225,8 +198,6 @@ enum {
225 CLK_MAX_MEMMAPS 198 CLK_MAX_MEMMAPS
226}; 199};
227 200
228typedef void (*ti_of_clk_init_cb_t)(struct clk_hw *, struct device_node *);
229
230/** 201/**
231 * struct clk_omap_reg - OMAP register declaration 202 * struct clk_omap_reg - OMAP register declaration
232 * @offset: offset from the master IP module base address 203 * @offset: offset from the master IP module base address
@@ -238,93 +209,56 @@ struct clk_omap_reg {
238}; 209};
239 210
240/** 211/**
241 * struct ti_clk_ll_ops - low-level register access ops for a clock 212 * struct ti_clk_ll_ops - low-level ops for clocks
242 * @clk_readl: pointer to register read function 213 * @clk_readl: pointer to register read function
243 * @clk_writel: pointer to register write function 214 * @clk_writel: pointer to register write function
215 * @clkdm_clk_enable: pointer to clockdomain enable function
216 * @clkdm_clk_disable: pointer to clockdomain disable function
217 * @cm_wait_module_ready: pointer to CM module wait ready function
218 * @cm_split_idlest_reg: pointer to CM module function to split idlest reg
244 * 219 *
245 * Low-level register access ops are generally used by the basic clock types 220 * 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 221 * 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 222 * hadrware interfaces (direct MMIO, regmap etc.), and is initialized
248 * used by other hardware-specific clock drivers if needed. 223 * by board code. Low-level ops also contain some other platform specific
224 * operations not provided directly by clock drivers.
249 */ 225 */
250struct ti_clk_ll_ops { 226struct ti_clk_ll_ops {
251 u32 (*clk_readl)(void __iomem *reg); 227 u32 (*clk_readl)(void __iomem *reg);
252 void (*clk_writel)(u32 val, void __iomem *reg); 228 void (*clk_writel)(u32 val, void __iomem *reg);
229 int (*clkdm_clk_enable)(struct clockdomain *clkdm, struct clk *clk);
230 int (*clkdm_clk_disable)(struct clockdomain *clkdm,
231 struct clk *clk);
232 int (*cm_wait_module_ready)(u8 part, s16 prcm_mod, u16 idlest_reg,
233 u8 idlest_shift);
234 int (*cm_split_idlest_reg)(void __iomem *idlest_reg, s16 *prcm_inst,
235 u8 *idlest_reg_id);
253}; 236};
254 237
255extern struct ti_clk_ll_ops *ti_clk_ll_ops;
256
257extern const struct clk_ops ti_clk_divider_ops;
258extern const struct clk_ops ti_clk_mux_ops;
259
260#define to_clk_hw_omap(_hw) container_of(_hw, struct clk_hw_omap, hw) 238#define to_clk_hw_omap(_hw) container_of(_hw, struct clk_hw_omap, hw)
261 239
262void omap2_init_clk_hw_omap_clocks(struct clk *clk);
263int omap3_noncore_dpll_enable(struct clk_hw *hw);
264void omap3_noncore_dpll_disable(struct clk_hw *hw);
265int omap3_noncore_dpll_set_parent(struct clk_hw *hw, u8 index);
266int omap3_noncore_dpll_set_rate(struct clk_hw *hw, unsigned long rate,
267 unsigned long parent_rate);
268int omap3_noncore_dpll_set_rate_and_parent(struct clk_hw *hw,
269 unsigned long rate,
270 unsigned long parent_rate,
271 u8 index);
272long omap3_noncore_dpll_determine_rate(struct clk_hw *hw,
273 unsigned long rate,
274 unsigned long min_rate,
275 unsigned long max_rate,
276 unsigned long *best_parent_rate,
277 struct clk_hw **best_parent_clk);
278unsigned long omap4_dpll_regm4xen_recalc(struct clk_hw *hw,
279 unsigned long parent_rate);
280long omap4_dpll_regm4xen_round_rate(struct clk_hw *hw,
281 unsigned long target_rate,
282 unsigned long *parent_rate);
283long omap4_dpll_regm4xen_determine_rate(struct clk_hw *hw,
284 unsigned long rate,
285 unsigned long min_rate,
286 unsigned long max_rate,
287 unsigned long *best_parent_rate,
288 struct clk_hw **best_parent_clk);
289u8 omap2_init_dpll_parent(struct clk_hw *hw);
290unsigned long omap3_dpll_recalc(struct clk_hw *hw, unsigned long parent_rate);
291long omap2_dpll_round_rate(struct clk_hw *hw, unsigned long target_rate,
292 unsigned long *parent_rate);
293void omap2_init_clk_clkdm(struct clk_hw *clk); 240void omap2_init_clk_clkdm(struct clk_hw *clk);
294unsigned long omap3_clkoutx2_recalc(struct clk_hw *hw,
295 unsigned long parent_rate);
296int omap3_clkoutx2_set_rate(struct clk_hw *hw, unsigned long rate,
297 unsigned long parent_rate);
298long omap3_clkoutx2_round_rate(struct clk_hw *hw, unsigned long rate,
299 unsigned long *prate);
300int omap2_clkops_enable_clkdm(struct clk_hw *hw);
301void omap2_clkops_disable_clkdm(struct clk_hw *hw);
302int omap2_clk_disable_autoidle_all(void); 241int omap2_clk_disable_autoidle_all(void);
303void omap2_clk_enable_init_clocks(const char **clk_names, u8 num_clocks); 242int omap2_clk_enable_autoidle_all(void);
304int omap3_dpll4_set_rate(struct clk_hw *clk, unsigned long rate, 243int omap2_clk_allow_idle(struct clk *clk);
305 unsigned long parent_rate); 244int omap2_clk_deny_idle(struct clk *clk);
306int omap3_dpll4_set_rate_and_parent(struct clk_hw *hw, unsigned long rate,
307 unsigned long parent_rate, u8 index);
308int omap2_dflt_clk_enable(struct clk_hw *hw);
309void omap2_dflt_clk_disable(struct clk_hw *hw);
310int omap2_dflt_clk_is_enabled(struct clk_hw *hw);
311void omap3_clk_lock_dpll5(void);
312unsigned long omap2_dpllcore_recalc(struct clk_hw *hw, 245unsigned long omap2_dpllcore_recalc(struct clk_hw *hw,
313 unsigned long parent_rate); 246 unsigned long parent_rate);
314int omap2_reprogram_dpllcore(struct clk_hw *clk, unsigned long rate, 247int omap2_reprogram_dpllcore(struct clk_hw *clk, unsigned long rate,
315 unsigned long parent_rate); 248 unsigned long parent_rate);
316void omap2xxx_clkt_dpllcore_init(struct clk_hw *hw); 249void omap2xxx_clkt_dpllcore_init(struct clk_hw *hw);
317void omap2xxx_clkt_vps_init(void); 250void omap2xxx_clkt_vps_init(void);
251unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk);
318 252
319void __iomem *ti_clk_get_reg_addr(struct device_node *node, int index);
320void ti_dt_clocks_register(struct ti_dt_clk *oclks);
321void ti_dt_clk_init_provider(struct device_node *np, int index);
322void ti_dt_clk_init_retry_clks(void); 253void ti_dt_clk_init_retry_clks(void);
323void ti_dt_clockdomains_setup(void); 254void ti_dt_clockdomains_setup(void);
324int ti_clk_retry_init(struct device_node *node, struct clk_hw *hw, 255int ti_clk_setup_ll_ops(struct ti_clk_ll_ops *ops);
325 ti_of_clk_init_cb_t func); 256
326int of_ti_clk_autoidle_setup(struct device_node *node); 257struct regmap;
327int ti_clk_add_component(struct device_node *node, struct clk_hw *hw, int type); 258
259int omap2_clk_provider_init(struct device_node *parent, int index,
260 struct regmap *syscon, void __iomem *mem);
261void omap2_clk_legacy_provider_init(int index, void __iomem *mem);
328 262
329int omap3430_dt_clk_init(void); 263int omap3430_dt_clk_init(void);
330int omap3630_dt_clk_init(void); 264int omap3630_dt_clk_init(void);
@@ -338,27 +272,24 @@ int am43xx_dt_clk_init(void);
338int omap2420_dt_clk_init(void); 272int omap2420_dt_clk_init(void);
339int omap2430_dt_clk_init(void); 273int omap2430_dt_clk_init(void);
340 274
341#ifdef CONFIG_OF 275struct ti_clk_features {
342void of_ti_clk_allow_autoidle_all(void); 276 u32 flags;
343void of_ti_clk_deny_autoidle_all(void); 277 long fint_min;
344#else 278 long fint_max;
345static inline void of_ti_clk_allow_autoidle_all(void) { } 279 long fint_band1_max;
346static inline void of_ti_clk_deny_autoidle_all(void) { } 280 long fint_band2_min;
347#endif 281 u8 dpll_bypass_vals;
282 u8 cm_idlest_val;
283};
284
285#define TI_CLK_DPLL_HAS_FREQSEL BIT(0)
286#define TI_CLK_DPLL4_DENY_REPROGRAM BIT(1)
287#define TI_CLK_DISABLE_CLKDM_CONTROL BIT(2)
288
289void ti_clk_setup_features(struct ti_clk_features *features);
290const struct ti_clk_features *ti_clk_get_features(void);
348 291
349extern const struct clk_hw_omap_ops clkhwops_omap2xxx_dpll; 292extern const struct clk_hw_omap_ops clkhwops_omap2xxx_dpll;
350extern const struct clk_hw_omap_ops clkhwops_omap2430_i2chs_wait;
351extern const struct clk_hw_omap_ops clkhwops_omap3_dpll;
352extern const struct clk_hw_omap_ops clkhwops_omap4_dpllmx;
353extern const struct clk_hw_omap_ops clkhwops_wait;
354extern const struct clk_hw_omap_ops clkhwops_omap3430es2_dss_usbhost_wait;
355extern const struct clk_hw_omap_ops clkhwops_am35xx_ipss_module_wait;
356extern const struct clk_hw_omap_ops clkhwops_am35xx_ipss_wait;
357extern const struct clk_hw_omap_ops clkhwops_iclk;
358extern const struct clk_hw_omap_ops clkhwops_iclk_wait;
359extern const struct clk_hw_omap_ops clkhwops_omap3430es2_iclk_ssi_wait;
360extern const struct clk_hw_omap_ops clkhwops_omap3430es2_iclk_dss_usbhost_wait;
361extern const struct clk_hw_omap_ops clkhwops_omap3430es2_iclk_hsotgusb_wait;
362 293
363#ifdef CONFIG_ATAGS 294#ifdef CONFIG_ATAGS
364int omap3430_clk_legacy_init(void); 295int omap3430_clk_legacy_init(void);
diff --git a/include/linux/platform_data/clk-ux500.h b/include/linux/platform_data/clk-ux500.h
index 97baf831e071..3af0da1f3be5 100644
--- a/include/linux/platform_data/clk-ux500.h
+++ b/include/linux/platform_data/clk-ux500.h
@@ -10,14 +10,8 @@
10#ifndef __CLK_UX500_H 10#ifndef __CLK_UX500_H
11#define __CLK_UX500_H 11#define __CLK_UX500_H
12 12
13void u8500_of_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base, 13void u8500_clk_init(void);
14 u32 clkrst5_base, u32 clkrst6_base); 14void u9540_clk_init(void);
15 15void u8540_clk_init(void);
16void u8500_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base,
17 u32 clkrst5_base, u32 clkrst6_base);
18void u9540_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base,
19 u32 clkrst5_base, u32 clkrst6_base);
20void u8540_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base,
21 u32 clkrst5_base, u32 clkrst6_base);
22 16
23#endif /* __CLK_UX500_H */ 17#endif /* __CLK_UX500_H */