diff options
| author | Viresh Kumar <viresh.kumar@linaro.org> | 2017-01-02 04:11:03 -0500 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-01-27 05:49:09 -0500 |
| commit | dc2c9ad52af45ebecf9743aacb1916ebb2f1e848 (patch) | |
| tree | 41001b1691bdad8d1b52a63561ffa9659d5412bd /drivers/devfreq | |
| parent | 3aa26a3b2ea63c4d09420e74421370655aa1cf8f (diff) | |
PM / OPP: Don't expose srcu_head to register notifiers
Let the OPP core provide helpers to register notifiers for any device,
instead of exposing srcu_head outside of the core.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/devfreq')
| -rw-r--r-- | drivers/devfreq/devfreq.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index 47206a21bb90..a545c0fee6e1 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c | |||
| @@ -1265,18 +1265,7 @@ EXPORT_SYMBOL(devfreq_recommended_opp); | |||
| 1265 | */ | 1265 | */ |
| 1266 | int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq) | 1266 | int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq) |
| 1267 | { | 1267 | { |
| 1268 | struct srcu_notifier_head *nh; | 1268 | return dev_pm_opp_register_notifier(dev, &devfreq->nb); |
| 1269 | int ret = 0; | ||
| 1270 | |||
| 1271 | rcu_read_lock(); | ||
| 1272 | nh = dev_pm_opp_get_notifier(dev); | ||
| 1273 | if (IS_ERR(nh)) | ||
| 1274 | ret = PTR_ERR(nh); | ||
| 1275 | rcu_read_unlock(); | ||
| 1276 | if (!ret) | ||
| 1277 | ret = srcu_notifier_chain_register(nh, &devfreq->nb); | ||
| 1278 | |||
| 1279 | return ret; | ||
| 1280 | } | 1269 | } |
| 1281 | EXPORT_SYMBOL(devfreq_register_opp_notifier); | 1270 | EXPORT_SYMBOL(devfreq_register_opp_notifier); |
| 1282 | 1271 | ||
| @@ -1292,18 +1281,7 @@ EXPORT_SYMBOL(devfreq_register_opp_notifier); | |||
| 1292 | */ | 1281 | */ |
| 1293 | int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq) | 1282 | int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq) |
| 1294 | { | 1283 | { |
| 1295 | struct srcu_notifier_head *nh; | 1284 | return dev_pm_opp_unregister_notifier(dev, &devfreq->nb); |
| 1296 | int ret = 0; | ||
| 1297 | |||
| 1298 | rcu_read_lock(); | ||
| 1299 | nh = dev_pm_opp_get_notifier(dev); | ||
| 1300 | if (IS_ERR(nh)) | ||
| 1301 | ret = PTR_ERR(nh); | ||
| 1302 | rcu_read_unlock(); | ||
| 1303 | if (!ret) | ||
| 1304 | ret = srcu_notifier_chain_unregister(nh, &devfreq->nb); | ||
| 1305 | |||
| 1306 | return ret; | ||
| 1307 | } | 1285 | } |
| 1308 | EXPORT_SYMBOL(devfreq_unregister_opp_notifier); | 1286 | EXPORT_SYMBOL(devfreq_unregister_opp_notifier); |
| 1309 | 1287 | ||
