From patchwork Wed Feb 19 13:32:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Florin Leotescu (OSS)" X-Patchwork-Id: 13982210 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 42B16C021AA for ; Wed, 19 Feb 2025 13:28:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-Type:References:In-Reply-To:Message-Id:Date :Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4WDXLLOwjHC61C1Q8rfgvTYE4L/eenzC0R33whNnZGM=; b=4czPbIWZhu5/p2NcTdAog67KyS yZ4jpzCTAWaTTBfGh4KqsHmjRXdkK/LmPUvBcjJ5k7Rsn2GFrNjShZGQRVs0Yv0vPNeXkwuIr/5ky FGH72AOmcV1VZezVo4+jw94xTxiP3Qi9tQ9+Ejv3p8Buv5oOx4+4Ba89v/xu0KkS8tgLzvPqdSEbw uWxXaZfuZ9jOqKjMIRrtZsoWBEhdlzwBr8WGt7y31dVsvlcGd+B5/cavzjd16jFGsHhRL/H7D5sK7 EHXZBwIBqs0xCrfFGzbtGC+9enWGGRQuj5OQL68MHDZ4hwy0S8Pg5cR9uXnGFzmxneamrozS7JKpk D2heEyKg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tkk7V-0000000Cx0B-36mP; Wed, 19 Feb 2025 13:28:09 +0000 Received: from mail-db8eur05on20609.outbound.protection.outlook.com ([2a01:111:f403:2614::609] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tkk4b-0000000Cw1y-2EfB for linux-arm-kernel@lists.infradead.org; Wed, 19 Feb 2025 13:25:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AVUUsBFq6yBH1RBZIRXJ6LTUfbPisr2sIXv7lQ7LM06JxG1Z/rPY/lxCqoRddAMsezFGYv0nT3RS3/ab0T5Bx9MRv0airy7mBwqLnGN4oH3nm0BgAfjVVY/eCDJQWoNS+QODtrALFQgpl7rN5H7i058Of1GNpTZkJM58esDqf88it368bwDYY3HrnnRXa6dNStwsKo90xmDyc6P3YYQdZT/CNjCZi3863O8mbZGEHNuu0UtmXsjLhvP3EzSCOxSPneNXY3e16IzZ9+qW2K6T+OaYzgHOk0S2qeAGqTK3A5oKAeFvvanYysq3HAl4b0J9MDVi2CDLK9o7jo4THE6uPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4WDXLLOwjHC61C1Q8rfgvTYE4L/eenzC0R33whNnZGM=; b=FC1DU/2FUxZG4i/gxMtoiBKKMNLUvjRlW/gbfPo7xApKin/CpFlasfExCFA8dnSl7ZayoG5h4PO9izZ80v6SgBwN6YSNhQ5EJfMZ4HyyxFS0TREvglU3V8+oH+Jgw3ozBHOqKS2AirtsvTwIsxDm0epgea9yAXELpISNxzbDWGRvfOUEqovxTU6yWTL+FuPQ8ni/jFY4Mgy+hZzyVY9eQ6iuNC0RA4YX9Vh7AebuHwC4Hgu37iUcOJFPi0OUJD+V0liO0P7emAI+6Z0FeXLAtG1XBoGR6DNfNgNwAMEIhbA9eQRNYvFMABwUtlfVivAweYd5HHKfGsqdiim6Kmrg+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4WDXLLOwjHC61C1Q8rfgvTYE4L/eenzC0R33whNnZGM=; b=jLvmzwvtp77V46S3rqZ+5pNWXcnNnOrN0oRRzUqFAyMwc0sZ+Eg9QwR7KK21DFb0mdHG6EghObcoXz02KbPB2UI6UNG0BFAIddPLjv/YWlLQlDUptcZrkDJNt3NJVsiXzLGww7Z1n+DJG/eBGhDDEZG35kzRI4AHg4Hh/9eoKqsQCcxLK9ejF+0sAIflv+8Nyrb1wTR8ZH66TOkinDe8M5PaS0FGNCkNFCjl6Y1Xi8x1lAAs5xJGzv2KBG/yWWnGVHQz+oeYaDynrW8PfIZXwEfjSGOujvN1x5enx6ouZjQkcxfQ9pTQxOW4RS3+k1r1Cu0Nci0GQ/6yT/MXsDiWjA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU7PR04MB11163.eurprd04.prod.outlook.com (2603:10a6:10:5b3::14) by PA1PR04MB10841.eurprd04.prod.outlook.com (2603:10a6:102:487::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Wed, 19 Feb 2025 13:25:02 +0000 Received: from DU7PR04MB11163.eurprd04.prod.outlook.com ([fe80::3a74:80e4:4144:62db]) by DU7PR04MB11163.eurprd04.prod.outlook.com ([fe80::3a74:80e4:4144:62db%2]) with mapi id 15.20.8398.021; Wed, 19 Feb 2025 13:25:02 +0000 From: florin.leotescu@oss.nxp.com To: Jean Delvare , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Michael Shych , linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: viorel.suman@nxp.com, carlos.song@nxp.com, linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev, Florin Leotescu Subject: [PATCH v2 1/3] hwmon: emc2305: Update cooling device registration to include device node Date: Wed, 19 Feb 2025 15:32:19 +0200 Message-Id: <20250219133221.2641041-2-florin.leotescu@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250219133221.2641041-1-florin.leotescu@oss.nxp.com> References: <20250219133221.2641041-1-florin.leotescu@oss.nxp.com> X-ClientProxiedBy: AS4P190CA0042.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d1::19) To DU7PR04MB11163.eurprd04.prod.outlook.com (2603:10a6:10:5b3::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU7PR04MB11163:EE_|PA1PR04MB10841:EE_ X-MS-Office365-Filtering-Correlation-Id: d7d0a07d-136e-4da4-d4e5-08dd50e8d0ec X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?iso-8859-1?q?/isW6UcFdUEqRzpUC3/cNuDXLw?= =?iso-8859-1?q?8HQ9I6CZBJyMSTCpBQDoxGCY2yYQGXE9ECKqH8oUp2A9pK/5I+fXA22yZRX9?= =?iso-8859-1?q?OBqd5yOQu6A7m37dxBMCdrNErgCQ3gE+yyROqkbh5OTBSka7lKPOu7rO3KzQ?= =?iso-8859-1?q?9lpf5M9BMR/vgzApveJM51FXtvZ1ID6Z8fg+cQ5N/ctdOH+PsnRSD18M7TvS?= =?iso-8859-1?q?pA2bC5pHs9+dIJiK56yZiXtgqr+r4HwMS/m9nB47o1qJQNz2840xggzZYsLD?= =?iso-8859-1?q?Geo1BzzYOYTHCdiE/XJdmUMEKzIs5Xh2aOkSbwZeQyimobINn4YzNIfLCOPa?= =?iso-8859-1?q?n9l8Dgzcq7S+f5go6P8WWFHdn+lFvDposxcQCLlCHne2Lu1n8ZHazCdA8nkW?= =?iso-8859-1?q?Vo9oMIjAnaLUg1vOTaagfQlfT4MWrwrihsfbZHGOY2vgb0HFFFO7cv+Mp9fz?= =?iso-8859-1?q?M244j4GRmjNsKHohSehUWYoOpb1yVaOTOVW3adTu/RUq8718QNrNi+mU969c?= =?iso-8859-1?q?umrHVj96y/9Zk5Jgg8VpRWwGNKNAYtquOmDuQ5xbcWHi/afGpXLlwr5Zn+4m?= =?iso-8859-1?q?h/Ysk1tLMKbS0yH/4p0wX+m6hxPvkdrPy2+MEvpvUMar/EQoLOkSRoYHMBQg?= =?iso-8859-1?q?hhzFJ7X3+q2RxjtCjDjc5Qf8bNwYN4IYAAXVv/vOGUtcd6Ww96O0P6wwOj6A?= =?iso-8859-1?q?CIzNOZrpt9QnRv2LOvrDMbk4aOM+Ki47C+2N17ce8cTLudOVU/GwqlzT2W4q?= =?iso-8859-1?q?uXPRzV7be+Badt4UV16Bh0aNjrbYJ7QcrMS7FWZjrW5BakEBl0DPyjg/1uoU?= =?iso-8859-1?q?gGvgv30aT6WrrhkcYKxSbujGZrFAhHdHbkrHcdMusn/oiZKg+QNhlL9qPvj7?= =?iso-8859-1?q?JuMGF3czWOYJgdoPkNZsPuodG/gD3GRk2Dpkinl+3fVKZz64G8+vxAkXnY40?= =?iso-8859-1?q?fOK9yW/aTfSjTqcN+fHLIi/RXqyGNjjjE93EZqkB3rNtKyN9thZyqmSlGNnQ?= =?iso-8859-1?q?xDfta8WwBP/vKU7nhGCQxsrNixVOKvM7oPfWTcRgT86lLZRHglSdtadOQEhU?= =?iso-8859-1?q?xXEquYwawJ0r5bgD/c/dARH7+ITV43UAws3jCRQZVaqSIpuK7Nc3gYZRyFrv?= =?iso-8859-1?q?GKlS5ioULjUoFTZij9PsrDRnyAyZnpiZpqDl2vQr34/iyEmH1oGJUoZPwJxK?= =?iso-8859-1?q?elZ5/5Rmm2od7vTr8Rhxbb0NS7o4IIeXUy96gHk6r2c4e98QabWl2SfKiTge?= =?iso-8859-1?q?OuyI5QyVgt6qlpUUrtB+nJiOTqVL5xlxRUNiehjDn2FNI2tiGSN/mxrfi95U?= =?iso-8859-1?q?28xeAsGDs9r+m5/sU8IYO8WSXxpRCWu+KuwGg1edDi7raHchQIy4wX0BBJFY?= =?iso-8859-1?q?l3E955WumS4qZPyuOveoh6DFTmTKpUfjAVebiLrQZ3fJYHhPEqh9TMKNL//t?= =?iso-8859-1?q?Ii?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU7PR04MB11163.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?iso-8859-1?q?/fmIXYZFWMlM0FF43Vy+Ayb?= =?iso-8859-1?q?fvWiulKTUGv49HGzzgLPrxm9HFPjJmtt0qBv6yRXZ7rM3tj3HpInoRCu7GL1?= =?iso-8859-1?q?Hvoku9w5AQUVhgekh8F7AHMrYGoPKxUaEquz4wo7zQt4w8kif2JhKI4KywPm?= =?iso-8859-1?q?TD6+mdqk37FPz/JB/3RoKDg3Omled+Ev5g84yhZU2/xxz5LaUCYEGrn8aHDK?= =?iso-8859-1?q?KQTfNgIuCZE6cmLWKzx6AuSXaeTsAnCFVqXRrWZbUeMNKEB8/puwY3W7xyS2?= =?iso-8859-1?q?i0fCk5da8c8JBRM8vU9xsgBeti9MmQxgyPUu17ft2/p4jxM3R5BDJ6HBiRs1?= =?iso-8859-1?q?0yfq2kMqMpEhJNc+yiCGxkwvEYp/OT/JaTGfmNx1yO3fg4mCHOdCpqBLhm4P?= =?iso-8859-1?q?mlCZfAP+gjwec4tpspCbliS0OGZC8gJ+WtvC7t4T0OzmVG7HDWlGxJR9BnPA?= =?iso-8859-1?q?MXlTzsV9QXOd5CVCoilBWJ+jYt1YCfS/e3pFDGkEWGL5Se9gOCHpDYk23J0V?= =?iso-8859-1?q?uojWboiPhDvl14vdc9s/WgEXxuw9V0TTqpIcGElpr13rA5tijSrGMDMas95/?= =?iso-8859-1?q?pqOHX2oGe4RBjjidf4OSHn16VGtkX1p4OIKAkLpBmf+jLr9CaSCpWq/5lJYI?= =?iso-8859-1?q?1M5Obbm1Hf9GCkgMjye0N3Jbqw6vDkqnbG0DWR3UQnjCig0NJcRoN4INeKeH?= =?iso-8859-1?q?iTAaLquY/pD8zFFzr6crd8wWzJA2lZGRAJCCX4E2nR9I66TdSCpSJ4tNPFmZ?= =?iso-8859-1?q?GVq3JXIKVPj4oEus+4u0ZQ4tZ0YH6DxpeNN9nTzqTakDdsSy8IY+iF+d38Uo?= =?iso-8859-1?q?ib4pAy6mYPj1S8gmFZa2CGu1QV3ImYJ5GHwWdL8adWFFXEvWfXReeWMffNgt?= =?iso-8859-1?q?UZsbu8R+il0iKX1/G3EZJfcKQAx2Qt12Qz+An663dM39pjmaMMwX6SGgxn2P?= =?iso-8859-1?q?a0ExN2h1f8hUERey00hz2+PjeDVzY6qX6ZJZnKoV8VZhrLn7iBLW/Ob6CznB?= =?iso-8859-1?q?HMcNcOAE5tCKSgdZr+OIowz8mIq2dxjhEBYagXrzGRk4/tPGKct+to8vmt/Y?= =?iso-8859-1?q?piYV0ooEn/V5ndKtUH220Z6hZs/bGGkNvHq1Z8aAeGUmdbY73xKELsWlLMpL?= =?iso-8859-1?q?nXnfKMRcs5oOCm8/+P7gyZbfcB4rBvenI+dqH6Gbohh7bI28g/ZZoUtxJtMF?= =?iso-8859-1?q?dhDGYIpUfB3A23u4AYpbEnZvm+Wqmdnnrl8Ln2NkjbWPeubkA85Tr/Ou/i+c?= =?iso-8859-1?q?ONbidQpjxPx/h5TD18Q9W17X3TCHZWgJRoCzPS/ttu6MFG4EdNzyufr/gWKC?= =?iso-8859-1?q?Xud3fCYORg1cjKHv0T8CLtsMF9dkxdvG+JeveiuBEzc/sYk2IvOKFzkEFXrD?= =?iso-8859-1?q?NFCfiTjX7d5cEa+GgQAShCdjpBxhHCViDkJMuuJtpc/wiVNFYfzm/nI2Fria?= =?iso-8859-1?q?vN1hH3lpp8YfYACleSJmDrlxLgavVEXZepH7BVSiUttummAXxEwj36s5pP6G?= =?iso-8859-1?q?7hSuxvD5z8por4Jz+FPMGs94I/VU2e6dwUoUK6bq6yexEUOymGL3aOfDs0xs?= =?iso-8859-1?q?SrUxmdxIJDq07FH8BS0yPWZYtkPhHUAkyb6b5D7gy4q3HKwaE8YSSifGURaW?= =?iso-8859-1?q?VUvrQBHMSML9N/rLiwwdqZ5bAJDcEi4vlaZ2EHQ=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7d0a07d-136e-4da4-d4e5-08dd50e8d0ec X-MS-Exchange-CrossTenant-AuthSource: DU7PR04MB11163.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2025 13:25:02.5587 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lDHXwbGk3hwzGId139sIy/z60r8YXP+o9LL5Qv0ysNQOMuYOdNNnT5h0okhL8N2pLD4kOxXmVwSX/7quG16DdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10841 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250219_052509_578324_3C3970C6 X-CRM114-Status: GOOD ( 15.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Florin Leotescu This patch updates the EMC2305 hwmon driver to register the thermal cooling device with Device Tree (DTS) node. This change allows cooling device to be configured based on the properties defined in Device Tree. Use devm_thermal_of_cooling_device_register for automatic resource management and to simplify resource management. Signed-off-by: Florin Leotescu --- drivers/hwmon/emc2305.c | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/drivers/hwmon/emc2305.c b/drivers/hwmon/emc2305.c index 4d39fbd83769..5d8fb7526e23 100644 --- a/drivers/hwmon/emc2305.c +++ b/drivers/hwmon/emc2305.c @@ -112,8 +112,6 @@ static char *emc2305_fan_name[] = { "emc2305_fan5", }; -static void emc2305_unset_tz(struct device *dev); - static int emc2305_get_max_channel(const struct emc2305_data *data) { return data->pwm_num; @@ -293,8 +291,9 @@ static int emc2305_set_single_tz(struct device *dev, int idx) pwm = data->pwm_min[cdev_idx]; data->cdev_data[cdev_idx].cdev = - thermal_cooling_device_register(emc2305_fan_name[idx], data, - &emc2305_cooling_ops); + devm_thermal_of_cooling_device_register(dev, dev->of_node, + emc2305_fan_name[idx], data, + &emc2305_cooling_ops); if (IS_ERR(data->cdev_data[cdev_idx].cdev)) { dev_err(dev, "Failed to register cooling device %s\n", emc2305_fan_name[idx]); @@ -337,21 +336,9 @@ static int emc2305_set_tz(struct device *dev) return 0; thermal_cooling_device_register_fail: - emc2305_unset_tz(dev); return ret; } -static void emc2305_unset_tz(struct device *dev) -{ - struct emc2305_data *data = dev_get_drvdata(dev); - int i; - - /* Unregister cooling device. */ - for (i = 0; i < EMC2305_PWM_MAX; i++) - if (data->cdev_data[i].cdev) - thermal_cooling_device_unregister(data->cdev_data[i].cdev); -} - static umode_t emc2305_is_visible(const void *data, enum hwmon_sensor_types type, u32 attr, int channel) { @@ -599,20 +586,11 @@ static int emc2305_probe(struct i2c_client *client) return 0; } -static void emc2305_remove(struct i2c_client *client) -{ - struct device *dev = &client->dev; - - if (IS_REACHABLE(CONFIG_THERMAL)) - emc2305_unset_tz(dev); -} - static struct i2c_driver emc2305_driver = { .driver = { .name = "emc2305", }, .probe = emc2305_probe, - .remove = emc2305_remove, .id_table = emc2305_ids, };