diff options
| author | Geert Uytterhoeven <geert+renesas@glider.be> | 2014-11-06 08:51:00 -0500 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-11-06 19:46:51 -0500 |
| commit | 245bd6f6af8a62a2e2e14976e5ef3dc2b82ec153 (patch) | |
| tree | 4fa4b90e9903f9ad44072b3147153c1a567eaa50 /include/linux/pm_clock.h | |
| parent | 0df1f2487d2f0d04703f142813d53615d62a1da4 (diff) | |
PM / clock_ops: Add pm_clk_add_clk()
The existing pm_clk_add() allows to pass a clock by con_id. However,
when referring to a specific clock from DT, no con_id is available.
Add pm_clk_add_clk(), which allows to specify the struct clk * directly.
The will will increment refcount on clock pointer, so the caller has
to use clk_put() on clock pointer when done.
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/linux/pm_clock.h')
| -rw-r--r-- | include/linux/pm_clock.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/pm_clock.h b/include/linux/pm_clock.h index 8348866e7b05..0b0039634410 100644 --- a/include/linux/pm_clock.h +++ b/include/linux/pm_clock.h | |||
| @@ -18,6 +18,8 @@ struct pm_clk_notifier_block { | |||
| 18 | char *con_ids[]; | 18 | char *con_ids[]; |
| 19 | }; | 19 | }; |
| 20 | 20 | ||
| 21 | struct clk; | ||
| 22 | |||
| 21 | #ifdef CONFIG_PM_CLK | 23 | #ifdef CONFIG_PM_CLK |
| 22 | static inline bool pm_clk_no_clocks(struct device *dev) | 24 | static inline bool pm_clk_no_clocks(struct device *dev) |
| 23 | { | 25 | { |
| @@ -29,6 +31,7 @@ extern void pm_clk_init(struct device *dev); | |||
| 29 | extern int pm_clk_create(struct device *dev); | 31 | extern int pm_clk_create(struct device *dev); |
| 30 | extern void pm_clk_destroy(struct device *dev); | 32 | extern void pm_clk_destroy(struct device *dev); |
| 31 | extern int pm_clk_add(struct device *dev, const char *con_id); | 33 | extern int pm_clk_add(struct device *dev, const char *con_id); |
| 34 | extern int pm_clk_add_clk(struct device *dev, struct clk *clk); | ||
| 32 | extern void pm_clk_remove(struct device *dev, const char *con_id); | 35 | extern void pm_clk_remove(struct device *dev, const char *con_id); |
| 33 | extern int pm_clk_suspend(struct device *dev); | 36 | extern int pm_clk_suspend(struct device *dev); |
| 34 | extern int pm_clk_resume(struct device *dev); | 37 | extern int pm_clk_resume(struct device *dev); |
| @@ -51,6 +54,11 @@ static inline int pm_clk_add(struct device *dev, const char *con_id) | |||
| 51 | { | 54 | { |
| 52 | return -EINVAL; | 55 | return -EINVAL; |
| 53 | } | 56 | } |
| 57 | |||
| 58 | static inline int pm_clk_add_clk(struct device *dev, struct clk *clk) | ||
| 59 | { | ||
| 60 | return -EINVAL; | ||
| 61 | } | ||
| 54 | static inline void pm_clk_remove(struct device *dev, const char *con_id) | 62 | static inline void pm_clk_remove(struct device *dev, const char *con_id) |
| 55 | { | 63 | { |
| 56 | } | 64 | } |
