From patchwork Fri Jun 3 21:07:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 12869418 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 599C4C43334 for ; Fri, 3 Jun 2022 21:12:54 +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=F2hupd7olSX/qoOMA4QQZkOLD8UuZE6AMNcwgmtUvYI=; b=mJviDWKNOSQ7mR 04eQErritB1v5MTStYfhizD7ImQyAzrFbEnuIBATIWYutvHO2qIrD+/CDfyfQKfTu76eGEXXRuanT HJLkUDkY3k238+rrFNyDxr3VqIq2lE6khENm3J2Kr8yoVG3ygY5ZCzNN17NgMD3d4r2bUWSbcmU7T r3CzbDNb2aOuHf9Ht5jau5NsT13aFXuJRvRC+Xauq03gYSyn1a8pIAJDf7HuU1In6hcNq7FQYmMiN 9qAuIxw9jHQO8yqlC0aMhzT4WKrtMzZaZZ8TNzngocXLs9NzEiYxGp+HlC9gFtTHGpQiAqmJu3xCt Pmi2mPm8buKApOsH/7eA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nxEZw-008jXH-9P; Fri, 03 Jun 2022 21:11:32 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nxEWx-008h4d-Fx for linux-arm-kernel@lists.infradead.org; Fri, 03 Jun 2022 21:08:28 +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 1nxEWc-0003rK-S9; Fri, 03 Jun 2022 23:08:06 +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 1nxEWd-006HqM-Ey; Fri, 03 Jun 2022 23:08:06 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nxEWa-00E1HW-Q6; Fri, 03 Jun 2022 23:08:04 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Tudor Ambarus , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: kernel@pengutronix.de, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 08/14] mtd: rawnand: atmel: Warn about failure to unregister mtd device Date: Fri, 3 Jun 2022 23:07:52 +0200 Message-Id: <20220603210758.148493-9-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220603210758.148493-1-u.kleine-koenig@pengutronix.de> References: <20220603210758.148493-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1323; i=uwe@kleine-koenig.org; h=from:subject; bh=w7t3z1XUI/STdrsUUjD1Zed5MVKtRFjcH07jBAY9g6c=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBimnfeF/dYwuJXY8Jg4msHfPQvAz1kd7FIE1gdvMiJ 2sLe5dyJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCYpp33gAKCRDB/BR4rcrsCR+/B/ 41uPhowocJ6NtP1+EEFqzGIx0uufPzBz2XJqWYskZyDB+XNb1/vTAhlpA+xQOWY/0aKjR2fdlrbe8c aXFy15gE9tOqKlV26tCPqyLsKJ1xmI4SP5ARYbTnjCTJUpiVAdGxsEKcjuy7uqlMjJK1hBWZ86oV2n hn1Fg7M85zV0h/xy0DsaU9EboSMEm2EpfvxykSHxcmkKmCAOj9f85I2c8rjWrjrCBvff44sliN6yoL nEwcANB0oRm9IMvSkDG7IVQt6nENLWP6TEkSfaUP5bWEAQi7A2/jfJuL5Ld8ts7hQTWZD9Bm1bepuS eQLlw5HiKP5/DLd3RyK0cxIVgvzAuX X-Developer-Key: i=uwe@kleine-koenig.org; 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-20220603_140827_561918_A2A235AE X-CRM114-Status: GOOD ( 16.11 ) 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 Linux device core doesn't intend remove callbacks to fail. If an error code is returned the device is removed anyhow. So wail loudly if the atmel specific remove callback fails and return 0 anyhow to suppress the generic (and little helpful) error message by the device core. Also check the remove callback to actually exist before calling it. That might happen if nc->caps->ops points to atmel_nand_controller_ops. This is a preparation for making platform remove callbacks return void. Signed-off-by: Uwe Kleine-König --- drivers/mtd/nand/raw/atmel/nand-controller.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c index 6ef14442c71a..bc6ee694f4e2 100644 --- a/drivers/mtd/nand/raw/atmel/nand-controller.c +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c @@ -2629,7 +2629,10 @@ static int atmel_nand_controller_remove(struct platform_device *pdev) { struct atmel_nand_controller *nc = platform_get_drvdata(pdev); - return nc->caps->ops->remove(nc); + if (nc->caps->ops->remove) + WARN_ON(nc->caps->ops->remove(nc)); + + return 0; } static __maybe_unused int atmel_nand_controller_resume(struct device *dev)