From mboxrd@z Thu Jan 1 00:00:00 1970 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74E65C77B73 for ; Tue, 30 May 2023 08:16:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229612AbjE3IQ7 (ORCPT ); Tue, 30 May 2023 04:16:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34828 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229614AbjE3IQ4 (ORCPT ); Tue, 30 May 2023 04:16:56 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58FDFA0 for ; Tue, 30 May 2023 01:16:55 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3uXF-0008MP-By; Tue, 30 May 2023 10:16:53 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3uXE-003pUv-MN; Tue, 30 May 2023 10:16:52 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3uXD-009PLn-JI; Tue, 30 May 2023 10:16:51 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Mark Brown , Matthias Brugger Cc: linux-spi@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de, AngeloGioacchino Del Regno Subject: [PATCH v2 1/3] spi: mt65xx: Properly handle failures in .remove() Date: Tue, 30 May 2023 10:16:46 +0200 Message-Id: <20230530081648.2199419-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530081648.2199419-1-u.kleine-koenig@pengutronix.de> References: <20230530081648.2199419-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Developer-Signature: v=1; a=openpgp-sha256; l=1589; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=HeehL14pDk9cEx04aGTWKlwLKl717iunpcSw/+seL1U=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdbDswY5j4sTDtudQWCDRAEvAbQJO6XPfc5UaE Io3N3SICICJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWw7AAKCRCPgPtYfRL+ TiZdB/4qbqDn949mm9Z6UcMZ5URKLHmLfdgTSpsrMQYRdqh5z+2fv5PeoU+2/qjFFX0vFVpTDZ2 JJxoLprnB071k/LkxnJSEzfk0X7hmrxOXyO1CNEhjL5pQqgm/j8ZGgXCuZtvJG/IUjPdez9SWR+ u1a3d3AZ8Pw3e6TbPbz2f+d0GdO86hMAbRHJ80UVW7IeRbs1AcmvZiuC6Xp5SC2OX2rrInpM3wS 29OgCPy7HsWIpCy5LbUbx6u5KYUsaMiTGQ+jHXjYFzPrR2X0C2lt9iTPpCXkikAEUC9U8nweBmO PhbfYbwWB3sKC8iLIqIBVX3u5W4qvcqCfTS2/0/eT3aRmnF1 X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-spi@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Returning an error code in a platform driver's remove function is wrong most of the time and there is an effort to make the callback return void. To prepare this rework the function not to exit early. There wasn't a real problem because if pm runtime resume failed the only step missing was pm_runtime_disable() which isn't an issue. Signed-off-by: Uwe Kleine-König --- drivers/spi/spi-mt65xx.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/spi/spi-mt65xx.c b/drivers/spi/spi-mt65xx.c index 21c321f43766..9333a0e8204d 100644 --- a/drivers/spi/spi-mt65xx.c +++ b/drivers/spi/spi-mt65xx.c @@ -1275,15 +1275,21 @@ static int mtk_spi_remove(struct platform_device *pdev) struct mtk_spi *mdata = spi_master_get_devdata(master); int ret; - ret = pm_runtime_resume_and_get(&pdev->dev); - if (ret < 0) - return ret; + ret = pm_runtime_get_sync(&pdev->dev); + if (ret < 0) { + dev_warn(&pdev->dev, "Failed to resume hardware (%pe)\n", ERR_PTR(ret)); + } else { + /* + * If pm runtime resume failed, clks are disabled and + * unprepared. So don't access the hardware and skip clk + * unpreparing. + */ + mtk_spi_reset(mdata); - mtk_spi_reset(mdata); - - if (mdata->dev_comp->no_need_unprepare) { - clk_unprepare(mdata->spi_clk); - clk_unprepare(mdata->spi_hclk); + if (mdata->dev_comp->no_need_unprepare) { + clk_unprepare(mdata->spi_clk); + clk_unprepare(mdata->spi_hclk); + } } pm_runtime_put_noidle(&pdev->dev); -- 2.39.2 From mboxrd@z Thu Jan 1 00:00:00 1970 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 81AFBC77B7A for ; Tue, 30 May 2023 08:17: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=e6TfXjuOUQjPBhYU/05OmPHAdljbLx9pKbFn+9oS/04=; b=26TxJNPrK62anV mqtD0BSSqvSxtBFxE0I+5GvitzG8/2WbZMSLtTGK0Stw7PMRAVJuWSDAwJz3rYcPissJ3VyMK5cF2 q+gWWV5tELbxYFhjkkzyEpm6JY4+OPz0IyfGRvDS+mLBVXNANKt9KUp4fV7m5fTtNO+QdQfT5h9F3 2y2TXvIZM2yynawRbKbR9eKMMotCV1NZf+BvJWBF8He1//6gJJkYJXF0p8ENXigH74o0EqdqfVfvQ o1gbGkSnjVDxqYpPnPBblvnVmkyMIPoXjaDpLrCqyHev3vdW/vyKjWWyHu41h/HQV0nQgu+ZgvMVM wOFkESw6ybVlr+MN04vQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q3uXR-00CtHA-1v; Tue, 30 May 2023 08:17:05 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q3uXL-00CtDj-30 for linux-arm-kernel@lists.infradead.org; Tue, 30 May 2023 08:17:01 +0000 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3uXF-0008MP-By; Tue, 30 May 2023 10:16:53 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3uXE-003pUv-MN; Tue, 30 May 2023 10:16:52 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3uXD-009PLn-JI; Tue, 30 May 2023 10:16:51 +0200 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Mark Brown , Matthias Brugger Cc: linux-spi@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de, AngeloGioacchino Del Regno Subject: [PATCH v2 1/3] spi: mt65xx: Properly handle failures in .remove() Date: Tue, 30 May 2023 10:16:46 +0200 Message-Id: <20230530081648.2199419-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530081648.2199419-1-u.kleine-koenig@pengutronix.de> References: <20230530081648.2199419-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1589; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=HeehL14pDk9cEx04aGTWKlwLKl717iunpcSw/+seL1U=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdbDswY5j4sTDtudQWCDRAEvAbQJO6XPfc5UaE Io3N3SICICJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWw7AAKCRCPgPtYfRL+ TiZdB/4qbqDn949mm9Z6UcMZ5URKLHmLfdgTSpsrMQYRdqh5z+2fv5PeoU+2/qjFFX0vFVpTDZ2 JJxoLprnB071k/LkxnJSEzfk0X7hmrxOXyO1CNEhjL5pQqgm/j8ZGgXCuZtvJG/IUjPdez9SWR+ u1a3d3AZ8Pw3e6TbPbz2f+d0GdO86hMAbRHJ80UVW7IeRbs1AcmvZiuC6Xp5SC2OX2rrInpM3wS 29OgCPy7HsWIpCy5LbUbx6u5KYUsaMiTGQ+jHXjYFzPrR2X0C2lt9iTPpCXkikAEUC9U8nweBmO PhbfYbwWB3sKC8iLIqIBVX3u5W4qvcqCfTS2/0/eT3aRmnF1 X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230530_011659_983189_3D9827C7 X-CRM114-Status: GOOD ( 16.83 ) 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org UmV0dXJuaW5nIGFuIGVycm9yIGNvZGUgaW4gYSBwbGF0Zm9ybSBkcml2ZXIncyByZW1vdmUgZnVu Y3Rpb24gaXMgd3JvbmcKbW9zdCBvZiB0aGUgdGltZSBhbmQgdGhlcmUgaXMgYW4gZWZmb3J0IHRv IG1ha2UgdGhlIGNhbGxiYWNrIHJldHVybgp2b2lkLiBUbyBwcmVwYXJlIHRoaXMgcmV3b3JrIHRo ZSBmdW5jdGlvbiBub3QgdG8gZXhpdCBlYXJseS4KClRoZXJlIHdhc24ndCBhIHJlYWwgcHJvYmxl bSBiZWNhdXNlIGlmIHBtIHJ1bnRpbWUgcmVzdW1lIGZhaWxlZCB0aGUgb25seQpzdGVwIG1pc3Np bmcgd2FzIHBtX3J1bnRpbWVfZGlzYWJsZSgpIHdoaWNoIGlzbid0IGFuIGlzc3VlLgoKU2lnbmVk LW9mZi1ieTogVXdlIEtsZWluZS1Lw7ZuaWcgPHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRyb25peC5k ZT4KLS0tCiBkcml2ZXJzL3NwaS9zcGktbXQ2NXh4LmMgfCAyMiArKysrKysrKysrKysrKy0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3NwaS9zcGktbXQ2NXh4LmMgYi9kcml2ZXJzL3NwaS9zcGktbXQ2 NXh4LmMKaW5kZXggMjFjMzIxZjQzNzY2Li45MzMzYTBlODIwNGQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvc3BpL3NwaS1tdDY1eHguYworKysgYi9kcml2ZXJzL3NwaS9zcGktbXQ2NXh4LmMKQEAgLTEy NzUsMTUgKzEyNzUsMjEgQEAgc3RhdGljIGludCBtdGtfc3BpX3JlbW92ZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQogCXN0cnVjdCBtdGtfc3BpICptZGF0YSA9IHNwaV9tYXN0ZXJfZ2V0 X2RldmRhdGEobWFzdGVyKTsKIAlpbnQgcmV0OwogCi0JcmV0ID0gcG1fcnVudGltZV9yZXN1bWVf YW5kX2dldCgmcGRldi0+ZGV2KTsKLQlpZiAocmV0IDwgMCkKLQkJcmV0dXJuIHJldDsKKwlyZXQg PSBwbV9ydW50aW1lX2dldF9zeW5jKCZwZGV2LT5kZXYpOworCWlmIChyZXQgPCAwKSB7CisJCWRl dl93YXJuKCZwZGV2LT5kZXYsICJGYWlsZWQgdG8gcmVzdW1lIGhhcmR3YXJlICglcGUpXG4iLCBF UlJfUFRSKHJldCkpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIElmIHBtIHJ1bnRpbWUgcmVzdW1l IGZhaWxlZCwgY2xrcyBhcmUgZGlzYWJsZWQgYW5kCisJCSAqIHVucHJlcGFyZWQuIFNvIGRvbid0 IGFjY2VzcyB0aGUgaGFyZHdhcmUgYW5kIHNraXAgY2xrCisJCSAqIHVucHJlcGFyaW5nLgorCQkg Ki8KKwkJbXRrX3NwaV9yZXNldChtZGF0YSk7CiAKLQltdGtfc3BpX3Jlc2V0KG1kYXRhKTsKLQot CWlmIChtZGF0YS0+ZGV2X2NvbXAtPm5vX25lZWRfdW5wcmVwYXJlKSB7Ci0JCWNsa191bnByZXBh cmUobWRhdGEtPnNwaV9jbGspOwotCQljbGtfdW5wcmVwYXJlKG1kYXRhLT5zcGlfaGNsayk7CisJ CWlmIChtZGF0YS0+ZGV2X2NvbXAtPm5vX25lZWRfdW5wcmVwYXJlKSB7CisJCQljbGtfdW5wcmVw YXJlKG1kYXRhLT5zcGlfY2xrKTsKKwkJCWNsa191bnByZXBhcmUobWRhdGEtPnNwaV9oY2xrKTsK KwkJfQogCX0KIAogCXBtX3J1bnRpbWVfcHV0X25vaWRsZSgmcGRldi0+ZGV2KTsKLS0gCjIuMzku MgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK