From patchwork Wed Apr 24 06:48:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914185 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 7CA201575 for ; Wed, 24 Apr 2019 06:48:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6C6EE28A56 for ; Wed, 24 Apr 2019 06:48:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 60B7728A5C; Wed, 24 Apr 2019 06:48:51 +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 07DEB28A56 for ; Wed, 24 Apr 2019 06:48:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729906AbfDXGsk (ORCPT ); Wed, 24 Apr 2019 02:48:40 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:44582 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728726AbfDXGsj (ORCPT ); Wed, 24 Apr 2019 02:48:39 -0400 Received: by mail-pg1-f193.google.com with SMTP id z16so4266055pgv.11; Tue, 23 Apr 2019 23:48:38 -0700 (PDT) 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=zSoAoJMW5ZxBTHxjDjokwEj2+VNulkB0jtHodzb6AHo=; b=ktq14jVTahw02M+54HHOssAFwJAbtD7+1f0N0iEoEJR0V123ZvHrPvbHaW5ydvsaOR f8G057TzGwQwjgw4ICLu/UsJrXc3wXGLD4cqpCHn6FN4ht66TG1Z9tdBV8NPlcP4ZOLj 2nn8tlK6P1U0h8G3qVTfw7H3OGBwYQxKqylmKdyNmsigwSdN4teV5hppuiFFoXXsCgpI Fv9ZPeiqovxkBr/T+cBzHgHsrmTZNZlvUZUPL9mntnBMXLcV4FPwBWp9SpT9dcNsbAAl oVm6zrplFkZnA/+X1CsbvbDnNmdYcvBbn7bVJ2DuJfseSBgdN6kdUa4VtgMhTFmPC7C3 3gCQ== 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=zSoAoJMW5ZxBTHxjDjokwEj2+VNulkB0jtHodzb6AHo=; b=Tkr+od3/viqcEUaALlDeIaveMhOmipUDvZNI/TmVmdBc7ZKvbdfYRBOuZBnZu2CCXJ vNR50KKu5X2tO+qvxAVjQ8+ZGYPYndpI+l4kwyYRGHIZdCNGBy7weEqZV0v+BHrVIxT5 wv/jhDdswsK9DvyXtUic/5rSD+8FBIzrOrh6ORGmTvifik78CnYK6rvtAHivNBb6XoDp beKCTnjPlhMDLy66esg0J3rGrr3mJ9AcR+HZhDje79IGzRqE54M9X7xQcIAQm1KlambV wBgXK0YuQvuwHOMtr1Mjab0HWi2V6IMV11ineEKtr6BzesbLsABaHmyeYhSUghCIiGYk xmAQ== X-Gm-Message-State: APjAAAV4LYq9foAqbSNBEsyeOBujhnXFyPExAW3gLNopQEaaBvLwSv9a XQgA+HyJUf2CRLFUUAemuC9tmH0uaZY= X-Google-Smtp-Source: APXvYqyQNYb4shJHHRIS3lYoqM9se9xZBx7/sqVeTxDDQpbklTHoHB+8C3hLREgPXvToAD6Ix3PMFA== X-Received: by 2002:aa7:914d:: with SMTP id 13mr31723560pfi.149.1556088518068; Tue, 23 Apr 2019 23:48:38 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.48.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:48:37 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 01/12] thermal: qoriq: Remove unnecessary DT node is NULL check Date: Tue, 23 Apr 2019 23:48:19 -0700 Message-Id: <20190424064830.18179-2-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 It's impossible to use this driver outside of Device Tree, so if the probe function is called, the dev.of_node is guaranteed to not be NULL and guarding against that is pointless. Drop it. Signed-off-by: Andrey Smirnov Acked-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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 405d1fbdd0cb..5828314ec74d 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 Wed Apr 24 06:48:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914187 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 913521575 for ; Wed, 24 Apr 2019 06:48:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 81DFB28A56 for ; Wed, 24 Apr 2019 06:48:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7643D28A5C; Wed, 24 Apr 2019 06:48:57 +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 1CB1928A56 for ; Wed, 24 Apr 2019 06:48:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729701AbfDXGsv (ORCPT ); Wed, 24 Apr 2019 02:48:51 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:37332 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729907AbfDXGsk (ORCPT ); Wed, 24 Apr 2019 02:48:40 -0400 Received: by mail-pf1-f196.google.com with SMTP id 8so8791615pfr.4; Tue, 23 Apr 2019 23:48:40 -0700 (PDT) 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=Ro+sSwaq0kb1ZT2GhvuRgwM2VzyusGd+SZ1AlMib2OY=; b=j4AjD9GWly30TfxBD7gW3KlF5Zieeqe7XauomttYL+0F9F5PIGD0HfWZsPWfkI3bpc k3ZQMFzslz22NRpLmxPUKIoviQcGU0OVewfesqJbz06X2huUdWujWNCgbp62NnCFFHvW a+ISkmNAxgnLP/SSFHc4YQXIv2OH3+T9jMObr2RmofcaQBORkF09YQtfn8nR733EkYZJ vU9l+mehercjqg0aj6HrabrHwP4clx0+XvbcugO1UuNYj1a3hy2LixDsZfiJyJWZ4ovU h5WCpfRBTP+151S75KtZUTBFB0FfvZIbuAQjWRYv8vNAD6uuzrC6EEiutzmFWF1WKeKm XWhg== 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=Ro+sSwaq0kb1ZT2GhvuRgwM2VzyusGd+SZ1AlMib2OY=; b=G4Sccb0BZQuojnUOiAf656toOTgL2g6KWWxi4Zqg66UISxhNJPfz6t92FxmnT8xqwn 1h/X0k9irCUJbmo+0pqypz41HRpfy+h30YZfZiHBRAOWalRR/M1y6YZNBuJxIQTtcTlq sPJx+OdVIvQvz+EkAM/BSOIODJNxnm99X1qSPWi83o5rtDX1uJadxAggQ7q8oi5kJoDb FfJ9Nh8rGjZ4VHuTSyralFevVjThaRjrW6igikcRkXso4nhxaxQJ52pUTKTnz8eLlK32 iCHwboYv4YKrDBLoIfuDBiOnrXgf/Ern7xxxwl8riD71VpQGib+eX9AsJ7ixVEmwlQV5 zlUQ== X-Gm-Message-State: APjAAAWgS728Zd3cSFvQ5VQdUfIjpTO9KNu1P91vdg6NOWWzJR1MKSFE QSszLalcAI5ukhSJqQHnvZDAarRSy50= X-Google-Smtp-Source: APXvYqzIY+BPtVBjOzSeayBQuAk7bci2DtQPUZLyf68tm8O58aIXu7iWssj/h7Z/AOB1zYY4PW+6AA== X-Received: by 2002:a65:41ca:: with SMTP id b10mr29660852pgq.256.1556088519441; Tue, 23 Apr 2019 23:48:39 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.48.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:48:38 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 02/12] thermal: qoriq: Add local struct device pointer Date: Tue, 23 Apr 2019 23:48:20 -0700 Message-Id: <20190424064830.18179-3-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Acked-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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 5828314ec74d..c3ed6ed81dfb 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 Wed Apr 24 06:48:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914183 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 8231B161F for ; Wed, 24 Apr 2019 06:48:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 72C6428A56 for ; Wed, 24 Apr 2019 06:48:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 671D928A5C; Wed, 24 Apr 2019 06:48:49 +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 0132B28A56 for ; Wed, 24 Apr 2019 06:48:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728726AbfDXGsm (ORCPT ); Wed, 24 Apr 2019 02:48:42 -0400 Received: from mail-pf1-f195.google.com ([209.85.210.195]:43149 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729919AbfDXGsm (ORCPT ); Wed, 24 Apr 2019 02:48:42 -0400 Received: by mail-pf1-f195.google.com with SMTP id e67so922595pfe.10; Tue, 23 Apr 2019 23:48:42 -0700 (PDT) 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=6u1+0A+lINz/WkgWeou5rXL2yFzVra0Yn/3CNTT8IsI=; b=jCiDb+BTrBNgqDMDF5zMriMM3urqQvfqkSN0GUYqR/SrL7zeV0hv3lyhM2sBpKCSw+ RbDoaSRebzqMijRxmYZucfkgkmQqxW7SHVUnUBMZ9cALc5HJcpduL1LxhzYMP9uX6fUz imtIAj0JscwXujeJN7ZtlQx9WyYPmyzzqwK7hhEf/h02MT2RLEldRO6qdoLRwwOo+EzF r+Z9j9W26h1kc9hPTt/wyc4BAnuLCiK/HCpGO3juc+v31qwq3PAny8gkq5/CsaFUgxUC g4tqKZKaCcupff0WkycrTllAkeif/8FnYuubjLcrzUiGDwwZiBVh8ptzXRl1dfml3caq jRfg== 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=6u1+0A+lINz/WkgWeou5rXL2yFzVra0Yn/3CNTT8IsI=; b=pPdJnAB2tMC0Q2NpQeHrlBsbqcndziDy6EnP80lu/Imp4WwDU9y6edLIeR3tbs7TdB RpykYio37IaoZuTzTbFG7/SdNpFr01l3K7WQUO+toTpPrCCEeB/74cwg7h+MIJwsZR4+ lCcwLncO5PrDQBZOUji0/rDZQGTk/lvRtZksxjn1/IMfmIwGcmMnYuh9+ubu7H30PM6x JcJKLa2QgWyWV6n0DVH00kG7cT0Gw8+AQbqIOjRrzQAxRjlsOhPd42CNCuDzmmbGKXPK KqaXTIWTM9b69G/r2GzNXfA/h76zPVoULnIMdcSGIfUga/iMAAMqRTUsRTW2AXWp/x+d f+Bg== X-Gm-Message-State: APjAAAXO8V/nAXS7NvsL+pNkjiJmf+RAKvWGmePEOjO6VVh/fYkOKLql aYQSXNG+KVSzeGunNAnX1Y/MdVGnj4Y= X-Google-Smtp-Source: APXvYqzaZ77aKaSSj36ibN96Q9yNsvwo+qW66X4nW4ybznOo98v0U7iKvCbScbHqeUFy2/JaW0Wchw== X-Received: by 2002:aa7:8096:: with SMTP id v22mr31591588pff.94.1556088521295; Tue, 23 Apr 2019 23:48:41 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.48.39 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:48:39 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 03/12] thermal: qoriq: Don't store struct thermal_zone_device reference Date: Tue, 23 Apr 2019 23:48:21 -0700 Message-Id: <20190424064830.18179-4-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Acked-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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 c3ed6ed81dfb..c041d1ae3500 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 Wed Apr 24 06:48:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914189 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 1B6E01575 for ; Wed, 24 Apr 2019 06:49:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0760B28A56 for ; Wed, 24 Apr 2019 06:49:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EF7B528A5C; Wed, 24 Apr 2019 06:49: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 B59C528A56 for ; Wed, 24 Apr 2019 06:49:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729437AbfDXGtO (ORCPT ); Wed, 24 Apr 2019 02:49:14 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:37661 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725934AbfDXGtO (ORCPT ); Wed, 24 Apr 2019 02:49:14 -0400 Received: by mail-pl1-f194.google.com with SMTP id w23so8792221ply.4; Tue, 23 Apr 2019 23:49:13 -0700 (PDT) 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=6pOBhoUcUQSUTE6/OanJCqpiU8LW9C0RIfBiQtMH2XM=; b=FB2LpK2B7+7s7LsNpDkj9sfM9CIoGoiAnAa94YUVeb4ksY4DN1jXnCHzwek0uAqHpI JnDkeyGXAQuM1OQpn7XBP44xxpijf/OUIWGVQe03kVrU4S65U3F9fbbX+LffjFQYRata 28bw3jNTMaV168QZN6dhovxq87yqYzu/45u482VPD474HG10A5jwDAtyGM0i8NldALm5 koP0yQ5TmrqDmTsNs0xzYEefB1H/i/lRoaWNPqJZbsaw44gQaMBmes8dVpivKrX4V+5e PkXQ1lVJ68h0PECSPuh4egVHwB5f1trNTKyq/S84Cqf+7lFt/BV8p1kfqGlH0IAdU7xP fwBw== 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=6pOBhoUcUQSUTE6/OanJCqpiU8LW9C0RIfBiQtMH2XM=; b=csckHuT+WGlI83f4xvlIEczsKGnn1wrVszBrDITm7plABBoz0lZxOcUhIAnUpKUQ/S rMe61hD1Z55U/bU/Bi/W2WHmje6tLKpIw5xHpDsEnbP1mgoXDnN83hzQVe22POUx+F6r sPRC4cUWJrjj+uhvu3KBUvoAiaX7qkhFBNatMalZvLflbXsB/OldGsEx8raYQPQi/Lxn PDij9EXMDMZuAVw+Vi+W7cvQjO7/ZmgFpQp9Id3R2tiCJ+ok57S0V6tZ/OVatGPpPaER PcgQrCm/BiznXHBr7Xed8eAuAimiUt+zSQr5NZvPfT+j9h6vj63erj4Y/2NYJzONRPCw RjIg== X-Gm-Message-State: APjAAAUx/5xDsmz2JnOrbmaQD3nqReCiL/Zv8jK1TpQkewWKGHUN0rVC 1DpqgOPotuKt7wCjn2U+QWLw7CjE4Vs= X-Google-Smtp-Source: APXvYqxTI7Z5kf937iWSv0Qaqzn9Xx1ySU2iKDmeQQOBKYOaJyz6sQVv8FrguOX6QLpL/w3vWzK27g== X-Received: by 2002:a17:902:801:: with SMTP id 1mr29515821plk.14.1556088552955; Tue, 23 Apr 2019 23:49:12 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.48.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:48:41 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Lucas Stach , Chris Healy , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 04/12] thermal: qoriq: Drop per-sensor data Date: Tue, 23 Apr 2019 23:48:22 -0700 Message-Id: <20190424064830.18179-5-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Now that driver is converted to use get_temp_id() instead of get_temp() we no longer need per sensor data. Drop all of the code related to it. Signed-off-by: Andrey Smirnov Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index c041d1ae3500..3500e238fe3e 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -59,20 +59,9 @@ 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]; }; static void tmu_write(struct qoriq_tmu_data *p, u32 val, void __iomem *addr) @@ -93,8 +82,7 @@ static u32 tmu_read(struct qoriq_tmu_data *p, void __iomem *addr) static int tmu_get_temp(int id, void *p, int *temp) { - struct qoriq_sensor *qsensor = p; - struct qoriq_tmu_data *qdata = qsensor->qdata; + struct qoriq_tmu_data *qdata = p; u32 val; val = tmu_read(qdata, &qdata->regs->site[id].tritsr); @@ -115,17 +103,8 @@ static int qoriq_tmu_register_tmu_zone(struct platform_device *pdev) 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]) - return -ENOMEM; - - qdata->sensor[id]->id = id; - qdata->sensor[id]->qdata = qdata; - tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id, - qdata->sensor[id], - &tmu_tz_ops); + qdata, &tmu_tz_ops); if (IS_ERR(tzd)) { if (PTR_ERR(tzd) == -ENODEV) continue; From patchwork Wed Apr 24 06:48:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914191 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 A1E041575 for ; Wed, 24 Apr 2019 06:49:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 927A228A56 for ; Wed, 24 Apr 2019 06:49:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 85DE728A5C; Wed, 24 Apr 2019 06:49:18 +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 296FC28A56 for ; Wed, 24 Apr 2019 06:49:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729952AbfDXGtQ (ORCPT ); Wed, 24 Apr 2019 02:49:16 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:37384 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725934AbfDXGtP (ORCPT ); Wed, 24 Apr 2019 02:49:15 -0400 Received: by mail-pf1-f193.google.com with SMTP id 8so8792431pfr.4; Tue, 23 Apr 2019 23:49:15 -0700 (PDT) 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=WlG7d4QBTialW5xVs7obyd+KnKSwIPwM0LL6EORsTOM=; b=pwZkHJZb0U0MnP8CGbfsq0XHBhH1GIyWbL3idLKifqSsnMCaqOHU+GdatcStCZWqBq TJyL499vKcxWfJLrd3HvX1StjiRkm0iH1p544tpjYSvRPRxTHRfj6BGCq2p23fc2Ybso hLrRfTlgLUFcA9ZlualIeq8LWGudMHa/waEbD7WMJkqwOqOSTw/CTrPWWGvBbeAFqPzy ctMgweFFmH8jiBlyyEGqJI5c51gRNRhKx46mAfLSoPwLJE8zgNR+YL5NNhhgzy0klN3+ rQ25qvCYh82QxhYsdmdgowEzDnE/6rHlytVrMymDOh5MAeU8sKCnoo6Nv/GTqaYpdVv1 i3Nw== 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=WlG7d4QBTialW5xVs7obyd+KnKSwIPwM0LL6EORsTOM=; b=MR9T1Gu8DyayfjGyc/4Fk9jc12BmYP+iug7z/GqE/vyqNmWJbuDQpnzlTtE75SKHvz ManZHHJqYVfUdbrC7q2Na/cKAGIjEVCAR6rxQuF9O5/uD1a70J3CKcAIqlMJzIwePGL0 vtTj8jvyH7iADgBiobDXt3I76UZgXSHEsBC82uDCX3ODjliuFV62nK2XdyGEO0kBqlmO ig9r8ZYHH5uchdBPjpAUL0VWVq7fLsGaNXIf5pUIU5ahXx4vAF7OdFK3W2og/GQFaLo+ zfTLPihu2bUCHczIHr4D7BeICt/A9FNviYOqYlpdj0TmT06FVnD4LZnkyGKOUUp7TssY GMHg== X-Gm-Message-State: APjAAAVEkar6174db9XMpJy/Y+cvL9GadscbE3Iy+sWu6IofW9qhcbVo KZrrUc1v89E5pOn1pY1ZPRQVivWQ2X4= X-Google-Smtp-Source: APXvYqzTzdTTWKkZ3LxiXppkDZJf7UTsi84pWy3MvD2PDQ+w0xEx1m4XUoNAwO1qcQZK2SVx1evgAQ== X-Received: by 2002:a63:dd58:: with SMTP id g24mr76075pgj.161.1556088554273; Tue, 23 Apr 2019 23:49:14 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:13 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 05/12] thermal: qoriq: Pass data to qoriq_tmu_register_tmu_zone() directly Date: Tue, 23 Apr 2019 23:48:23 -0700 Message-Id: <20190424064830.18179-6-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Acked-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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 3500e238fe3e..3419505a2f0a 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -95,15 +95,15 @@ static const struct thermal_zone_of_device_ops tmu_tz_ops = { .get_temp_id = 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++) { struct thermal_zone_device *tzd; - tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id, + tzd = devm_thermal_zone_of_sensor_register(dev, id, qdata, &tmu_tz_ops); if (IS_ERR(tzd)) { if (PTR_ERR(tzd) == -ENODEV) @@ -198,7 +198,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 Wed Apr 24 06:48:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914203 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 874CB161F for ; Wed, 24 Apr 2019 06:50:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 76A6226E3E for ; Wed, 24 Apr 2019 06:50:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5789E288B9; Wed, 24 Apr 2019 06:50: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 4ADC226E3E for ; Wed, 24 Apr 2019 06:49:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729972AbfDXGtV (ORCPT ); Wed, 24 Apr 2019 02:49:21 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:40014 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729954AbfDXGtR (ORCPT ); Wed, 24 Apr 2019 02:49:17 -0400 Received: by mail-pf1-f196.google.com with SMTP id c207so8775547pfc.7; Tue, 23 Apr 2019 23:49:16 -0700 (PDT) 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=Pw50JgDhUcKkNYBloufZIdnXk6gV4pVeryvS+GkQqDw=; b=ipDy77weuN/EqZ6gkmnRLnAyfECks5d3X7gSLv8g8vLLV/57j9cKXii+/ljIv2O52H XmY9tfUm8vTamXzSLPy9VKV78rRXjAKQgTHY2QNA8oFLz/3QZf9caBM/S/5uMqrlgGGa nNZ1+eiUdbtkuFHBsL6GRQyKDM8v8FOm9PyxEHiup/n+LbeTwtNnxN+oMz1QbG/PWDjE Ri0e4dYzVfO3nWcSe2rFQR3P3cdaeAqUkd12t+5+KN1T2nhFY9EF01GFv7tPJfpWsoH0 8A7U/dEel5dxr4d5rvH0BXlbPD6SeO2pE1K4MTlkdvdco0E+6TkD/ZsLdj10/Vo0x6kp 6A9g== 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=Pw50JgDhUcKkNYBloufZIdnXk6gV4pVeryvS+GkQqDw=; b=QBXgD3Rm6lSW4l3OkFUPAFUB/IRAsbpuk5wZ/zmlAfPMZWDm4g9jVL7J+L69MRLF5L hFsV4ooXaceNroqYD6JvXtZCNbWm2ll0djSfarXn2XnWUOrgjIz/MfUqJeu1EczeAU6M zMYr6UymPhXbCT6nEp5WXzZQCwCTakMQCpfGnbWDa+J6rmXI+vF4XADOVTbAMKtlJRg7 J6EX74dhEj95nn9Zm4OYQHoO8G7qaAEtR2K9gGQdjgvufVbZuSqOKFMXCE9NnSgi5Sbk YKHAmax4iDcE7PxHuNwn76/ra80Ges/yutvC5gH7KUEnHKUj+Eya1fKeUuBExZpOyQyO jKDA== X-Gm-Message-State: APjAAAXt9F5utUnIl9oG2RqBCkPdoHn5KxEK/3Gl7GH4TVQhBH34kPP4 wKayph6rtzH2KWBUQbxNITY/yNPDGqs= X-Google-Smtp-Source: APXvYqySXbTUiGn3K88dMI7QJL1vMXv9TdR4llQU0+OCPYfX4OsrENUD3GvYlsuDjWm+YvKpZIjDew== X-Received: by 2002:a65:41ca:: with SMTP id b10mr29662970pgq.256.1556088556250; Tue, 23 Apr 2019 23:49:16 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.14 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:14 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 06/12] thermal: qoriq: Pass data to qoriq_tmu_calibration() directly Date: Tue, 23 Apr 2019 23:48:24 -0700 Message-Id: <20190424064830.18179-7-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Reviewed-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 3419505a2f0a..0b6937bbc7d0 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -122,16 +122,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; } @@ -143,7 +143,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; } @@ -181,20 +181,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; @@ -202,17 +199,16 @@ static int qoriq_tmu_probe(struct platform_device *pdev) if (ret < 0) { dev_err(dev, "Failed to register sensors\n"); ret = -ENODEV; - goto err_iomap; + goto err_tmu; } + platform_set_drvdata(pdev, data); + return 0; err_tmu: iounmap(data->regs); -err_iomap: - platform_set_drvdata(pdev, NULL); - return ret; } From patchwork Wed Apr 24 06:48:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914193 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 689801575 for ; Wed, 24 Apr 2019 06:49:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 56E8428A56 for ; Wed, 24 Apr 2019 06:49:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4ABC628A5C; Wed, 24 Apr 2019 06:49: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 DF7C928A56 for ; Wed, 24 Apr 2019 06:49:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729967AbfDXGtU (ORCPT ); Wed, 24 Apr 2019 02:49:20 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:37669 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729962AbfDXGtS (ORCPT ); Wed, 24 Apr 2019 02:49:18 -0400 Received: by mail-pl1-f196.google.com with SMTP id w23so8792337ply.4; Tue, 23 Apr 2019 23:49:18 -0700 (PDT) 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=/jj7xWSCu2Jvjzo3iEjqtPAm50x1l724NJndLXKBO4U=; b=e1VF/2wV2sS+0wFTgirKUMj8faG2UC7kXbI2dSsc8Wglit8rvKTgNVM1CejJNT05pa gEt5iEqYoLCiPSEO7xDAJpc5UWBCtWBFqXyD+gIQb2DYAEPxl2dz48yRSE2lsTZfVgkJ bD9BOtuIK117DWpx65qQQdW5n0cP1GRt/Zeqp9UMJqa6PuWSTzvTKGYhEQGjHUFeMkmx 56cengUfcBIGJOdkS68cChJGUcPhPEqD4F72Y/78T7TzNBYbI4Yk3VJSNEY1Nnpe/qsr 8RY3OWGiJSZy5qUf2KgHC6R48OnQ8bPXG0ZXc5ZzehE2Ek3BFFNcvXW0OodI/Gk3YZ/y 0Ftg== 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=/jj7xWSCu2Jvjzo3iEjqtPAm50x1l724NJndLXKBO4U=; b=Torv9jasNAa6F/PR7E0EmKQBL76Cm/KfNRxxr5SKbJ9jfDr9y02GNP2oIvPD9j1xrP 9VZqGQ2wn8mtq1pZB7ZPGUiq7C/svKlYw2SMg+HtQ5LrX2y1zhn+RG5WJ984K0+NbEqw irghqnOaJdI+3ViDeEDYmNjqcXbXdCOJ2OI1E2tPNH9nWboBtCAMJReOezriXNdjAWNw ek5ZsUP4Pb6Ut04SSZmq+k3Cil3afR81cUZgXByjMfM0DnTQMmXLdJPUIhTchjpH6Kkx SAMGNlFO4x7hJsGxEGyKyTWg2lPaJsfwccwiWYbRI072aQMZMIcyHiz8lHr/Lw0w4Z5v aG1Q== X-Gm-Message-State: APjAAAXETLZuYDF6ZpttvADjLZ85M8coWq534QXsJdjURjRbxjK+q3Nh bCHJ4MubIBEGunz9g9E5rC9g9rdkqrY= X-Google-Smtp-Source: APXvYqz44S4ts5ZAZvjah058KnwXd4auOAzS8js0AdTIjoZ0LclKHCDe4lnyFfqEVuBPHsAzjqyStw== X-Received: by 2002:a17:902:a582:: with SMTP id az2mr31258983plb.315.1556088557553; Tue, 23 Apr 2019 23:49:17 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:16 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 07/12] thermal: qoriq: Convert driver to use devm_ioremap() Date: Tue, 23 Apr 2019 23:48:25 -0700 Message-Id: <20190424064830.18179-8-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Reviewed-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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 0b6937bbc7d0..64cad6d4c1d7 100644 --- a/drivers/thermal/qoriq_thermal.c +++ b/drivers/thermal/qoriq_thermal.c @@ -175,6 +175,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); @@ -183,7 +184,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; @@ -193,23 +200,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_tmu; + 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) @@ -219,7 +220,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 Wed Apr 24 06:48:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914205 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 A06051515 for ; Wed, 24 Apr 2019 06:50:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 84046288B9 for ; Wed, 24 Apr 2019 06:50:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 78484288D0; Wed, 24 Apr 2019 06:50:04 +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 A3833288B9 for ; Wed, 24 Apr 2019 06:50:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730041AbfDXGt5 (ORCPT ); Wed, 24 Apr 2019 02:49:57 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:32927 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725934AbfDXGtV (ORCPT ); Wed, 24 Apr 2019 02:49:21 -0400 Received: by mail-pf1-f193.google.com with SMTP id h5so8791261pfo.0; Tue, 23 Apr 2019 23:49:19 -0700 (PDT) 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=lTEcUFLPptIT/TQTXbPFUyqfrwnUdiFLMQNRuCOSfTc=; b=SPfIgZDh1XBGb478wxT9n9wQYPdiqanhiT6B34dWDitfsQLcetq2GAbeDbcou2a3vA NOeq3PAM3oR14r3s4ybkyJ7QasqvZQhu3Ro27obK9kFw+oR2JccP9el1dx9ovoGs5n11 UC+rq1xTXGJniM9jngO8B5Mh3mYVkmBq6p9ZiheB69wjZ9SAnpHQqBkjZ/pTekIgi1I8 Xw+M0bhtd/Sfara55bFPfjZxYx3fS1mPjVXpY/4A0FCk1KLocfORsYUIgoYXqW+JxWEC CPvOysaGBkMkqClm8OPapM4bVJr+BWdYqdqo4slz0h1laV2+G/RAaBRJjbZvnZ3oOSu9 takg== 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=lTEcUFLPptIT/TQTXbPFUyqfrwnUdiFLMQNRuCOSfTc=; b=pHz+9pKwafv/IYlHEi/FQk4qMI6g4Lhg5RLDMdW63xuG0WqtEzhgaoC7KB9Muc+0CC /Xjf630irh1oXScaWkuxR7Z0p1H6PnQMoMy1e95Z0BtA7m0tmzeS//kSWYcVIZuH4BeO Z2zwH3Sai9r/jBUjk9kDNmJoBq+9oaX3D5PcanM371N53cHhTiukmSoqUnrOxDIn6R7D dXE268EqAmXiweouBqf1BnjbLqaBA2/dxOf5PnlHgB1NM8HWPuDTJOrUgbhnxeehL9Kq m73tfv2VBz0zcmBC7pXKh5TmdP4UREK1A9hcbPbnZmt0MZBNwaRSaSsLkOW9hchGHXyN Mk5w== X-Gm-Message-State: APjAAAUndTvwUTYYl4oWlbD6Jpr4rZ4pHUm+uRCqAUYq4eCVPKe8B6D+ UUJfL23AETMy0XOXBGZGbry3X6dyLaY= X-Google-Smtp-Source: APXvYqwtETEIvtKOLwiPRAZJ7RzrfAdN95w1h+UMC0H+s2ctQ17BPWQpKIVBHDyhStS12uXCxvDRmw== X-Received: by 2002:a63:5020:: with SMTP id e32mr16305368pgb.215.1556088559157; Tue, 23 Apr 2019 23:49:19 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.17 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:17 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 08/12] thermal: qoriq: Convert driver to use regmap API Date: Tue, 23 Apr 2019 23:48:26 -0700 Message-Id: <20190424064830.18179-9-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Reviewed-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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 64cad6d4c1d7..9774323a17bf 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,75 +18,37 @@ /* * 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 + */ struct qoriq_tmu_data { - struct qoriq_tmu_regs __iomem *regs; - bool little_endian; + struct regmap *regmap; }; -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(int id, void *p, int *temp) { struct qoriq_tmu_data *qdata = p; u32 val; - val = tmu_read(qdata, &qdata->regs->site[id].tritsr); + regmap_read(qdata->regmap, REGS_TRITSR(id), &val); *temp = (val & 0xff) * 1000; return 0; @@ -117,7 +80,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; } @@ -136,10 +100,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) { @@ -149,9 +111,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; @@ -160,15 +122,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 qoriq_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 qoriq_wr_table = { + .yes_ranges = qoriq_yes_ranges, + .n_yes_ranges = ARRAY_SIZE(qoriq_yes_ranges) - 1, +}; + +static const struct regmap_access_table qoriq_rd_table = { + .yes_ranges = qoriq_yes_ranges, + .n_yes_ranges = ARRAY_SIZE(qoriq_yes_ranges), +}; + static int qoriq_tmu_probe(struct platform_device *pdev) { int ret; @@ -176,26 +155,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 = &qoriq_rd_table, + .wr_table = &qoriq_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 */ @@ -218,7 +215,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); @@ -226,30 +223,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 Wed Apr 24 06:48:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914201 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 1BFDB161F for ; Wed, 24 Apr 2019 06:49:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0B7ED26E3E for ; Wed, 24 Apr 2019 06:49:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 001D3288B9; Wed, 24 Apr 2019 06:49:54 +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 804302888C for ; Wed, 24 Apr 2019 06:49:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729962AbfDXGtW (ORCPT ); Wed, 24 Apr 2019 02:49:22 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:36102 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729975AbfDXGtV (ORCPT ); Wed, 24 Apr 2019 02:49:21 -0400 Received: by mail-pl1-f195.google.com with SMTP id ck15so8792216plb.3; Tue, 23 Apr 2019 23:49:21 -0700 (PDT) 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=m7dKqeMctMgCtn11qBOW/p6BHRdJ5DhcJYKhYg4aTPE=; b=ZjZYiqT+Gv7WEg9u3S43bSguaBqxBIgoO8Gac+1R6Cwm9mdQaozHo/MwY5Ml1L1v82 fo2aTWp1HEEtOd6/vn7vd80ATDHMCCnfoSwo8iNtdXk79EbJbjDeeXjTbbK7Df+6AKKa lZG2oT9N2qsWY40xTyRqPpYHCZJNbmKvTkHsWZq0s194WLwQcYMUYpGlkDrrtgEX0a9g YbXmWDrisglFJ8U2g4s1UIsswFE90i0vZD6WWMJAq6Q5SxCZB8OAKKUJ6fkwaoxRtnTm QqOc2TbYqQWqYgzKGasiebNvLhtRYS51GF1wUK3QPtH/i3c6dtFppt5hAZMUYaQBy9rg UbsQ== 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=m7dKqeMctMgCtn11qBOW/p6BHRdJ5DhcJYKhYg4aTPE=; b=khPDBYCjayR1dN+Mj9yqU6rvOdBv/SrLlu4Nx6O9aoAlscSasnpYemK/Vjs0DqxAGj dTS1CK6Sv36pv60XTMnLwhcr6Y0f9J6A8eT0Tc0tzw9bFiS4faVr4zwK7kbMPDHQzSYg Ws4FuWQFjqQ2GXGu+rolvMq4p3PJ+DwZFOBgpE8vzJLKw1qUON5ZbFD82NWXKd9axGSG E1NzdJ/YYyXW1g/yK2zmtILXLwpGGSz/Fg964pyHRuEkFWOAXKWAlU3pDc7IsqX5fcQ9 51sWd5eKd0IK6aI+vEwAGXJCO/4h5Gs5hMvbK6rg57JMne4u2H58VoynIBEpsRaNCxf6 IR9Q== X-Gm-Message-State: APjAAAXYyi/4qyrzyvliqMd8Vg0TxKSUcyok6WBkTR7ipw+JeRT0W6K5 LtlSfAfMSXciktPscIAVXyUBBl+fLn8= X-Google-Smtp-Source: APXvYqzwlh5npk9Ah0bYThzGVk7Ypdg823LvaucPbLRCAyYmjWPdB3catRhouzU7zxJI42OFm1d/Lg== X-Received: by 2002:a17:902:8609:: with SMTP id f9mr29516884plo.32.1556088560704; Tue, 23 Apr 2019 23:49:20 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:19 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Lucas Stach , Chris Healy , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 09/12] thermal: qoriq: Enable all sensors before registering them Date: Tue, 23 Apr 2019 23:48:27 -0700 Message-Id: <20190424064830.18179-10-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/thermal/qoriq_thermal.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 9774323a17bf..d8d9f567a632 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 @@ -61,28 +62,26 @@ 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; tzd = devm_thermal_zone_of_sensor_register(dev, id, qdata, &tmu_tz_ops); - if (IS_ERR(tzd)) { - if (PTR_ERR(tzd) == -ENODEV) + ret = PTR_ERR_OR_ZERO(tzd); + if (ret) { + if (ret == -ENODEV) continue; - else - return PTR_ERR(tzd); - } - sites |= 0x1 << (15 - id); + regmap_write(qdata->regmap, REGS_TMR, TMR_DISABLE); + return ret; + } } - /* Enable monitoring */ - if (sites != 0) - regmap_write(qdata->regmap, REGS_TMR, - sites | TMR_ME | TMR_ALPF); - return 0; } From patchwork Wed Apr 24 06:48:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914195 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 AFFE31575 for ; Wed, 24 Apr 2019 06:49:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A1D9828A56 for ; Wed, 24 Apr 2019 06:49:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9603A28A60; Wed, 24 Apr 2019 06:49: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 3A88228A56 for ; Wed, 24 Apr 2019 06:49:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729997AbfDXGtY (ORCPT ); Wed, 24 Apr 2019 02:49:24 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:34620 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729988AbfDXGtX (ORCPT ); Wed, 24 Apr 2019 02:49:23 -0400 Received: by mail-pg1-f196.google.com with SMTP id v12so8898505pgq.1; Tue, 23 Apr 2019 23:49:22 -0700 (PDT) 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=LHtgcg1Zf0pIA2u538aF6THujnYqeIu7AUO/MXWnU04=; b=ENh4FaCf4z2e1QhrXdvYc48z3uOFW2fMHKwFhvPG8Q3+ID/Un4pEu503bAnh9a/4/s ZGY+7XV8E/bsPIdYNZ7kFzT+f2dspur8Td1C+P0fmPYty7HH+mI1XALGxD2a6I6+F+QU UyIfPJcwRwU3yE/TrLPyC7HwxefJoIgrnt7oiPw0fXcm2rfGU/rsKj/ofgI6kxKFzhLb YLe2ukqMscUK0dxbu9gzyTKg9UbTLwXmjgV0zXDLDYLJO0byO0ANo6UEoYYFfbvnQj/C JTbYtdmsZmzWqxQNRp/VJX3E9nl49C/GwFUAC4XDaNsb1Qa02fk8Uf3GobLNfUXq11pL FqrQ== 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=LHtgcg1Zf0pIA2u538aF6THujnYqeIu7AUO/MXWnU04=; b=ZOBv2e5wpB7y7lVSdoNfxEa35drIuBGTft9RY3hAmfj3cRt0aMM0yx1+8tVCb4LNmd 9ZlfGJX75G/1Zfac78PYi7ahOR85highgGTU9iSUmtFprpYiKbMPZVOJs3Qc+aSua+ZH iN5EmjvHtnjCun6LsAUTMGnx9iCeHPVB7UjzisJhRlA5VC6hn0/tYM8gK4JIC7xDWbGR PLTba8CIL3374H6s8kQC45czRMMb/ybtonpx4aGMuIoWSeuVbBNP716EdikGndeOmuVH 4/xcsuEL/7AmOCjiH8Kz2RLT0ZgLLRUY9wbXTxVcXSai6WswUAjMse0VhE+LncQzTQnm LHQw== X-Gm-Message-State: APjAAAU+u6usY+/+ARlHRULHz2bZd6m5bwNG3hQ9xOQFJahGDIisYvMp Ftmj1rKvQrte/ChL8Bj6wHvj960VMxg= X-Google-Smtp-Source: APXvYqzrEqBa6Gy6x8lbVlOg3hQNvschZK2zRj24hNGYIMRyi9IxBVV+1OuXaLf7HxJsee/XPx8tkw== X-Received: by 2002:a65:6282:: with SMTP id f2mr7184655pgv.152.1556088562076; Tue, 23 Apr 2019 23:49:22 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:21 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 10/12] thermal: qoriq: Do not report invalid temperature reading Date: Tue, 23 Apr 2019 23:48:28 -0700 Message-Id: <20190424064830.18179-11-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Reviewed-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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, 18 insertions(+), 2 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index d8d9f567a632..f97d0cc82b2b 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 */ @@ -48,10 +49,25 @@ static int tmu_get_temp(int id, void *p, int *temp) { struct qoriq_tmu_data *qdata = p; u32 val; + /* + * REGS_TRITSR(id) has the following layout: + * + * 31 ... 7 6 5 4 3 2 1 0 + * V TEMP + * + * Where V bit signifies if the measurement is ready and is + * within sensor range. TEMP is an 8 bit value representing + * temperature in C. + */ + if (regmap_read_poll_timeout(qdata->regmap, + REGS_TRITSR(id), + val, + val & TRITSR_V, + USEC_PER_MSEC, + 10 * USEC_PER_MSEC)) + return -ENODATA; - regmap_read(qdata->regmap, REGS_TRITSR(id), &val); *temp = (val & 0xff) * 1000; - return 0; } From patchwork Wed Apr 24 06:48:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914199 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 1D5A8161F for ; Wed, 24 Apr 2019 06:49:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0D78A28A56 for ; Wed, 24 Apr 2019 06:49:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0162728A57; Wed, 24 Apr 2019 06:49:43 +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 950DD28A5C for ; Wed, 24 Apr 2019 06:49:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730010AbfDXGtZ (ORCPT ); Wed, 24 Apr 2019 02:49:25 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:41835 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730005AbfDXGtZ (ORCPT ); Wed, 24 Apr 2019 02:49:25 -0400 Received: by mail-pl1-f194.google.com with SMTP id d9so2854366pls.8; Tue, 23 Apr 2019 23:49:24 -0700 (PDT) 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=oaVflYKWbfFgk46fxum4ETLGOipk0J+WaOOtituvfiI=; b=dIXj8bx4l0VYf5f/9sUNiWDAokUZnaxcxPSRJC6sYCUKNC/JD/yRvhv72F9I3LV0Rv Yky57CKKkj/7VeL7SagzX9Gpwtmpm+BDwpWkhMa5B7Ql0eX+bROJ38/UtZ6N95e7m58b FMyYy0vEUmt7P9hQCH63xSWkY9oV6ew6OG8TYTasNDOuGV7dAFx9AGoJ1ZvnjWuptPnj 9Dba2We0nG9Kvuf0dhZilI5iWqQJPPCXXtMZu07v5i2CZorcGrtfyJu1roFQTlrXLT8h 7lMSBLU5jZ1/vBTYyAL9EmJUm2F2cErdwhy52gfiGCDMsF1aNBEG+JE4p7xMwRD7b8T/ qCQQ== 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=oaVflYKWbfFgk46fxum4ETLGOipk0J+WaOOtituvfiI=; b=nnQ7Fy/Kc3TGPcz24C4ffOZSh+aNQXmZK9/4zUfRqeWUhWqRgNPug5eiRfa3axURfN YzSdKBL5uUUwxglvoqRnotCiuFKvC5eevb15sOnYOQPpv6Visuk1VDyipwRuZI0LktUZ 4n6xixKGar4QLmcmQNoIMTp4XLmOMDBaR3j/eYk8W1foJGvr0rtEqZo2JOz/V4gWHkHc ziJ7CoN/CD41hxNN0ni4rqE2E6JR2l8RnOEPj22eNcXjsorxbXESSCWXuDL68JHTI+qd kazIgdF8rBTGcZ5KHqvcOWbvz+MJeyoDUTNgaa0iDzbqPWzbHUSRjbuZ5B/uNxXnriQn NT+w== X-Gm-Message-State: APjAAAVjr+ZwUO3MrG7V2mCFp3CPdtgu2i9DAuO4quvG9P6s3qcAwIvd 7vWj63xr2zlQ1Cknx2G1rv5xP8OYjU0= X-Google-Smtp-Source: APXvYqz1CPZ4TJH3E3L33/8Kt/u53PMFxlhhRwwnE2AcH5LOP5OgWQdbiajOov3NQlD+3QAw5kKAzw== X-Received: by 2002:a17:902:a01:: with SMTP id 1mr30581797plo.36.1556088563892; Tue, 23 Apr 2019 23:49:23 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:22 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 11/12] thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() Date: Tue, 23 Apr 2019 23:48:29 -0700 Message-Id: <20190424064830.18179-12-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Reviewed-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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 Wed Apr 24 06:48:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10914197 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 C86031515 for ; Wed, 24 Apr 2019 06:49:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B811628A56 for ; Wed, 24 Apr 2019 06:49:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A883E28A5F; Wed, 24 Apr 2019 06:49:43 +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 2C92628A56 for ; Wed, 24 Apr 2019 06:49:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730005AbfDXGth (ORCPT ); Wed, 24 Apr 2019 02:49:37 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:46312 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730012AbfDXGt0 (ORCPT ); Wed, 24 Apr 2019 02:49:26 -0400 Received: by mail-pl1-f193.google.com with SMTP id o7so6537466pll.13; Tue, 23 Apr 2019 23:49:26 -0700 (PDT) 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=Xu8QRQ7N0Vlct8X3Tzy6lVv4yUD77Qnl/IfULmtdP6o=; b=jKB3ZIT2oyT7HvTnR8iI1O4vAGyGsQL0CP15DDnGvMpyZWay23w9SKwnLUOCSj33UV Q4FfdwbqNvKCN0Y+clAVbXNiLPb14HkaYQUgLlI6JhBl7jhQzglw9Nn5eJSq2wwrhWcK PmFnnhSdapN/kgv6ctFBi94YQHPAQiF+nYIA+OuWK3Zw3gGlhv0QwgHkJbDMQB6uYBxx Pu5Eex98TZSu/UtCc7CFV7QWYeHGMPm3YrxpSrQk7AKGRxzyDDDMzrYXuiyd8040GyL1 tkTSxRdyaFx0elrMyVpXB4Q7XOCSQQ9KQqgcorMSUrque2B0dA/6cAxNDNYYE85MIuBD DCjg== 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=Xu8QRQ7N0Vlct8X3Tzy6lVv4yUD77Qnl/IfULmtdP6o=; b=CTUhw9d9GDObbG1mqtkT0uDe+vR8wLCSsLFbWOg8AF7cqw1d8Wy6wHVRT0/5WdOGa6 RtCy8d73hyyA7dAXgW0UnbKcNGCRKJmny7AUMShl1GroylzvoAuGDEtbz763GBEubNaP RxwYozeHNw4M1C9xxmzVswcgA8UgxzRGF/dTe5hli2nbkyJY9lFKRIDCF27XnXgZkemw +RGoHnZLqvaCz7Bzpjc2VXrOWEOqZNEf3ttyQKOHBO/cfZsboDs6gRd8vNQkKnsqxTf1 T1VKYIoSBZQHcGFVjmXekgEJTuQlT6187JW6aU1aNMb/mVC7U4Ma/owoTuVP8nilo7lx /fIg== X-Gm-Message-State: APjAAAVmsE66jAfrVVlJV2x1m1et+9H9aWIivXpqx+b/ZeflSFg4Scdu HyuW/LFTsTSROox2geY1osJWOBJrQAI= X-Google-Smtp-Source: APXvYqySaRZAy0bIrPlcwU9FEqGBi59kJzO10WlmXNWk8xbB2b8CjNzIYRkNh/zMadzWDdkhQK+9UQ== X-Received: by 2002:a17:902:2:: with SMTP id 2mr31093522pla.61.1556088565266; Tue, 23 Apr 2019 23:49:25 -0700 (PDT) Received: from squirtle.lan (c-24-22-235-96.hsd1.wa.comcast.net. [24.22.235.96]) by smtp.gmail.com with ESMTPSA id e13sm26332457pgb.37.2019.04.23.23.49.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 23:49:24 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Lucas Stach , Chris Healy , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v5 12/12] thermal: qoriq: Add hwmon support Date: Tue, 23 Apr 2019 23:48:30 -0700 Message-Id: <20190424064830.18179-13-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424064830.18179-1-andrew.smirnov@gmail.com> References: <20190424064830.18179-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 Reviewed-by: Daniel Lezcano Tested-by: Lucas Stach Cc: Chris Healy Cc: Lucas Stach Cc: Eduardo Valentin Cc: Daniel Lezcano Cc: Angus Ainslie (Purism) 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, 6 insertions(+) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index f97d0cc82b2b..c93732639f78 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 @@ -96,6 +97,11 @@ static int qoriq_tmu_register_tmu_zone(struct device *dev, regmap_write(qdata->regmap, REGS_TMR, TMR_DISABLE); return ret; } + + if (devm_thermal_add_hwmon_sysfs(tzd)) + dev_warn(dev, + "Failed to add hwmon sysfs attributes\n"); + } return 0;