Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp2565473rda; Wed, 25 Oct 2023 06:31:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFtbinEyQovbXKi85+801WIN0aXZHuS2Qur5yWzsWR/bTo5GdWRgee6hAauKaWl8xZn7PfA X-Received: by 2002:a25:4192:0:b0:d9a:634e:5ad3 with SMTP id o140-20020a254192000000b00d9a634e5ad3mr14754389yba.13.1698240710368; Wed, 25 Oct 2023 06:31:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698240710; cv=none; d=google.com; s=arc-20160816; b=aFoFVPXRQ2NFlxpF0e0qc9PwJkhCKdkt1MlmzPrxh68/7Mi6Mlssgn7FsQjrSCe88B lstWGwPIg2Z/5mGDsNKdZ2tx1f2p5xf2qPV66+r81tsLP/HKHLHy/WI86NwJ1GfkO+ek r3IeTFgdi/6u2Ay/rxWl9vALy9XrVcO9LwCVxTw6k3yM26eztNhLaKEZn72q0aCiqOCs Zv8Vi45x82Qx10yCSJbxlbz08ZP48RgTDA05HyHYrNBjkCBwsMSHZ3tIRsnnopTaFjqB DQSYZ9DIyXYR4JZprET1aR2iOt+667DTO2WcRGLa0HzXoJ7LmBjhTX4IP4W2OrQ8D+Zp NPFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:cms-type:content-transfer-encoding :mime-version:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=SZ2xtU4liTdPRXyiaem1RPsDZRIMzUg5tNmbRIlLQxE=; fh=J0V7sEismB8erY8zV337smoGMFlptSAv8SuZew/VAS0=; b=EMAbJoaAWbS5QxFABrdI7MkEc2tdV/VS9R2QtMEa9v1xM2ro1N8e3KiFalzIPP5tJi jhQYNVvT1DBIMCwTtFGEopV42c35gYDp6kUZp7wWknDln/OAh/M9uTv0B77J3/2+5g1l Io63hjGibkwmAlm0j6cPuzq0JvD9oQgxX1CIYjmWyEKFjV/EsdW2+Ebh1yE/9v7tWI8H Qxx8z7zQP22yppcOamjEeYSrPjZdBd4ln7E/SOHAesRXtI+eMBx35qdPCBEujo91hOGS mFpeB/wPAuejqbgElMud8qkvidjULV/1CCJdwmeMoNoswQ02itIz5OCR55gI3lJdm4sV 2kLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="LK+/8Xrt"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id 204-20020a2501d5000000b00d9a49bb5ce6si10594752ybb.598.2023.10.25.06.31.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 06:31:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="LK+/8Xrt"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id A4AC88027863; Wed, 25 Oct 2023 06:31:45 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344593AbjJYNbW (ORCPT + 99 others); Wed, 25 Oct 2023 09:31:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344597AbjJYNbB (ORCPT ); Wed, 25 Oct 2023 09:31:01 -0400 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D94C189 for ; Wed, 25 Oct 2023 06:30:57 -0700 (PDT) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20231025133056euoutp019075cfceb328b3921139b42441dcbef2~RXOEd4QAN2920529205euoutp01f for ; Wed, 25 Oct 2023 13:30:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20231025133056euoutp019075cfceb328b3921139b42441dcbef2~RXOEd4QAN2920529205euoutp01f DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1698240656; bh=SZ2xtU4liTdPRXyiaem1RPsDZRIMzUg5tNmbRIlLQxE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LK+/8XrtshrtjVA0E1AN79caM7yN0+Rlqg9KjW6LQKEB1mUiJEElNb3omF+JLxUwf wTD7qahYcedyTWvGSSUomPbZgNtcohL7o64hMBsYV39hEFDaQhJcmFOMJNENP61Nux /NgJ+xJi7FzvZeDkNkWAlY8tzI6UnA/uyw5Usp8A= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20231025133054eucas1p127c5cb897bb40dcf748e7bab9b7faa29~RXOCyci2M1623116231eucas1p1J; Wed, 25 Oct 2023 13:30:54 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 32.F7.42423.E8819356; Wed, 25 Oct 2023 14:30:54 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20231025133054eucas1p23c3ad3e8a8f96608f5574a3b7910589d~RXOCVOe6a2546925469eucas1p2r; Wed, 25 Oct 2023 13:30:54 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20231025133054eusmtrp1c83fbd185478dbc629ba3833705764e0~RXOCUfUts0869708697eusmtrp16; Wed, 25 Oct 2023 13:30:54 +0000 (GMT) X-AuditID: cbfec7f2-a3bff7000002a5b7-0f-6539188ee5ce Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 03.A8.10549.D8819356; Wed, 25 Oct 2023 14:30:54 +0100 (BST) Received: from AMDC4515.eu.corp.samsungelectronics.net (unknown [106.120.51.28]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20231025133053eusmtip2e92e61bda4d306cbc6ba5344d82e7d40~RXOBcVMwi1260512605eusmtip28; Wed, 25 Oct 2023 13:30:53 +0000 (GMT) From: Mateusz Majewski To: linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Mateusz Majewski , Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , "Rafael J. Wysocki" , Daniel Lezcano , Amit Kucheria , Zhang Rui , Alim Akhtar , Liam Girdwood , Mark Brown , Marek Szyprowski , Lukasz Luba Subject: [PATCH v4 5/8] thermal: exynos: simplify regulator (de)initialization Date: Wed, 25 Oct 2023 15:30:24 +0200 Message-ID: <20231025133027.524152-6-m.majewski2@samsung.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231025133027.524152-1-m.majewski2@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJKsWRmVeSWpSXmKPExsWy7djP87p9EpapBjOWyFk8mLeNzeLw/AqL qQ+fsFl833KdyWLeZ1mLva+3slt8u9LBZLHp8TVWi8u75rBZfO49wmgx4/w+JouFTS3sFhOP TWa2WHvkLrvF3C9TmS2ePOxjcxDwWDNvDaPHzll32T0W73nJ5LFpVSebx51re9g8Ni+p9+jb sorR4/MmuQCOKC6blNSczLLUIn27BK6M7xc2shSskKuYPHkVYwPjbokuRk4OCQETibmbzjN2 MXJxCAmsYJQ4MWk9lPOFUeJL/24WCOczo8Tyjd1sMC3nT61nhkgsZ5Q4+/kBVFUrk8TZfy8Y QarYBAwkHrxZxg5iiwi0MkrMbFIHKWIW+MoscfX1fGaQhLBAgETX+Q5WEJtFQFViw791YHFe AVuJy/ueskKsk5fYs+g7E4jNKWAn0Xv8OhtEjaDEyZlPWEBsZqCa5q2zwU6SEOjnlDjW/ZYd otlFYtv5PcwQtrDEq+NboOIyEqcn97BA2PkSMza/B7I5gOwKibsHvSBMa4mPZ5hBTGYBTYn1 u/Qhih0lpjVugirmk7jxVhDiAD6JSdumM0OEeSU62oQgqlUlju+ZBLVeWuJJy20mCNtDoq/5 AeMERsVZSF6ZheSVWQh7FzAyr2IUTy0tzk1PLTbMSy3XK07MLS7NS9dLzs/dxAhMbaf/Hf+0 g3Huq496hxiZOBgPMUpwMCuJ8Eb6WKQK8aYkVlalFuXHF5XmpBYfYpTmYFES51VNkU8VEkhP LEnNTk0tSC2CyTJxcEo1MIU379Tk+GwYKCKhWtG0SOBmxcEjHltc0i7NdteZpd1143XThTfr j3vEZnOKxn78a2K+31vr9DHzc9V1Z9uWS07bcu79KSGrt81CbKe00g5x/f24znc6d4NU+Yf7 TrtPyD7gVRf8Jyk9gbGdf6XAruLfccsVH912k1vYneeoZitbtXCx1fRVroEpCmyqKZd7Ivlj d8+t+luxcNMiJ+6s3zabV4oWzHlf+oYjXdJmzrtn3Deu8F9Z0Kmho8hTnvb68p//09LFUip7 WOQ9XAqtV9abViWY6Tgbin9K0A7ep8L5pbMoXNFc7Abv3D/yvk+/3/ocdlElaKXRj3+y8kyf 5gffnT8hRvBCUWM3B3u3EktxRqKhFnNRcSIAhgsCjdwDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrFIsWRmVeSWpSXmKPExsVy+t/xe7p9EpapBltWM1k8mLeNzeLw/AqL qQ+fsFl833KdyWLeZ1mLva+3slt8u9LBZLHp8TVWi8u75rBZfO49wmgx4/w+JouFTS3sFhOP TWa2WHvkLrvF3C9TmS2ePOxjcxDwWDNvDaPHzll32T0W73nJ5LFpVSebx51re9g8Ni+p9+jb sorR4/MmuQCOKD2bovzSklSFjPziElulaEMLIz1DSws9IxNLPUNj81grI1MlfTublNSczLLU In27BL2M7xc2shSskKuYPHkVYwPjbokuRk4OCQETifOn1jN3MXJxCAksZZT4cmc9I0RCWuLw lynsELawxJ9rXWwQRc1MEuc+/GADSbAJGEg8eLOMHSQhItDJKNG1+RwTSIJZ4D+zxNeZCiC2 sICfxKT5N1hBbBYBVYkN/9Yxg9i8ArYSl/c9ZYXYIC+xZ9F3sF5OATuJ3uPXwRYIAdVM6HjI DlEvKHFy5hMWiPnyEs1bZzNPYBSYhSQ1C0lqASPTKkaR1NLi3PTcYkO94sTc4tK8dL3k/NxN jMBI3Hbs5+YdjPNefdQ7xMjEwXiIUYKDWUmEN9LHIlWINyWxsiq1KD++qDQntfgQoynQ3ROZ pUST84GpIK8k3tDMwNTQxMzSwNTSzFhJnNezoCNRSCA9sSQ1OzW1ILUIpo+Jg1OqgWnD++Yl 2/2s1k90FLbwC2dasJ5FaOby3Y2GCz69dVtbUd6zwLVy1461j43Lo9ZVXf6Xmb3Pv676y9Tv Wn+CX1qdjVEXnxjrp5jMP89R7PVptxesy38qxb/Kdo+ruZy9w0lmJ+sh34n8vo/Lky/sXD+L Y6moYalpX3Ov1mnNSLWvj56s2Po0JlntfZDT56tS3pdNy25esvifyNH1z0/8hoWvyontC++I la07kWoVNvmZBy/7moZVBxSeb+Z9adTk5WQdZM9w2FhZ70ZoAZtJLrOjucvdhVmLbVbe6rpt lHfbc+5V1t3c+gm33f0j3gUe51BsuMN9prLMbuYiP3t5gYxLzRx53LJC1wWfhXNmKLEUZyQa ajEXFScCADXW5UFNAwAA X-CMS-MailID: 20231025133054eucas1p23c3ad3e8a8f96608f5574a3b7910589d X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20231025133054eucas1p23c3ad3e8a8f96608f5574a3b7910589d X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20231025133054eucas1p23c3ad3e8a8f96608f5574a3b7910589d References: <20231025133027.524152-1-m.majewski2@samsung.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Wed, 25 Oct 2023 06:31:46 -0700 (PDT) We rewrite the initialization to enable the regulator as part of devm, which allows us to not handle the struct instance manually. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Mateusz Majewski --- v3 -> v4: Resolved merge conflict and moved info about not outputting error to the correct commit message. v2 -> v3: Fixed error handling of devm_regulator_get_optional to handle the case in which the regulator is available, but enabling it fails. Also removed the error message, split into two commits and reworded the commit message. drivers/thermal/samsung/exynos_tmu.c | 49 +++++++++------------------- 1 file changed, 15 insertions(+), 34 deletions(-) diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index 8bcad8a70dc5..3bdcbab7466f 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -157,7 +157,6 @@ enum soc_type { * @reference_voltage: reference voltage of amplifier * in the positive-TC generator block * 0 < reference_voltage <= 31 - * @regulator: pointer to the TMU regulator structure. * @tzd: pointer to thermal_zone_device structure * @ntrip: number of supported trip points. * @enabled: current status of TMU device @@ -183,7 +182,6 @@ struct exynos_tmu_data { u16 temp_error1, temp_error2; u8 gain; u8 reference_voltage; - struct regulator *regulator; struct thermal_zone_device *tzd; unsigned int ntrip; bool enabled; @@ -994,50 +992,40 @@ static int exynos_tmu_probe(struct platform_device *pdev) * TODO: Add regulator as an SOC feature, so that regulator enable * is a compulsory call. */ - data->regulator = devm_regulator_get_optional(&pdev->dev, "vtmu"); - if (!IS_ERR(data->regulator)) { - ret = regulator_enable(data->regulator); - if (ret) { - dev_err(&pdev->dev, "failed to enable vtmu\n"); - return ret; - } - } else { - ret = PTR_ERR(data->regulator); - switch (ret) { - case -ENODEV: - break; - case -EPROBE_DEFER: - return -EPROBE_DEFER; - default: - dev_err(&pdev->dev, "Failed to get regulator: %d\n", - ret); - return ret; - } + ret = devm_regulator_get_enable_optional(&pdev->dev, "vtmu"); + switch (ret) { + case 0: + case -ENODEV: + break; + case -EPROBE_DEFER: + return -EPROBE_DEFER; + default: + dev_err(&pdev->dev, "Failed to get enabled regulator: %d\n", + ret); + return ret; } ret = exynos_map_dt_data(pdev); if (ret) - goto err_sensor; + return ret; data->clk = devm_clk_get(&pdev->dev, "tmu_apbif"); if (IS_ERR(data->clk)) { dev_err(&pdev->dev, "Failed to get clock\n"); - ret = PTR_ERR(data->clk); - goto err_sensor; + return PTR_ERR(data->clk); } data->clk_sec = devm_clk_get(&pdev->dev, "tmu_triminfo_apbif"); if (IS_ERR(data->clk_sec)) { if (data->soc == SOC_ARCH_EXYNOS5420_TRIMINFO) { dev_err(&pdev->dev, "Failed to get triminfo clock\n"); - ret = PTR_ERR(data->clk_sec); - goto err_sensor; + return PTR_ERR(data->clk_sec); } } else { ret = clk_prepare(data->clk_sec); if (ret) { dev_err(&pdev->dev, "Failed to get clock\n"); - goto err_sensor; + return ret; } } @@ -1107,10 +1095,6 @@ static int exynos_tmu_probe(struct platform_device *pdev) err_clk_sec: if (!IS_ERR(data->clk_sec)) clk_unprepare(data->clk_sec); -err_sensor: - if (!IS_ERR(data->regulator)) - regulator_disable(data->regulator); - return ret; } @@ -1124,9 +1108,6 @@ static void exynos_tmu_remove(struct platform_device *pdev) clk_unprepare(data->clk); if (!IS_ERR(data->clk_sec)) clk_unprepare(data->clk_sec); - - if (!IS_ERR(data->regulator)) - regulator_disable(data->regulator); } #ifdef CONFIG_PM_SLEEP -- 2.42.0