Received: by 10.223.185.116 with SMTP id b49csp2938874wrg; Mon, 5 Mar 2018 11:05:57 -0800 (PST) X-Google-Smtp-Source: AG47ELu7Z6Tx2mO0b52RiCI4sTcvTE88Z161jmz+vU1dv/xifu/31Hbsaz/p0Ge9jt83EvY2scit X-Received: by 10.98.87.212 with SMTP id i81mr16470817pfj.197.1520276757861; Mon, 05 Mar 2018 11:05:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520276757; cv=none; d=google.com; s=arc-20160816; b=xsm81shT0/CkETnlXBSqUXA59L4YxgONVyv7EFsG9YopnZuJ9JoEE+f+zWjnLJiY26 jeAUWkEIYWwxiV7FIc0XsYzH16YirdnuIT6ZWrszWwCvuBIjH9Z8LA7zzwvgp1IPAt6X I6rneW8U1s2dtUq1Ba0HZrBR8OkuGhYO3hkdwg2aezQDlByBaPptPtKrsH6U0I6FTIdJ NRtMqFR49lSawz2eNgXuL/6y2dfkWRadu3sXm4dK2FqNPfA22ktOOVYFpZRwOjqwe7WR wVcdwksTe9APt0OZN18U2D4X8sxp4O4zBNLUylLyKsW+fjgzddYOd2OuKyfGZJeMUZs8 RWiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=llU7CSX3ZCd4D3MyfKN0pttnXP9GU9UeAKDnGsXoEZA=; b=TMxjlyRh6jZdrY4NfDVK45N4sSZco1aOcVPXJtnQdlPJX0pAsfzx3ZWQ1i81qFUYv8 XZoykbqJVoLTRCUDIFoS2S1kOOFSjRziA0jNdJN8Hr5zf5uTWKk1Q+qb2lcUY2bm5R1/ Ccz/CRgetdUtMi9ho/lPLmcckntTQyWKsyzV/mYFcaSxoQyM7Sil6a61Xtxbt+fQWHIJ 1h4IdmLYuQ00ZcmxFnmTGYDbhMqlIrUH0oQyYHGKRtgidkQWb3tamAsQeRikHquR8qlt OYYtFy1xTlwXmKnOy97VUf25wFIXTsUpMbKuw9olhMVtab+tZky3GuN50v7L2Pb22Tkn BAeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dPq51w+p; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j11si9580772pfi.57.2018.03.05.11.05.43; Mon, 05 Mar 2018 11:05:57 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dPq51w+p; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932126AbeCETEm (ORCPT + 99 others); Mon, 5 Mar 2018 14:04:42 -0500 Received: from mail-qt0-f195.google.com ([209.85.216.195]:35309 "EHLO mail-qt0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751462AbeCETEk (ORCPT ); Mon, 5 Mar 2018 14:04:40 -0500 Received: by mail-qt0-f195.google.com with SMTP id z14so21641544qti.2 for ; Mon, 05 Mar 2018 11:04:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=llU7CSX3ZCd4D3MyfKN0pttnXP9GU9UeAKDnGsXoEZA=; b=dPq51w+p0GLmXfXWgr51m0rK+Cr7vRRJuNK6DrQUly06pX54WV+V55nThFc5QsntgL bXoE80tJyYh+sVlTop46fSetxSB/8/hj6Pq8d26aVHNM9blyDLc47OqB7o6JJbJp+jnK BkoUvtXUGG+KBiX0nwHZGAidIyZQPWARsg8qw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=llU7CSX3ZCd4D3MyfKN0pttnXP9GU9UeAKDnGsXoEZA=; b=QPQdSWoOVE+MGTDHCyFopgqqeWCrsvOSUvzATOdbNELZF/vYbWRk9zslF6hsLoUvOE m7STXREGqOXEcLobk9gmboVjfwgjtYeU4K7WH1FHBo6kt52GS+sehAcO3IO2DpetA1VB 60amkS374cnCloUSVUR8pvNrxyr62rrnIzhTwVR7LlfMhI+V+RGfattpM/N9JDO8ZUM+ N6jY4+COTmT8Xki/o6WlZpToJysF4ZIXUsLXVtQiQcKYB4mZwzXFQ8Mkjnxr2QTq3rwR /Jp01dvJJhVrdabWZGTr0xEH9s8YuIpS+wln0QiQ3yWFZB14YuHawltLqazzlagEufIp QJFw== X-Gm-Message-State: AElRT7Fx9msEZndp0MR7oO4FVT8k2aXmlILsvFldn6HZxmT9WVm5THYa J5kSe25YZIYPubs1TO0/xkbsqg== X-Received: by 10.237.32.66 with SMTP id 60mr25010844qta.332.1520276679958; Mon, 05 Mar 2018 11:04:39 -0800 (PST) Received: from localhost ([103.249.91.80]) by smtp.gmail.com with ESMTPSA id d184sm9524820qka.68.2018.03.05.11.04.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Mar 2018 11:04:38 -0800 (PST) From: Amit Kucheria To: devicetree@vger.kernel.org Cc: Ram Chandrasekar , ilina@codeaurora.org, Zhang Rui , Eduardo Valentin , Rob Herring , Mark Rutland , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] thermal: of: Allow selection of thermal governor in DT Date: Tue, 6 Mar 2018 00:06:45 +0530 Message-Id: <3b80853abb45a9e067cf7a16754b07bb67712457.1520274879.git.amit.kucheria@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ram Chandrasekar There is currently no way for the governor to be selected for each thermal zone in devicetree. This results in the default governor being used for all thermal zones even though no such restriction exists in the core code. Add support for specifying the thermal governor to be used for a thermal zone in the devicetree. The devicetree config should specify the governor name as a string that matches any available governors. If not specified, we maintain the current behaviour of using the default governor. Signed-off-by: Ram Chandrasekar Signed-off-by: Amit Kucheria --- Documentation/devicetree/bindings/thermal/thermal.txt | 8 ++++++++ drivers/thermal/of-thermal.c | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/Documentation/devicetree/bindings/thermal/thermal.txt b/Documentation/devicetree/bindings/thermal/thermal.txt index 1719d47..fced9d3 100644 --- a/Documentation/devicetree/bindings/thermal/thermal.txt +++ b/Documentation/devicetree/bindings/thermal/thermal.txt @@ -168,6 +168,14 @@ Optional property: by means of sensor ID. Additional coefficients are interpreted as constant offset. +- thermal-governor: Thermal governor to be used for this thermal zone. + Expected values are: + "step_wise": Use step wise governor. + "fair_share": Use fair share governor. + "user_space": Use user space governor. + "power_allocator": Use power allocator governor. + Type: string + - sustainable-power: An estimate of the sustainable power (in mW) that the Type: unsigned thermal zone can dissipate at the desired Size: one cell control temperature. For reference, the diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c index e09f035..a884b01 100644 --- a/drivers/thermal/of-thermal.c +++ b/drivers/thermal/of-thermal.c @@ -974,6 +974,7 @@ int __init of_parse_thermal_zones(void) struct thermal_zone_params *tzp; int i, mask = 0; u32 prop; + const char *governor_name; tz = thermal_of_build_thermal_zone(child); if (IS_ERR(tz)) { @@ -996,6 +997,11 @@ int __init of_parse_thermal_zones(void) /* No hwmon because there might be hwmon drivers registering */ tzp->no_hwmon = true; + if (!of_property_read_string(child, "thermal-governor", + &governor_name)) + strlcpy(tzp->governor_name, governor_name, + THERMAL_NAME_LENGTH); + if (!of_property_read_u32(child, "sustainable-power", &prop)) tzp->sustainable_power = prop; -- 2.7.4