From patchwork Fri Mar 1 19:38:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 13579053 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 16B0DC5478C for ; Fri, 1 Mar 2024 19:39:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=Y7vwgXHx4MGNQ1p4JtnNtkf+ids/lwB6jBy7Qv4suYM=; b=ArvFr/+BJPmwtg 115T8M1LSDun2xHRDYNhFHc6NAIqo79HilVgW4OGz11UluKcY+M+DVo1OVY+Q/dgGzgmbb7QbeDbY ajl7bgYCtr0npQTRUDxtmEeC6AKLk5AxpszvGjLeLVUTBul6QtZvk0zZcDEZtS8+/nnPTW35OinNI ki0A2IgOorbHwNPvZAjX4ZuXy4zqbvQgWJUQi7RiDMBkNhjCnvKtszJIoXN18ka/IiIatmus35FK0 guSKvnNwfBcAHWF7F9/as+PYOfamS6+A5WHGNKluvfWzDU0ZxSCuHZVuI+1GIQ6chWxdUizG9TZbr zf4XRtd5NJxGwEC7eehA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8iv-00000001kpy-0MgL; Fri, 01 Mar 2024 19:39:13 +0000 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8is-00000001kpG-08tH for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2024 19:39:11 +0000 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1dc13fb0133so20893245ad.3 for ; Fri, 01 Mar 2024 11:39:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709321949; x=1709926749; 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=+XmK1KXUIgEldgLQ9Dj7dEfcJRP25Vkl9HU6FEdalXs=; b=BLnwF82PvkqG6pdi18JFpaphPWjxYgTeSGnRQB+NAARpTsimv6ablySkQoNcGDYJ9s y7chls3PeVk5HHRkAXpPFH3JhwX1ExZbPK2+gENQwkhrRewhX7gKzIo1vuCgjbZRuT0F XGqgsWriaJGfLqc5T0at/mDznNguOKSzopJSRJTr/2NaM5VAUxkrTAnnt1AlEf7ZcZ49 Cb4GZ5KI/X27EC9tv8Dec/yidhwfDmfyXIN74G1xQZLZ9hdEJWDVgr3ndE4pJZ6xugBe XnpbjV236UrVhR+RMynuH9VhOJ/HtfdbJJBngUdpcd/sh99fyV5Rqb52/ue569NCaP9o Rh+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709321949; x=1709926749; 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=+XmK1KXUIgEldgLQ9Dj7dEfcJRP25Vkl9HU6FEdalXs=; b=RM/kTuBRfeWfVK0e4eON40I4Eu4V6Qeq6s3MS/5h1cNSNNQQC2oYAThhx5RdSus5Ni WaYG+ailoLM7TQYicOif/S9nNyEMn8KbSchHIqf/OKJ7U9CwlwHQSXaDBM+qOrs59SgU qgw4vCwZ9dalBzibb7NMBW1J0s4zGgj41kYZagvyzEw+edtnpSBRCnJc5aTzvQ1k+M64 ywWfcP6qkdKEnc05kbCLiMHHF2GFxvViMKiyKBNzAHq4YCA8SbKiCdgJbz6Q4d8VgpGQ xg1nkgr/DtPHEsTv/XPJFDpUc3XKRO4mFAkT0ywC+dJMWq22tz+W3wwd+MPWNovxeH6n LfLQ== X-Forwarded-Encrypted: i=1; AJvYcCXV9IiQyJoGFZAamtwlbeRmuc4s93HA1oURvZtQU57P3g7Ha+phEMNCdU6BLIbGzsXpcVfcy7LM7sDFMZMiULs75/W1buEBcrhkZ4Gbo99fU+pUMHM= X-Gm-Message-State: AOJu0Yz0xurBXVtf2EWqhyDU2uKqlVOW5RaWk5Ndp/pgNUofNc1ARsmW tmvvOpGEjibKnbhBr8yY/aGT5IlAi/jBVG/lTEwj+29/RPU+1Z0EgYCtENLV X-Google-Smtp-Source: AGHT+IFe/jusPETkAIAJswHE+vTyxv3T1WsrpeHoubCmcfJB1aHT1VfWeAn2Cx/qrh1L+SPHWwbrkg== X-Received: by 2002:a17:902:fe82:b0:1db:8fd9:ba0d with SMTP id x2-20020a170902fe8200b001db8fd9ba0dmr2177685plm.23.1709321948602; Fri, 01 Mar 2024 11:39:08 -0800 (PST) Received: from localhost.localdomain ([113.30.217.222]) by smtp.gmail.com with ESMTPSA id u8-20020a170902e5c800b001dca6d1d572sm3837474plf.63.2024.03.01.11.39.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 11:39:08 -0800 (PST) From: Anand Moon To: Alan Stern , Greg Kroah-Hartman , Krzysztof Kozlowski , Alim Akhtar Cc: Anand Moon , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 1/4] usb: ehci-exynos: Use devm_clk_get_enabled() helpers Date: Sat, 2 Mar 2024 01:08:08 +0530 Message-ID: <20240301193831.3346-2-linux.amoon@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240301193831.3346-1-linux.amoon@gmail.com> References: <20240301193831.3346-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-20240301_113910_119387_12A8947A X-CRM114-Status: GOOD ( 18.30 ) 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 The devm_clk_get_enabled() helpers: - call devm_clk_get() - call clk_prepare_enable() and register what is needed in order to call clk_disable_unprepare() when needed, as a managed resource. This simplifies the code and avoids the calls to clk_disable_unprepare(). While at it, use dev_err_probe consistently, and use its return value to return the error code. Signed-off-by: Anand Moon --- drivers/usb/host/ehci-exynos.c | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c index f644b131cc0b..05aa3d9c2a3b 100644 --- a/drivers/usb/host/ehci-exynos.c +++ b/drivers/usb/host/ehci-exynos.c @@ -159,19 +159,12 @@ static int exynos_ehci_probe(struct platform_device *pdev) err = exynos_ehci_get_phy(&pdev->dev, exynos_ehci); if (err) - goto fail_clk; - - exynos_ehci->clk = devm_clk_get(&pdev->dev, "usbhost"); - - if (IS_ERR(exynos_ehci->clk)) { - dev_err(&pdev->dev, "Failed to get usbhost clock\n"); - err = PTR_ERR(exynos_ehci->clk); - goto fail_clk; - } + goto fail_io; - err = clk_prepare_enable(exynos_ehci->clk); - if (err) - goto fail_clk; + exynos_ehci->clk = devm_clk_get_enabled(&pdev->dev, "usbhost"); + if (IS_ERR(exynos_ehci->clk)) + return dev_err_probe(&pdev->dev, PTR_ERR(exynos_ehci->clk), + "Failed to get usbhost clock\n"); hcd->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(hcd->regs)) { @@ -223,8 +216,6 @@ static int exynos_ehci_probe(struct platform_device *pdev) exynos_ehci_phy_disable(&pdev->dev); pdev->dev.of_node = exynos_ehci->of_node; fail_io: - clk_disable_unprepare(exynos_ehci->clk); -fail_clk: usb_put_hcd(hcd); return err; } @@ -240,8 +231,6 @@ static void exynos_ehci_remove(struct platform_device *pdev) exynos_ehci_phy_disable(&pdev->dev); - clk_disable_unprepare(exynos_ehci->clk); - usb_put_hcd(hcd); } @@ -249,7 +238,6 @@ static void exynos_ehci_remove(struct platform_device *pdev) static int exynos_ehci_suspend(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); - struct exynos_ehci_hcd *exynos_ehci = to_exynos_ehci(hcd); bool do_wakeup = device_may_wakeup(dev); int rc; @@ -260,25 +248,17 @@ static int exynos_ehci_suspend(struct device *dev) exynos_ehci_phy_disable(dev); - clk_disable_unprepare(exynos_ehci->clk); - return rc; } static int exynos_ehci_resume(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); - struct exynos_ehci_hcd *exynos_ehci = to_exynos_ehci(hcd); int ret; - ret = clk_prepare_enable(exynos_ehci->clk); - if (ret) - return ret; - ret = exynos_ehci_phy_enable(dev); if (ret) { dev_err(dev, "Failed to enable USB phy\n"); - clk_disable_unprepare(exynos_ehci->clk); return ret; } From patchwork Fri Mar 1 19:38:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 13579054 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 BF59CC5475B for ; Fri, 1 Mar 2024 19:39:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=3waBgrAUmHlDVhWEsuDTJWocbpdmaHD2eFdjsLhg4U8=; b=vjTFo4oSuxrTGW +oHwl544ZmMHvWpeBq8bxL+Gf2JYT6uB3avLTb8YuqH+Wu1iBQgsJJnVETixol3BtwH1v/OljVRAc 2ykZoopwsAgxt6rwRua75PNdcoL9OwvSfrqCF0/99C5yreFrqeNJsXhxhun8T57WDWoIR4lHqE598 erh70hYLEf6MvxevhB/6enuhrQ53E/xMgGkatrGWjJVe/JWEenPWQjL+ATGyQLE13iMT4UOf5TSB/ MjyTxJ7Sm10yYD+FNlJ01c5snU1aWOWNiTEbTEwqzZKP9F2T7SUJjPRwwJFpBD4OPhsEFkfBWpyOR hSvl+4i9hZ4FaDrdFQ2g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8j1-00000001krr-2Xip; Fri, 01 Mar 2024 19:39:19 +0000 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8iy-00000001kr1-2HEp for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2024 19:39:17 +0000 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-6e571666829so1602712b3a.3 for ; Fri, 01 Mar 2024 11:39:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709321955; x=1709926755; 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=HxDoTNYRXmT98FSYADPnI3hxRtweuOFNAxWJPLtCjpE=; b=mPqj1vSbbXJVckMRmHxahfXk8zCRN67VGtXjsXWdyKgaQj4KMwSWPbBcc7+Y9dPSc0 DRjRhf/Tj3HyZkf1w3RX+MLR7BYMG+M1x816tbEeTv4JmDNLbodgai8hUA2UqNH/PdsH 3IugjD6UT0IptNhUZ/CH8bQW6rwWJdlyYM9lF6t50ISIQyOOsqowdT11j78zDpesW/en QyBFFbvRwT2TPtuZbesld+7Luaa99j3SXsk/ewfXJ7KAZzg6dZdwStM46IF1yMyWfgdf nQXVzx7K+XvubD5VMpsST43gmROJGlBiuWwwHtBfH+mVEq6FZysQLy3vM+8LkR5bAF67 fyrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709321955; x=1709926755; 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=HxDoTNYRXmT98FSYADPnI3hxRtweuOFNAxWJPLtCjpE=; b=bXpeyNevy+h9T8j0Iwjkf89wO0Vi1N/LAiSGEcCXpWruxVCQ3/JKmAmnsVnoJ6Z7uq nZOepwP06klucWkUQRgHWtqKVdtXptb5myMeE1/qmyd8do5srzAhUaDma3xv5CnDUM7z 6UT1RF+/hmgPveuLJBzOlrSB32yIP57TSzk2HnhUxnf7kYe4K+3KjEbvN/HFpfyzoxt8 rMX1hcxrPLwzPM8GykCs0Aw5EoW9IcsqqRqJZCtmchasMcjqv7WVJTMd/UboYFcjr3Q/ mbBL/cfk90P74ACeiySjsjs73AybFIcjET2efMwWTZYJYgfLSI5Q+ZZOzI0ITLdulY3u +b2A== X-Forwarded-Encrypted: i=1; AJvYcCWHBokhl8QxD1i/Zp1VcmqtxHA3r4iNwIfvR6VouwKiYfWF6FhPEyR2xRqsoK9AfG9X4mfA/7h+Iulad9QYpnTPR5inqqlUg3H9tO2EU8LTWclWWPA= X-Gm-Message-State: AOJu0Yypr6ZEOMQE6FRZxpAWPCkaho8EUmvIAuwWbMd+JpU39WolIBXO rt7P6pFYUuRi93bUoK9YDID/qAXBcTCmce4XLHwLJN5psXPO6x7W X-Google-Smtp-Source: AGHT+IHV3s9Cx/ijBF4u/tKBzE9PLqaHiED312E1BkJOfy/2Oat9Li825A6zbvq7V+BUjdFNIg02eg== X-Received: by 2002:a17:902:db0e:b0:1dc:3c3f:c647 with SMTP id m14-20020a170902db0e00b001dc3c3fc647mr3442878plx.26.1709321955473; Fri, 01 Mar 2024 11:39:15 -0800 (PST) Received: from localhost.localdomain ([113.30.217.222]) by smtp.gmail.com with ESMTPSA id u8-20020a170902e5c800b001dca6d1d572sm3837474plf.63.2024.03.01.11.39.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 11:39:15 -0800 (PST) From: Anand Moon To: Alan Stern , Greg Kroah-Hartman , Krzysztof Kozlowski , Alim Akhtar Cc: Anand Moon , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 2/4] usb: ehci-exynos: Switch from CONFIG_PM guards to pm_ptr() Date: Sat, 2 Mar 2024 01:08:09 +0530 Message-ID: <20240301193831.3346-3-linux.amoon@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240301193831.3346-1-linux.amoon@gmail.com> References: <20240301193831.3346-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-20240301_113916_602480_4EB816B3 X-CRM114-Status: GOOD ( 17.60 ) 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 Use the new PM macros for the suspend and resume functions to be automatically dropped by the compiler when CONFIG_PM are disabled, without having to use #ifdef guards. If CONFIG_PM unused, they will simply be discarded by the compiler. Use RUNTIME_PM_OPS runtime macro for suspend/resume function. Signed-off-by: Anand Moon --- drivers/usb/host/ehci-exynos.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c index 05aa3d9c2a3b..4676f45655cd 100644 --- a/drivers/usb/host/ehci-exynos.c +++ b/drivers/usb/host/ehci-exynos.c @@ -234,7 +234,6 @@ static void exynos_ehci_remove(struct platform_device *pdev) usb_put_hcd(hcd); } -#ifdef CONFIG_PM static int exynos_ehci_suspend(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); @@ -268,14 +267,9 @@ static int exynos_ehci_resume(struct device *dev) ehci_resume(hcd, false); return 0; } -#else -#define exynos_ehci_suspend NULL -#define exynos_ehci_resume NULL -#endif static const struct dev_pm_ops exynos_ehci_pm_ops = { - .suspend = exynos_ehci_suspend, - .resume = exynos_ehci_resume, + RUNTIME_PM_OPS(exynos_ehci_suspend, exynos_ehci_resume, NULL) }; #ifdef CONFIG_OF @@ -292,7 +286,7 @@ static struct platform_driver exynos_ehci_driver = { .shutdown = usb_hcd_platform_shutdown, .driver = { .name = "exynos-ehci", - .pm = &exynos_ehci_pm_ops, + .pm = pm_ptr(&exynos_ehci_pm_ops), .of_match_table = of_match_ptr(exynos_ehci_match), } }; From patchwork Fri Mar 1 19:38:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 13579055 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 88646C5475B for ; Fri, 1 Mar 2024 19:39:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=DPv2hP76JksGZqSR7lAzvEG2VDVavSQoRScJYSh5bpw=; b=HDifQ2wOeriopx moU9CHINyutg5foeYVTkzMC1LiAY9rQACGXbKL5S7G7E+D9AlFcLS64ps8hJOY6PzBwkeZE2c5rvX cryJ73HqdrjRWdYLDc9VoSbKWmJXVqftN7/UPDF7HDcxj6CGzFaHs59jm93GcNmn2GMPZ+6k4FMX5 7p8QtkQyvG/pPZTFHbcMvYuT21Skc2SEWG5+RE3k92hjokvz3Luku9uKTBVKSoP4QbnfQf+j/5Dzd DGb5e1ahM5bDLHqDIAJhlJQDnLH5YWNm1MYhF3jVG2riT7xKeXM4RnlTLbtcm4y4TS6cPC5iHynN2 un1RYiEPCxdWL1omkDDA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8j9-00000001kv4-26SF; Fri, 01 Mar 2024 19:39:27 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8j5-00000001kt4-3pJM for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2024 19:39:25 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1dc49b00bdbso25590385ad.3 for ; Fri, 01 Mar 2024 11:39:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709321963; x=1709926763; 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=hb4CG876O8rufa4kt9vTuzRMAqAQvWAjs5KW+CbhAMc=; b=Ad4gzYV6bRhraVPNkobDiG8imJZGz7GozsWI4O+0FVLL/HE3eeiwVOJAsjylzj0eHo Vr/ITo3uw4/kQTlHad1G7h9ZFLplHZ4wQCxD08ni88Znpp8CUuZDmyacOLT0GyXx+v/m ASr2wtHapg28ljUouA0/MNDbSe0h66nDGMYIIrvMxEn6/kSPXOwbA4b/GVWm6TFvoeGm itjhar3/k9pPU9cMGzNasRPqjumrTdu1/J3NJZHRCeUpYES8rI2WT1jiKSKalKURTH4R kYiph2S57TYT9jiK41Fo02KlEKKf6hVq9EAmHluZjmh0/6pyAaXRnOUvs6/vA9dYp6rn jIeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709321963; x=1709926763; 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=hb4CG876O8rufa4kt9vTuzRMAqAQvWAjs5KW+CbhAMc=; b=mGLG2eS0tVry3+JEDl3Nuy9j/q/uUGIndahyHiUGGVVKSrAAOqorsEQsjcfwbzLsl7 WR+xL4SGCki708FE391OoyipFJgAHuBVhBIgN6YwOlKRasGrMR35o55+DzQdlXzr7VXB mQ83SAWrrxpln1RNZuD6EtY9gtpDMwE+CWleGJzKTIukTxfgsgnk0rBrAymq9m3+0MfH 5gzYDH+iIgrUV2zmDeIfNnG4Su0+oq3XxpPDYyzV6jRKrMmrdyYSAbwF9gjGEwicSuQP px9uad9ncWCZyGuhICED1PPa2KX6KzAHk0k/KnpCH/WkfXVPuRub16QWxMgaEsHcQQ4r qntA== X-Forwarded-Encrypted: i=1; AJvYcCW+M23PhS1bNFcraYrwnk94QTcCRkHu2dCcxVfLW7L7VHtg2vPA30OyVjiXNL3M5gsHPu5xBA0bCK2aplcWIE+7Rsl9Ae46Q4ODXwLtfo4aNY6BKzg= X-Gm-Message-State: AOJu0YzCLK7yYjq16Zl70WcUO5siBj0UZbJ5fJ15UwjxNG6qjwcE0raV +HDJfDQ3xuPBtNCy4q9sH8G3L/oDQf2YWuCm9WFk9q+bvpxfsNaa X-Google-Smtp-Source: AGHT+IFgEXL5OrEpNcLcirx6onnuU3qA5IyL4Z8we5SXd8dy1goPwzAgll7JmWsxp1BQjtJuaRYtbg== X-Received: by 2002:a17:902:ed82:b0:1dc:2f30:e0dc with SMTP id e2-20020a170902ed8200b001dc2f30e0dcmr2171759plj.36.1709321962783; Fri, 01 Mar 2024 11:39:22 -0800 (PST) Received: from localhost.localdomain ([113.30.217.222]) by smtp.gmail.com with ESMTPSA id u8-20020a170902e5c800b001dca6d1d572sm3837474plf.63.2024.03.01.11.39.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 11:39:22 -0800 (PST) From: Anand Moon To: Thinh Nguyen , Greg Kroah-Hartman , Krzysztof Kozlowski , Alim Akhtar Cc: Anand Moon , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 3/4] usb: dwc3: exynos: Use devm_regulator_bulk_get_enable() helper function Date: Sat, 2 Mar 2024 01:08:10 +0530 Message-ID: <20240301193831.3346-4-linux.amoon@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240301193831.3346-1-linux.amoon@gmail.com> References: <20240301193831.3346-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-20240301_113923_979155_B33746E6 X-CRM114-Status: GOOD ( 17.36 ) 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 Use devm_regulator_bulk_get_enable() instead of open coded 'devm_regulator_get(), regulator_enable(), regulator_disable(). Signed-off-by: Anand Moon --- drivers/usb/dwc3/dwc3-exynos.c | 49 +++------------------------------- 1 file changed, 4 insertions(+), 45 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c index 5d365ca51771..7c77f3c69825 100644 --- a/drivers/usb/dwc3/dwc3-exynos.c +++ b/drivers/usb/dwc3/dwc3-exynos.c @@ -32,9 +32,6 @@ struct dwc3_exynos { struct clk *clks[DWC3_EXYNOS_MAX_CLOCKS]; int num_clks; int suspend_clk_idx; - - struct regulator *vdd33; - struct regulator *vdd10; }; static int dwc3_exynos_probe(struct platform_device *pdev) @@ -44,6 +41,7 @@ static int dwc3_exynos_probe(struct platform_device *pdev) struct device_node *node = dev->of_node; const struct dwc3_exynos_driverdata *driver_data; int i, ret; + static const char * const regulators[] = { "vdd33", "vdd10" }; exynos = devm_kzalloc(dev, sizeof(*exynos), GFP_KERNEL); if (!exynos) @@ -78,27 +76,9 @@ static int dwc3_exynos_probe(struct platform_device *pdev) if (exynos->suspend_clk_idx >= 0) clk_prepare_enable(exynos->clks[exynos->suspend_clk_idx]); - exynos->vdd33 = devm_regulator_get(dev, "vdd33"); - if (IS_ERR(exynos->vdd33)) { - ret = PTR_ERR(exynos->vdd33); - goto vdd33_err; - } - ret = regulator_enable(exynos->vdd33); - if (ret) { - dev_err(dev, "Failed to enable VDD33 supply\n"); - goto vdd33_err; - } - - exynos->vdd10 = devm_regulator_get(dev, "vdd10"); - if (IS_ERR(exynos->vdd10)) { - ret = PTR_ERR(exynos->vdd10); - goto vdd10_err; - } - ret = regulator_enable(exynos->vdd10); - if (ret) { - dev_err(dev, "Failed to enable VDD10 supply\n"); - goto vdd10_err; - } + ret = devm_regulator_bulk_get_enable(dev, ARRAY_SIZE(regulators), regulators); + if (ret) + return dev_err_probe(dev, ret, "Failed to enable regulators\n"); if (node) { ret = of_platform_populate(node, NULL, NULL, dev); @@ -115,10 +95,6 @@ static int dwc3_exynos_probe(struct platform_device *pdev) return 0; populate_err: - regulator_disable(exynos->vdd10); -vdd10_err: - regulator_disable(exynos->vdd33); -vdd33_err: for (i = exynos->num_clks - 1; i >= 0; i--) clk_disable_unprepare(exynos->clks[i]); @@ -140,9 +116,6 @@ static void dwc3_exynos_remove(struct platform_device *pdev) if (exynos->suspend_clk_idx >= 0) clk_disable_unprepare(exynos->clks[exynos->suspend_clk_idx]); - - regulator_disable(exynos->vdd33); - regulator_disable(exynos->vdd10); } static const struct dwc3_exynos_driverdata exynos5250_drvdata = { @@ -196,9 +169,6 @@ static int dwc3_exynos_suspend(struct device *dev) for (i = exynos->num_clks - 1; i >= 0; i--) clk_disable_unprepare(exynos->clks[i]); - regulator_disable(exynos->vdd33); - regulator_disable(exynos->vdd10); - return 0; } @@ -207,17 +177,6 @@ static int dwc3_exynos_resume(struct device *dev) struct dwc3_exynos *exynos = dev_get_drvdata(dev); int i, ret; - ret = regulator_enable(exynos->vdd33); - if (ret) { - dev_err(dev, "Failed to enable VDD33 supply\n"); - return ret; - } - ret = regulator_enable(exynos->vdd10); - if (ret) { - dev_err(dev, "Failed to enable VDD10 supply\n"); - return ret; - } - for (i = 0; i < exynos->num_clks; i++) { ret = clk_prepare_enable(exynos->clks[i]); if (ret) { From patchwork Fri Mar 1 19:38:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anand Moon X-Patchwork-Id: 13579056 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 82E59C5478C for ; Fri, 1 Mar 2024 19:39:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=FmuBbBoURiGVu1zXRMjq+Vwe49VNzYcn0yh4NkhZhT4=; b=v8rnMLFVK1DIdo AfrNjwV/9YMgRqUaF1avXdluO4cA3evNrQaaYtd3esgRxoh5js6iI5bxJLWU3LPQG8RlSX5KXl13/ 0ErIr/3OoP+0yyxFYLv8Lslnfzqb0x71DFMt6dZB0hR7yIRl8xqTKgHXclo2tqlsGDs6eaXOM1Woi tDmOfMqH/OxhBaPIS/fpkau6YEThx1o5RdlgVUeuFtcz3NrJVO8hK/niZ6wvZNS/xN4CXsYfi78Em cELBR0nhjbZ0/9dtCE4pmxJkwCDpne98oVtFQEqmeKKbvGiDW3nCjNlQpzarnKEerTrvhZ4ihuoxJ hQt8t7MEIZGb4Uu7Uzfg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8jG-00000001l07-45kF; Fri, 01 Mar 2024 19:39:34 +0000 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rg8jC-00000001kwz-3JFh for linux-arm-kernel@lists.infradead.org; Fri, 01 Mar 2024 19:39:32 +0000 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1dc1e7c0e29so9214975ad.1 for ; Fri, 01 Mar 2024 11:39:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709321969; x=1709926769; 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=dO4lQ3DX7Qu8zJWJNpEo7HKYrGAn8GSChMZFfiOVl1U=; b=befNWpDuhs7YZGym6nXlJDDTUpd26NDKb7PMRp9v5BktZpDQGlTsuzUSyJOFi6GtiJ Z8b6ztEcMFG6EHvxxLf4OUp2ASbwO1yIahWF38TJ18F7U1tTFdAZMgMW5GnjsDtS6LV3 ZfsXwJzjWr1YiBKDBdCj0JDNuVYawJC6Ul95W6dZlYPzl56pcbfpvDoVn49jLUm2vVw6 j9qq3CchupSPtpIKLRm6PoDOVijDyVeSdifsqbjXTgRM7/2WNYWQUJCK3B6YYCI6RpFk jloak1xo0r5dxiUTIt29isU8Brwf6dvmjtec4aNyitZU8D/AUGYgnzwTZvIAD4ForAhA WR7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709321969; x=1709926769; 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=dO4lQ3DX7Qu8zJWJNpEo7HKYrGAn8GSChMZFfiOVl1U=; b=eCZhUOWRIXAHxf+n/D4TkcBng3aZByJsBTo2mh6NfkQB1P0P85UgwcI5BKKiuJgOCW 8Strv13NrB30+PpzS2SOch4MJ/2lfvr3scqBQ0QZHhUx5kbNgLPM5mJ1SfesGtUPwS07 8FkKOtn7FW6dOKZvJKKgMXPo3Cm/PklpdI3aGNb456j6bMvaRwQqyb1e2JDYZQS3VL+z 7ijRNVWweVLKa3aXL3gxNS7B0JKaxmIMUQLtpGVflWYqVumQRnxrDlUSDHu/ZPPvvOpm S0ONoDLiZ32M8/W1d2zBAtk/UiXqmUjSDalj+hIzO4L/U7UXMOjoblVKoStCIZH3yVNH gWag== X-Forwarded-Encrypted: i=1; AJvYcCWRHeqyjn0Pe7vzWQCo8ZiO/O9xhAidqE9d6+r2EKTO0eqN9StkLMHVNZzDpB5SpTgOAleaM211VxW4mZzVM1OHXVulZNo5VhRtCmjFm5L/wZdPidw= X-Gm-Message-State: AOJu0Yyop+x7pbNGA4gg9LDq0Oc0NxQV2xwNQHtRccWhDYBLTSOAxMLE IBsFMUgU30hsBOPkuFWKiWuS8K0Un6qMordOIqLyBqUfVFG/U3OaSPrpErTx X-Google-Smtp-Source: AGHT+IGde4M3wivnu/XUvD5PTHizKpooiRXEH/Qb75954pFaiKEAN13Gcv1lY/BXZ4UKV5NuULoYhA== X-Received: by 2002:a17:903:41c4:b0:1d9:a2b1:8693 with SMTP id u4-20020a17090341c400b001d9a2b18693mr2982968ple.23.1709321969651; Fri, 01 Mar 2024 11:39:29 -0800 (PST) Received: from localhost.localdomain ([113.30.217.222]) by smtp.gmail.com with ESMTPSA id u8-20020a170902e5c800b001dca6d1d572sm3837474plf.63.2024.03.01.11.39.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 11:39:29 -0800 (PST) From: Anand Moon To: Thinh Nguyen , Greg Kroah-Hartman , Krzysztof Kozlowski , Alim Akhtar Cc: Anand Moon , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 4/4] usb: dwc3: exynos: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() Date: Sat, 2 Mar 2024 01:08:11 +0530 Message-ID: <20240301193831.3346-5-linux.amoon@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240301193831.3346-1-linux.amoon@gmail.com> References: <20240301193831.3346-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-20240301_113930_970699_2ED479A7 X-CRM114-Status: GOOD ( 16.14 ) 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 Use the new PM macros for the suspend and resume functions to be automatically dropped by the compiler when CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards. If CONFIG_PM_SLEEP unused, they will simply be discarded by the compiler. Signed-off-by: Anand Moon --- drivers/usb/dwc3/dwc3-exynos.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c index 7c77f3c69825..645a4ec0cd92 100644 --- a/drivers/usb/dwc3/dwc3-exynos.c +++ b/drivers/usb/dwc3/dwc3-exynos.c @@ -160,7 +160,6 @@ static const struct of_device_id exynos_dwc3_match[] = { }; MODULE_DEVICE_TABLE(of, exynos_dwc3_match); -#ifdef CONFIG_PM_SLEEP static int dwc3_exynos_suspend(struct device *dev) { struct dwc3_exynos *exynos = dev_get_drvdata(dev); @@ -193,18 +192,13 @@ static const struct dev_pm_ops dwc3_exynos_dev_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(dwc3_exynos_suspend, dwc3_exynos_resume) }; -#define DEV_PM_OPS (&dwc3_exynos_dev_pm_ops) -#else -#define DEV_PM_OPS NULL -#endif /* CONFIG_PM_SLEEP */ - static struct platform_driver dwc3_exynos_driver = { .probe = dwc3_exynos_probe, .remove_new = dwc3_exynos_remove, .driver = { .name = "exynos-dwc3", .of_match_table = exynos_dwc3_match, - .pm = DEV_PM_OPS, + .pm = pm_sleep_ptr(&dwc3_exynos_dev_pm_ops), }, };