On Thu, Oct 11, 2018 at 02:50:54AM +0530, Raju P.L.S.S.S.N wrote:
Use cpu hotplug callback mechanism to attach/dettach the cpu in
the cpu power domain. During cpu hotplug callback registration,
the starting callback is invoked on all online cpus. So there is
no need to attach from device probe.
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@xxxxxxxxxxxxxx>
---
drivers/soc/qcom/cpu_pd.c | 33 +++++++++++++++++++++++++--------
include/linux/cpuhotplug.h | 1 +
2 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/drivers/soc/qcom/cpu_pd.c b/drivers/soc/qcom/cpu_pd.c
index 242eced..bf2d95d 100644
--- a/drivers/soc/qcom/cpu_pd.c
+++ b/drivers/soc/qcom/cpu_pd.c
@@ -3,6 +3,7 @@
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*/
+#include <linux/cpuhotplug.h>
#include <linux/ktime.h>
#include <linux/of_platform.h>
#include <linux/pm_domain.h>
@@ -85,12 +86,26 @@ static int cpu_pd_power_off(struct generic_pm_domain *domain)
return 0;
}
+static int cpu_pd_starting(unsigned int cpu)
+{
+ if (!suspend && of_genpd_attach_cpu(cpu))
+ pr_err("%s: genpd_attach_cpu fail\n", __func__);
If it's that serious, return proper error code and drop the message which
could be annoying if you are running some hotplug test loop.
--
Regards,
Sudeep