Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754204AbbHJIBZ (ORCPT ); Mon, 10 Aug 2015 04:01:25 -0400 Received: from mail-yk0-f177.google.com ([209.85.160.177]:32997 "EHLO mail-yk0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754082AbbHJIBL convert rfc822-to-8bit (ORCPT ); Mon, 10 Aug 2015 04:01:11 -0400 MIME-Version: 1.0 In-Reply-To: <20150807103121.GC7646@leverpostej> References: <20150807103121.GC7646@leverpostej> From: =?UTF-8?B?Q2h1bmctWWloIFdhbmcgKOeOi+W0h+aHvyk=?= Date: Mon, 10 Aug 2015 16:00:49 +0800 Message-ID: Subject: Re: [PATCH] thermal: of: Introduce governor selection in dts To: Mark Rutland , javi.merino@arm.com Cc: "linux-kernel@vger.kernel.org" , Zhang Rui , Eduardo Valentin , Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala , "linux-pm@vger.kernel.org" , "devicetree@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4005 Lines: 93 This patch was originally introduced when we made power_allocator the default governor where we had issues in binding a thermal zone w/o parameters to. Then we came out this facility for binding a specific governor to a thermal zone in dts instead of the default governor. Javi seems like this idea much. On Fri, Aug 7, 2015 at 6:31 PM, Mark Rutland wrote: > On Fri, Aug 07, 2015 at 08:09:39AM +0100, Chung-Yih Wang (王崇懿) wrote: >> As there could be more thermal zones on a system and >> more variety in thermal governors provided in kernel, >> this patch provides flexibility of governor selection >> for a thermal zone declared in device tree. >> >> Change-Id: Ie4a75d762709cbbe9f1806dae325d13f71982e78 >> Signed-off-by: Chung-yih Wang >> --- >> Documentation/devicetree/bindings/thermal/thermal.txt | 9 +++++++++ >> drivers/thermal/of-thermal.c | 10 ++++++++++ >> 2 files changed, 19 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/thermal/thermal.txt >> b/Documentation/devicetree/bindings/thermal/thermal.txt >> index 8a49362..30a5d41 100644 >> --- a/Documentation/devicetree/bindings/thermal/thermal.txt >> +++ b/Documentation/devicetree/bindings/thermal/thermal.txt >> @@ -174,6 +174,13 @@ Optional property: >> 2000mW, while on a 10'' tablet is around >> 4500mW. >> >> +- thermal-governor-name: The name of governor used to control the >> + thermal zone instead of the default one >> + specified in kernel config. For reference, if >> + default governor is step_wise, one could >> + select power_allocator for cpu_thermal zone >> + in dts. > > > This is not a hardware or system property, but rather a Linux > implementation detail. > > This really shouldn't go in the DT. > > Mark. > >> + >> Note: The delay properties are bound to the maximum dT/dt (temperature >> derivative over time) in two situations for a thermal zone: >> (i) - when passive cooling is activated (polling-delay-passive); and >> @@ -555,6 +562,8 @@ thermal-zones { >> >> sustainable-power = <2500>; >> >> + thermal-governor-name = "power_allocator"; >> + >> trips { >> /* Trips are based on resulting linear equation */ >> cpu_trip: cpu-trip { >> diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c >> index b295b2b..45570ac 100644 >> --- a/drivers/thermal/of-thermal.c >> +++ b/drivers/thermal/of-thermal.c >> @@ -882,6 +882,7 @@ int __init of_parse_thermal_zones(void) >> } >> >> for_each_child_of_node(np, child) { >> + const char *governor_name; >> struct thermal_zone_device *zone; >> struct thermal_zone_params *tzp; >> int i, mask = 0; >> @@ -909,6 +910,15 @@ int __init of_parse_thermal_zones(void) >> goto exit_free; >> } >> >> + /* Select a preferred governor if declared */ >> + if (!of_property_read_string(child, >> + "thermal-governor-name", >> + &governor_name)) { >> + strncpy(tzp->governor_name, >> + governor_name, >> + sizeof(tzp->governor_name) - 1); >> + } >> + >> /* No hwmon because there might be hwmon drivers registering */ >> tzp->no_hwmon = true; >> >> -- >> 2.1.2 >> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/