53 lines
1.4 KiB
Diff
53 lines
1.4 KiB
Diff
From d06ca5e7a3cf726f5be5ffd96e93ccd798b8c09a Mon Sep 17 00:00:00 2001
|
|
From: Georgi Djakov <georgi.djakov@linaro.org>
|
|
Date: Thu, 12 May 2016 14:41:33 +0300
|
|
Subject: [PATCH 51/69] PM / OPP: Add a helper to get an opp regulator for
|
|
device
|
|
|
|
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
|
---
|
|
drivers/opp/core.c | 21 +++++++++++++++++++++
|
|
include/linux/pm_opp.h | 1 +
|
|
2 files changed, 22 insertions(+)
|
|
|
|
--- a/drivers/opp/core.c
|
|
+++ b/drivers/opp/core.c
|
|
@@ -125,6 +125,27 @@ unsigned long dev_pm_opp_get_freq(struct
|
|
}
|
|
EXPORT_SYMBOL_GPL(dev_pm_opp_get_freq);
|
|
|
|
+struct regulator *dev_pm_opp_get_regulator(struct device *dev)
|
|
+{
|
|
+ struct opp_table *opp_table;
|
|
+ struct regulator *reg;
|
|
+
|
|
+ rcu_read_lock();
|
|
+
|
|
+ opp_table = _find_opp_table(dev);
|
|
+ if (IS_ERR(opp_table)) {
|
|
+ rcu_read_unlock();
|
|
+ return ERR_CAST(opp_table);
|
|
+ }
|
|
+
|
|
+ reg = opp_table->regulators[0];
|
|
+
|
|
+ rcu_read_unlock();
|
|
+
|
|
+ return reg;
|
|
+}
|
|
+EXPORT_SYMBOL_GPL(dev_pm_opp_get_regulator);
|
|
+
|
|
/**
|
|
* dev_pm_opp_is_turbo() - Returns if opp is turbo OPP or not
|
|
* @opp: opp for which turbo mode is being verified
|
|
--- a/include/linux/pm_opp.h
|
|
+++ b/include/linux/pm_opp.h
|
|
@@ -85,6 +85,7 @@ void dev_pm_opp_put_opp_table(struct opp
|
|
unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp);
|
|
|
|
unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp);
|
|
+struct regulator *dev_pm_opp_get_regulator(struct device *dev);
|
|
|
|
bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp);
|
|
|