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
Showing the changes to include/linux (1 of 9 files). Show all
Unified · Split
| @@ -22,6 +22,7 @@ struct opp_table; · 21 unmodified lines | |||
| 22 | 22 | ||
| 23 | enum dev_pm_opp_event { | 23 | enum dev_pm_opp_event { |
| 24 | OPP_EVENT_ADD, OPP_EVENT_REMOVE, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE, | 24 | OPP_EVENT_ADD, OPP_EVENT_REMOVE, OPP_EVENT_ENABLE, OPP_EVENT_DISABLE, |
| 25 | OPP_EVENT_ADJUST_VOLTAGE, | ||
| 25 | }; | 26 | }; |
| 26 | 27 | ||
| 27 | /** | 28 | /** |
| @@ -113,6 +114,10 @@ int dev_pm_opp_add(struct device *dev, unsigned long freq, · 85 unmodified lines | |||
| 113 | void dev_pm_opp_remove(struct device *dev, unsigned long freq); | 114 | void dev_pm_opp_remove(struct device *dev, unsigned long freq); |
| 114 | void dev_pm_opp_remove_all_dynamic(struct device *dev); | 115 | void dev_pm_opp_remove_all_dynamic(struct device *dev); |
| 115 | 116 | ||
| 117 | int dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq, | ||
| 118 | unsigned long u_volt, unsigned long u_volt_min, | ||
| 119 | unsigned long u_volt_max); | ||
| 120 | |||
| 116 | int dev_pm_opp_enable(struct device *dev, unsigned long freq); | 121 | int dev_pm_opp_enable(struct device *dev, unsigned long freq); |
| 117 | 122 | ||
| 118 | int dev_pm_opp_disable(struct device *dev, unsigned long freq); | 123 | 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) · 123 unmodified lines | |||
| 242 | { | 247 | { |
| 243 | } | 248 | } |
| 244 | 249 | ||
| 250 | static inline int | ||
| 251 | dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq, | ||
| 252 | unsigned long u_volt, unsigned long u_volt_min, | ||
| 253 | unsigned long u_volt_max) | ||
| 254 | { | ||
| 255 | return 0; | ||
| 256 | } | ||
| 257 | |||
| 245 | static inline int dev_pm_opp_enable(struct device *dev, unsigned long freq) | 258 | static inline int dev_pm_opp_enable(struct device *dev, unsigned long freq) |
| 246 | { | 259 | { |
| 247 | return 0; | 260 | return 0; |