From 9f68c1c6ee7331d99adc6cef5cd4a5e56b43a1bd Mon Sep 17 00:00:00 2001 From: Lukasz Luba Date: Wed, 23 Jan 2019 19:12:38 +0100 Subject: [PATCH] drivers: base: opp: add allocate_opp_table() used by devres.c The patch adds needed function for devres.c which implements family of devm_* safe function. It is used for resource tracking in case of deffer probe, when the driver probe function is called a few times. The allocated OPP table must be freed and OPPs removed. Change-Id: I9f098ea8a00bbef03ba680c4efe3b2fdf2e076d2 Signed-off-by: Lukasz Luba --- drivers/base/power/opp/core.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c index d5e7e8cc4f22..1879e7cd6028 100644 --- a/drivers/base/power/opp/core.c +++ b/drivers/base/power/opp/core.c @@ -765,6 +765,17 @@ static struct opp_table *_allocate_opp_table(struct device *dev) return opp_table; } +struct opp_table *allocate_opp_table(struct device *dev) +{ + struct opp_table *opp_table; + + mutex_lock(&opp_table_lock); + opp_table = _allocate_opp_table(dev); + mutex_unlock(&opp_table_lock); + + return opp_table; +} + void _get_opp_table_kref(struct opp_table *opp_table) { kref_get(&opp_table->kref); -- 2.34.1