Message ID | 1519226968-19821-8-git-send-email-daniel.lezcano@linaro.org (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On Wed, Feb 21, 2018 at 8:59 PM, Daniel Lezcano <daniel.lezcano@linaro.org> wrote: > Register the ARM generic cpuidle driver as a cooling device. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > --- > drivers/cpuidle/cpuidle-arm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/cpuidle/cpuidle-arm.c b/drivers/cpuidle/cpuidle-arm.c > index ddee1b6..c100915 100644 > --- a/drivers/cpuidle/cpuidle-arm.c > +++ b/drivers/cpuidle/cpuidle-arm.c > @@ -11,6 +11,7 @@ > > #define pr_fmt(fmt) "CPUidle arm: " fmt > > +#include <linux/cpu_cooling.h> > #include <linux/cpuidle.h> > #include <linux/cpumask.h> > #include <linux/cpu_pm.h> > @@ -172,6 +173,10 @@ static int __init arm_idle_init(void) > goto out_fail; > } > > + ret = cpuidle_cooling_register(); > + if (ret) > + pr_warn("Failed to register the cpuidle cooling device\n"); > + Because you aren't going to use the return value here, it might be better to change return type of cpuidle_cooling_register() as "void" and do error printing from within that routine.
On 2018/2/21 23:29, Daniel Lezcano wrote: > Register the ARM generic cpuidle driver as a cooling device. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > --- > drivers/cpuidle/cpuidle-arm.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/cpuidle/cpuidle-arm.c b/drivers/cpuidle/cpuidle-arm.c > index ddee1b6..c100915 100644 > --- a/drivers/cpuidle/cpuidle-arm.c > +++ b/drivers/cpuidle/cpuidle-arm.c > @@ -11,6 +11,7 @@ > > #define pr_fmt(fmt) "CPUidle arm: " fmt > > +#include <linux/cpu_cooling.h> > #include <linux/cpuidle.h> > #include <linux/cpumask.h> > #include <linux/cpu_pm.h> > @@ -172,6 +173,10 @@ static int __init arm_idle_init(void) > goto out_fail; > } > > + ret = cpuidle_cooling_register(); > + if (ret) > + pr_warn("Failed to register the cpuidle cooling device\n"); > + SoC which uses Big-Little architecture doesn't use cpuidle-arm driver, is it better to put cpuidle_cooling_register to cpuidle_register_driver, and use the cpumask of cpuidle driver to register cpuidle cooling device intead of get it from topology? > return 0; > > out_fail: >
On 24/02/2018 03:50, Wangtao (Kevin, Kirin) wrote: > > > On 2018/2/21 23:29, Daniel Lezcano wrote: >> Register the ARM generic cpuidle driver as a cooling device. >> >> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> >> --- >> drivers/cpuidle/cpuidle-arm.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/cpuidle/cpuidle-arm.c >> b/drivers/cpuidle/cpuidle-arm.c >> index ddee1b6..c100915 100644 >> --- a/drivers/cpuidle/cpuidle-arm.c >> +++ b/drivers/cpuidle/cpuidle-arm.c >> @@ -11,6 +11,7 @@ >> #define pr_fmt(fmt) "CPUidle arm: " fmt >> +#include <linux/cpu_cooling.h> >> #include <linux/cpuidle.h> >> #include <linux/cpumask.h> >> #include <linux/cpu_pm.h> >> @@ -172,6 +173,10 @@ static int __init arm_idle_init(void) >> goto out_fail; >> } >> + ret = cpuidle_cooling_register(); >> + if (ret) >> + pr_warn("Failed to register the cpuidle cooling device\n"); >> + > SoC which uses Big-Little architecture doesn't use cpuidle-arm driver, > is it > better to put cpuidle_cooling_register to cpuidle_register_driver, and > use the > cpumask of cpuidle driver to register cpuidle cooling device intead of > get it > from topology? The bL is supported by the cpuidle-arm driver, however due to how the cpumask is built, we can't use this in cpuidle_register_driver for that, it is a soapy board for now.
diff --git a/drivers/cpuidle/cpuidle-arm.c b/drivers/cpuidle/cpuidle-arm.c index ddee1b6..c100915 100644 --- a/drivers/cpuidle/cpuidle-arm.c +++ b/drivers/cpuidle/cpuidle-arm.c @@ -11,6 +11,7 @@ #define pr_fmt(fmt) "CPUidle arm: " fmt +#include <linux/cpu_cooling.h> #include <linux/cpuidle.h> #include <linux/cpumask.h> #include <linux/cpu_pm.h> @@ -172,6 +173,10 @@ static int __init arm_idle_init(void) goto out_fail; } + ret = cpuidle_cooling_register(); + if (ret) + pr_warn("Failed to register the cpuidle cooling device\n"); + return 0; out_fail:
Register the ARM generic cpuidle driver as a cooling device. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/cpuidle/cpuidle-arm.c | 5 +++++ 1 file changed, 5 insertions(+)