From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752573AbcAFIyf (ORCPT ); Wed, 6 Jan 2016 03:54:35 -0500 Received: from mail-pf0-f179.google.com ([209.85.192.179]:35346 "EHLO mail-pf0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752451AbcAFIyW (ORCPT ); Wed, 6 Jan 2016 03:54:22 -0500 From: Leo Yan To: Jonathan Corbet , Zhang Rui , Eduardo Valentin , Javi Merino , Punit Agrawal , Daniel Kurtz , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Daniel Thompson Cc: Leo Yan Subject: [PATCH v3 3/4] thermal: add sys node for k_pu_ratio/k_po_ratio Date: Wed, 6 Jan 2016 16:53:47 +0800 Message-Id: <1452070428-2567-4-git-send-email-leo.yan@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1452070428-2567-1-git-send-email-leo.yan@linaro.org> References: <1452070428-2567-1-git-send-email-leo.yan@linaro.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add two sys nodes for k_pu_ratio and k_po_ratio, so user can set ratio value from them. Also change k_pu/k_po as read only nodes, it will only be used to show proportional term constants which are calculated by ratio. Signed-off-by: Leo Yan --- drivers/thermal/thermal_core.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index d9e525c..bc149a67 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -955,8 +955,25 @@ static DEVICE_ATTR(sustainable_power, S_IWUSR | S_IRUGO, sustainable_power_show, } \ static DEVICE_ATTR(name, S_IWUSR | S_IRUGO, name##_show, name##_store) -create_s32_tzp_attr(k_po); -create_s32_tzp_attr(k_pu); + +#define create_s32_tzp_attr_ro(name) \ + static ssize_t \ + name##_show(struct device *dev, struct device_attribute *devattr, \ + char *buf) \ + { \ + struct thermal_zone_device *tz = to_thermal_zone(dev); \ + \ + if (tz->tzp) \ + return sprintf(buf, "%u\n", tz->tzp->name); \ + else \ + return -EIO; \ + } \ + static DEVICE_ATTR(name, S_IRUGO, name##_show, NULL) + +create_s32_tzp_attr_ro(k_po); +create_s32_tzp_attr_ro(k_pu); +create_s32_tzp_attr(k_po_ratio); +create_s32_tzp_attr(k_pu_ratio); create_s32_tzp_attr(k_i); create_s32_tzp_attr(k_d); create_s32_tzp_attr(integral_cutoff); @@ -968,6 +985,8 @@ static struct device_attribute *dev_tzp_attrs[] = { &dev_attr_sustainable_power, &dev_attr_k_po, &dev_attr_k_pu, + &dev_attr_k_po_ratio, + &dev_attr_k_pu_ratio, &dev_attr_k_i, &dev_attr_k_d, &dev_attr_integral_cutoff, -- 1.9.1