From: Daniel Lezcano <daniel.lezcano@linaro.org> To: daniel.lezcano@linaro.org, rui.zhang@intel.com Cc: amit.kucheria@verdurent.com, "Rafael J. Wysocki" <rjw@rjwysocki.net>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Sudeep Holla <sudeep.holla@arm.com>, linux-pm@vger.kernel.org (open list:CPU IDLE TIME MANAGEMENT FRAMEWORK), linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (open list:CPUIDLE DRIVER - ARM PSCI) Subject: [PATCH v3 4/4] thermal: cpuidle: Register cpuidle cooling device Date: Wed, 15 Apr 2020 00:08:33 +0200 [thread overview] Message-ID: <20200414220837.9284-4-daniel.lezcano@linaro.org> (raw) In-Reply-To: <20200414220837.9284-1-daniel.lezcano@linaro.org> The cpuidle driver can be used as a cooling device by injecting idle cycles. The DT binding for the idle state added an optional When the property is set, register the cpuidle driver with the idle state node pointer as a cooling device. The thermal framework will do the association automatically with the thermal zone via the cooling-device defined in the device tree cooling-maps section. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/cpuidle/cpuidle-arm.c | 5 +++++ drivers/cpuidle/cpuidle-psci.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/drivers/cpuidle/cpuidle-arm.c b/drivers/cpuidle/cpuidle-arm.c index 9e5156d39627..2406ac0ae134 100644 --- a/drivers/cpuidle/cpuidle-arm.c +++ b/drivers/cpuidle/cpuidle-arm.c @@ -8,6 +8,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> @@ -124,6 +125,10 @@ static int __init arm_idle_init_cpu(int cpu) if (ret) goto out_kfree_drv; + ret = cpuidle_cooling_register(drv); + if (ret) + pr_err("Failed to register the idle cooling device: %d\n", ret); + return 0; out_kfree_drv: diff --git a/drivers/cpuidle/cpuidle-psci.c b/drivers/cpuidle/cpuidle-psci.c index edd7a54ef0d3..8e805bff646f 100644 --- a/drivers/cpuidle/cpuidle-psci.c +++ b/drivers/cpuidle/cpuidle-psci.c @@ -9,6 +9,7 @@ #define pr_fmt(fmt) "CPUidle PSCI: " fmt #include <linux/cpuhotplug.h> +#include <linux/cpu_cooling.h> #include <linux/cpuidle.h> #include <linux/cpumask.h> #include <linux/cpu_pm.h> @@ -305,6 +306,10 @@ static int __init psci_idle_init_cpu(int cpu) if (ret) goto out_kfree_drv; + ret = cpuidle_cooling_register(drv); + if (ret) + pr_err("Failed to register the idle cooling device: %d\n", ret); + return 0; out_kfree_drv: -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Lezcano <daniel.lezcano@linaro.org> To: daniel.lezcano@linaro.org, rui.zhang@intel.com Cc: amit.kucheria@verdurent.com, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, "open list:CPU IDLE TIME MANAGEMENT FRAMEWORK" <linux-pm@vger.kernel.org>, "Rafael J. Wysocki" <rjw@rjwysocki.net>, open list <linux-kernel@vger.kernel.org>, Sudeep Holla <sudeep.holla@arm.com>, "open list:CPUIDLE DRIVER - ARM PSCI" <linux-arm-kernel@lists.infradead.org> Subject: [PATCH v3 4/4] thermal: cpuidle: Register cpuidle cooling device Date: Wed, 15 Apr 2020 00:08:33 +0200 [thread overview] Message-ID: <20200414220837.9284-4-daniel.lezcano@linaro.org> (raw) In-Reply-To: <20200414220837.9284-1-daniel.lezcano@linaro.org> The cpuidle driver can be used as a cooling device by injecting idle cycles. The DT binding for the idle state added an optional When the property is set, register the cpuidle driver with the idle state node pointer as a cooling device. The thermal framework will do the association automatically with the thermal zone via the cooling-device defined in the device tree cooling-maps section. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/cpuidle/cpuidle-arm.c | 5 +++++ drivers/cpuidle/cpuidle-psci.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/drivers/cpuidle/cpuidle-arm.c b/drivers/cpuidle/cpuidle-arm.c index 9e5156d39627..2406ac0ae134 100644 --- a/drivers/cpuidle/cpuidle-arm.c +++ b/drivers/cpuidle/cpuidle-arm.c @@ -8,6 +8,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> @@ -124,6 +125,10 @@ static int __init arm_idle_init_cpu(int cpu) if (ret) goto out_kfree_drv; + ret = cpuidle_cooling_register(drv); + if (ret) + pr_err("Failed to register the idle cooling device: %d\n", ret); + return 0; out_kfree_drv: diff --git a/drivers/cpuidle/cpuidle-psci.c b/drivers/cpuidle/cpuidle-psci.c index edd7a54ef0d3..8e805bff646f 100644 --- a/drivers/cpuidle/cpuidle-psci.c +++ b/drivers/cpuidle/cpuidle-psci.c @@ -9,6 +9,7 @@ #define pr_fmt(fmt) "CPUidle PSCI: " fmt #include <linux/cpuhotplug.h> +#include <linux/cpu_cooling.h> #include <linux/cpuidle.h> #include <linux/cpumask.h> #include <linux/cpu_pm.h> @@ -305,6 +306,10 @@ static int __init psci_idle_init_cpu(int cpu) if (ret) goto out_kfree_drv; + ret = cpuidle_cooling_register(drv); + if (ret) + pr_err("Failed to register the idle cooling device: %d\n", ret); + return 0; out_kfree_drv: -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-04-14 22:09 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-14 22:08 [PATCH v3 1/4] powercap/drivers/idle_inject: Specify idle state max latency Daniel Lezcano 2020-04-14 22:08 ` [PATCH v3 2/4] dt-bindings: thermal: Add the idle cooling device Daniel Lezcano 2020-04-20 21:14 ` Rob Herring 2020-04-14 22:08 ` [PATCH v3 3/4] thermal/drivers/cpuidle_cooling: Change the registration function Daniel Lezcano 2020-04-28 15:20 ` Lukasz Luba 2020-04-28 15:30 ` Daniel Lezcano 2020-04-14 22:08 ` Daniel Lezcano [this message] 2020-04-14 22:08 ` [PATCH v3 4/4] thermal: cpuidle: Register cpuidle cooling device Daniel Lezcano 2020-04-21 8:15 ` Daniel Lezcano 2020-04-21 8:15 ` Daniel Lezcano 2020-04-27 16:50 ` Daniel Lezcano 2020-04-27 16:50 ` Daniel Lezcano 2020-04-28 15:31 ` Lukasz Luba 2020-04-28 15:31 ` Lukasz Luba
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200414220837.9284-4-daniel.lezcano@linaro.org \ --to=daniel.lezcano@linaro.org \ --cc=amit.kucheria@verdurent.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=rjw@rjwysocki.net \ --cc=rui.zhang@intel.com \ --cc=sudeep.holla@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.