aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2019-11-06 07:45:06 -0800
committerOlof Johansson <olof@lixom.net>2019-11-06 07:45:07 -0800
commit171cfeec987d29f4d6d6fee6feab486180dc8ef4 (patch)
treef8911d78699d68f88a8e584b510a6fadbf1801c1 /include
parentMerge tag 'tegra-for-5.5-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers (diff)
parentsoc: samsung: exynos-asv: Potential NULL dereference in exynos_asv_update_opps() (diff)
downloadwireguard-linux-171cfeec987d29f4d6d6fee6feab486180dc8ef4.tar.xz
wireguard-linux-171cfeec987d29f4d6d6fee6feab486180dc8ef4.zip
Merge tag 'samsung-drivers-5.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/drivers
Samsung soc drivers changes for v5.5 1. Minor fixes to Exynos Chipid driver. 2. Add Exynos Adaptive Supply Voltage driver allowing to adjust voltages used during CPU frequency scaling based on revision of SoC. This also pulls dependency from PM/OPP tree - driver uses newly added dev_pm_opp_adjust_voltage() function. * tag 'samsung-drivers-5.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: soc: samsung: exynos-asv: Potential NULL dereference in exynos_asv_update_opps() soc: samsung: chipid: Drop "syscon" compatible requirement soc: samsung: Add Exynos Adaptive Supply Voltage driver PM / OPP: Support adjusting OPP voltages at runtime soc: samsung: chipid: Make exynos_chipid_early_init() static Link: https://lore.kernel.org/r/20191104175902.12224-1-krzk@kernel.org Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/pm_opp.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h
index b8197ab014f2..747861816f4f 100644
--- a/include/linux/pm_opp.h
+++ b/include/linux/pm_opp.h
@@ -22,6 +22,7 @@ struct opp_table;
enum dev_pm_opp_event {
OPP_EVENT_ADD, OPP_EVENT_REMOVE, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE,
+ OPP_EVENT_ADJUST_VOLTAGE,
};
/**
@@ -113,6 +114,10 @@ int dev_pm_opp_add(struct device *dev, unsigned long freq,
void dev_pm_opp_remove(struct device *dev, unsigned long freq);
void dev_pm_opp_remove_all_dynamic(struct device *dev);
+int dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq,
+ unsigned long u_volt, unsigned long u_volt_min,
+ unsigned long u_volt_max);
+
int dev_pm_opp_enable(struct device *dev, unsigned long freq);
int dev_pm_opp_disable(struct device *dev, unsigned long freq);
@@ -242,6 +247,14 @@ static inline void dev_pm_opp_remove_all_dynamic(struct device *dev)
{
}
+static inline int
+dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq,
+ unsigned long u_volt, unsigned long u_volt_min,
+ unsigned long u_volt_max)
+{
+ return 0;
+}
+
static inline int dev_pm_opp_enable(struct device *dev, unsigned long freq)
{
return 0;