On 18-01-21, 21:48, Dmitry Osipenko wrote:
18.01.2021 14:44, Viresh Kumar пишет:
quoted
On 18-01-21, 03:55, Dmitry Osipenko wrote:
quoted
diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h
index eefd0b15890c..c98fd2add563 100644
--- a/include/linux/pm_opp.h
+++ b/include/linux/pm_opp.h
@@ -13,6 +13,7 @@
#include <linux/energy_model.h>
#include <linux/err.h>
+#include <linux/kref.h>
#include <linux/notifier.h>
struct clk;
@@ -74,6 +75,7 @@ struct dev_pm_opp_info {
* @regulator_count: Number of regulators
* @clk: Pointer to clk
* @dev: Pointer to the struct device
+ * @kref: Reference counter
*
* This structure contains all information required for setting an OPP.
*/@@ -85,6 +87,7 @@ struct dev_pm_set_opp_data {
unsigned int regulator_count;
struct clk *clk;
struct device *dev;
+ struct kref kref;
};
Instead of kref thing, allocate the memory for supplies from
dev_pm_opp_set_regulators() and store it in new entries in opp-table
and for rest of the data from dev_pm_opp_register_set_opp_helper(), to
which you can copy supplies pointers then.
Could you please show a code sample?
Sent a patch to you.
--
viresh