From patchwork Fri Feb 22 20:04:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826927 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F0AE91390 for ; Fri, 22 Feb 2019 20:06:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E022D32AA2 for ; Fri, 22 Feb 2019 20:06:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D468D32AAF; Fri, 22 Feb 2019 20:06:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7595332AA2 for ; Fri, 22 Feb 2019 20:06:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726973AbfBVUF1 (ORCPT ); Fri, 22 Feb 2019 15:05:27 -0500 Received: from mail-pf1-f193.google.com ([209.85.210.193]:41974 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725902AbfBVUFX (ORCPT ); Fri, 22 Feb 2019 15:05:23 -0500 Received: by mail-pf1-f193.google.com with SMTP id d25so1576508pfn.8; Fri, 22 Feb 2019 12:05:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+jZh7Eh81/e07UmRKgT1xJc4FS8H4ImGRVqTmq6uKzk=; b=hgn+Gf/nl9fDjssR8tGoiOaC4PUxAz8tXTdDgN639EP49iqmftVbx8ZNG9C8Yc1mxf gt3j64OkzJHqJp6W3pOhL/MxyfGz/qWEu7nLTUFmpWY6fhSbzr2KUJ66WZmb2OpTjs6K 9RB7EsFw12wlWc2+1A3RGZlTM33Se3UQdNeHvV74U31bMnXb8pxRxy3/aFX60l+e+3XK +mR+EMlsCnx9xQNl1w3R8HSXz9ZaPbtdXGy0GAEJy07VwClA7xJkMgXIa1qvqiEMaOeM rbc/fE1zqneLZCqCd/3HBmgdZ/Qg2h32mqnsb3/k7xpTG1g+e+qbK7rAmqIQaaAP78LO mCag== 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:mime-version:content-transfer-encoding; bh=+jZh7Eh81/e07UmRKgT1xJc4FS8H4ImGRVqTmq6uKzk=; b=Nnlht/3IGVMkYcycH1t4h3zHrhp5gorPSu2h/IRHucgYedRMQw+3lkaB2j4jy5mbPB biR+KcY2liboXhLKVozB1U8pERlyeDTeggeYAY3uyyD+A0nMMDxxS48gt/wBgo8QAXl3 6u/8BPw6nlpn0G7E9evWqbjDnD6rO7UQOPr/GphMbrpFpMhOYurMJPYghYxVoyQsbfQv rss6JplGUhe6N6XtivXoExzTPJe1Ealf+Ln/X6mLgeUUYaOGA54q5jaRJB86i80NUIeP CZmgdJl6HeOLPOfF9Hvilb/bnFvLPWOW1G5wTp7r7Jgc4lZIDrPDqUVJr3Jjm8hcyq22 mUUw== X-Gm-Message-State: AHQUAuY29Q8x2Bcbu2Xxz76ErCtcH6BRWvDyg+OaaTpUMZw50ZyFwmqa 6wQrVv4YkZXSIMtU5DNYNJhZrKTh X-Google-Smtp-Source: AHgI3IbvbGFp4j2lfi2wEBjPMdDXYJVxANMjypDtDzEDakxSaxSRMaZ3FtW8GZ+umhznhq4knL3o+A== X-Received: by 2002:a63:c042:: with SMTP id z2mr5596534pgi.307.1550865921911; Fri, 22 Feb 2019 12:05:21 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:21 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 01/13] thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() Date: Fri, 22 Feb 2019 12:04:56 -0800 Message-Id: <20190222200508.26325-2-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add devres wrapper for thermal_add_hwmon_sysfs() to simplify driver code. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/thermal_hwmon.c | 28 ++++++++++++++++++++++++++++ drivers/thermal/thermal_hwmon.h | 7 +++++++ 2 files changed, 35 insertions(+) diff --git a/drivers/thermal/thermal_hwmon.c b/drivers/thermal/thermal_hwmon.c index 40c69a533b24..4e79524182e1 100644 --- a/drivers/thermal/thermal_hwmon.c +++ b/drivers/thermal/thermal_hwmon.c @@ -244,3 +244,31 @@ void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz) kfree(hwmon); } EXPORT_SYMBOL_GPL(thermal_remove_hwmon_sysfs); + +static void devm_thermal_hwmon_release(struct device *dev, void *res) +{ + thermal_remove_hwmon_sysfs(*(struct thermal_zone_device **)res); +} + +int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz) +{ + struct thermal_zone_device **ptr; + int ret; + + ptr = devres_alloc(devm_thermal_hwmon_release, sizeof(*ptr), + GFP_KERNEL); + if (!ptr) + return -ENOMEM; + + ret = thermal_add_hwmon_sysfs(tz); + if (ret) { + devres_free(ptr); + return ret; + } + + *ptr = tz; + devres_add(&tz->device, ptr); + + return ret; +} +EXPORT_SYMBOL_GPL(devm_thermal_add_hwmon_sysfs); diff --git a/drivers/thermal/thermal_hwmon.h b/drivers/thermal/thermal_hwmon.h index a160b9d62dd0..1a9d65f6a6a8 100644 --- a/drivers/thermal/thermal_hwmon.h +++ b/drivers/thermal/thermal_hwmon.h @@ -17,6 +17,7 @@ #ifdef CONFIG_THERMAL_HWMON int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz); +int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz); void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz); #else static inline int @@ -25,6 +26,12 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz) return 0; } +static inline int +devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz) +{ + return 0; +} + static inline void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz) { From patchwork Fri Feb 22 20:04:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826929 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 673421390 for ; Fri, 22 Feb 2019 20:06:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 56EED32AA2 for ; Fri, 22 Feb 2019 20:06:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4B3AC32AAF; Fri, 22 Feb 2019 20:06:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E926F32AA2 for ; Fri, 22 Feb 2019 20:06:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726935AbfBVUF0 (ORCPT ); Fri, 22 Feb 2019 15:05:26 -0500 Received: from mail-pl1-f196.google.com ([209.85.214.196]:43408 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726821AbfBVUFY (ORCPT ); Fri, 22 Feb 2019 15:05:24 -0500 Received: by mail-pl1-f196.google.com with SMTP id m10so1547010plt.10; Fri, 22 Feb 2019 12:05:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8y87jgMHT7jVdzfBwwQEkDBcKypExDfglZwd0Y0PZzY=; b=LKEv3NoS7iZOr3NYj1vxCA872v3cEuKT5EhGglf9GOP4OoFXth+huECr45FxjkuQVK zMpdlgSjUQMfx0Vrvlof7znQt0cmEFLoXjq4dYaXQOyfjrvoZtSPgy9Pu0BNPPRopMLY r8t+qFHY0kkK3S85Ko7Un4DMXQTcZgxHTo+POZ8XXXsTfKIxpj0996y/2qKbBFr/HdUN uEPXNIE0ET4DQu5rf38Ke8DKPfGf5b5X1I6z739+B6v0p0oS5dWGRn0ZHnHw4eaipyD+ rSGOodGfSD0NmrwWxF5KXekbgDEV3ISWkK20HflIiwqZziHmybpcrmW4EB9a5DjZkMWk SQTg== 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:mime-version:content-transfer-encoding; bh=8y87jgMHT7jVdzfBwwQEkDBcKypExDfglZwd0Y0PZzY=; b=LaCnl5zLKRUP8wYQY+xqFYL1H4aep6nKPgv3voaH3htf6MR366yleiKWAU76yBDx6J +iaP73t2ajjY1n+01GHsrli3r/fT4iTi7+rR971+pHNfUbn6Pn0c7TAY8urlRor9K8mb 8+9mNcm0t3ITy7cP7syc844fVEd75pe1OFkFmh4brzUAY7kZpubW8gLvFETk3pvNouGM Lo2QAlgUQ678tkYTTpruAUsQyiNrp3wVkqAan88CWi3+iln5yokGTqGeiWKtS3IORDPZ 11coNF2xIYkjJPBSRrvTR3AsqaKtWqvmSOZFjwODt5qOO6jFJg4+ApwOfkNG1piUWKa5 VYIg== X-Gm-Message-State: AHQUAuaszIfKmfC+t/qNeG/It9ND+SGK88yd88KCLll0AFWi6nNI26PR ifn0HmhrkIorIB+LIZPPoywbumeC X-Google-Smtp-Source: AHgI3IZm5V3ynU5SUkhwVI1atygREeTFiWRTg1n1VcS25Hov2NH0iWegGF8O7yp3B3oBNWLlQVHNtw== X-Received: by 2002:a17:902:a50a:: with SMTP id s10mr5780638plq.223.1550865923491; Fri, 22 Feb 2019 12:05:23 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:22 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 02/13] thermal: qoriq: Remove unnecessary DT node is NULL check Date: Fri, 22 Feb 2019 12:04:57 -0800 Message-Id: <20190222200508.26325-3-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This driver is meant to be used with Device Tree and there's no use-case where device's DT node is going to be NULL. Remove code protecting against that. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 3b5f5b3fb1bc..7b364933bfb1 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -193,11 +193,6 @@ static int qoriq_tmu_probe(struct platform_device *pdev) struct qoriq_tmu_data *data; struct device_node *np = pdev->dev.of_node; - if (!np) { - dev_err(&pdev->dev, "Device OF-Node is NULL"); - return -ENODEV; - } - data = devm_kzalloc(&pdev->dev, sizeof(struct qoriq_tmu_data), GFP_KERNEL); if (!data) From patchwork Fri Feb 22 20:04:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826931 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 24005922 for ; Fri, 22 Feb 2019 20:06:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 10A9932AA2 for ; Fri, 22 Feb 2019 20:06:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 01B9432AAF; Fri, 22 Feb 2019 20:06:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9A13E32AA2 for ; Fri, 22 Feb 2019 20:06:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726874AbfBVUF0 (ORCPT ); Fri, 22 Feb 2019 15:05:26 -0500 Received: from mail-pl1-f196.google.com ([209.85.214.196]:34700 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726859AbfBVUFZ (ORCPT ); Fri, 22 Feb 2019 15:05:25 -0500 Received: by mail-pl1-f196.google.com with SMTP id d15so1576772plr.1; Fri, 22 Feb 2019 12:05:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RqQYEbw7qbcQ28zx/GP+6Ye+6dDiNruhORDqLkZOxE8=; b=R3vJ8k+C9OVEboCHMWNc4Q7K/T7zZRXlbOe2u/h+7v+sF6lBRjM3U+f6OmVdr0Avtv Tuv1+/ycxtXk5KEy74if8AeVY02hB9FGWnd7fbocLcsXYykh/634rdfg2doXb9Ll+V0A sId4JuWclDHaxzQItj82Zvmv8nqRskvwyDT+waQj0Q4ft4nyR7kuU42WdbnwFLhPu3kt jhyc3soXeYu5E6mHcFp+lbpPLcjv65AhPBU41scG6PIUL/a+RJSsigKXpT3SMTScxxJK ml8ctffygWGei30whbAtLS6lgB2gL6bgsEYXezO6trz9yHlm1qphDIG77V0EcmtErQxy NH5g== 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:mime-version:content-transfer-encoding; bh=RqQYEbw7qbcQ28zx/GP+6Ye+6dDiNruhORDqLkZOxE8=; b=NcnxafDUBAQFM9Fnm6E9oo+fccG0hjrFi/1h89XruMmtw0Equ/wemPz63b8mEdKDPn LQKYgRukoYMQkd84/l2/AS6ucKpIXZF0Tf4+M5FcuV9i+eNQ67JrXf4aEbn+z9B6q/Xq 1y28eHOgn0E9jynFialo6SG1ee/r+trbor1AaSp3RycpxY9A2avkL71/CwP2S0PVdQ9A FoPlYYLnShdapw9jVDDWoZKoicd2vY039EgXRUl0FbBkmVUPPwHTYc5Y02/VjIwp5bsf 2oWGQ9QZgjSU9e+hI6fjeS+4mNzfAv/ogPJGpa6b0BMYj5jStld1B6odDaEh7R04iJK7 cLqg== X-Gm-Message-State: AHQUAuYKG89986wCujkjrSgESjmRnl9o3Ea3fUibHPB+kuurgGe+pwxU ibWy3n1LjdpjBXSXvzmDwlNYAwdo X-Google-Smtp-Source: AHgI3IbFBbJXwmtzqZ9nZo7TyoqGYKujDjaxmey9BbzXC9pLOK1NLvlpWrdoonnVNXQyOnD5nLz8nA== X-Received: by 2002:a17:902:b615:: with SMTP id b21mr5943165pls.338.1550865924694; Fri, 22 Feb 2019 12:05:24 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:23 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 03/13] thermal: qoriq: Add local struct device pointer Date: Fri, 22 Feb 2019 12:04:58 -0800 Message-Id: <20190222200508.26325-4-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use a local "struct device *dev" for brevity. No functional change intended. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 7b364933bfb1..91f9f49d2776 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -192,8 +192,9 @@ static int qoriq_tmu_probe(struct platform_device *pdev) int ret; struct qoriq_tmu_data *data; struct device_node *np = pdev->dev.of_node; + struct device *dev = &pdev->dev; - data = devm_kzalloc(&pdev->dev, sizeof(struct qoriq_tmu_data), + data = devm_kzalloc(dev, sizeof(struct qoriq_tmu_data), GFP_KERNEL); if (!data) return -ENOMEM; @@ -204,7 +205,7 @@ static int qoriq_tmu_probe(struct platform_device *pdev) data->regs = of_iomap(np, 0); if (!data->regs) { - dev_err(&pdev->dev, "Failed to get memory region\n"); + dev_err(dev, "Failed to get memory region\n"); ret = -ENODEV; goto err_iomap; } @@ -217,7 +218,7 @@ static int qoriq_tmu_probe(struct platform_device *pdev) ret = qoriq_tmu_register_tmu_zone(pdev); if (ret < 0) { - dev_err(&pdev->dev, "Failed to register sensors\n"); + dev_err(dev, "Failed to register sensors\n"); ret = -ENODEV; goto err_iomap; } From patchwork Fri Feb 22 20:04:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826925 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5EB5B922 for ; Fri, 22 Feb 2019 20:06:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4D34932AA2 for ; Fri, 22 Feb 2019 20:06:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 418D732AAF; Fri, 22 Feb 2019 20:06:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D478632AA2 for ; Fri, 22 Feb 2019 20:06:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727036AbfBVUF1 (ORCPT ); Fri, 22 Feb 2019 15:05:27 -0500 Received: from mail-pg1-f196.google.com ([209.85.215.196]:33977 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726870AbfBVUF1 (ORCPT ); Fri, 22 Feb 2019 15:05:27 -0500 Received: by mail-pg1-f196.google.com with SMTP id i130so1609193pgd.1; Fri, 22 Feb 2019 12:05:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qnHZREnbOOJnUFH9pYZUBx2fu83ZLA3vaVq7g/VF7bA=; b=S+I8V6XSdYXv5tgFuS+k/2JOP5txTH4/mbLCyjS3o4pe0dkLMRmPTiLW+Zxjadi2sD Ql1FJWgLqy2mbS/yl4dU74/g/hkQeP4Bly7bncccYPXTSlBHVzoa/40nxLsPwAdIs7X9 Tg+hF4O1FD6hzRQ9eAin2of9IUDQOBXVtXuBEHrkjzis7aUXSazEpWHZbZ72+v1zoAtO RFtpA00wDoBWt3UC7fxTHNxVvzqndDReU0mGK0FoLQs2o1qU9q/nXQ27PqlJuVvakk4v WElPlxjyBasBGsUHTRkQtcgYD85lmTlZRGyNg7EXMrs5ZO4/QLNHRfK4BTII8gtYAvhH x9GA== 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:mime-version:content-transfer-encoding; bh=qnHZREnbOOJnUFH9pYZUBx2fu83ZLA3vaVq7g/VF7bA=; b=jFLQS/Ih7Jt0GqRJ03CUZcARS6wrnE0oa3daQe4KBecvY3DYJ8Uawpw/iVZrWnUQsT zfu9+bO4wuKY6fMm+dvUD28myFxgX+C4G4ijlUAF5Nw41HAqBvUGO1ypw0ZJPDkSSPfr Dyq4Kxfwf8zmhagO0r8us9WTtOIwYPrHWZxxLA6iFb26H8owbo9oIt3C320bd52Rz5DQ 3szec7aTzN9xewdnpMBIaT4cprmk71Nhw/NBhGgM8FGKmO3Ia1TGm4BxZagWlvcJXn0f LjcQCzkOf142gZVFoXyITL2dYEMMMjMY/21L7kll25pJIgdV/Wj8+oJoiw0F/R3dauDw Z4Bw== X-Gm-Message-State: AHQUAuYxtSCnJldsc/wJXuho4EdkZhO31sdDEnChMtN9Oq7dfB/prDdr GePVlk/WB3rlZg+8gT1SGG6zVoQn X-Google-Smtp-Source: AHgI3IYfAGmzaioulXIit52im69zsV2p8Ve1Y4NZCy7R9x0cXzyc3RV5NlhpQABZ7vAC/a6ikAnTag== X-Received: by 2002:a62:e716:: with SMTP id s22mr5880116pfh.35.1550865925893; Fri, 22 Feb 2019 12:05:25 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.24 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:25 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 04/13] thermal: qoriq: Don't store struct thermal_zone_device reference Date: Fri, 22 Feb 2019 12:04:59 -0800 Message-Id: <20190222200508.26325-5-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Struct thermal_zone_device reference stored as sensor's private data isn't really used anywhere in the code. Drop it. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 91f9f49d2776..6d40b9788266 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -65,7 +65,6 @@ struct qoriq_tmu_data; * Thermal zone data */ struct qoriq_sensor { - struct thermal_zone_device *tzd; struct qoriq_tmu_data *qdata; int id; }; @@ -114,6 +113,8 @@ static int qoriq_tmu_register_tmu_zone(struct platform_device *pdev) int id, sites = 0; for (id = 0; id < SITES_MAX; id++) { + struct thermal_zone_device *tzd; + qdata->sensor[id] = devm_kzalloc(&pdev->dev, sizeof(struct qoriq_sensor), GFP_KERNEL); if (!qdata->sensor[id]) @@ -121,13 +122,15 @@ static int qoriq_tmu_register_tmu_zone(struct platform_device *pdev) qdata->sensor[id]->id = id; qdata->sensor[id]->qdata = qdata; - qdata->sensor[id]->tzd = devm_thermal_zone_of_sensor_register( - &pdev->dev, id, qdata->sensor[id], &tmu_tz_ops); - if (IS_ERR(qdata->sensor[id]->tzd)) { - if (PTR_ERR(qdata->sensor[id]->tzd) == -ENODEV) + + tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id, + qdata->sensor[id], + &tmu_tz_ops); + if (IS_ERR(tzd)) { + if (PTR_ERR(tzd) == -ENODEV) continue; else - return PTR_ERR(qdata->sensor[id]->tzd); + return PTR_ERR(tzd); } sites |= 0x1 << (15 - id); From patchwork Fri Feb 22 20:05:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826923 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 51FE21390 for ; Fri, 22 Feb 2019 20:06:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 41B4F32AA2 for ; Fri, 22 Feb 2019 20:06:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3641732AAF; Fri, 22 Feb 2019 20:06:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B6D3232AA2 for ; Fri, 22 Feb 2019 20:06:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727136AbfBVUGQ (ORCPT ); Fri, 22 Feb 2019 15:06:16 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:42655 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727043AbfBVUF2 (ORCPT ); Fri, 22 Feb 2019 15:05:28 -0500 Received: by mail-pg1-f195.google.com with SMTP id b2so1586845pgl.9; Fri, 22 Feb 2019 12:05:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OWap+FuDLTMKjkkjOi856/2EP8no+rnORSM8vdjyhGk=; b=nytu5cWUYGTsm2lexTtlcz7tRK69/DUdBZQLx9a/8ytSV5UkFejUY3OWn9OVauNaZT nadLem7uMy3uzYL4px1T4mchKiKZ2H+KEkpvAdOLWDkgejNKtIxvGTz7pQAboJUPHper IkkIrkGu+FVaFseOnVaKxc3ybLfMxgiiEtWDRhx3ALoM6zKzb/p+jqDchv9ofZDtr7iD NK7rWij6oIwSrKhOtHSGP/Ff3bxswo96XW8lKgWqlIz88NInl8U1rWGXKKYQWajoD/L1 eR2Rs8W4hzsm7p64fi8boPvpj9mGCrq7Cd/fr5qVqGtUvxM8TTYk3tvcPcS3MWymOQF5 i1ww== 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:mime-version:content-transfer-encoding; bh=OWap+FuDLTMKjkkjOi856/2EP8no+rnORSM8vdjyhGk=; b=ND5EtAyepWNhiWXRiTyhIsfm3pz2z+9ZwWekvBCfvXT1qNtIlYC4GZ0jvtDbbOduOa H8vSzoB4FFHImeJJ7rJsu7aXVuA21QMK+iL62hpxi27phn81ko3Z8pE5w2Txav+fgP02 2EsTNXaDrFTm35MIFZw2pIVbOzGVwoqmS4h9k7EK0wI9NOFdE7sSCwcLIjKnZetEIlS9 YkfdrzDn1pZ5qOTArrNB82Cc2+eFsxbF1jk+913gIUEVh+jSGmsyq4VFW7CZfQ/CdDV3 gqb8sixs7jAIwbWQkvFD+mywGROnr0sHGRU7PU5aL+Fkd/ezZA4GDE36hpijrYyYtkJ2 ITvg== X-Gm-Message-State: AHQUAuZkFRw2az61I8e3D4b/Sy1rbmPvY1CIo4oR1pOkdf3NsUG6+wlr eQVMwZmfoZotvkB21ypnEk9uDzr3 X-Google-Smtp-Source: AHgI3IbACW3QSG1YtiZ7CDnN1/W5V9ccVTj8CF/NkDzxaDIl4XgUTpUnGJR4MvM1qrBU1u4PZ3HrXg== X-Received: by 2002:a62:4254:: with SMTP id p81mr5907115pfa.185.1550865927035; Fri, 22 Feb 2019 12:05:27 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:26 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 05/13] thermal: qoriq: Add local struct qoriq_sensor pointer Date: Fri, 22 Feb 2019 12:05:00 -0800 Message-Id: <20190222200508.26325-6-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add local struct qoriq_sensor pointer in qoriq_tmu_register_tmu_zone() for brevity. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 6d40b9788266..e281bdcfa11f 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -114,18 +114,18 @@ static int qoriq_tmu_register_tmu_zone(struct platform_device *pdev) for (id = 0; id < SITES_MAX; id++) { struct thermal_zone_device *tzd; + struct qoriq_sensor *s; - qdata->sensor[id] = devm_kzalloc(&pdev->dev, + s = qdata->sensor[id] = devm_kzalloc(&pdev->dev, sizeof(struct qoriq_sensor), GFP_KERNEL); if (!qdata->sensor[id]) return -ENOMEM; - qdata->sensor[id]->id = id; - qdata->sensor[id]->qdata = qdata; + s->id = id; + s->qdata = qdata; tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id, - qdata->sensor[id], - &tmu_tz_ops); + s, &tmu_tz_ops); if (IS_ERR(tzd)) { if (PTR_ERR(tzd) == -ENODEV) continue; From patchwork Fri Feb 22 20:05:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826921 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CBEB81390 for ; Fri, 22 Feb 2019 20:06:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BB05F32AA2 for ; Fri, 22 Feb 2019 20:06:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AF0A132AAF; Fri, 22 Feb 2019 20:06:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 39C5232AA2 for ; Fri, 22 Feb 2019 20:06:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727616AbfBVUGJ (ORCPT ); Fri, 22 Feb 2019 15:06:09 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:33359 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727136AbfBVUF3 (ORCPT ); Fri, 22 Feb 2019 15:05:29 -0500 Received: by mail-pg1-f195.google.com with SMTP id h11so1612067pgl.0; Fri, 22 Feb 2019 12:05:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8IpqrOjtcHvSHZzGSsy3LrpVR3xBgwuw+n4I/t+wAj8=; b=tK9hd+yam+zxDMwJOulwwlm/sH5qBgOKWE2uxObg8BBMfHWJIFM68fK3kCWdvtFc+l bJrEjhqleW909qYiq0g+JbisXJ8+efN31sPhSAjtSIsxCQ8vaMYhuf0+9T8uF2Dq8rdh zoqLqZIZqFbesmDDjhEH4CYaw/HYaOm/WxIF+C3mpyLk8OuwKPpcjteQvwOQ7HBmECao uJAvI4pFjQPeWoox0hhTtzdnWZ9wdxvY+Dr19q3TAdavR1YO7zgn+kzU4M/hjc7CtQB5 RnJwhWnZC6eKJlMZRRMtoZ1CstfE6oBnO/XMnb6fJk3eAmQetkoM7aF1aSsdl/3aRsri 2+oA== 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:mime-version:content-transfer-encoding; bh=8IpqrOjtcHvSHZzGSsy3LrpVR3xBgwuw+n4I/t+wAj8=; b=ofURtS1oPHiKjnjymem73210LWCI9QUrt5wYmAS4OipAchU005LLYEHdEHRW09Sbk/ D/ztEeq39ROY1KQRiAv101uTDiSMYIvLh+Xt9H84eUkvT0AA2KK00RIfnL93R8axGmrr SZ/Av4a4UVLbto4e92+2YcJNMWvxlHdPHuMcq2MabRLD/gGe1f/hqJk9aCtrZVEOP4b5 Ooy2b9gZRqdASTkc1748OiLrmMuIrhV9dA6/Ps1C5yyUPcoBHLICzQNRAatiEoFPOQ/Z IV1+Ms5hd2aaCfi/cfW5MrR8L2bBNgwxQNf5XS+kegRuT+bw/Bu8Yhjr6OIWr9Ut1U+C faXg== X-Gm-Message-State: AHQUAubLLD3xeWwFohJ6aot/V+jQMk390CKY6bQWPE4BUkgfZfMcGPvh f0O4/COZCTnKKTxES6opKqsZUOW9 X-Google-Smtp-Source: AHgI3IY+yogH+r8S+nP917T5Bfx7tVf/DHo7Yz/3ha9F80VsfBnSDfiHV98TNBcGXcMu07EdnCXDnQ== X-Received: by 2002:a62:6ec3:: with SMTP id j186mr6143508pfc.89.1550865928260; Fri, 22 Feb 2019 12:05:28 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:27 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 06/13] thermal: qoriq: Embed per-sensor data into struct qoriq_tmu_data Date: Fri, 22 Feb 2019 12:05:01 -0800 Message-Id: <20190222200508.26325-7-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Embed per-sensor data into struct qoriq_tmu_data so we can drop the code allocating it. This also allows us to get rid of per-sensor back reference to struct qoriq_tmu_data since now its address can be caluclated using container_of(). Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index e281bdcfa11f..deb5cb6a0baf 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -59,22 +59,24 @@ struct qoriq_tmu_regs { u32 ttr3cr; /* Temperature Range 3 Control Register */ }; -struct qoriq_tmu_data; - /* * Thermal zone data */ struct qoriq_sensor { - struct qoriq_tmu_data *qdata; int id; }; struct qoriq_tmu_data { struct qoriq_tmu_regs __iomem *regs; bool little_endian; - struct qoriq_sensor *sensor[SITES_MAX]; + struct qoriq_sensor sensor[SITES_MAX]; }; +static struct qoriq_tmu_data *qoriq_sensor_to_data(struct qoriq_sensor *s) +{ + return container_of(s, struct qoriq_tmu_data, sensor[s->id]); +} + static void tmu_write(struct qoriq_tmu_data *p, u32 val, void __iomem *addr) { if (p->little_endian) @@ -94,7 +96,7 @@ static u32 tmu_read(struct qoriq_tmu_data *p, void __iomem *addr) static int tmu_get_temp(void *p, int *temp) { struct qoriq_sensor *qsensor = p; - struct qoriq_tmu_data *qdata = qsensor->qdata; + struct qoriq_tmu_data *qdata = qoriq_sensor_to_data(qsensor); u32 val; val = tmu_read(qdata, &qdata->regs->site[qsensor->id].tritsr); @@ -114,15 +116,9 @@ static int qoriq_tmu_register_tmu_zone(struct platform_device *pdev) for (id = 0; id < SITES_MAX; id++) { struct thermal_zone_device *tzd; - struct qoriq_sensor *s; - - s = qdata->sensor[id] = devm_kzalloc(&pdev->dev, - sizeof(struct qoriq_sensor), GFP_KERNEL); - if (!qdata->sensor[id]) - return -ENOMEM; + struct qoriq_sensor *s = &qdata->sensor[id]; s->id = id; - s->qdata = qdata; tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id, s, &tmu_tz_ops); From patchwork Fri Feb 22 20:05:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826919 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7A252922 for ; Fri, 22 Feb 2019 20:06:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6845D32AA2 for ; Fri, 22 Feb 2019 20:06:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 59A6232AAF; Fri, 22 Feb 2019 20:06:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F3FBA32AA2 for ; Fri, 22 Feb 2019 20:06:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726626AbfBVUGB (ORCPT ); Fri, 22 Feb 2019 15:06:01 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:37903 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725902AbfBVUFb (ORCPT ); Fri, 22 Feb 2019 15:05:31 -0500 Received: by mail-pf1-f196.google.com with SMTP id n125so1582334pfn.5; Fri, 22 Feb 2019 12:05:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ALuml21G4Ywv24KAK+ARP7cSE7V/ZSRKsgQgFppFhh4=; b=ZZWNJvg3hqsz05snIRPVgmaTz0NZgjNRccITxPHB1kJx9x7OFr7e1plWvM9zyzHorl o7QHiCQbcxgmZoYuPfg1ULbs4lfFQCDLRkS7TYmX+l6+QxVWtJsTfdAkK+Z3LHzOo/1W YEq92g105HyLBlvA5MsTQrJ+TT3rfkAmS4UaTv4r4/imQyYSWPpHtkOw5rZlumIxhUPV 5A+SU2FwshSbm7VyM7Vj3r4cL3ZFBCAHbWqhQVqD0n9hzLgS/XZ7KI17abmT2+iOvqT9 UJAC4YECOl3oHuh+F25nbbBPgKrluXkvNf2COsakAxZgqUFTG3tW5hXGbsg17U1YP2uj rRXg== 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:mime-version:content-transfer-encoding; bh=ALuml21G4Ywv24KAK+ARP7cSE7V/ZSRKsgQgFppFhh4=; b=mt5xSJ4QoHqfQNPd3J7gnbxhfe9b7K+7duJTECE6L5De8qwJHjcKwaAK6JJ8LVJOri XODfWLFFK07xGj/TKl6RQDOm9pREi9SBpMKpvQur88vViEEj+91sPsnJdAQsgSfjTZWm iGhFEn02Wb0x0YADZN6eH298b76XYgD+ERf6gnTf97YY/b8XKdJ8LgydRkcwf861gUuw tpOlpox0vw4Wj64IqEOEpcNqi0HBhlpv8kpoKZtm7DcBzU0N5UpgrEIq8IObKUemIMv9 67dTSh0B/cOaMwQpPQLw5SWsosfqEr1rvQ8jdM5TpB1zBTaibyvHoeZNKP8CHMVC8P5S WxQQ== X-Gm-Message-State: AHQUAuboqvAHIT0+46kKT9QRZl4MidU9QJ6Tdip4GiKVsVt8xnuJJNOA hWFZP+Q7ggDLYo54llcCvmHwlM1N X-Google-Smtp-Source: AHgI3Ibs+kB9zPHap4S1m9JJu8qclZ3NET8P1DEm3UrU+NnOlgyGQXNb62AYqW+1HnyEO4/zBI4IzQ== X-Received: by 2002:a62:1981:: with SMTP id 123mr5893014pfz.69.1550865929795; Fri, 22 Feb 2019 12:05:29 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.28 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:29 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 07/13] thermal: qoriq: Pass data to qoriq_tmu_register_tmu_zone() directly Date: Fri, 22 Feb 2019 12:05:02 -0800 Message-Id: <20190222200508.26325-8-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Pass all necessary data to qoriq_tmu_register_tmu_zone() directly instead of passing a paltform device and then deriving it. This is done as a first step to simplify resource deallocation code. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index deb5cb6a0baf..24a2a57f61c9 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -109,9 +109,9 @@ static const struct thermal_zone_of_device_ops tmu_tz_ops = { .get_temp = tmu_get_temp, }; -static int qoriq_tmu_register_tmu_zone(struct platform_device *pdev) +static int qoriq_tmu_register_tmu_zone(struct device *dev, + struct qoriq_tmu_data *qdata) { - struct qoriq_tmu_data *qdata = platform_get_drvdata(pdev); int id, sites = 0; for (id = 0; id < SITES_MAX; id++) { @@ -120,7 +120,7 @@ static int qoriq_tmu_register_tmu_zone(struct platform_device *pdev) s->id = id; - tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id, + tzd = devm_thermal_zone_of_sensor_register(dev, id, s, &tmu_tz_ops); if (IS_ERR(tzd)) { if (PTR_ERR(tzd) == -ENODEV) @@ -215,7 +215,7 @@ static int qoriq_tmu_probe(struct platform_device *pdev) if (ret < 0) goto err_tmu; - ret = qoriq_tmu_register_tmu_zone(pdev); + ret = qoriq_tmu_register_tmu_zone(dev, data); if (ret < 0) { dev_err(dev, "Failed to register sensors\n"); ret = -ENODEV; From patchwork Fri Feb 22 20:05:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826917 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D6D2F922 for ; Fri, 22 Feb 2019 20:06:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C583B32AA2 for ; Fri, 22 Feb 2019 20:06:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BA11E32AAF; Fri, 22 Feb 2019 20:06:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 55B5B32AA2 for ; Fri, 22 Feb 2019 20:06:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727330AbfBVUFe (ORCPT ); Fri, 22 Feb 2019 15:05:34 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:43857 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727287AbfBVUFc (ORCPT ); Fri, 22 Feb 2019 15:05:32 -0500 Received: by mail-pf1-f195.google.com with SMTP id q17so1565066pfh.10; Fri, 22 Feb 2019 12:05:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DF+U7jec2vwBq5RISWjZK21z6pkE4cy5vtWadcx9fKU=; b=OXfl028OrtCJoksAex41Ke6wdyAeILRlnOcHwkK4adqj6xM8fKuBBzo61SNPHnTnKQ //DroY0NhcSt1w7cueIAIfGR8Pi9UTwCPdpTWjf3GtT5cqRO42LAjlyp8U2JLB7eGoUk VCyKbhbxmgufTJwhb5GTCHxT95Xalc3hXnaweYtYVpeGkYLad6W1X4kCIEH8lJFxoK5z zMEch/9uWaBiKa3bk7TD82DUxYhEEgKEqzjNV0ZeIb/jJdgo874LsxUEEb8UPCO+Q+gF TyEPIaLr03/ZSyO02eODQOWWjXO8ly7bK7CAFrqA8nZS1baSz2NBKQIlN8yu4il7Ijgc XGeA== 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:mime-version:content-transfer-encoding; bh=DF+U7jec2vwBq5RISWjZK21z6pkE4cy5vtWadcx9fKU=; b=WRKlsoNy0Z0cQ62M/hW3nHTt9Qgugt/Wgswj+jA90Dlq1WrFxMknooKVSyeyKC7gMu ZGwwWlI4S10SzfpTHtl865TgnAojF7nZr5euzcSIhRJ64LVya0hyr3YH/U0uLhClIash S/4GPZksQcf4c28zmzoT5nPrR5pOBqLTVhtSgau19DmlvZOSW1q+eH6mykr4dXv3RdFt yXMSpAfcDUeU3iKc3VJOu8B0eUvp0juy/i878ySKrwsEUrvdkR3Wc09brBxyvYORkDNL t75VvdOVckjiHHpSV8dpV4+MZszBnyyRhu1zwX/p6oSXrKQK//VuAYWSPvj30oDRBVBv tTZA== X-Gm-Message-State: AHQUAuabRHnmKJ6xHhdKqlfVIEib9porKvZ5UJ6UhxLs/XGr/v7jOt4H PEFTZRCrm8+SVV4LVGr+SxBwWHnp X-Google-Smtp-Source: AHgI3IY4nNdUeEGR7BAfsxd0YjXL3R+WhU/LfTn2q6Brs95UZueR/hJfdf6jc6jOXc92TSSfD7nUgg== X-Received: by 2002:a63:2905:: with SMTP id p5mr5639170pgp.178.1550865930950; Fri, 22 Feb 2019 12:05:30 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:30 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 08/13] thermal: qoriq: Pass data to qoriq_tmu_calibration() directly Date: Fri, 22 Feb 2019 12:05:03 -0800 Message-Id: <20190222200508.26325-9-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We can simplify error cleanup code if instead of passing a "struct platform_device *" to qoriq_tmu_calibration() and deriving a bunch of pointers from it, we pass those pointers directly. This way we won't be force to call platform_set_drvdata() as early in qoriq_tmu_probe() and consequently would be able to drop the "err_iomap" error path. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 24a2a57f61c9..a3ddb55740e4 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -139,16 +139,16 @@ static int qoriq_tmu_register_tmu_zone(struct device *dev, return 0; } -static int qoriq_tmu_calibration(struct platform_device *pdev) +static int qoriq_tmu_calibration(struct device *dev, + struct qoriq_tmu_data *data) { int i, val, len; u32 range[4]; const u32 *calibration; - struct device_node *np = pdev->dev.of_node; - struct qoriq_tmu_data *data = platform_get_drvdata(pdev); + struct device_node *np = dev->of_node; if (of_property_read_u32_array(np, "fsl,tmu-range", range, 4)) { - dev_err(&pdev->dev, "missing calibration range.\n"); + dev_err(dev, "missing calibration range.\n"); return -ENODEV; } @@ -160,7 +160,7 @@ static int qoriq_tmu_calibration(struct platform_device *pdev) calibration = of_get_property(np, "fsl,tmu-calibration", &len); if (calibration == NULL || len % 8) { - dev_err(&pdev->dev, "invalid calibration data.\n"); + dev_err(dev, "invalid calibration data.\n"); return -ENODEV; } @@ -198,20 +198,17 @@ static int qoriq_tmu_probe(struct platform_device *pdev) if (!data) return -ENOMEM; - platform_set_drvdata(pdev, data); - data->little_endian = of_property_read_bool(np, "little-endian"); data->regs = of_iomap(np, 0); if (!data->regs) { dev_err(dev, "Failed to get memory region\n"); - ret = -ENODEV; - goto err_iomap; + return -ENODEV; } qoriq_tmu_init_device(data); /* TMU initialization */ - ret = qoriq_tmu_calibration(pdev); /* TMU calibration */ + ret = qoriq_tmu_calibration(dev, data); /* TMU calibration */ if (ret < 0) goto err_tmu; @@ -222,14 +219,13 @@ static int qoriq_tmu_probe(struct platform_device *pdev) goto err_iomap; } + platform_set_drvdata(pdev, data); + return 0; err_tmu: iounmap(data->regs); -err_iomap: - platform_set_drvdata(pdev, NULL); - return ret; } From patchwork Fri Feb 22 20:05:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826907 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B5A811390 for ; Fri, 22 Feb 2019 20:05:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A493532AA2 for ; Fri, 22 Feb 2019 20:05:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 987B732AAF; Fri, 22 Feb 2019 20:05:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8684832AA2 for ; Fri, 22 Feb 2019 20:05:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727314AbfBVUFe (ORCPT ); Fri, 22 Feb 2019 15:05:34 -0500 Received: from mail-pf1-f193.google.com ([209.85.210.193]:42834 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727313AbfBVUFd (ORCPT ); Fri, 22 Feb 2019 15:05:33 -0500 Received: by mail-pf1-f193.google.com with SMTP id n74so1572501pfi.9; Fri, 22 Feb 2019 12:05:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dqLLLZ7SNRbhZcaZxD3tUMVt6ASJUlU3TajMCB0kElk=; b=gObyBCe4QBfTlzpYe9OKwBa9Twj4xooPPwGYrIxh5l7qTTwFx5whq4T/qCnkmvISnP WJj0T5a3mxGq26W0LEz8LbcNgQciVL7T/Fs61U6YZ9x4EoWQuaEDyLUb333zolm+q30t G4c0O/9TTdwfeCcz5e1xkSc5UDH8wJYO9cZTN1ve8TKGwaR7SsLar78UL6dffS33igFi yP9BuASa8wh6k/HqRrD5qt8u5tZN1T7HOUOu8vVHAg6NkJzhzzAdop7tFn5Gb/zhe/lF c2dn9bn/V8ld4kdcUQOW0Z8q9blVfD5k+YYrIyN1xVCgGailEHiZjP/jPSYJNkU22QdE JDPA== 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:mime-version:content-transfer-encoding; bh=dqLLLZ7SNRbhZcaZxD3tUMVt6ASJUlU3TajMCB0kElk=; b=pkEXG9M+nZ7KoFEOcHYNPqWZtaWLgB1/m1r2GGlUTRpjSZN0OLDkIq1NXZamWXCctr RL6ECIeK6/z/WeQfGwAp5KBNPCp3vmXxqAWjdy+tWjOdr1pyN0sUJ4AbSD3DJBVxLGuM WqUUU1v20QffvZIBTlZAFnG/gtEKr2W38NYPbYwaY/cjU7xDi9L1mZ2kX4zXnz7QFSGu wezG2MrctnMRLd3nAFT2Db2zO5L2/a0lMFguOh37QAfe9hBaX/3C80ibfyaKD38htr37 Du3fWQb/WTEN54IA1Nm3XMS/HuXN8Z0v3g+4p1b9L0IxiB5cSe09QCtRa9yfsDaUsS4J 4S3Q== X-Gm-Message-State: AHQUAuYKorH1OiUI4KDMzyJwf7gDU7rp1iqVAFs3D/pns5A3Sc/oEOJc awdJ2xa//t8ViK8Orf+XDM5GTfHn X-Google-Smtp-Source: AHgI3IaLSgzhU5mgYIzLEAEAwXC8gAgqhwTdZwNxoZH5nvnVpGxwdOzBrgpR4wfSYkyiV61dU1vi8Q== X-Received: by 2002:a65:63c1:: with SMTP id n1mr5494974pgv.339.1550865932193; Fri, 22 Feb 2019 12:05:32 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:31 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 09/13] thermal: qoriq: Convert driver to use devm_ioremap() Date: Fri, 22 Feb 2019 12:05:04 -0800 Message-Id: <20190222200508.26325-10-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Convert driver to use devm_ioremap() to simplify memory deallocation and error handling code. No functional change intended. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index a3ddb55740e4..4f9a2543f9c3 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -192,6 +192,7 @@ static int qoriq_tmu_probe(struct platform_device *pdev) struct qoriq_tmu_data *data; struct device_node *np = pdev->dev.of_node; struct device *dev = &pdev->dev; + struct resource *io; data = devm_kzalloc(dev, sizeof(struct qoriq_tmu_data), GFP_KERNEL); @@ -200,7 +201,13 @@ static int qoriq_tmu_probe(struct platform_device *pdev) data->little_endian = of_property_read_bool(np, "little-endian"); - data->regs = of_iomap(np, 0); + io = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!io) { + dev_err(dev, "Failed to get memory region\n"); + return -ENODEV; + } + + data->regs = devm_ioremap(dev, io->start, resource_size(io)); if (!data->regs) { dev_err(dev, "Failed to get memory region\n"); return -ENODEV; @@ -210,23 +217,17 @@ static int qoriq_tmu_probe(struct platform_device *pdev) ret = qoriq_tmu_calibration(dev, data); /* TMU calibration */ if (ret < 0) - goto err_tmu; + return ret; ret = qoriq_tmu_register_tmu_zone(dev, data); if (ret < 0) { dev_err(dev, "Failed to register sensors\n"); - ret = -ENODEV; - goto err_iomap; + return -ENODEV; } platform_set_drvdata(pdev, data); return 0; - -err_tmu: - iounmap(data->regs); - - return ret; } static int qoriq_tmu_remove(struct platform_device *pdev) @@ -236,7 +237,6 @@ static int qoriq_tmu_remove(struct platform_device *pdev) /* Disable monitoring */ tmu_write(data, TMR_DISABLE, &data->regs->tmr); - iounmap(data->regs); platform_set_drvdata(pdev, NULL); return 0; From patchwork Fri Feb 22 20:05:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826915 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0AA43922 for ; Fri, 22 Feb 2019 20:06:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EC16D32AA2 for ; Fri, 22 Feb 2019 20:06:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E0ADD32AAF; Fri, 22 Feb 2019 20:06:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1931532AA2 for ; Fri, 22 Feb 2019 20:06:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727349AbfBVUFf (ORCPT ); Fri, 22 Feb 2019 15:05:35 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:33366 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726870AbfBVUFe (ORCPT ); Fri, 22 Feb 2019 15:05:34 -0500 Received: by mail-pg1-f194.google.com with SMTP id h11so1612174pgl.0; Fri, 22 Feb 2019 12:05:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9XY+ugiPPAkJp+i83QkRCEIBKiWBX+hii48RuVN1ac4=; b=E9MfM0NkQgj606WsVgUAo5J6msZqb7iRrtjqH/0xZwmDWYZlKDoah4yTvf+CS4g/nm 4FgKicr+I41Q1Xe507VRdQXJDKX3Vc6ZqtlAR/4vszqmU65brp9Udfj3e/E4MfcG/OOW taka+1RYIMnGB6d/zk9GPTgFo66zlZrWsF0o/97Ck34oI7MkBcAdnW6GhcnkLuNmw8rM O/vB1Wnn4KhYC1pCHJQ5icRMuEnRfYWoDE4E0s/hRuJfzhEGh37TUjzMTFP3S8a9PA6j bFgAf9oPM5ImHKp18kaaKaLBHD7rZIWzYapX8VHbE19WcYE7tONHR1srtkAWgcrniW7H EwBg== 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:mime-version:content-transfer-encoding; bh=9XY+ugiPPAkJp+i83QkRCEIBKiWBX+hii48RuVN1ac4=; b=DB2Dyy6uAgZ39ZI1cP6w/knK5uX0nK4lVaJLJVmuFsKIZ2hTgFg+Sj4EI7aoLIWrnW EaVQey5J7bPpvmixFFhH40utxFEcZTC8OfvLejaSlPhC0Txs5AbDbpNYCtBpUgx5mTqz p6wMKjaB819GXdQ/T0LcHWpu1K1Cf8vw4m1htZ6rbeZQYVROUzy/5wvMG5ZKJjy821Pa b/OP+CCDpmfWltsnPh1Pr9Z1oaC+GCJIORbU6dOXhfrjdKNKIo8+R778QtAoXPAHX/z4 nPPsrtuIMBT4ftkiUxaeSVO+8xeSACZqzW60UKsPoWuL9EOwS6d6X3Wftjjz5xoJeVRs Y4FA== X-Gm-Message-State: AHQUAuaCX3Q7Qlk2hdc004ZEC/K/ELxP4IOv9HR8D5PfCfX1qjGCpn6I sjFJElh9Zkapu8fa0hSf4jr3JxoX X-Google-Smtp-Source: AHgI3IaydFfAr8a0AltbdkOsYSId/cUsPmcY2nT8hNHxC4B2HdAIgsjCQrlN4s4IJR7Md7N+UHpMyg== X-Received: by 2002:a65:6091:: with SMTP id t17mr5677360pgu.416.1550865933429; Fri, 22 Feb 2019 12:05:33 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:32 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 10/13] thermal: qoriq: Convert driver to use regmap API Date: Fri, 22 Feb 2019 12:05:05 -0800 Message-Id: <20190222200508.26325-11-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Convert driver to use regmap API, drop custom LE/BE IO helpers and simplify bit manipulation using regmap_update_bits(). This also allows us to convert some register initialization to use loops and adds convenient debug access to TMU registers via debugfs. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 159 +++++++++++++++----------------- 1 file changed, 74 insertions(+), 85 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 4f9a2543f9c3..a909acee4354 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include "thermal_core.h" @@ -17,48 +18,27 @@ /* * QorIQ TMU Registers */ -struct qoriq_tmu_site_regs { - u32 tritsr; /* Immediate Temperature Site Register */ - u32 tratsr; /* Average Temperature Site Register */ - u8 res0[0x8]; -}; -struct qoriq_tmu_regs { - u32 tmr; /* Mode Register */ +#define REGS_TMR 0x000 /* Mode Register */ #define TMR_DISABLE 0x0 #define TMR_ME 0x80000000 #define TMR_ALPF 0x0c000000 - u32 tsr; /* Status Register */ - u32 tmtmir; /* Temperature measurement interval Register */ + +#define REGS_TMTMIR 0x008 /* Temperature measurement interval Register */ #define TMTMIR_DEFAULT 0x0000000f - u8 res0[0x14]; - u32 tier; /* Interrupt Enable Register */ + +#define REGS_TIER 0x020 /* Interrupt Enable Register */ #define TIER_DISABLE 0x0 - u32 tidr; /* Interrupt Detect Register */ - u32 tiscr; /* Interrupt Site Capture Register */ - u32 ticscr; /* Interrupt Critical Site Capture Register */ - u8 res1[0x10]; - u32 tmhtcrh; /* High Temperature Capture Register */ - u32 tmhtcrl; /* Low Temperature Capture Register */ - u8 res2[0x8]; - u32 tmhtitr; /* High Temperature Immediate Threshold */ - u32 tmhtatr; /* High Temperature Average Threshold */ - u32 tmhtactr; /* High Temperature Average Crit Threshold */ - u8 res3[0x24]; - u32 ttcfgr; /* Temperature Configuration Register */ - u32 tscfgr; /* Sensor Configuration Register */ - u8 res4[0x78]; - struct qoriq_tmu_site_regs site[SITES_MAX]; - u8 res5[0x9f8]; - u32 ipbrr0; /* IP Block Revision Register 0 */ - u32 ipbrr1; /* IP Block Revision Register 1 */ - u8 res6[0x310]; - u32 ttr0cr; /* Temperature Range 0 Control Register */ - u32 ttr1cr; /* Temperature Range 1 Control Register */ - u32 ttr2cr; /* Temperature Range 2 Control Register */ - u32 ttr3cr; /* Temperature Range 3 Control Register */ -}; +#define REGS_TTCFGR 0x080 /* Temperature Configuration Register */ +#define REGS_TSCFGR 0x084 /* Sensor Configuration Register */ + +#define REGS_TRITSR(n) (0x100 + 16 * (n)) /* Immediate Temperature + * Site Register + */ +#define REGS_TTRnCR(n) (0xf10 + 4 * (n)) /* Temperature Range n + * Control Register + */ /* * Thermal zone data */ @@ -67,8 +47,7 @@ struct qoriq_sensor { }; struct qoriq_tmu_data { - struct qoriq_tmu_regs __iomem *regs; - bool little_endian; + struct regmap *regmap; struct qoriq_sensor sensor[SITES_MAX]; }; @@ -77,29 +56,13 @@ static struct qoriq_tmu_data *qoriq_sensor_to_data(struct qoriq_sensor *s) return container_of(s, struct qoriq_tmu_data, sensor[s->id]); } -static void tmu_write(struct qoriq_tmu_data *p, u32 val, void __iomem *addr) -{ - if (p->little_endian) - iowrite32(val, addr); - else - iowrite32be(val, addr); -} - -static u32 tmu_read(struct qoriq_tmu_data *p, void __iomem *addr) -{ - if (p->little_endian) - return ioread32(addr); - else - return ioread32be(addr); -} - static int tmu_get_temp(void *p, int *temp) { struct qoriq_sensor *qsensor = p; struct qoriq_tmu_data *qdata = qoriq_sensor_to_data(qsensor); u32 val; - val = tmu_read(qdata, &qdata->regs->site[qsensor->id].tritsr); + regmap_read(qdata->regmap, REGS_TRITSR(qsensor->id), &val); *temp = (val & 0xff) * 1000; return 0; @@ -134,7 +97,8 @@ static int qoriq_tmu_register_tmu_zone(struct device *dev, /* Enable monitoring */ if (sites != 0) - tmu_write(qdata, sites | TMR_ME | TMR_ALPF, &qdata->regs->tmr); + regmap_write(qdata->regmap, REGS_TMR, + sites | TMR_ME | TMR_ALPF); return 0; } @@ -153,10 +117,8 @@ static int qoriq_tmu_calibration(struct device *dev, } /* Init temperature range registers */ - tmu_write(data, range[0], &data->regs->ttr0cr); - tmu_write(data, range[1], &data->regs->ttr1cr); - tmu_write(data, range[2], &data->regs->ttr2cr); - tmu_write(data, range[3], &data->regs->ttr3cr); + for (i = 0; i < ARRAY_SIZE(range); i++) + regmap_write(data->regmap, REGS_TTRnCR(i), range[i]); calibration = of_get_property(np, "fsl,tmu-calibration", &len); if (calibration == NULL || len % 8) { @@ -166,9 +128,9 @@ static int qoriq_tmu_calibration(struct device *dev, for (i = 0; i < len; i += 8, calibration += 2) { val = of_read_number(calibration, 1); - tmu_write(data, val, &data->regs->ttcfgr); + regmap_write(data->regmap, REGS_TTCFGR, val); val = of_read_number(calibration + 1, 1); - tmu_write(data, val, &data->regs->tscfgr); + regmap_write(data->regmap, REGS_TSCFGR, val); } return 0; @@ -177,15 +139,32 @@ static int qoriq_tmu_calibration(struct device *dev, static void qoriq_tmu_init_device(struct qoriq_tmu_data *data) { /* Disable interrupt, using polling instead */ - tmu_write(data, TIER_DISABLE, &data->regs->tier); + regmap_write(data->regmap, REGS_TIER, TIER_DISABLE); /* Set update_interval */ - tmu_write(data, TMTMIR_DEFAULT, &data->regs->tmtmir); + regmap_write(data->regmap, REGS_TMTMIR, TMTMIR_DEFAULT); /* Disable monitoring */ - tmu_write(data, TMR_DISABLE, &data->regs->tmr); + regmap_write(data->regmap, REGS_TMR, TMR_DISABLE); } +static const struct regmap_range qiriq_yes_ranges[] = { + regmap_reg_range(REGS_TMR, REGS_TSCFGR), + regmap_reg_range(REGS_TTRnCR(0), REGS_TTRnCR(3)), + /* Read only registers below */ + regmap_reg_range(REGS_TRITSR(0), REGS_TRITSR(15)), +}; + +static const struct regmap_access_table qiriq_wr_table = { + .yes_ranges = qiriq_yes_ranges, + .n_yes_ranges = ARRAY_SIZE(qiriq_yes_ranges) - 1, +}; + +static const struct regmap_access_table qiriq_rd_table = { + .yes_ranges = qiriq_yes_ranges, + .n_yes_ranges = ARRAY_SIZE(qiriq_yes_ranges), +}; + static int qoriq_tmu_probe(struct platform_device *pdev) { int ret; @@ -193,26 +172,44 @@ static int qoriq_tmu_probe(struct platform_device *pdev) struct device_node *np = pdev->dev.of_node; struct device *dev = &pdev->dev; struct resource *io; + const bool little_endian = of_property_read_bool(np, "little-endian"); + const enum regmap_endian format_endian = + little_endian ? REGMAP_ENDIAN_LITTLE : REGMAP_ENDIAN_BIG; + const struct regmap_config regmap_config = { + .reg_bits = 32, + .val_bits = 32, + .reg_stride = 4, + .rd_table = &qiriq_rd_table, + .wr_table = &qiriq_wr_table, + .val_format_endian = format_endian, + .max_register = SZ_4K, + }; + void __iomem *base; data = devm_kzalloc(dev, sizeof(struct qoriq_tmu_data), GFP_KERNEL); if (!data) return -ENOMEM; - data->little_endian = of_property_read_bool(np, "little-endian"); - io = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!io) { dev_err(dev, "Failed to get memory region\n"); return -ENODEV; } - data->regs = devm_ioremap(dev, io->start, resource_size(io)); - if (!data->regs) { + base = devm_ioremap(dev, io->start, resource_size(io)); + if (!base) { dev_err(dev, "Failed to get memory region\n"); return -ENODEV; } + data->regmap = devm_regmap_init_mmio(dev, base, ®map_config); + if (IS_ERR(data->regmap)) { + ret = PTR_ERR(data->regmap); + dev_err(dev, "Failed to init regmap (%d)\n", ret); + return ret; + } + qoriq_tmu_init_device(data); /* TMU initialization */ ret = qoriq_tmu_calibration(dev, data); /* TMU calibration */ @@ -235,7 +232,7 @@ static int qoriq_tmu_remove(struct platform_device *pdev) struct qoriq_tmu_data *data = platform_get_drvdata(pdev); /* Disable monitoring */ - tmu_write(data, TMR_DISABLE, &data->regs->tmr); + regmap_write(data->regmap, REGS_TMR, TMR_DISABLE); platform_set_drvdata(pdev, NULL); @@ -243,30 +240,22 @@ static int qoriq_tmu_remove(struct platform_device *pdev) } #ifdef CONFIG_PM_SLEEP -static int qoriq_tmu_suspend(struct device *dev) + +static int qoriq_tmu_suspend_resume(struct device *dev, unsigned int val) { - u32 tmr; struct qoriq_tmu_data *data = dev_get_drvdata(dev); - /* Disable monitoring */ - tmr = tmu_read(data, &data->regs->tmr); - tmr &= ~TMR_ME; - tmu_write(data, tmr, &data->regs->tmr); + return regmap_update_bits(data->regmap, REGS_TMR, TMR_ME, val); +} - return 0; +static int qoriq_tmu_suspend(struct device *dev) +{ + return qoriq_tmu_suspend_resume(dev, 0); } static int qoriq_tmu_resume(struct device *dev) { - u32 tmr; - struct qoriq_tmu_data *data = dev_get_drvdata(dev); - - /* Enable monitoring */ - tmr = tmu_read(data, &data->regs->tmr); - tmr |= TMR_ME; - tmu_write(data, tmr, &data->regs->tmr); - - return 0; + return qoriq_tmu_suspend_resume(dev, TMR_ME); } #endif From patchwork Fri Feb 22 20:05:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826913 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CD7241390 for ; Fri, 22 Feb 2019 20:05:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BCF8032AA2 for ; Fri, 22 Feb 2019 20:05:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B161C32AAE; Fri, 22 Feb 2019 20:05:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 52D4E32AB9 for ; Fri, 22 Feb 2019 20:05:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727401AbfBVUFg (ORCPT ); Fri, 22 Feb 2019 15:05:36 -0500 Received: from mail-pg1-f196.google.com ([209.85.215.196]:33368 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725990AbfBVUFg (ORCPT ); Fri, 22 Feb 2019 15:05:36 -0500 Received: by mail-pg1-f196.google.com with SMTP id h11so1612190pgl.0; Fri, 22 Feb 2019 12:05:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=t9Jtz6lUZ8zvE49R0g+j0hAfOMHqUfJpKroDSjnezYI=; b=G+RtnnP2059nxXdAP1uzqYwGhaG1D4eT8ihA5zUWsAxCvZfOepCIJQcEpcOAQs6OBy PfqzwWTue07Lojz2w7KQD0ldnxxuxQRH+QS6+e84ifhpoTAeadxcFDn5Q+RTO8arFpj1 f18TEYdRnbc2cfDf+NDk3r9a6MvfaXVGtQY5ifBxfIbPyAv+7SQ66QPzG6L6Po19k79k 90BjzJtsZ1TwR7mjeSOKS9rv06FNMpr/DAHv14DTDPcgLYzygNwSw+WvVl7oS9IDE+y5 r30/mSp6RDgMksGm1Z/161FlhxIdiHLRqQMvxu5Byf+7uQoacQH7bt/aKRFUEE1ZOC71 eRFA== 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:mime-version:content-transfer-encoding; bh=t9Jtz6lUZ8zvE49R0g+j0hAfOMHqUfJpKroDSjnezYI=; b=IDOA7y5oziroecXTrRdf6oVBsU8ZO8E5fFctK9Ibjkn6NvuXWnSkVEuF2zPaunZDsO HBzK/ieb6PiTHPSQVWqiOe5u9wYljAZPGvW8FQa9lpXpAmOUWW6FFIftqiL4FdEfVdRx 1A++aIJuN7itk1Yer/vTeNJnmXm1BmzMcI9VtArkJW2kxZbYRlJFcKaCM7i8pf0OR68H pmVSduvVyLCWU0ktwbUfHpPCy0p1y5gjkdoJwOP8Zi31nXkEMaPt+WYti8IKCO5C3D3B bwNkAeW4H0rFlUNUjKi0EMZHNwjCYGWAyMmRLO8YF7W6B6FZwF73TvNsacHkc2pg9TE2 78Sw== X-Gm-Message-State: AHQUAuastTHgB4BoTg4GqIY4WmofY06edg3K0WC+zeV9Ebd9P+fEYVwS piNMlLxH0DyhjJdsYCTE/h15j8NQ X-Google-Smtp-Source: AHgI3IaEjJDnDq/8Rj+bm2dEUwKyfK5BMjDQbOXZl2pviF0iCj1WCqcsc2uCiNXe63G8OSo5B65kGA== X-Received: by 2002:a63:4b12:: with SMTP id y18mr5648431pga.340.1550865934956; Fri, 22 Feb 2019 12:05:34 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:34 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 11/13] thermal: qoriq: Enable all sensors before registering them Date: Fri, 22 Feb 2019 12:05:06 -0800 Message-Id: <20190222200508.26325-12-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Tmu_get_temp will get called as a part of sensor registration via devm_thermal_zone_of_sensor_register(). To prevent it from retruning bogus data we need to enable sensor monitoring before that. Looking at the datasheet (i.MX8MQ RM) there doesn't seem to be any harm in enabling them all, so, for the sake of simplicity, change the code to do just that. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index a909acee4354..7ff93dfcd68b 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -23,6 +23,7 @@ #define TMR_DISABLE 0x0 #define TMR_ME 0x80000000 #define TMR_ALPF 0x0c000000 +#define TMR_MSITE_ALL GENMASK(15, 0) #define REGS_TMTMIR 0x008 /* Temperature measurement interval Register */ #define TMTMIR_DEFAULT 0x0000000f @@ -75,7 +76,10 @@ static const struct thermal_zone_of_device_ops tmu_tz_ops = { static int qoriq_tmu_register_tmu_zone(struct device *dev, struct qoriq_tmu_data *qdata) { - int id, sites = 0; + int id, ret; + + regmap_write(qdata->regmap, REGS_TMR, + TMR_MSITE_ALL | TMR_ME | TMR_ALPF); for (id = 0; id < SITES_MAX; id++) { struct thermal_zone_device *tzd; @@ -85,21 +89,18 @@ static int qoriq_tmu_register_tmu_zone(struct device *dev, tzd = devm_thermal_zone_of_sensor_register(dev, id, s, &tmu_tz_ops); - if (IS_ERR(tzd)) { - if (PTR_ERR(tzd) == -ENODEV) - continue; - else - return PTR_ERR(tzd); + ret = PTR_ERR_OR_ZERO(tzd); + switch (ret) { + case -ENODEV: + continue; + case 0: + break; + default: + regmap_write(qdata->regmap, REGS_TMR, TMR_DISABLE); + return ret; } - - sites |= 0x1 << (15 - id); } - /* Enable monitoring */ - if (sites != 0) - regmap_write(qdata->regmap, REGS_TMR, - sites | TMR_ME | TMR_ALPF); - return 0; } From patchwork Fri Feb 22 20:05:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826911 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 534C4922 for ; Fri, 22 Feb 2019 20:05:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 42A1732AA2 for ; Fri, 22 Feb 2019 20:05:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 372EE32AAF; Fri, 22 Feb 2019 20:05:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D079732AA2 for ; Fri, 22 Feb 2019 20:05:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727451AbfBVUFv (ORCPT ); Fri, 22 Feb 2019 15:05:51 -0500 Received: from mail-pl1-f196.google.com ([209.85.214.196]:43420 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727414AbfBVUFh (ORCPT ); Fri, 22 Feb 2019 15:05:37 -0500 Received: by mail-pl1-f196.google.com with SMTP id m10so1547261plt.10; Fri, 22 Feb 2019 12:05:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qSERywaINMPqAGwa9/fatFleAtT30FJ6wQLulWvU9+A=; b=ZpISwQARa+YVCNctjLgHN31bGJb7tGIvTz6FzVb4PdQRBrIQsaJE66ohYyjqwQrf9K 9U+/YLdDgeJHmDSkeGT1QJGsN15mmN5RdbT/JeQa7E3Ei7Nun3rV1RSDzBIPwXbUdq0E uQ/sD50s/76PgK3k/ZexnokUyjIR1CqBcww3DfEUr3TXSM5oKGJhFVJvVxNXV4AwuHsd orHOGpmfuTOq5cBiyj8rFd2iYmakyZ1HkBcH1/Owgd2z7Juf+7CbVbjgkb6DBJzZ5D+l 5sKl7KbEtqFuPikBO+erJt9+lIHr+27lz4D7WSUk5MjjFm1LVHInp/LXubeby3xkq6h9 GL+w== 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:mime-version:content-transfer-encoding; bh=qSERywaINMPqAGwa9/fatFleAtT30FJ6wQLulWvU9+A=; b=L8Et5ZK7XEsV3pTBkPLxN2XSmV6g5/QjZTuoFxVQ3GC0EEyNxxO6ytCj1FyK/+cjZb EFAYbsJiCtDGfdPo1hh+WLqZo2G8R/mwaqMFCxt2oUxB5aTn4ZmH2xS1bTZNxfOvl8CG f9x6Tb+a7fbqcbo8mrOYs3S2LpsVzUXXictnhwdIEeG8Nohng0qvMbvn+oAPiPCECpz6 cZt+mtQDCC5O5/cdzmyTKzWf7riqyKr9qjgXHtjfiRCwi9I9QELK3pj6/4Z3L17bbFkv BsVm8F8Kix1c8YRtCUQuxzeHPtLjj2Pn1zBXukPCQiJnzZvFFOKi+tU7mnxJ0oAW866W ieRQ== X-Gm-Message-State: AHQUAuYbIeHoyKENp4wHvlwJ8506Dm4F7QWeAttX5gVDLnEQaiwmt8/+ ecT+bwDsDjMTOkIS6+RUoj5VskIG X-Google-Smtp-Source: AHgI3IaoZ+7RqEY9SQKZ2JeJHa49PuhtRutbCVESOfl2Hk2RHe7zgXjOCUwBrX222ivKaZD6z2Uorg== X-Received: by 2002:a17:902:684:: with SMTP id 4mr5869459plh.3.1550865936419; Fri, 22 Feb 2019 12:05:36 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:35 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 12/13] thermal: qoriq: Do not report invalid temperature reading Date: Fri, 22 Feb 2019 12:05:07 -0800 Message-Id: <20190222200508.26325-13-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Before returning measured temperature data to upper layer we need to make sure that the reading was marked as "valid" to avoid reporting bogus data. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 7ff93dfcd68b..9d227654f879 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -37,6 +37,7 @@ #define REGS_TRITSR(n) (0x100 + 16 * (n)) /* Immediate Temperature * Site Register */ +#define TRITSR_V BIT(31) #define REGS_TTRnCR(n) (0xf10 + 4 * (n)) /* Temperature Range n * Control Register */ @@ -62,10 +63,18 @@ static int tmu_get_temp(void *p, int *temp) struct qoriq_sensor *qsensor = p; struct qoriq_tmu_data *qdata = qoriq_sensor_to_data(qsensor); u32 val; + int ret; - regmap_read(qdata->regmap, REGS_TRITSR(qsensor->id), &val); - *temp = (val & 0xff) * 1000; + ret = regmap_read_poll_timeout(qdata->regmap, + REGS_TRITSR(qsensor->id), + val, + val & TRITSR_V, + USEC_PER_MSEC, + 10 * USEC_PER_MSEC); + if (ret) + return ret; + *temp = (val & 0xff) * 1000; return 0; } From patchwork Fri Feb 22 20:05:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10826909 X-Patchwork-Delegate: eduardo.valentin@ti.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E9EB6922 for ; Fri, 22 Feb 2019 20:05:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D899832AA2 for ; Fri, 22 Feb 2019 20:05:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CC31932AAF; Fri, 22 Feb 2019 20:05:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7984132AA2 for ; Fri, 22 Feb 2019 20:05:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727484AbfBVUFj (ORCPT ); Fri, 22 Feb 2019 15:05:39 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:33351 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727451AbfBVUFj (ORCPT ); Fri, 22 Feb 2019 15:05:39 -0500 Received: by mail-pf1-f196.google.com with SMTP id i19so1596815pfd.0; Fri, 22 Feb 2019 12:05:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=t0pYFSAaqv8YmpHjz4zN9DJVKi8lncigdWYz/AZsmcg=; b=mpwPN0Kc0p/MZAhZYMe9m23U3xvgjYkZjKo1Mwg3j709MqhdMfd2Ao8GGOAZm/pXS7 elil07Z7EWVrWucjRrLrWz44vXc42iDgpOjR2vpzrzJWPGJsOD56DTSwF+XA7hKwFHdn 7yNpAjYJSQN5AiXfwZsWDb3myhvH5d7SYLMG06W90rFC9RJuBltvEEZ3M6gUZqcDVWvd zQ7pTehqBvRw202ZiaFG3O7+NWjhw7or+mEahFOhw5Ked/hsXFW1OiQ5kAPQEDmjEWpm zkstyWhtMscLNELFe2cRxtINwuSuNJTpcqiEGNEGHhuIsVoZJMP2Sd7rLaQRyMYarg8e +Vgw== 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:mime-version:content-transfer-encoding; bh=t0pYFSAaqv8YmpHjz4zN9DJVKi8lncigdWYz/AZsmcg=; b=W24nptMikaoMPBZTl31sjyb943q1Lcso2bnR6T3sX8C71q0pvagcziQjCchyAJhvbb QHtRrZZJ4XNwV+Mau5KkxL73fbeS5aevkiwTjhLcg7ECF0AZyByQai/jGg6VNa+6sU2e tWrbAHt/4LrKMisHhgrv3zrSvkxBRvWcHs+ZvzMdM8ImJ1m1v4u+oY5256YEuQqtl1dz wtdzc81E6QYlu9RHEB0n+QiImKT9crIRX+WWxs1iAJUiG8uXfjNDYV2d1JIBfzLHD2dP WKRLdBW613D0vqO7D9gxK/3cJKCnEdmqxJHmS0UckglGoJpf6UtfazN2XGT/v3lxvgqk 239w== X-Gm-Message-State: AHQUAuZjUi8/CDmfV10+IjA/AigwhkQEV2p8xjwbnPFxd3STDHfjesyW 4CiLvi8lMQAwnKuTbPH8x4NAaNaD X-Google-Smtp-Source: AHgI3Ia/EeEatRvu7IOJZZIAXFB6rbgBiKgNR0Z7Psmo1aU+ddXHCE9C3E7svVXNldJmSKXFGINZ4w== X-Received: by 2002:a63:1a5d:: with SMTP id a29mr5189910pgm.369.1550865937733; Fri, 22 Feb 2019 12:05:37 -0800 (PST) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id h79sm7471046pfj.186.2019.02.22.12.05.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Feb 2019 12:05:36 -0800 (PST) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Zhang Rui , Eduardo Valentin , Daniel Lezcano , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 13/13] thermal: qoriq: Add hwmon support Date: Fri, 22 Feb 2019 12:05:08 -0800 Message-Id: <20190222200508.26325-14-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190222200508.26325-1-andrew.smirnov@gmail.com> References: <20190222200508.26325-1-andrew.smirnov@gmail.com> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Expose thermal readings as a HWMON device, so that it could be accessed using lm-sensors. Signed-off-by: Andrey Smirnov Cc: Chris Healy Cc: Lucas Stach Cc: Zhang Rui Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 9d227654f879..7fb9321a0d8c 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -12,6 +12,7 @@ #include #include "thermal_core.h" +#include "thermal_hwmon.h" #define SITES_MAX 16 @@ -103,7 +104,10 @@ static int qoriq_tmu_register_tmu_zone(struct device *dev, case -ENODEV: continue; case 0: - break; + ret = devm_thermal_add_hwmon_sysfs(tzd); + if (!ret) + break; + /* fallthrough */ default: regmap_write(qdata->regmap, REGS_TMR, TMR_DISABLE); return ret;