PM / OPP: using kfree_rcu() to simplify the code
The callback function of call_rcu() just calls a kfree(), so we
can use kfree_rcu() instead of call_rcu() + callback function.
dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Git-commit: ea83f81b489be3be268ed7fabfe8dd94bdc45a29
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I90fd70a0c98666269e7fb7b11b7fd5132ede2db1
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index c8a908b..50b2831 100644
--- a/drivers/base/power/opp.c
+++ b/drivers/base/power/opp.c
@@ -461,17 +461,6 @@
}
/**
- * opp_free_rcu() - helper to clear the struct opp when grace period has
- * elapsed without blocking the the caller of opp_set_availability
- */
-static void opp_free_rcu(struct rcu_head *head)
-{
- struct opp *opp = container_of(head, struct opp, head);
-
- kfree(opp);
-}
-
-/**
* opp_set_availability() - helper to set the availability of an opp
* @dev: device for which we do this operation
* @freq: OPP frequency to modify availability
@@ -542,7 +531,7 @@
list_replace_rcu(&opp->node, &new_opp->node);
mutex_unlock(&dev_opp_list_lock);
- call_rcu(&opp->head, opp_free_rcu);
+ kfree_rcu(opp, head);
/* Notify the change of the OPP availability */
if (availability_req)