summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2016-06-05 13:58:15 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-06-14 19:42:15 -0400
commit29b968b2af7782fe879190cd43c10261506ebc11 (patch)
tree853e194204a6e5b1a6e224d3497953c9fd72d773 /drivers/base
parent5edb56491d4812c42175980759da53388e5d86f5 (diff)
PM / clk: export symbols for existing pm_clk_<...> API fcns
While trying to convert a DMA driver from bool to tristate, we encountered the following: ERROR: "pm_clk_add_clk" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_create" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_destroy" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_suspend" [drivers/dma/tegra210-adma.ko] undefined! ERROR: "pm_clk_resume" [drivers/dma/tegra210-adma.ko] undefined! Since in principle there is nothing preventing these functions from being used in modular code as well as builtin, we add the export of them. We expand the scope to also include: pm_clk_add of_pm_clk_add_clks pm_clk_remove pm_clk_remove_clk pm_clk_init pm_clk_runtime_suspend pm_clk_runtime_resume pm_clk_add_notifier ...since these functions are also non-static and presumably form part of the existing API used by other drivers that may become modular in the future. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/clock_ops.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/base/power/clock_ops.c b/drivers/base/power/clock_ops.c
index 3657ac1cb801..761f5c21f9f0 100644
--- a/drivers/base/power/clock_ops.c
+++ b/drivers/base/power/clock_ops.c
@@ -121,6 +121,7 @@ int pm_clk_add(struct device *dev, const char *con_id)
121{ 121{
122 return __pm_clk_add(dev, con_id, NULL); 122 return __pm_clk_add(dev, con_id, NULL);
123} 123}
124EXPORT_SYMBOL_GPL(pm_clk_add);
124 125
125/** 126/**
126 * pm_clk_add_clk - Start using a device clock for power management. 127 * pm_clk_add_clk - Start using a device clock for power management.
@@ -136,6 +137,7 @@ int pm_clk_add_clk(struct device *dev, struct clk *clk)
136{ 137{
137 return __pm_clk_add(dev, NULL, clk); 138 return __pm_clk_add(dev, NULL, clk);
138} 139}
140EXPORT_SYMBOL_GPL(pm_clk_add_clk);
139 141
140 142
141/** 143/**
@@ -192,6 +194,7 @@ error:
192 194
193 return ret; 195 return ret;
194} 196}
197EXPORT_SYMBOL_GPL(of_pm_clk_add_clks);
195 198
196/** 199/**
197 * __pm_clk_remove - Destroy PM clock entry. 200 * __pm_clk_remove - Destroy PM clock entry.
@@ -252,6 +255,7 @@ void pm_clk_remove(struct device *dev, const char *con_id)
252 255
253 __pm_clk_remove(ce); 256 __pm_clk_remove(ce);
254} 257}
258EXPORT_SYMBOL_GPL(pm_clk_remove);
255 259
256/** 260/**
257 * pm_clk_remove_clk - Stop using a device clock for power management. 261 * pm_clk_remove_clk - Stop using a device clock for power management.
@@ -285,6 +289,7 @@ void pm_clk_remove_clk(struct device *dev, struct clk *clk)
285 289
286 __pm_clk_remove(ce); 290 __pm_clk_remove(ce);
287} 291}
292EXPORT_SYMBOL_GPL(pm_clk_remove_clk);
288 293
289/** 294/**
290 * pm_clk_init - Initialize a device's list of power management clocks. 295 * pm_clk_init - Initialize a device's list of power management clocks.
@@ -299,6 +304,7 @@ void pm_clk_init(struct device *dev)
299 if (psd) 304 if (psd)
300 INIT_LIST_HEAD(&psd->clock_list); 305 INIT_LIST_HEAD(&psd->clock_list);
301} 306}
307EXPORT_SYMBOL_GPL(pm_clk_init);
302 308
303/** 309/**
304 * pm_clk_create - Create and initialize a device's list of PM clocks. 310 * pm_clk_create - Create and initialize a device's list of PM clocks.
@@ -311,6 +317,7 @@ int pm_clk_create(struct device *dev)
311{ 317{
312 return dev_pm_get_subsys_data(dev); 318 return dev_pm_get_subsys_data(dev);
313} 319}
320EXPORT_SYMBOL_GPL(pm_clk_create);
314 321
315/** 322/**
316 * pm_clk_destroy - Destroy a device's list of power management clocks. 323 * pm_clk_destroy - Destroy a device's list of power management clocks.
@@ -345,6 +352,7 @@ void pm_clk_destroy(struct device *dev)
345 __pm_clk_remove(ce); 352 __pm_clk_remove(ce);
346 } 353 }
347} 354}
355EXPORT_SYMBOL_GPL(pm_clk_destroy);
348 356
349/** 357/**
350 * pm_clk_suspend - Disable clocks in a device's PM clock list. 358 * pm_clk_suspend - Disable clocks in a device's PM clock list.
@@ -375,6 +383,7 @@ int pm_clk_suspend(struct device *dev)
375 383
376 return 0; 384 return 0;
377} 385}
386EXPORT_SYMBOL_GPL(pm_clk_suspend);
378 387
379/** 388/**
380 * pm_clk_resume - Enable clocks in a device's PM clock list. 389 * pm_clk_resume - Enable clocks in a device's PM clock list.
@@ -400,6 +409,7 @@ int pm_clk_resume(struct device *dev)
400 409
401 return 0; 410 return 0;
402} 411}
412EXPORT_SYMBOL_GPL(pm_clk_resume);
403 413
404/** 414/**
405 * pm_clk_notify - Notify routine for device addition and removal. 415 * pm_clk_notify - Notify routine for device addition and removal.
@@ -480,6 +490,7 @@ int pm_clk_runtime_suspend(struct device *dev)
480 490
481 return 0; 491 return 0;
482} 492}
493EXPORT_SYMBOL_GPL(pm_clk_runtime_suspend);
483 494
484int pm_clk_runtime_resume(struct device *dev) 495int pm_clk_runtime_resume(struct device *dev)
485{ 496{
@@ -495,6 +506,7 @@ int pm_clk_runtime_resume(struct device *dev)
495 506
496 return pm_generic_runtime_resume(dev); 507 return pm_generic_runtime_resume(dev);
497} 508}
509EXPORT_SYMBOL_GPL(pm_clk_runtime_resume);
498 510
499#else /* !CONFIG_PM_CLK */ 511#else /* !CONFIG_PM_CLK */
500 512
@@ -598,3 +610,4 @@ void pm_clk_add_notifier(struct bus_type *bus,
598 clknb->nb.notifier_call = pm_clk_notify; 610 clknb->nb.notifier_call = pm_clk_notify;
599 bus_register_notifier(bus, &clknb->nb); 611 bus_register_notifier(bus, &clknb->nb);
600} 612}
613EXPORT_SYMBOL_GPL(pm_clk_add_notifier);