Linux MultiMedia Card development
 help / color / mirror / Atom feed
From: Yangtao Li <frank.li@vivo.com>
To: Adrian Hunter <adrian.hunter@intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Yangtao Li" <frank.li@vivo.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 59/62] mmc: sdhci_am654: Properly handle failures in .remove()
Date: Thu, 27 Jul 2023 15:00:48 +0800	[thread overview]
Message-ID: <20230727070051.17778-59-frank.li@vivo.com> (raw)
In-Reply-To: <20230727070051.17778-1-frank.li@vivo.com>

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.

Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Yangtao Li <frank.li@vivo.com>
---
 drivers/mmc/host/sdhci_am654.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index 7cdf0f54e3a5..1cc84739ef2f 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -870,16 +870,17 @@ static int sdhci_am654_remove(struct platform_device *pdev)
 {
 	struct sdhci_host *host = platform_get_drvdata(pdev);
 	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
+	struct device *dev = &pdev->dev;
 	int ret;
 
-	ret = pm_runtime_resume_and_get(&pdev->dev);
+	ret = pm_runtime_get_sync(dev);
 	if (ret < 0)
-		return ret;
+		dev_err(dev, "pm_runtime_get_sync() Failed\n");
 
 	sdhci_remove_host(host, true);
 	clk_disable_unprepare(pltfm_host->clk);
-	pm_runtime_disable(&pdev->dev);
-	pm_runtime_put_noidle(&pdev->dev);
+	pm_runtime_disable(dev);
+	pm_runtime_put_noidle(dev);
 	sdhci_pltfm_free(pdev);
 	return 0;
 }
-- 
2.39.0


  parent reply	other threads:[~2023-07-27  7:08 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-27  6:59 [PATCH v3 01/62] mmc: sunxi: Convert to platform remove callback returning void Yangtao Li
2023-07-27  6:59 ` [PATCH v3 02/62] mmc: bcm2835: " Yangtao Li
2023-07-27  6:59 ` [PATCH v3 03/62] mmc: jz4740: " Yangtao Li
2023-07-27  6:59 ` [PATCH v3 04/62] mmc: litex_mmc: " Yangtao Li
2023-07-31 20:16   ` Gabriel L. Somlo
2023-07-27  6:59 ` [PATCH v3 05/62] mmc: mtk-sd: " Yangtao Li
2023-07-27  6:59 ` [PATCH v3 06/62] mmc: cb710: " Yangtao Li
2023-07-27  6:59 ` [PATCH v3 07/62] mmc: davinci_mmc: " Yangtao Li
2023-07-27  6:59 ` [PATCH v3 08/62] mmc: dw_mmc: hi3798cv200: " Yangtao Li
2023-07-27  6:59 ` [PATCH v3 09/62] mmc: sdhci-pic32: " Yangtao Li
2023-07-27  6:59 ` [PATCH v3 10/62] mmc: sdhci: milbeaut: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 11/62] mmc: omap_hsmmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 12/62] mmc: sdhci-of-at91: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 13/62] mmc: omap: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 14/62] mmc: dw_mmc: exynos: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 15/62] mmc: sdhci-pxav3: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 16/62] mmc: rtsx_pci: Drop if block with always false condition Yangtao Li
2023-07-27  7:00 ` [PATCH v3 17/62] mmc: rtsx_pci: Convert to platform remove callback returning void Yangtao Li
2023-07-27  7:00 ` [PATCH v3 18/62] mmc: sh_mmcif: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 19/62] mmc: meson-gx: " Yangtao Li
2023-07-29 19:01   ` Martin Blumenstingl
2023-07-27  7:00 ` [PATCH v3 20/62] mmc: xenon: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 21/62] mmc: sdhci-s3c: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 22/62] mmc: meson-mx-sdhc: " Yangtao Li
2023-07-29 19:01   ` Martin Blumenstingl
2023-07-27  7:00 ` [PATCH v3 23/62] mmc: rtsx_usb_sdmmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 24/62] mmc: mxs-mmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 25/62] mmc: sdhci-of-arasan: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 26/62] mmc: sdhci-of-dwcmshc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 27/62] mmc: au1xmmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 28/62] mmc: cavium-octeon: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 29/62] mmc: pxamci: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 30/62] mmc: moxart: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 31/62] mmc: sdhci-omap: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 32/62] mmc: sdhci-of-aspeed: remove unneeded variables Yangtao Li
2023-07-27  7:00 ` [PATCH v3 33/62] mmc: sdhci-of-aspeed: Convert to platform remove Yangtao Li
2023-07-27  7:00 ` [PATCH v3 34/62] mmc: meson-mx-sdio: Convert to platform remove callback returning void Yangtao Li
2023-07-29 19:02   ` Martin Blumenstingl
2023-07-27  7:00 ` [PATCH v3 35/62] mmc: sdhci-sprd: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 36/62] mmc: sdhci-tegra: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 37/62] mmc: sdhci-acpi: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 38/62] mmc: sdhci-esdhc-imx: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 39/62] mmc: sdhci-msm: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 40/62] mmc: alcor: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 41/62] mmc: dw_mmc: rockchip: " Yangtao Li
2023-07-28 18:24   ` Heiko Stuebner
2023-07-27  7:00 ` [PATCH v3 42/62] mmc: owl: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 43/62] mmc: wbsd: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 44/62] mmc: usdhi60rol0: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 45/62] mmc: atmel-mci: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 46/62] mmc: sdhci-st: " Yangtao Li
2023-08-28  9:10   ` Patrice CHOTARD
2023-07-27  7:00 ` [PATCH v3 47/62] mmc: wmt-sdmmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 48/62] mmc: sdhci-esdhc-mcf: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 49/62] mmc: sunplus-mmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 50/62] mmc: sdhci-spear: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 51/62] mmc: mxcmmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 52/62] mmc: mvsdio: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 53/62] mmc: pwrseq_simple: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 54/62] mmc: pwrseq: sd8787: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 55/62] mmc: pwrseq: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 56/62] mmc: renesas_sdhi: " Yangtao Li
2023-08-16 11:27   ` Wolfram Sang
2023-07-27  7:00 ` [PATCH v3 57/62] mmc: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 58/62] mmc: uniphier-sd: " Yangtao Li
2023-07-27  7:00 ` Yangtao Li [this message]
2023-07-27 13:56   ` [PATCH v3 59/62] mmc: sdhci_am654: Properly handle failures in .remove() Adrian Hunter
2023-07-27  7:00 ` [PATCH v3 60/62] mmc: sdhci_am654: Convert to platform remove callback returning void Yangtao Li
2023-07-27 13:56   ` Adrian Hunter
2023-07-27  7:00 ` [PATCH v3 61/62] mmc: f-sdh30: " Yangtao Li
2023-07-27  7:00 ` [PATCH v3 62/62] mmc: f-sdh30: fix order of function calls in sdhci_f_sdh30_remove Yangtao Li
2023-07-27  7:36   ` Uwe Kleine-König
2023-07-27 13:55   ` Adrian Hunter
2023-08-03  5:46     ` Adrian Hunter
2023-08-03  9:52       ` Uwe Kleine-König
2023-08-15 11:32       ` Ulf Hansson
2023-08-07 15:26 ` [PATCH v3 01/62] mmc: sunxi: Convert to platform remove callback returning void Ulf Hansson
2023-08-15 11:40   ` Ulf Hansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230727070051.17778-59-frank.li@vivo.com \
    --to=frank.li@vivo.com \
    --cc=adrian.hunter@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox