From patchwork Mon Mar 10 14:34:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 14010310 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 094C2C282DE for ; Mon, 10 Mar 2025 15:32:03 +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:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=k3PCN1rM0WbHIM2gIVr2uSVcfKomlI7ImWzVGLtI+Ys=; b=v4zckaClmT0YRc/h/Lj2Q/PuCU fD8zS42UOEg9nQP9d2B8vkQgHgP+kHPYf7SfLYqnQsLRXP60tClmZvCd2N6PFScx2hh6ehIHy2eMo Ab4xvI7AdY24BenZS8RQUdoQCiw7MrOvbmSerAh/6UUVnqFRPlb2HpEnNQk7cx5+9mDSJBLRL92vC +06ddaKUau5Bz7AdhIl5JWcGwtWwUbCVF4FMtNnpNohfz2DYhsZHZDGJeBh7u5brea/H9CLhrQCGw yay0HsevHi23cZS8wbS6NODxm6cZCSICCjb28eOUpyRndEdHzuYHn+dx0M9i1C8ZeP0IIUXdwVfeS SS+c04nQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trf6e-00000003BXu-0tMv; Mon, 10 Mar 2025 15:31:52 +0000 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1treDo-00000002wY0-0YgP for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 14:35:13 +0000 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-22355618fd9so77687975ad.3 for ; Mon, 10 Mar 2025 07:35:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741617311; x=1742222111; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=k3PCN1rM0WbHIM2gIVr2uSVcfKomlI7ImWzVGLtI+Ys=; b=Ydv/nFsHUrtdDalI1Oi1Z4bNLGvepxS5yhnDu73ApS8epAHdnNMccg7PU3ma+Ancct 8Gdkg1j+IALAEM6HoNBzBc6KNMNlLN9ZwqmaH95buUYHJ7qGacR88CntfXNctBw8DfpQ sg3f/aXODHqjOn+wejLc3Z6CXk25sl8R3EiuQotQ0FPegads6+DOpqSINVpQRa12/WsX uC5YnYg/vNGVq3fAh4BrbeVN12DDmPX1r6aQLDu3RjJy+hwK4s0oxaPzcx8uassu5XHH bN3W9d/waflx4MhAuJEm7ljF1GJa4bNNeneTojcfaeJ2vE60cE5s4+l3lb4QF2zf/pvd hH9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741617311; x=1742222111; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=k3PCN1rM0WbHIM2gIVr2uSVcfKomlI7ImWzVGLtI+Ys=; b=el3mar7RTXZvadsw3Bs4NHgXAdMvwu9xFzooUeog4Lfl7PvzLtllyt1f4prrbh084s j6eMLxJJSLQPbmPoOEJLGgLO73ZxGH4z2rq8Qw8WZDC8xrm6FistIiqSPf8Lu/hq/1hA 6QjpcsKgqjudW1l6/7PTRNiOmcqMOS1yjJ+VDAKwPzXSCvz2/CYwuHviE9Hhv/d/hOPj WB27+INiT1TpStm6+Z9VDXjOFL6Lujzm55fsQ0YTTkp0TKeBJgUnPNGC8FYTfbF53led yY/lvV9TUIV955my0erWC0VbazL8LvUZ16CxepllOAO+mtcrXcmdgGslT9YydL0ZY9Aw JmCA== X-Forwarded-Encrypted: i=1; AJvYcCV9Pr2Gc9rigHb4ToUiCMKjPDjvZ7vrWIKrEynIwOxl1ERYnkBTzuTy2nUETajzk2JHJm6AR+ObGo3fpSN2Fi8w@lists.infradead.org X-Gm-Message-State: AOJu0YyBQLS/+Cotwzf3muRc3rrt4QpmwaAchjQZ6jOpqopqmyqilvML Zww6sskMf/bldqwstvztoJ4DRz8dGvnFbNVYNQ/F6MG3KgGnEDYy X-Gm-Gg: ASbGncvzgjGaV/3FVweIDA6s0xMgVMIaKiNhDTFTCgEyVi7qZ3LtTIYj9dTysYfFrPX 4mQX70ukjtsWIynpOdQjtsOVGfth9XQk9qjkKo9J2WhUos/KzW8VrGAuRUnwxz4ftR1/7F9cQb0 qUyd+BAQOYS66rXH/EwMyr2NlPN/A6cE0qklk9sptx3BM6PevCHaQQCnmlEWpk25luTy02JEfFF cxinFGycP+M2ZCpiTRs6BvRk5+JRQcuiNYm11Jmxwj7zPMW3sEoE9zE3cWbiWh2gXrTv+AbS8EC dqyTk/6H3zfkQiqPmnucry4163CEIHqz3RfryCqkYC8Felv0zjPMyZZU5Yc= X-Google-Smtp-Source: AGHT+IGRjAcGVcNUlBufVXhtdKF6feTENZiruX3FJiNFzexU5+dfH+syt6bCsQK3e8kMsxDHJZJ4HQ== X-Received: by 2002:a05:6a21:46c4:b0:1f5:6d00:ba05 with SMTP id adf61e73a8af0-1f58cbefa96mr2309637.38.1741617309689; Mon, 10 Mar 2025 07:35:09 -0700 (PDT) Received: from localhost.localdomain ([103.221.69.50]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-af281096763sm7785900a12.30.2025.03.10.07.35.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 07:35:09 -0700 (PDT) From: Anand Moon To: Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Alim Akhtar , linux-pm@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-samsung-soc@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-arm-kernel@lists.infradead.org (moderated list:ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES), linux-kernel@vger.kernel.org (open list) Cc: Anand Moon Subject: [PATCH v4 1/4] drivers/thermal/exynos: Refactor clk_sec initialization inside SOC-specific case Date: Mon, 10 Mar 2025 20:04:42 +0530 Message-ID: <20250310143450.8276-2-linux.amoon@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310143450.8276-1-linux.amoon@gmail.com> References: <20250310143450.8276-1-linux.amoon@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_073512_174545_7E46BE8A X-CRM114-Status: GOOD ( 19.59 ) 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 Refactor the initialization of the clk_sec clock to be inside the SOC_ARCH_EXYNOS5420_TRIMINFO case. It ensures that the clk_sec clock is only initialized for the specified SOC and not for other SOCs, thereby simplifying the code. The clk_sec clock is used by the TMU for GPU on the Exynos 542x platform. Removed redundant IS_ERR() checks for the clk_sec clock since error handling is already managed internally by clk_unprepare() functions. Signed-off-by: Anand Moon --- v4: Fix the aligment of code clk for clk_prepare in proper if/else block. update the commit for clk_sec used. checked to goto clean up all the clks are proper. drop IS_ERR() check for clk_sec. v3: improve the commit message. --- drivers/thermal/samsung/exynos_tmu.c | 37 ++++++++++++++-------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index 47a99b3c53958..3657920de0004 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -1037,29 +1037,30 @@ static int exynos_tmu_probe(struct platform_device *pdev) return ret; data->clk = devm_clk_get(dev, "tmu_apbif"); - if (IS_ERR(data->clk)) + if (IS_ERR(data->clk)) { return dev_err_probe(dev, PTR_ERR(data->clk), "Failed to get clock\n"); - - data->clk_sec = devm_clk_get(dev, "tmu_triminfo_apbif"); - if (IS_ERR(data->clk_sec)) { - if (data->soc == SOC_ARCH_EXYNOS5420_TRIMINFO) - return dev_err_probe(dev, PTR_ERR(data->clk_sec), - "Failed to get triminfo clock\n"); } else { - ret = clk_prepare(data->clk_sec); + ret = clk_prepare(data->clk); if (ret) { dev_err(dev, "Failed to get clock\n"); return ret; } } - ret = clk_prepare(data->clk); - if (ret) { - dev_err(dev, "Failed to get clock\n"); - goto err_clk_sec; - } - switch (data->soc) { + case SOC_ARCH_EXYNOS5420_TRIMINFO: + data->clk_sec = devm_clk_get(dev, "tmu_triminfo_apbif"); + if (IS_ERR(data->clk_sec)) { + ret = dev_err_probe(dev, PTR_ERR(data->clk_sec), + "Failed to get clk_sec clock\n"); + goto err_clk; + } + ret = clk_prepare(data->clk_sec); + if (ret) { + dev_err(dev, "Failed to prepare clk_sec clock\n"); + goto err_clk_sec; + } + break; case SOC_ARCH_EXYNOS5433: case SOC_ARCH_EXYNOS7: data->sclk = devm_clk_get(dev, "tmu_sclk"); @@ -1112,11 +1113,10 @@ static int exynos_tmu_probe(struct platform_device *pdev) err_sclk: clk_disable_unprepare(data->sclk); +err_clk_sec: + clk_unprepare(data->clk_sec); err_clk: clk_unprepare(data->clk); -err_clk_sec: - if (!IS_ERR(data->clk_sec)) - clk_unprepare(data->clk_sec); return ret; } @@ -1128,8 +1128,7 @@ static void exynos_tmu_remove(struct platform_device *pdev) clk_disable_unprepare(data->sclk); clk_unprepare(data->clk); - if (!IS_ERR(data->clk_sec)) - clk_unprepare(data->clk_sec); + clk_unprepare(data->clk_sec); } #ifdef CONFIG_PM_SLEEP From patchwork Mon Mar 10 14:34:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 14010311 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 89755C282DE for ; Mon, 10 Mar 2025 15:33:43 +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:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=IS1K9x+4Zn/shvVhPm7Zn9q2gjfD6cEoR0irdxrqpfI=; b=o11kpItyOEDzzIRibJpArqA038 XoVoNxEelMy331AqBzUWXG0Slak7uuiaTkCyE1oU5vYtLkh/SMAJKC25CbfDvwefVsFU/h7qCL4mm IjzhfmmI+9db9mkougi5iqEtihz2wlDhFjooTZPBfSu26JXTSlNZUIzy6Pm8Ur+PwOA159GHNoKEO RchA+u535OqmtWH5V15O358TXULEcTYX7iLgntDHVN2tqWEvQQ5k5x35K+7L18iYck5luj8kLKB99 1bCua0Z9PaIGlbXqultd0+dtFkZ6yEUPPEzYJhG+640WnXgR46gZV58n9tH4xz6DX/CwatR8cPVS8 +BKVAMMg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trf8F-00000003Bh5-3cNa; Mon, 10 Mar 2025 15:33:31 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1treDt-00000002wYm-0sKD for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 14:35:18 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-223378e2b0dso61671905ad.0 for ; Mon, 10 Mar 2025 07:35:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741617316; x=1742222116; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IS1K9x+4Zn/shvVhPm7Zn9q2gjfD6cEoR0irdxrqpfI=; b=STKw6KWBOVg5b+zOzR9OwSedHk1tn8afQT/ftDd1lA12MRw6PgeO240C9bjSrn2P0t AKlRvbeQgy+WVFy6NmeE+xCG9gF5HbWhkQqZHub/5w612BCICw8xF1fBVD9TErTrTRho WDWPkKwcfu6UZSuzLkdkDv6N521tczpoEgyuQ1JsdvrzUQTnicwto8MTbkJAQEZRLn2E t76zsmOcFLxjY5bnT0cBq8efVFfOLUWWI2DtW+eaYNIq53Ej46dXx4bRQpppMFEx1PWF qy5DxKIxexkMiQ3FG4dV5CPm74ymXmmmPBrvDgxeNdlKMLXU2HaQj9caL7iKD3Ob58fb lUmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741617316; x=1742222116; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IS1K9x+4Zn/shvVhPm7Zn9q2gjfD6cEoR0irdxrqpfI=; b=wm8BIGmbFetHJ+yulhDftBMB6Lqe4tf1BHMbSCHDiz17vnes0DuA6TDEyFFfPUpv5O 8MroZVu2If4bx79an+429vKtlnjew6SzVqeecV272BKnbFtDNCa0pBOvudITjzdyNtIe 70kyvU9gM+biWzAiFiz9ctff7NzP3Qu1rhXhntWkBIHijMXw24BTS7FGZUh5v6IhTOGT GO3lyxkwT+0MjyRidHcgb4PNUgkpZbmF1SlZNC2FScBnejwdu0rPnlV20/0oisfgsSkw Aw3wU5bXOmKZX2327cx/oC+0SZHpgLu77tAzY0bAU5e7BueexHx3oqngnm2cJ4M0zslA W/vw== X-Forwarded-Encrypted: i=1; AJvYcCWVw/3+MYpyXIw7bnBntb5HSDDt3CIrX5UehKXA7OCNpowOhoVHQh/KNyv7bkNKK5MatrKwTGO2RPwKngZXRvcm@lists.infradead.org X-Gm-Message-State: AOJu0YwONIoY134669uN4giO7pNmyEqjcPxj8j0MPcHdXTfo2C9h6yNx QBNxpxanAEGdYqhJzvbNw32ukuXVdznlEFDuBHAix/XZ0ldVRCUpqEJikw== X-Gm-Gg: ASbGncuJ0kmk8XZSmejpVEwtFlUyHoBSr9EDS0ZzzQ7y2QvhvnPzk0bizcOjWOnQJKR pr8Ma57iz8Ft3IQc7Va+vr/AONGoeuRTr+FjfmDf6KS7dq65cfrci9FfAOIYuMdJzS3VplxKVss IxP1hLIvlJkmI1pNGl7YR90bdpMm58HCFiz8TaYuLoRqj0P3QiuefvFbvogvNXuaKnSiuEc4rry kjujYiLowoaAf3U86kXsD5ki4zPHIib/3uCPfRTFjvr+p4mufdtt6zSje9Yz3g8hBbcW455qEr+ XjBzYpA81Bt6tVibxnoCZlZUjeyF861zTYVqUNXKWV9sFuNVm2wl0yJPrzIcg4uo+rfFMA== X-Google-Smtp-Source: AGHT+IFRMb8MSt+/SKP7XgvmW56LuHP+OiQQ8mAEyZvr5wqugDw0pMOjRJfiVrvAK9l7JjHXCjXQqQ== X-Received: by 2002:a05:6a00:2e17:b0:736:9f20:a175 with SMTP id d2e1a72fcca58-736aa9c1b4cmr20983288b3a.2.1741617314745; Mon, 10 Mar 2025 07:35:14 -0700 (PDT) Received: from localhost.localdomain ([103.221.69.50]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-af281096763sm7785900a12.30.2025.03.10.07.35.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 07:35:14 -0700 (PDT) From: Anand Moon To: Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Alim Akhtar , linux-pm@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-samsung-soc@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-arm-kernel@lists.infradead.org (moderated list:ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES), linux-kernel@vger.kernel.org (open list) Cc: Anand Moon Subject: [PATCH v4 2/4] drivers/thermal/exymos: Remove redundant IS_ERR() checks for clk_sec clock Date: Mon, 10 Mar 2025 20:04:43 +0530 Message-ID: <20250310143450.8276-3-linux.amoon@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310143450.8276-1-linux.amoon@gmail.com> References: <20250310143450.8276-1-linux.amoon@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_073517_245378_0CB4B7DE X-CRM114-Status: GOOD ( 14.78 ) 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 Remove unnecessary IS_ERR() checks for the clk_sec clock, the clk_enable() and clk_disable() functions can handle NULL clock pointers, so the additional checks are redundant and have been removed to simplify the code. Signed-off-by: Anand Moon --- v4: drop IE_ERR() for clk_unprepare() as its handle in earlier code. v3: improve the commit message. --- drivers/thermal/samsung/exynos_tmu.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index 3657920de0004..ac3b9d2c900ca 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -258,8 +258,7 @@ static int exynos_tmu_initialize(struct platform_device *pdev) mutex_lock(&data->lock); clk_enable(data->clk); - if (!IS_ERR(data->clk_sec)) - clk_enable(data->clk_sec); + clk_enable(data->clk_sec); status = readb(data->base + EXYNOS_TMU_REG_STATUS); if (!status) { @@ -269,8 +268,7 @@ static int exynos_tmu_initialize(struct platform_device *pdev) data->tmu_clear_irqs(data); } - if (!IS_ERR(data->clk_sec)) - clk_disable(data->clk_sec); + clk_disable(data->clk_sec); clk_disable(data->clk); mutex_unlock(&data->lock); From patchwork Mon Mar 10 14:34:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 14010312 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 3E94EC282EC for ; Mon, 10 Mar 2025 15:35:21 +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:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+QEal24nNpFB1sUg3m6xqbmF2yfFZnIAbP+jKYgY2yI=; b=mPSc5YLPA7LQ1TryJ8Jcfk3j58 5JGA+K+VhvCyxdcNwVKu3r+NtNC8sIsiQejoQRpGZ9sgURDivvZw+2yh9UROcd5B1wIIkbGFyKhuT lDS+Qk46yRYmR11z22pEG3XkzQPsCFEq0WnlK86r32A1YCbeHyz/qib33C7M2ziakaMVHmPtZzHfN L4IysLm9ipKkPdfbbeuJP3tC5oYYVqA54B7Tc0fTGLCD/BHMKTVLmZyqg6o8d6UyFe+Q5kEuRHwjN BgVFbfK/P1vEFTCXDhCv4xfZKxWO+q3SM98tdVSrkMLYxBGA5E5ZvwatGx14vReeuFOT0Oh0DgNpx GTo/e2MQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trf9r-00000003BxR-219s; Mon, 10 Mar 2025 15:35:11 +0000 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1treDw-00000002wZV-39PE for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 14:35:22 +0000 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-2ff85fec403so4502340a91.1 for ; Mon, 10 Mar 2025 07:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741617320; x=1742222120; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+QEal24nNpFB1sUg3m6xqbmF2yfFZnIAbP+jKYgY2yI=; b=V+P60lmx4CzA4X3hGSWHk6aJjHvSlqhWhzXvkh5aIcRVbR4uVayu5MwrkRXdBi4DUi GyM+inpk4chlUPyEblHwdYGusUyEU0v9MJ9nfzsDjnejVV2Sg7XI+EJoFGpaz7cW3mHE Se/udJZgHzK232w5qp8Dd9tVqNasnn+H9kLVPC94nLVtdX4hmPCATOtzkBd3P7Jm5zTZ NAmy7BzZGxZhniWNGDX3mc+ZkKf1YM183Iogtg2xj5eBa995GDITxbAFbq4oToyLKomy vLB6cEIaqtXLUDxV7xEtUWS6ztuYbuHIwTgzhb9H2XN2RX3hCTiov2IdJYMJye2gq8aZ C6Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741617320; x=1742222120; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+QEal24nNpFB1sUg3m6xqbmF2yfFZnIAbP+jKYgY2yI=; b=ZSxDt3S4CK5UDhG1F/LqgeyZNXqtZzm668I8PBSdgQQxiEtIaxKUQ+RE0kipj9+51F UxUyxC7eQasd+MsaUI7WS/UPRrvnVDpmhWkWO8QbPPrnAY6PMkLaU0mc47Jg2K1+QOXN 4mgs8zriVUqDZLxrFrehnP6wl6CZeUDcqF2/1lhUVs1EQdANtnxPKLDOcE13U3JKPFKI qmYa7fXXZ8Fn0d9b7ZjfAi/BUVpJlWqdQsecKYJsTAYfdcPzP7tt8heKScaCDchtCdLS HXH83qSA4vjudFl8PUmDtFIp/9U8BrgL4w/PXrr17ljGw90zlym7xIFZaIZn/Wg5tP/Q OnEw== X-Forwarded-Encrypted: i=1; AJvYcCX2JPTsvLI1dj3A4jCwswoHa7EzjiQp8OFZ+HdAExWz/D6k7NQFqllTrtY1wyqcsQzS2C0Sz3c3Oyr/hTlfET7X@lists.infradead.org X-Gm-Message-State: AOJu0YyBPxyuvGTlf9VF3gyUz0C5Cw7WduNbP5uGc2UPqeD7zOMPg8TL 196bgVzAULQd9sflZ1PyAeieNfuXFdCBO3vICZSTRR69Dh2fTyNb X-Gm-Gg: ASbGncsxJi1Lq9YULOKmA8PKCbCxoxiwjqMPn0LzceXE3MuInDMcOWv9I00dtTeNqzI nZiyqgD7LAIPW7RSKWQvD0nT1TrwVcvJrn0YTrpxJZbNSGRr7PKB5fk8mM9wztFzWU/rYgbLZmw +2I97ZrUkE1tL6GHddEKL2G5BCvfwqHJ81VkDz9ZSnFhRg4zSfTCMInQBQUwKuZAeyRNn/cArTE XmFti+WjJ8mk22iEn+919BaxalzT9W8+sb6bAoB2E6KBF5Fc0jnbI3oMHc3UfL3hxapOJCoTtN8 RrfD1qdX/wIB6+NIhH27Xsr5u9QSOiA/IGZkaOuMI2IOBmgdrWVRdUU55a4= X-Google-Smtp-Source: AGHT+IGcgMPRI9hdBCeUstUHpb1PU/WnBc4AvJsnipWByXBWrlcqIrz/Leyj4EN8DuL9JXzghzFyRA== X-Received: by 2002:a05:6a20:cd0e:b0:1e1:a789:1b4d with SMTP id adf61e73a8af0-1f55611c851mr13246121637.15.1741617319780; Mon, 10 Mar 2025 07:35:19 -0700 (PDT) Received: from localhost.localdomain ([103.221.69.50]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-af281096763sm7785900a12.30.2025.03.10.07.35.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 07:35:19 -0700 (PDT) From: Anand Moon To: Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Alim Akhtar , linux-pm@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-samsung-soc@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-arm-kernel@lists.infradead.org (moderated list:ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES), linux-kernel@vger.kernel.org (open list) Cc: Anand Moon Subject: [PATCH v4 3/4] drivers/thermal/exymos: Fixed the efuse min max value for exynos5422 Date: Mon, 10 Mar 2025 20:04:44 +0530 Message-ID: <20250310143450.8276-4-linux.amoon@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310143450.8276-1-linux.amoon@gmail.com> References: <20250310143450.8276-1-linux.amoon@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_073520_788701_51F31079 X-CRM114-Status: GOOD ( 15.41 ) 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 As per Exynos5422 user manual e-Fuse range min~max range is 16~76. if e-Fuse value is out of this range, then thermal sensor may not sense thermal data properly. Refactors the efuse value initialization logic within exynos_map_dt_data function by replacing the nested if-else statements with a switch statement. Ensures proper initialization of efuse values based on the SOC type. Signed-off-by: Anand Moon --- drivers/thermal/samsung/exynos_tmu.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index ac3b9d2c900ca..a71cde0a4b17e 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -899,12 +899,23 @@ static int exynos_map_dt_data(struct platform_device *pdev) data->gain = 8; data->reference_voltage = 16; data->efuse_value = 55; - if (data->soc != SOC_ARCH_EXYNOS5420 && - data->soc != SOC_ARCH_EXYNOS5420_TRIMINFO) + data->max_efuse_value = 100; + switch (data->soc) { + case SOC_ARCH_EXYNOS3250: + case SOC_ARCH_EXYNOS4412: + case SOC_ARCH_EXYNOS5250: + case SOC_ARCH_EXYNOS5260: data->min_efuse_value = 40; - else + break; + case SOC_ARCH_EXYNOS5420: + case SOC_ARCH_EXYNOS5420_TRIMINFO: + data->min_efuse_value = 16; + data->max_efuse_value = 76; + break; + default: data->min_efuse_value = 0; - data->max_efuse_value = 100; + break; + } break; case SOC_ARCH_EXYNOS5433: data->tmu_set_low_temp = exynos5433_tmu_set_low_temp; From patchwork Mon Mar 10 14:34:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 14010320 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 DFC40C282DE for ; Mon, 10 Mar 2025 15:37:01 +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:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZPurFq/fNhKB6tsK5KqiD0Uogf6Ze1eS/AV3KtY1Z/8=; b=TXkS21nywihd4gLm5b4+6dEngG +ClbZu3XARQzJP55X+c2z4BHDwektCxPWRJMPte70kaRU7ZpxGdmhHJ8fvFxFEi4muxm+aeTez82F ax2bqZIFum3RENAXIyhYLxwn+UY/dqyWwaP7MLClx/mzgZKeHw08EL98OHTdgx5/t7YqEMeHg0b4x iefvW7kGwrtlLuGLqh9YdqGYcJxBQAUz1TWWDtBYK40o4hvvDlE0U+PuhDWklQ7evnuSJYIlbc2wr h6L9nuk+GBFUIng/EVJseLCvWoKYEf9QsUELwLk6Q9rtrvfpkm0tx1mUcISLzA/DWDwQRMkUWdIkc Grxr9l+g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trfBT-00000003CHO-0t7D; Mon, 10 Mar 2025 15:36:51 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1treE1-00000002wbB-2uPd for linux-arm-kernel@lists.infradead.org; Mon, 10 Mar 2025 14:35:26 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-224341bbc1dso46892235ad.3 for ; Mon, 10 Mar 2025 07:35:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741617325; x=1742222125; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZPurFq/fNhKB6tsK5KqiD0Uogf6Ze1eS/AV3KtY1Z/8=; b=BB3cD+inPntbyIt7oo7M5FF0fFTMmDIe6bXawjeKXeLMlbUaMRSznjqSrD5AMn21JQ vzYQDDnuo4Ikw/1vcC7UWHgtmW3MbI5QI4XYAbMjDanCsa+diuOwViQHgb5aTiGKdTOw MtLD2IkbhFmxOFmBiGG77pmXhk5Vv3eDEAkTLn+3bmxXvKpUutH8+XEU/kZJgIB+lKyn uSEkwactFOm3/PeTFDZgBcwLx9LUOZwhX6D4o9U1XuEpJgbcntxs5PdHUHo08EeKwRCX e2WES5h3wS9paGGr3+x0fg5fIknj/4mNVGgX5ldsOARFH7wXr//h8q2OdwiZIe9BD5bC UNOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741617325; x=1742222125; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZPurFq/fNhKB6tsK5KqiD0Uogf6Ze1eS/AV3KtY1Z/8=; b=bP2q48dSHMpr7P9fwvhhfXMVv/ziNSEghSDDC137pBUZ5WxtxbUAXNHe8EH6PoK1/c 5z88kWQjiNWajprmqMQSBs9nQoTIK6oMIc9J+n/JglREU9rqLjlIAKK66rxhVPHJ9Num 5eACXFkjQ5ZMaIGZF3Z8ieHGAz0PQ4J3pwFKm4eZs09SR8MAOqPxiRW9kQELjpflhfrk Xk9rgn8uqZUsyUUxWOY2ly8lPZjP8gcr2L9iybhdqcGHA9KgcAby7sxiQ9saDYyAgr5A xco72vR1H3F1YfvXQz9XFToyFvLT5rQjZPTiBUw7B/4ExJVXWRgoKu7lBwntifNpmNoC MPXg== X-Forwarded-Encrypted: i=1; AJvYcCV3p3kQh6DfDruziHfCL4JV53aWSQ8I5swNAH9fUT9OFh9vAspzR7yS0A3wkQ3mdHO7x6ujgkgVxAAYMV82Tfry@lists.infradead.org X-Gm-Message-State: AOJu0Yzkp+irb1QUHBfxOlbMrdz5FIzMZu8KRgO9x+KfJr1lcNflKPSF ri+PwR1mqV3j/3SlOAsCbLXKYW+iVw5f8XkPmNbzq2YXTRtE7puu X-Gm-Gg: ASbGncuYuSRmgfEK+i5Efl4qaxDIRi0UjyYoeKMKQ2jYYRjLPZPtr8ON/wqvx2mc2a/ EDNeY+7RpZgkRvM+DQ0JKMqu+tVm/85lGRhbRVmyMxCk/qjupuYrBZPITUs0PFaHMxybMoRniNV ppjF8E48stIGdwpiC6KD/+ysr6q7rSoQWIs6/7T4TzstmTQtoD+ab/5Kc9t5XOIwtuLdYE1jwwm WprTzOvh66dxVh47x/IkJL1v+P4dHChh8A7fqV1LZdugDE69zUX3/bSaekO13eS1DcSZbG4ea15 oAWZOnp0eUuP8qaTv2XDyJXkvOhiWsNO8kT3YZCjY+5NTYOqcmaB6ynmEJL47YhnoZFC8A== X-Google-Smtp-Source: AGHT+IFlxn30vbYNMpCGqOkZQC/33f6L8EuwlU4MuG+cJmyHdrmp3tS4C+2fi8L46Nfo+WlDit4hVA== X-Received: by 2002:a05:6a21:618f:b0:1f5:6b36:f574 with SMTP id adf61e73a8af0-1f58cbdd3e9mr5565637.38.1741617324889; Mon, 10 Mar 2025 07:35:24 -0700 (PDT) Received: from localhost.localdomain ([103.221.69.50]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-af281096763sm7785900a12.30.2025.03.10.07.35.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 07:35:24 -0700 (PDT) From: Anand Moon To: Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Alim Akhtar , linux-pm@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-samsung-soc@vger.kernel.org (open list:SAMSUNG THERMAL DRIVER), linux-arm-kernel@lists.infradead.org (moderated list:ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES), linux-kernel@vger.kernel.org (open list) Cc: Anand Moon Subject: [PATCH v4 4/4] drivers/thermal/exymos: Use guard notation when acquiring mutex Date: Mon, 10 Mar 2025 20:04:45 +0530 Message-ID: <20250310143450.8276-5-linux.amoon@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310143450.8276-1-linux.amoon@gmail.com> References: <20250310143450.8276-1-linux.amoon@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_073525_732420_787043B0 X-CRM114-Status: GOOD ( 17.90 ) 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 Using guard notation makes the code more compact and error handling more robust by ensuring that mutexes are released in all code paths when control leaves critical section. Signed-off-by: Anand Moon --- v4: used DEFINE_GUARD macro to guard exynos_tmu_data structure. However, incorporating guard(exynos_tmu_data)(data); results in a recursive deadlock with the mutex during initialization, as this data structure is common to all the code configurations of Exynos TMU v3: New patch --- drivers/thermal/samsung/exynos_tmu.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index a71cde0a4b17e..85f88c5e0f11c 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -12,6 +12,7 @@ */ #include +#include #include #include #include @@ -199,6 +200,9 @@ struct exynos_tmu_data { void (*tmu_clear_irqs)(struct exynos_tmu_data *data); }; +DEFINE_GUARD(exynos_tmu_data, struct exynos_tmu_data *, + mutex_lock(&_T->lock), mutex_unlock(&_T->lock)) + /* * TMU treats temperature as a mapped temperature code. * The temperature is converted differently depending on the calibration type. @@ -256,7 +260,7 @@ static int exynos_tmu_initialize(struct platform_device *pdev) unsigned int status; int ret = 0; - mutex_lock(&data->lock); + guard(mutex)(&data->lock); clk_enable(data->clk); clk_enable(data->clk_sec); @@ -270,7 +274,6 @@ static int exynos_tmu_initialize(struct platform_device *pdev) clk_disable(data->clk_sec); clk_disable(data->clk); - mutex_unlock(&data->lock); return ret; } @@ -292,13 +295,12 @@ static int exynos_thermal_zone_configure(struct platform_device *pdev) return ret; } - mutex_lock(&data->lock); + guard(mutex)(&data->lock); clk_enable(data->clk); data->tmu_set_crit_temp(data, temp / MCELSIUS); clk_disable(data->clk); - mutex_unlock(&data->lock); return 0; } @@ -325,12 +327,11 @@ static void exynos_tmu_control(struct platform_device *pdev, bool on) { struct exynos_tmu_data *data = platform_get_drvdata(pdev); - mutex_lock(&data->lock); + guard(mutex)(&data->lock); clk_enable(data->clk); data->tmu_control(pdev, on); data->enabled = on; clk_disable(data->clk); - mutex_unlock(&data->lock); } static void exynos_tmu_update_bit(struct exynos_tmu_data *data, int reg_off, @@ -645,7 +646,7 @@ static int exynos_get_temp(struct thermal_zone_device *tz, int *temp) */ return -EAGAIN; - mutex_lock(&data->lock); + guard(mutex)(&data->lock); clk_enable(data->clk); value = data->tmu_read(data); @@ -655,7 +656,6 @@ static int exynos_get_temp(struct thermal_zone_device *tz, int *temp) *temp = code_to_temp(data, value) * MCELSIUS; clk_disable(data->clk); - mutex_unlock(&data->lock); return ret; } @@ -720,11 +720,10 @@ static int exynos_tmu_set_emulation(struct thermal_zone_device *tz, int temp) if (temp && temp < MCELSIUS) goto out; - mutex_lock(&data->lock); + guard(mutex)(&data->lock); clk_enable(data->clk); data->tmu_set_emulation(data, temp); clk_disable(data->clk); - mutex_unlock(&data->lock); return 0; out: return ret; @@ -760,14 +759,13 @@ static irqreturn_t exynos_tmu_threaded_irq(int irq, void *id) thermal_zone_device_update(data->tzd, THERMAL_EVENT_UNSPECIFIED); - mutex_lock(&data->lock); + guard(mutex)(&data->lock); clk_enable(data->clk); /* TODO: take action based on particular interrupt */ data->tmu_clear_irqs(data); clk_disable(data->clk); - mutex_unlock(&data->lock); return IRQ_HANDLED; } @@ -987,7 +985,7 @@ static int exynos_set_trips(struct thermal_zone_device *tz, int low, int high) { struct exynos_tmu_data *data = thermal_zone_device_priv(tz); - mutex_lock(&data->lock); + guard(mutex)(&data->lock); clk_enable(data->clk); if (low > INT_MIN) @@ -1000,7 +998,6 @@ static int exynos_set_trips(struct thermal_zone_device *tz, int low, int high) data->tmu_disable_high(data); clk_disable(data->clk); - mutex_unlock(&data->lock); return 0; }