From patchwork Sat Apr 13 08:27:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899393 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 3A9BC1708 for ; Sat, 13 Apr 2019 08:29:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 20F9828E85 for ; Sat, 13 Apr 2019 08:29:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 157C028E87; Sat, 13 Apr 2019 08:29:17 +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 A4EB328E85 for ; Sat, 13 Apr 2019 08:29:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727185AbfDMI2I (ORCPT ); Sat, 13 Apr 2019 04:28:08 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:37729 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726278AbfDMI2H (ORCPT ); Sat, 13 Apr 2019 04:28:07 -0400 Received: by mail-pl1-f196.google.com with SMTP id w23so6231580ply.4; Sat, 13 Apr 2019 01:28:07 -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=bLQ/nNmpG86cdxUkBF2/3YqgQ/OejpmjaLfh3C1Z/s4=; b=L9F3zM/pd92X9TaVrcKKjPtEOhDHUSLzFC5wIWXuoPTJPvhzknIihGT4PcTzqDVbNo 7I+VNfiWhOYiyp9DEaknYzR7I2FJWTqYsEdGJIP3WnIRey1mJXD7eQTMalbCaClz5ItS iF7gDRCnMTkqWKooiIXIiYfc7nh9ip4Yw1ovbq3IaNKBZBdvsW8Hh/iH74ZIVIMU5zDQ Baq2f7/a3tDkpafNkedP4sqggW6hnIU9b7lirhdr+llP6pPogH6Iwp5amn39Pwl5kETF G2rvsLuG/sesbjLGqsWbdKmlzwy+hNFJLMdIWkPRSKauYDwzxlyoor/+6QxI+YpaYgkV /klA== 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=bLQ/nNmpG86cdxUkBF2/3YqgQ/OejpmjaLfh3C1Z/s4=; b=tzJ6mPW73Tx3P1yAt5vzfI0jCXfnLtEoiikA3bdPJNnN9ycZG1LGKXEyTDfV7WeipI +OKz9dHeVwFBCvTzaX9I01Ne0jpc0X985wJUfbliptwGBX0qJctHuvOMuehVYUYZBr00 3ztIE7lz0gAvCfxQZHbNSkeJgKKuiYFmv3pYWDFvL+V9tBpXjGfplmBEJSjBMPhdszDx htBs8dRT1d6AkwldXWXTWygUfbpx4JHnfItfR5bqyAj9T55LV+4Io6p/TLZ7rUKr/9Jx 0hKOiGA2lrky9oi0QTSX1N9o5vyoLtozNmAiEmhv12Dz84bfRd6O5HdbIU59f/Dcsi/g Mrfg== X-Gm-Message-State: APjAAAUJdymTeMmSQ7cdYrS1kUxu1Xds3EKhbh0xldWseGZNazby3HkP ZqMzUkXGsbJ18ebL1OH0yw5nIJ9q X-Google-Smtp-Source: APXvYqw3qTdW0Wvq+ebg/r95kQZU60CBOm9Gol6MNlLUzxMHhdRpyXUDZ4qRw9lP3ruw9SpkKqlGAw== X-Received: by 2002:a17:902:9048:: with SMTP id w8mr63357472plz.195.1555144086165; Sat, 13 Apr 2019 01:28:06 -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 z20sm58261328pgf.70.2019.04.13.01.28.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:05 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Chris Healy , Lucas Stach , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 01/12] thermal: qoriq: Remove unnecessary DT node is NULL check Date: Sat, 13 Apr 2019 01:27:37 -0700 Message-Id: <20190413082748.29990-2-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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 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 Sat Apr 13 08:27:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899387 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 0B13217E0 for ; Sat, 13 Apr 2019 08:29:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E73BC28E85 for ; Sat, 13 Apr 2019 08:29:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D7DAE28E8F; Sat, 13 Apr 2019 08:29:08 +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 7307928E85 for ; Sat, 13 Apr 2019 08:29:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727285AbfDMI2L (ORCPT ); Sat, 13 Apr 2019 04:28:11 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:39042 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727204AbfDMI2J (ORCPT ); Sat, 13 Apr 2019 04:28:09 -0400 Received: by mail-pf1-f193.google.com with SMTP id i17so6242408pfo.6; Sat, 13 Apr 2019 01:28:08 -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=fZMH3N6CK8+z2Xeh76BH22qSd9J6H7b7QWjPNtZ5yH0=; b=QcF9A/A8vMx+hrAKIk1L/B12F8MZyj3K3eXeFKFS5fYYKqYw6BWEd0Vt54tfFm1qA2 iW3f84sIMXHEUrUmBDhvMBMgaSXv3ILX3Y43tcXkY949271tbw6+PlQNNuTYrA5IxqSn eeCJRS3snztuf/aEHLvhbPk4kcl7aezucD+Ac5UsGfJxUwhBHEQFvg/lwAXSaNObVT9H vK3kCCkBGuBrXsopgRd5BhCVRUJWVPnLdB8rx2nqRr6sJ35gtD+72wHvJLqfuxlFnfyV HZxSUXntVkD6Pp0WqiWQB0H2mqBX3EX68v9hxMd4LCQNBxTG45rGl9KqfEgu4fq73d3o YErQ== 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=fZMH3N6CK8+z2Xeh76BH22qSd9J6H7b7QWjPNtZ5yH0=; b=H487gD/lxoFrHPxZUfRy8JrmMJeI+U63roh1sF95AdEciYjyO6FCq4DNky1twkooSZ BwE4uqH+TJ0ZKhW0eydXdyuJmqnrpE8ZINHjH9TGOHIHeAppxd+yCY3I7vOqsc2PKHlL m95IrvW2BHJ9Lj1HPevbNR/Nz5lr0chmUQjhLqs3jvzvPUHHxZynBkx1hBgYBbCuq3sP s2rgcLq/1ZE3HehrWGikgrVRKncBsoBH1SXAHfbjHsCvk0CjdSYvmB/vlStodo5EHUuv QCgDiCo4kwTnLag14rfVCD2wiDDNzoDzYh3reMuU/6x1FPcm/6lB6Y3rLqpcrEeljmE7 qMwQ== X-Gm-Message-State: APjAAAV7mQxHCwCjlbCsq4K6r6g86dSOKxgam96CSt1oNYD7GceuzMq7 mh8yd27fnnSnf6prolKF0M5xSAk9 X-Google-Smtp-Source: APXvYqxsESwLkAnf+JoVYH/W1xMrgqPWMok5GI7R8rqv2My1zQFUSLgVP8JUG8eqbCEEUZm7m15dYw== X-Received: by 2002:a62:cfc4:: with SMTP id b187mr61258924pfg.130.1555144087322; Sat, 13 Apr 2019 01:28:07 -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 z20sm58261328pgf.70.2019.04.13.01.28.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:06 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Chris Healy , Lucas Stach , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 02/12] thermal: qoriq: Add local struct device pointer Date: Sat, 13 Apr 2019 01:27:38 -0700 Message-Id: <20190413082748.29990-3-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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 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 Sat Apr 13 08:27:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899389 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 63C4E1708 for ; Sat, 13 Apr 2019 08:29:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4B02328E85 for ; Sat, 13 Apr 2019 08:29:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3F58128E87; Sat, 13 Apr 2019 08:29:09 +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 D0A9628E86 for ; Sat, 13 Apr 2019 08:29:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727254AbfDMI2L (ORCPT ); Sat, 13 Apr 2019 04:28:11 -0400 Received: from mail-pg1-f195.google.com ([209.85.215.195]:37648 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726278AbfDMI2K (ORCPT ); Sat, 13 Apr 2019 04:28:10 -0400 Received: by mail-pg1-f195.google.com with SMTP id e6so6290698pgc.4; Sat, 13 Apr 2019 01:28:09 -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=G6SN3nX4S9vp1GlMD+l/YmLqa1bxpAZGh6pSi3V7e68=; b=LRVDuWZI38MFME3WNImVpwsE2LmJmla8j5hdINI6k/Yp/m6a5w7OK9tQvApL9xmgD7 IwmC19jjI8Nof2t9pE39a9rXee/EMQLz+/K0A5k1fH+L4xz7JbRVw38jkfmtBzCRlx7o a2JSEPfkxLNVzDklQ9XRBfBt3jY/UpdoBNe+zMpvdbIREe8lniEvwEaxF2AIDwVSTJ9q Q4J2v5sEE4rJTLKlfnVCs5pTDJJgUTIS6NEc+eie+3ODOFI2WXKf2IwY5i18TGgP95vt NxhqzwBqDf9AchmmAY5QD5c9Yp+WDN8NiuBqNV+yDHBI+9J+/YSMbt1YR12TzXPgX2ej 0gvQ== 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=G6SN3nX4S9vp1GlMD+l/YmLqa1bxpAZGh6pSi3V7e68=; b=rY4dFbW3NTGHsdLTKrFi+9cG1poeP5QIEaa2fGK0cYlXuWF8SJta+KDd1SLnx+YQwd CS4je8TAkT6TTpLqD1MLtUJimthhIPfqhtk6MlQHGz736OdJ9Fk1KdcFQISrwJKJQAsR VjZncqdqLrwYOjOdMeuxWVX46G4MCCP8QqWLhRAhaTYIRUZONeTDQKdbNIawVvNtFY1u 4m1cXhr+WeG3hCpJLqm+6M98+PxUiT5cVaQlSz+mr6S5t6os4WkHqFMv8ItERp3Adrs5 0eLsXZbVkkb0tyc2a8eoHPRgl5fyqz3jMmjHguQRkQSoQNf498T+yJ5MX5uKgc4HySEy t6bw== X-Gm-Message-State: APjAAAVIFnembTHCn7JkmQnSyH/Q3Ks/MKtIXQ4haI1SB2fMg55LxdPj +tbo6calsaNWUhezBczAewn19yFd X-Google-Smtp-Source: APXvYqytoI1JYi6HoTSaIHvcmyqcl9fuBkRRQsYZfUJEyYsMHzFAjbSmHzv2oWFP9plHi2+Vot0owg== X-Received: by 2002:aa7:85d9:: with SMTP id z25mr61884998pfn.31.1555144088691; Sat, 13 Apr 2019 01:28:08 -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 z20sm58261328pgf.70.2019.04.13.01.28.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:07 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Chris Healy , Lucas Stach , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 03/12] thermal: qoriq: Don't store struct thermal_zone_device reference Date: Sat, 13 Apr 2019 01:27:39 -0700 Message-Id: <20190413082748.29990-4-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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 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 Sat Apr 13 08:27:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899391 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 6CE33186E for ; Sat, 13 Apr 2019 08:29:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5386928E85 for ; Sat, 13 Apr 2019 08:29:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 47D7028E87; Sat, 13 Apr 2019 08:29:10 +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 C35AF28E85 for ; Sat, 13 Apr 2019 08:29:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727295AbfDMI3J (ORCPT ); Sat, 13 Apr 2019 04:29:09 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:39044 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727242AbfDMI2K (ORCPT ); Sat, 13 Apr 2019 04:28:10 -0400 Received: by mail-pf1-f193.google.com with SMTP id i17so6242437pfo.6; Sat, 13 Apr 2019 01:28:10 -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=YXzfvmogFkg7sNZrMv98pUmnce88F++D6aDSyWLVFDU=; b=TcB3DUgr1bBDl5zUnoUPBo3dF9jmpV3fwxXzCdsSj0yL8kxZ1Wk9krkkRNT8ZXdnHn Q+3MK3Qg1h3ZiuiVf8XGuYCld6laXF3Gx9sUwchy+i91IAFSlHkHazUXBH9BMcqXDtzC PmqXAdCOR+987SiFBOTh0JSNPKMrqTKHhaipbOJ181WmrSSyQk32A+QFYO5mDhl1rQlZ nBsCrAkdKJv7BUBRgai3vBMcvHRORrXwJ0xMgaztZsuezx1VIlXsvrW2eSljGlj5Weo1 tYyEyDflEHoiIt0mFnNNXJsLe3S0oVMLHHiRPgblMgNKABO9FBPkYOoGcQILMCd4YBoU MStQ== 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=YXzfvmogFkg7sNZrMv98pUmnce88F++D6aDSyWLVFDU=; b=MNFatmC82hrp6Am8CAgmZz6l/karwCdrzn3MiN7yxblHA3Nmx5kl4+hf10houDSIq9 19Wz+iA6QwW+X2lDEpysk5uEKfxA0V6yfZWIS390e/hrEZCVAjJWfMglBhwTiyEFNQyR 5acZcppjaGPOTWIMc01j3ewrOu2PKZcl0NPUN0YPorlHfpBrNen0EkmBHKH30pRBbJYi Xdk896WyqfIYaULmwaFh5PHTbRqkBaHuPQ3n9Z1fBEaS3x9aK/HF1gzkW4dLxsqQcK/p vzfWXRi+Pzi5O1kMYMGjPxR0nliqKPCwTVoJfnGZGyhq+tErN0jT+fhEa5YR9dhrD7tn dLfw== X-Gm-Message-State: APjAAAX9TTe3vzPZ0s0RjtN4BuuobzpNyXYdsO9aRq1Iv2WDItb2Hi5s RXzL0xO5wR18/WYoJ5P9bFvCo6+M X-Google-Smtp-Source: APXvYqwAbUzxFE/2eMUGtPR+x5O67JRxRIKCFcIhhJKOAOx7I2XZp+P0ahX71Xyrd4Q7ae3/ot7vIg== X-Received: by 2002:a63:d250:: with SMTP id t16mr56961355pgi.288.1555144089961; Sat, 13 Apr 2019 01:28:09 -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 z20sm58261328pgf.70.2019.04.13.01.28.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:09 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 04/12] thermal: qoriq: Drop per-sensor data Date: Sat, 13 Apr 2019 01:27:40 -0700 Message-Id: <20190413082748.29990-5-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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 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 Sat Apr 13 08:27:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899385 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 E953517E0 for ; Sat, 13 Apr 2019 08:29:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CCA0F28E85 for ; Sat, 13 Apr 2019 08:29:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C14F628E87; Sat, 13 Apr 2019 08:29:02 +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 6087328E85 for ; Sat, 13 Apr 2019 08:29:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727629AbfDMI3B (ORCPT ); Sat, 13 Apr 2019 04:29:01 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:39574 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727295AbfDMI2N (ORCPT ); Sat, 13 Apr 2019 04:28:13 -0400 Received: by mail-pg1-f196.google.com with SMTP id k3so6281057pga.6; Sat, 13 Apr 2019 01:28:12 -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=3IlSs5sCa3k+IzCgDt4GsO58Km3IKBuiTWLQ+G9cHQI=; b=Y8fHtasOI80D4jRTHB/51CfeYsFIVIXYuzJ+GleydQP8nAfzYwUnJw9R4w7Dh0uneh //fwTGtSD/CcnZy+iF+Xww+35jpNzOC4bO7XHtkHtMfWgWjbch482dQ5Rc+crj2hnh8d W1M22KUiw37Pns7sCmFLV9+CqQQ3Mo0ftYbuKJ/LlrUCfPsKgb7tRcejLPto6U9zBWhO 1eEutDCWhZqotzaW2yop+eywWKFqyrsU7hrt6uXbd9wq3QzvFUKPbBwY4FYNcXwh/+B+ 0SeI95bTrLStxHgArT2DCgbjfWaldQZ9Zt60+QyJWA8XOYh3zXQiJ9ZYs9JS13IN8Z9e PGgw== 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=3IlSs5sCa3k+IzCgDt4GsO58Km3IKBuiTWLQ+G9cHQI=; b=Y4upJqocB5UjdjwM9XADI0sqN8c2xM31dMJ4xU/5aJbK+50ARozN8KR7UtimR9Ed38 JFBhLcIE9T+xh29kR+Ej/U00q/lMUjxwxo/gDXX9yfdJr9lJzI31VM7KGNuebN2ooeme XFlW99JVZa1GZrDPQhgTL99NL3sj+9R8sDNgnHDX1DEKO5Sna05K18Kx0yIYQNoTByeo sZvey7B8mehKqOFxBPSlnuIxulLh2umGzCCYfWFl2oGAHWhnuE8jHVmNXT8QFU+c2ftx aP6mUxri2NnME3iRSqZ6mzILE65Uc0uLfsERc2kefJzC08wX72YyfkcVYMicNpUn8BIX 2Mdg== X-Gm-Message-State: APjAAAVng3/8WSNAHuRYAPgdSYBjd8RSv+uzQ05/gmVG2txwrrzkataG WWAiHSboxO+B0l1MUYrPgW+jTzdv X-Google-Smtp-Source: APXvYqzinN9zQFs39+z+v8msgKTwNvCYpkgX0fg0tX9dFHE4s1WUrYBERlxIqus2HzzbiTKwQp9YwA== X-Received: by 2002:a65:4048:: with SMTP id h8mr47152888pgp.6.1555144091560; Sat, 13 Apr 2019 01:28:11 -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 z20sm58261328pgf.70.2019.04.13.01.28.09 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:10 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Daniel Lezcano , Chris Healy , Lucas Stach , Eduardo Valentin , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 05/12] thermal: qoriq: Pass data to qoriq_tmu_register_tmu_zone() directly Date: Sat, 13 Apr 2019 01:27:41 -0700 Message-Id: <20190413082748.29990-6-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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 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 Sat Apr 13 08:27:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899383 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 C8ECD1708 for ; Sat, 13 Apr 2019 08:28:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id ACA4228E85 for ; Sat, 13 Apr 2019 08:28:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A14EE28E87; Sat, 13 Apr 2019 08:28: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 3326E28E85 for ; Sat, 13 Apr 2019 08:28:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727325AbfDMI2O (ORCPT ); Sat, 13 Apr 2019 04:28:14 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:34746 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727204AbfDMI2O (ORCPT ); Sat, 13 Apr 2019 04:28:14 -0400 Received: by mail-pg1-f193.google.com with SMTP id v12so6300185pgq.1; Sat, 13 Apr 2019 01:28: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=670khlUAQ7b+mdcFjnUxliytjVghTmzI+4tSFDYoDV0=; b=JvWa+WCJ0nQFxcMDztgL7cvTETI04o6f+/1mbkfxufljKmEZy2ar2pER3ypM3qbk+H rwbQBRT7q7TJjCPwAqyTNQitFIo1kCyAY1xJdDIgi0VsDQjtKw9vkN1riBXggfUz6U45 ew5a7vsUu3GCf3bm2b2c8n1hjXT0+5koE69pBrkJOYURdmHh5kSHm7KyESm2FL7DSnxK iSxJ5RAB4bMXKm/ARzaUvtNMQwcvavsxXxmbsEhwZtYia9v+lrzxjqntBvsG7Z+w0Rnb 2D+gbDX7IZyH7sA3hnES8cC03bDBE7WxbNTL4z2YlemU4tUboSX49l1ILhRPhUleCnDl ZQfQ== 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=670khlUAQ7b+mdcFjnUxliytjVghTmzI+4tSFDYoDV0=; b=hzYH18YVq2zixfri350xU25BJieoJI+S9Ue1LxZGzi+S78qLWV3KRxP+tOhftHKjcg w7Y/TyrfrzfW418BHWwZxWk7D1rHbZPz2k2gPlZxoQyrIajXX1KSLoaOAPtFmSEEJa25 oEIftbaZd+mCN08KHvrSyme3nWwe8GiWLYWm4hu87b4dQ5bvzBSNdFDk/2MlyBSX0G+Y oi1KKHpmtbQGirJUTQI87sz76q3a10MYhxfIH2nXzaZh6iJfzmKfXlBQTgLGG9dWGYIZ FjLDv9aWJN/e8BfK07vwHnnNC7cStllfkgqjGH4XeazbvWYmxFm/QcJb80SE33HkM2wW g05g== X-Gm-Message-State: APjAAAUZin4qDcl4enlqGwMfqbpSOHhGcBsbk0A9kqB1cSmef8JxiSd+ WZ/nQvVpC1H88QzX5+YU+3WQOYre X-Google-Smtp-Source: APXvYqzVYY+QIRzorwF85Ykxn4Sf20tppXUzmJuSrznaXTq3AxzncPxaILKvwd8kdMfc6mfnfLkMiw== X-Received: by 2002:a65:648c:: with SMTP id e12mr58730486pgv.346.1555144092845; Sat, 13 Apr 2019 01:28: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 z20sm58261328pgf.70.2019.04.13.01.28.11 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:11 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 06/12] thermal: qoriq: Pass data to qoriq_tmu_calibration() directly Date: Sat, 13 Apr 2019 01:27:42 -0700 Message-Id: <20190413082748.29990-7-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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: 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 Reviewed-by: Daniel Lezcano --- 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 Sat Apr 13 08:27:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899381 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 B0FD117E0 for ; Sat, 13 Apr 2019 08:28:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 916DE28E85 for ; Sat, 13 Apr 2019 08:28:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7BF3928E87; Sat, 13 Apr 2019 08:28:56 +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 128FB28E85 for ; Sat, 13 Apr 2019 08:28:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727345AbfDMI2Q (ORCPT ); Sat, 13 Apr 2019 04:28:16 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:35652 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727331AbfDMI2P (ORCPT ); Sat, 13 Apr 2019 04:28:15 -0400 Received: by mail-pf1-f193.google.com with SMTP id t21so6252583pfh.2; Sat, 13 Apr 2019 01:28:14 -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=sqyqtoK3GtgMDfL06tkuGJvc1GAcOS/xIw9/fZv75Dc=; b=CWaKvEvqE/ZkGmUe7ZlweVMWuuv9thcD6wvJjqaU4wCiECWYRfg4eQ/VExI26NZ4rS URD49jAVRgZYVbwCzMGwn93lyp8CCJ70R8ZykS97XVkbSQQnkliNNZlfcpzcihUndmpH F3bHxjV0ePJNNsjyU3nIyMA+gZK6XbU1ofz3tga2znsSs+Cp63KNlYeuUyhjyK3Av2Kr mEs2rzZ61IxJxWJ9ZNfc5aIcMiuEfL6Mz1Q5byRp/3udt36IX4nG6EJlqMD08Fm04/8r RhKfzzwxn6xnGoloJlYUrkKFtL3ap39JGBD6G1NPHIOpkH9Kn/gsAPpAqTyiYSGezQbp 1k2g== 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=sqyqtoK3GtgMDfL06tkuGJvc1GAcOS/xIw9/fZv75Dc=; b=oJFc32iFx+j6+/AsuJRAcWhe0FOZHzWpdilpVEVl7q5aeDTlrP3PuLA8ajWFgzcK+0 u4xlG7Tp9VvGCEN2714HJNg97KFSueCvt0CP7MADRLpryMZKRBpSwU/tcALqsxdsPzeW OPoy/SVeuiXed7Mm2jh86dEUM71SVtdIDgdSl+j71052y/vgoDeF4CC3y7F4SpmjGoKH sx+bzckh2kL/3I3lRAZciggGNivZi/vTvgwaAtwFUIxb3Gf1SNIKaBHgwnsAiXhcikq9 1lnj1EK4V5YD9le91gZesbqHFFaVYtnCsQ2YXHJlwUfz4vVovWJ56JgbWzUTCW6dDFeS 0wRA== X-Gm-Message-State: APjAAAULFBIQv3qa8+D4PAjDVZqR6zW2KsMs/bUOT86aBGG0rFVZCNaj pu6Xv5al+C5zQz2fTSA+GeltmaIl X-Google-Smtp-Source: APXvYqwi9ijyU+mKtKqsmzCPgNVWiChKvDWQWB7FuS1nnz5A+ExYGvt6khlU3v0UZyDRcaU6D8iBag== X-Received: by 2002:a63:9dc4:: with SMTP id i187mr54515057pgd.259.1555144094140; Sat, 13 Apr 2019 01:28: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 z20sm58261328pgf.70.2019.04.13.01.28.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:13 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 07/12] thermal: qoriq: Convert driver to use devm_ioremap() Date: Sat, 13 Apr 2019 01:27:43 -0700 Message-Id: <20190413082748.29990-8-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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: 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 Reviewed-by: Daniel Lezcano --- 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 Sat Apr 13 08:27:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899377 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 1B82F17E1 for ; Sat, 13 Apr 2019 08:28:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F1F9428E8F for ; Sat, 13 Apr 2019 08:28:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E334928E87; Sat, 13 Apr 2019 08:28: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 09D8628E8F for ; Sat, 13 Apr 2019 08:28:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727366AbfDMI2S (ORCPT ); Sat, 13 Apr 2019 04:28:18 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:34970 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727204AbfDMI2R (ORCPT ); Sat, 13 Apr 2019 04:28:17 -0400 Received: by mail-pg1-f196.google.com with SMTP id g8so6297243pgf.2; Sat, 13 Apr 2019 01:28: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=nQsMyf2shuQSAx8n91J8E24JrnB+zd/uMtPnxsTdOq8=; b=lxDmusP1U8w5ZTqrkePZm9h32buBQyCWF1N6BAoQGtj1E/YlJyvKPxrTpT1Po99GWf rdBn6coSTIZfuZiectGs2oi0tieGaXDyZOJjWB6nBhptijwv3qRczVxoJGQ0nlozUqOV f4haTqwZkQeIwy5zBCdoEIOG9tSfjQr6hPuGFgx2Ok/Tw61vbw3+t3JeB/2USwtWAjgY Pg7a9Lk0UJjjiQqVHxUsUSCRLJ2KJPNG4vgGGW7SHatZTcN81QYAmsg28ejg11XCqvFS CJCOi3VfJTKFyluUHqrqZCuzxMMm0e0eqr9mtqEFwYUlggR/Ah/htYuwwMUfvtcBvVNM ryOg== 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=nQsMyf2shuQSAx8n91J8E24JrnB+zd/uMtPnxsTdOq8=; b=WqPEioDWCnNGBCpCRYa9tzZxy9aNGfb3+lH6vgXWpCV12RLpneqF7mO5PGNB92lL99 cfEEWB+LGWnfumb4tf3+HlxcQ0g6tw6tcQfD8TZLgEcrXcd9pae1eLaAQjLK8EfroVLd VFZV5X/CB/q0cSokLKGRXCudMgKnivbX0NNxK//19gSlCjjgmkzfADQi0j4lZYHKwdUy 1TMh7WKfSSZo/Jd9I0+xXOoCWVObbFqgaZOD3nUSxMgS64Wy/qooVLMmN9vAkmg2eyEH y/XXSZiglQSPqQmyCIYvSrLbU+OSTZFScIE0pXFAD53j9+7cSZIRuLZTO646cWIAavWm m+DA== X-Gm-Message-State: APjAAAUc5ytsVXdmlluzxUPE7Psv/t6BTGj8C3kUSoKCLKKc3s1Pjt+H vi6qyz5kvNCSMrAjohgeIvCZLliE X-Google-Smtp-Source: APXvYqyk8xiXzX/M3wCyHQuzQdu+I2DPVOgZd+fQBElew/piugNf/Q3oWdN22RQI4KjFmpKKAdhi5w== X-Received: by 2002:a63:4558:: with SMTP id u24mr35569703pgk.225.1555144095643; Sat, 13 Apr 2019 01:28:15 -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 z20sm58261328pgf.70.2019.04.13.01.28.14 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:14 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 08/12] thermal: qoriq: Convert driver to use regmap API Date: Sat, 13 Apr 2019 01:27:44 -0700 Message-Id: <20190413082748.29990-9-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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: 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 Reviewed-by: Daniel Lezcano --- 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 Sat Apr 13 08:27:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899379 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 37B11186E for ; Sat, 13 Apr 2019 08:28:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 226D528E85 for ; Sat, 13 Apr 2019 08:28:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0D96A28E96; Sat, 13 Apr 2019 08:28:55 +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 97C5E28E85 for ; Sat, 13 Apr 2019 08:28:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727356AbfDMI2S (ORCPT ); Sat, 13 Apr 2019 04:28:18 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:38902 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727350AbfDMI2R (ORCPT ); Sat, 13 Apr 2019 04:28:17 -0400 Received: by mail-pf1-f193.google.com with SMTP id 10so6246949pfo.5; Sat, 13 Apr 2019 01:28:17 -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=i23+oyBgEnXB9qRq+mm3/3KuLAYqITPcLrHTT0eBkK4=; b=a6UMSAM6IZ1Jwtu3fFmUlSxvbOYNpjBOxgMFxIbQg+MFsUP6y9csAR4Opb7bx08011 8f2jwshad/s4lECcglUWC7GT4plQn5ll6eH313BPfQ5LDUMolpULiJx2qLwhp4AhwCQv 9hNm2SVACXXVG4SdNussjRekBGn8kThAM5AC5umoy6ukZiwby39Bj/TFEmO8dkxDfVSJ A0sjBYBbe9QrQ5VNmKXrvI8ghO7gbc54XR8K4t2LmnSAeT77QNyy9YzNenrrr0xt22zA fwSQfUg04Kj13TzV3nQTcNiPHHeg90AlOUn+mqh4f4v4hpFIJd97TjUHZ/bccCbHez0Z SMBQ== 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=i23+oyBgEnXB9qRq+mm3/3KuLAYqITPcLrHTT0eBkK4=; b=nZ93r88BVuUzzoKkDHB/wW83qX3lL6I4ZOU16gsIFAYi4mmnvX+VQDdiOaiGdCeNgx tblTcNAh7e2NuaP+efndKS/3MTjxt9alEkh2F63OHVXvXmcH/qDDZoC0CTWTpRCSelpr VXysZldEKua1d9jgBwjIctag2FBqYcjsdmSEYjrYi2jo4FkGqwH9ky3RSqzQ2gIhLTz2 NQ93+sbph8NwqLI+mWg+bx56VUUwtq4Pq6Bw1YUXN8fq2dVBHj5/+4xgWk8mrsNiGvEc hHa80mmnI7re2j94QLkGHMYX08m+xEZ0Qot/jZkDwZOF06wGpKp1mIGXrYoEWa0zHyeO O4PQ== X-Gm-Message-State: APjAAAVqMgrqDlvAwef3RMGO/L33HPGR+H2x38Knao24Ka+aSq2jeO4G uOuDN5xkEMtGD5K2FMsoXdq9n2sy X-Google-Smtp-Source: APXvYqzt6+UZ4YN+Y2WMXaFTJ7g5XJlXxthGjIf2OL0UMXHpo/ERjVEYVYKBXewxrG17urRSbypUyQ== X-Received: by 2002:a63:4e10:: with SMTP id c16mr58046205pgb.302.1555144096688; Sat, 13 Apr 2019 01:28: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 z20sm58261328pgf.70.2019.04.13.01.28.15 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:15 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 09/12] thermal: qoriq: Enable all sensors before registering them Date: Sat, 13 Apr 2019 01:27:45 -0700 Message-Id: <20190413082748.29990-10-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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: 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 | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 9774323a17bf..abbbfe88422e 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,28 @@ 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) - 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 Sat Apr 13 08:27:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899375 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 AB84317E0 for ; Sat, 13 Apr 2019 08:28:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 904F328E85 for ; Sat, 13 Apr 2019 08:28:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 84D4F28E87; Sat, 13 Apr 2019 08:28:47 +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 6E6CC28E85 for ; Sat, 13 Apr 2019 08:28:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726953AbfDMI2k (ORCPT ); Sat, 13 Apr 2019 04:28:40 -0400 Received: from mail-pf1-f194.google.com ([209.85.210.194]:46900 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727382AbfDMI2T (ORCPT ); Sat, 13 Apr 2019 04:28:19 -0400 Received: by mail-pf1-f194.google.com with SMTP id 9so6217193pfj.13; Sat, 13 Apr 2019 01:28: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=Fa9VbtAEA5XxQk9udn1SCQKBpCj0lIUFDw7+3syeD9M=; b=cIZedw5EAO3l9Jp8aV2T0bXUIyd4bK7Yoqd4/4TlC3Bw6PAB5RBCfhEPMCQiKhXu33 hU56UMgs685hBDwQkJSKkG5JogJek94vg0slSj3qriFzdfugZadKrJxoBED3wZbrDvdu z2CpAn0wC6kR79yXyEmbcYayUKiLkRU8BKvqIATnOWzHKA4RZ5HK12Oe799Lpe+6nSd2 40bAIAKfgnO0ad1zVrF/WPJGC4417YG5LdOWfTVoGwlmpo1ShX6hAaoYGf+ymKVzUtDX 1cNtdBAgFIuROUxPAUZBVBHXqCy0UOBwPOazdLzMLb3s653OJ2WCit32bGf31cpwgKpx wewg== 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=Fa9VbtAEA5XxQk9udn1SCQKBpCj0lIUFDw7+3syeD9M=; b=jZMvIDzSwFdChbriShYMGXgugPjOcAApHi32YNk9uk0HAJFY5PgQvRoH22rcyLVv9Z T4NHYghIU+oSk106Yk3GgpMOx+MfuVInHIPsyCBbgsu1UhUIgKyFWquYIrep9ewySZp0 17ESvB8wYj4kJjurDXtWed8o9unsvkBTmarUuYLyDSxfQijDDcZ5gsz/jUJW9lDJ3Kdb FMOll1rXymw+yRpGxKjFaTmXZVaKDHmmT+BWZ8UDRgfPiNpvJTdnDaofcytSH5uUBWtI 0ukcmOSEAcMtj0QjSKY0VyXErY2rLkd/ayGa5h7UwcdLRSoiGJTNYRjDvg49upToy2Vt Ldpg== X-Gm-Message-State: APjAAAVlYuP3XFkRXYX57Su99POg0ztV85/+WwHsVqaJ+GPiIKuYrCn4 idwQ0KWLJHRx4PF+wUuaEKD75Vth X-Google-Smtp-Source: APXvYqypU3Fpoc0fnbetc8eAplZiNuSLI/O77OXWw48TbSU9zR+w8fxQRO7aMGWPO2Y9HM4Rj6NvvA== X-Received: by 2002:a63:6842:: with SMTP id d63mr56387934pgc.49.1555144097924; Sat, 13 Apr 2019 01:28: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 z20sm58261328pgf.70.2019.04.13.01.28.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:16 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 10/12] thermal: qoriq: Do not report invalid temperature reading Date: Sat, 13 Apr 2019 01:27:46 -0700 Message-Id: <20190413082748.29990-11-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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: 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 Reviewed-by: Daniel Lezcano --- 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 abbbfe88422e..5c459a9d0db3 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 Sat Apr 13 08:27:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899371 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 BDFFD1708 for ; Sat, 13 Apr 2019 08:28:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A7E0328E85 for ; Sat, 13 Apr 2019 08:28:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9AA6128E87; Sat, 13 Apr 2019 08:28:32 +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 E586D28E85 for ; Sat, 13 Apr 2019 08:28:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727440AbfDMI2V (ORCPT ); Sat, 13 Apr 2019 04:28:21 -0400 Received: from mail-pg1-f194.google.com ([209.85.215.194]:41300 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727408AbfDMI2U (ORCPT ); Sat, 13 Apr 2019 04:28:20 -0400 Received: by mail-pg1-f194.google.com with SMTP id f6so6280044pgs.8; Sat, 13 Apr 2019 01:28: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=ioF0cKR12rI6esgkEu/uGcNVeKMcEFlcMNhoifYw7yg=; b=bFSFmZSJk3ZIyC0DhLCpFf0UxxbQW6TIF/zLUDNiou0sDoos0AtMdtvOeXVFjCVo+j mrVx68aNc9vA7oVkZkI4cT8U6ibg4KJ19DM1kgEFRrqHpBujJqNZ1M6aTxpejLpiL7od iHhAP+voymDBvHIGipdR8IR7bKULH4ixzrC93i2trDyFTaxz1moAbUVpSyJJl24saOQD GhzyZbRauTF2Ganlx3wO0Fh6ZyzQ9wUwCiDz0h9UGPERqT3h2+IjqSm+oY54FwCwK8Gd NfkQSuPIMDFRvOWYZaOMAI5oIDyShx8dCXF+JgQl1ulzWOTaAszE4HgKqY3WJPjhVf4h 7vmg== 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=ioF0cKR12rI6esgkEu/uGcNVeKMcEFlcMNhoifYw7yg=; b=scUrGJIiBaaRhkvUgmw3rdlWXiMbtqj+5VNIP2S2H/G0z5FaomM6rzWQoKFQya/sB3 ftWq2VL2bjcvrvTaQRkviAlG7bgVIk/IBj/M/u6w30V54h131Mg27CejkdxWzQCYep5b 6gaKt64DFsMnyVeoJtOcGlhQpTGIYPgUmdJKLvolGkPPl5cqT+3bqjlOinE73pILQTIg 7dvpMYAPZtdU4jpeKAJTA4yoiDPrWbRX/nGbuC/cQpYG+G4/o334Q7Qv2IQkJNmAH+Ow 8LxLOcLzqIHLwDOv79iL0KCkJtPdNY+TKPXH6zYjAitN/rI+86RzNrK9umyTaZS/440z MBbw== X-Gm-Message-State: APjAAAXxFCAyh8cUxJIvAWj0VCVAof8GjfzcMkLoqpfx0yg6YJf2YTC7 WYh1e5sXtjDiNUS/pFaINHlOjLHw X-Google-Smtp-Source: APXvYqzUG3V6eE9t3J3TivTCeehch77k03rKnqUHnXlEXeeAl9+huIRiEGknUEHlK5GtMC37IQ/HLw== X-Received: by 2002:a63:2983:: with SMTP id p125mr59194840pgp.262.1555144099049; Sat, 13 Apr 2019 01:28: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 z20sm58261328pgf.70.2019.04.13.01.28.17 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:18 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 11/12] thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() Date: Sat, 13 Apr 2019 01:27:47 -0700 Message-Id: <20190413082748.29990-12-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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: 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 Reviewed-by: Daniel Lezcano --- 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 Sat Apr 13 08:27:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 10899373 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 9B0DB17E0 for ; Sat, 13 Apr 2019 08:28:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 83CDA28E85 for ; Sat, 13 Apr 2019 08:28:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 777A028E87; Sat, 13 Apr 2019 08:28:37 +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 1B86F28E85 for ; Sat, 13 Apr 2019 08:28:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727408AbfDMI2b (ORCPT ); Sat, 13 Apr 2019 04:28:31 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:38908 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727431AbfDMI2W (ORCPT ); Sat, 13 Apr 2019 04:28:22 -0400 Received: by mail-pf1-f196.google.com with SMTP id 10so6246999pfo.5; Sat, 13 Apr 2019 01:28: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=9b0tOUXrItaudN6sxbhg3XVgPHSnLKvU1HgYCYf2y2k=; b=JvhLVGUgw22o4ubpkmnmEdOaMkXSDDJ7NclMbBFBz9JvbWWjrumjqCNwUObDxSzwnF vkjQIsYEM0kUOXuxIC4cYyHuPVZISnt5yYqgrONJhl2eQ3RTflXL4TouFfLvOzJ0r7ah gIQ7OJrdmRN7f840sXoD43qC0UW4343jcKGYpiVsizh9SOsrUpFKXNMtCu7HaicuZkKh HFBqKEhbxBxJJkl3DnukBpF/EkGJRxjKsXbvv0U6NvY7PButGdsSgjhnxivuuzexL7Ie F9ny92wVQkaQQ+hq2OT6VMz5P6OkA/Eav5emachC4/rZVloTHfFC/HoAjfoSY72gHkNV VFTA== 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=9b0tOUXrItaudN6sxbhg3XVgPHSnLKvU1HgYCYf2y2k=; b=lp0G+c99OR6W0xoNEn0Ie0GQESWtFa59Mfd7ugCPSxbaWN56F4xkqpLqyLHKdX3Pq2 Anf/7HSAjw8Y39vhYvEnwjMiRkM7Anr6EWTeUAkORVjTFNZaDTL7F9HNFTRyEUQBvwJ8 x8jzLIXdETwBxP8T9rASMA2CisTRIYQV/ktvM9lfwqtj///EtPuJR3QtsMgOO5LigrkL Fk8YrkyeW4a7oRrOcMKfNIyVSg1WEsxGGt5err1j7ZPHeBANd/igZkWbz8/PvGSq6XNZ oOIBIalpYUdttzMxL6LLiH7EsIq9Eq/xnWf7skz1xe9reO1qPoonl7/ypa9UsJLpJ9fE Bclw== X-Gm-Message-State: APjAAAUZFd6OmO19DF0qkKxGnHakTXQIb/ktyWrml2f3KVrzY+fgW4Ho MQzZwOGDRw4cMyJJUAGgOXBvqiWT X-Google-Smtp-Source: APXvYqxDA3RqESeGbbaHAhwa7ckl/AJuNE7OawPUQMaNeQK6fivmzo0doBf6ZNqpfCyol468YMdgzA== X-Received: by 2002:a62:e304:: with SMTP id g4mr56202827pfh.71.1555144101255; Sat, 13 Apr 2019 01:28:21 -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 z20sm58261328pgf.70.2019.04.13.01.28.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Apr 2019 01:28:19 -0700 (PDT) From: Andrey Smirnov To: linux-pm@vger.kernel.org Cc: Andrey Smirnov , Chris Healy , Lucas Stach , Eduardo Valentin , Daniel Lezcano , Angus Ainslie , linux-imx@nxp.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 12/12] thermal: qoriq: Add hwmon support Date: Sat, 13 Apr 2019 01:27:48 -0700 Message-Id: <20190413082748.29990-13-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190413082748.29990-1-andrew.smirnov@gmail.com> References: <20190413082748.29990-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: 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 Reviewed-by: Daniel Lezcano --- drivers/thermal/qoriq_thermal.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c index 5c459a9d0db3..897b3424b43b 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 @@ -93,6 +94,10 @@ static int qoriq_tmu_register_tmu_zone(struct device *dev, case -ENODEV: continue; case 0: + ret = devm_thermal_add_hwmon_sysfs(tzd); + if (ret) + dev_warn(dev, + "Failed to add hwmon sysfs attributes\n"); break; default: regmap_write(qdata->regmap, REGS_TMR, TMR_DISABLE);