All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: "Ulf Hansson" <ulf.hansson@linaro.org>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Yangtao Li" <frank.li@vivo.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Kunihiko Hayashi <hayashi.kunihiko@socionext.com>,
	Al Cooper <alcooperx@gmail.com>, Li Zetao <lizetao1@huawei.com>,
	Brad Larson <blarson@amd.com>,
	Swati Agarwal <swati.agarwal@amd.com>,
	linux-kernel@vger.kernel.org,
	Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Steen Hegelund <Steen.Hegelund@microchip.com>,
	Brian Norris <briannorris@chromium.org>,
	Broadcom internal kernel review list
	<bcm-kernel-feedback-list@broadcom.com>,
	linux-arm-kernel@lists.infradead.org,
	Ye Xingchen <ye.xingchen@zte.com.cn>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Kamal Dasu <kamal.dasu@broadcom.com>,
	Doug Brown <doug@schmorgal.com>,
	Daniel Machon <daniel.machon@microchip.com>,
	Ray Jui <rjui@broadcom.com>,
	Eugen Hristev <eugen.hristev@collabora.com>,
	Jassi Brar <jaswinder.singh@linaro.org>,
	Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
	Georgii Kruglov <georgy.kruglov@yandex.ru>,
	Michal Simek <michal.simek@amd.com>,
	Lars Povlsen <lars.povlsen@microchip.com>,
	Andy Tang <andy.tang@nxp.com>,
	Scott Branden <sbranden@broadcom.com>,
	linux-mmc@vger.kernel.org, UNGLinuxDriver@microchip.com,
	Claudiu Beznea <claudiu.beznea@microchip.com>
Subject: [PATCH 03/16] mmc: sdhci-brcmstb: Use sdhci_pltfm_remove()
Date: Fri, 11 Aug 2023 16:03:38 +0300	[thread overview]
Message-ID: <20230811130351.7038-4-adrian.hunter@intel.com> (raw)
In-Reply-To: <20230811130351.7038-1-adrian.hunter@intel.com>

Use sdhci_pltfm_remove() instead of sdhci_pltfm_unregister() so that
devm_clk_get_optional_enabled() can be used for pltfm_host->clk.

This has the side effect that the order of operations on the error path
and remove path is not the same as it was before, but should be safe
nevertheless.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
 drivers/mmc/host/sdhci-brcmstb.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c
index a2b6d8f2eeb6..c23251bb95f3 100644
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
@@ -264,23 +264,17 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
 
 	dev_dbg(&pdev->dev, "Probe found match for %s\n",  match->compatible);
 
-	clk = devm_clk_get_optional(&pdev->dev, NULL);
+	clk = devm_clk_get_optional_enabled(&pdev->dev, NULL);
 	if (IS_ERR(clk))
 		return dev_err_probe(&pdev->dev, PTR_ERR(clk),
-				     "Failed to get clock from Device Tree\n");
-
-	res = clk_prepare_enable(clk);
-	if (res)
-		return res;
+				     "Failed to get and enable clock from Device Tree\n");
 
 	memset(&brcmstb_pdata, 0, sizeof(brcmstb_pdata));
 	brcmstb_pdata.ops = match_priv->ops;
 	host = sdhci_pltfm_init(pdev, &brcmstb_pdata,
 				sizeof(struct sdhci_brcmstb_priv));
-	if (IS_ERR(host)) {
-		res = PTR_ERR(host);
-		goto err_clk;
-	}
+	if (IS_ERR(host))
+		return PTR_ERR(host);
 
 	pltfm_host = sdhci_priv(host);
 	priv = sdhci_pltfm_priv(pltfm_host);
@@ -369,9 +363,7 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
 
 err:
 	sdhci_pltfm_free(pdev);
-err_clk:
 	clk_disable_unprepare(base_clk);
-	clk_disable_unprepare(clk);
 	return res;
 }
 
@@ -430,7 +422,7 @@ static struct platform_driver sdhci_brcmstb_driver = {
 		.of_match_table = of_match_ptr(sdhci_brcm_of_match),
 	},
 	.probe		= sdhci_brcmstb_probe,
-	.remove_new	= sdhci_pltfm_unregister,
+	.remove_new	= sdhci_pltfm_remove,
 	.shutdown	= sdhci_brcmstb_shutdown,
 };
 
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Adrian Hunter <adrian.hunter@intel.com>
To: "Ulf Hansson" <ulf.hansson@linaro.org>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Yangtao Li" <frank.li@vivo.com>
Cc: Florian Fainelli <florian.fainelli@broadcom.com>,
	Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	Broadcom internal kernel review list 
	<bcm-kernel-feedback-list@broadcom.com>,
	Kamal Dasu <kamal.dasu@broadcom.com>,
	Al Cooper <alcooperx@gmail.com>,
	Michal Simek <michal.simek@amd.com>,
	Eugen Hristev <eugen.hristev@collabora.com>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Lars Povlsen <lars.povlsen@microchip.com>,
	Steen Hegelund <Steen.Hegelund@microchip.com>,
	Daniel Machon <daniel.machon@microchip.com>,
	UNGLinuxDriver@microchip.com,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Brian Norris <briannorris@chromium.org>,
	Ye Xingchen <ye.xingchen@zte.com.cn>,
	Brad Larson <blarson@amd.com>,
	Christophe JAILLET <christophe.jaillet@wanadoo.fr>,
	Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>,
	Swati Agarwal <swati.agarwal@amd.com>,
	Andy Tang <andy.tang@nxp.com>,
	Georgii Kruglov <georgy.kruglov@yandex.ru>,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Doug Brown <doug@schmorgal.com>, Li Zetao <lizetao1@huawei.com>,
	Kunihiko Hayashi <hayashi.kunihiko@socionext.com>,
	Jassi Brar <jaswinder.singh@linaro.org>,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/16] mmc: sdhci-brcmstb: Use sdhci_pltfm_remove()
Date: Fri, 11 Aug 2023 16:03:38 +0300	[thread overview]
Message-ID: <20230811130351.7038-4-adrian.hunter@intel.com> (raw)
In-Reply-To: <20230811130351.7038-1-adrian.hunter@intel.com>

Use sdhci_pltfm_remove() instead of sdhci_pltfm_unregister() so that
devm_clk_get_optional_enabled() can be used for pltfm_host->clk.

This has the side effect that the order of operations on the error path
and remove path is not the same as it was before, but should be safe
nevertheless.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
 drivers/mmc/host/sdhci-brcmstb.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c
index a2b6d8f2eeb6..c23251bb95f3 100644
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
@@ -264,23 +264,17 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
 
 	dev_dbg(&pdev->dev, "Probe found match for %s\n",  match->compatible);
 
-	clk = devm_clk_get_optional(&pdev->dev, NULL);
+	clk = devm_clk_get_optional_enabled(&pdev->dev, NULL);
 	if (IS_ERR(clk))
 		return dev_err_probe(&pdev->dev, PTR_ERR(clk),
-				     "Failed to get clock from Device Tree\n");
-
-	res = clk_prepare_enable(clk);
-	if (res)
-		return res;
+				     "Failed to get and enable clock from Device Tree\n");
 
 	memset(&brcmstb_pdata, 0, sizeof(brcmstb_pdata));
 	brcmstb_pdata.ops = match_priv->ops;
 	host = sdhci_pltfm_init(pdev, &brcmstb_pdata,
 				sizeof(struct sdhci_brcmstb_priv));
-	if (IS_ERR(host)) {
-		res = PTR_ERR(host);
-		goto err_clk;
-	}
+	if (IS_ERR(host))
+		return PTR_ERR(host);
 
 	pltfm_host = sdhci_priv(host);
 	priv = sdhci_pltfm_priv(pltfm_host);
@@ -369,9 +363,7 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
 
 err:
 	sdhci_pltfm_free(pdev);
-err_clk:
 	clk_disable_unprepare(base_clk);
-	clk_disable_unprepare(clk);
 	return res;
 }
 
@@ -430,7 +422,7 @@ static struct platform_driver sdhci_brcmstb_driver = {
 		.of_match_table = of_match_ptr(sdhci_brcm_of_match),
 	},
 	.probe		= sdhci_brcmstb_probe,
-	.remove_new	= sdhci_pltfm_unregister,
+	.remove_new	= sdhci_pltfm_remove,
 	.shutdown	= sdhci_brcmstb_shutdown,
 };
 
-- 
2.34.1


  parent reply	other threads:[~2023-08-11 13:05 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-11 13:03 [PATCH 00/16] mmc: sdhci-pltfm: Minor clean up Adrian Hunter
2023-08-11 13:03 ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 01/16] mmc: sdhci-pltfm: Add sdhci_pltfm_remove() Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 02/16] mmc: sdhci-bcm-kona: Use sdhci_pltfm_remove() Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` Adrian Hunter [this message]
2023-08-11 13:03   ` [PATCH 03/16] mmc: sdhci-brcmstb: " Adrian Hunter
2023-08-25 16:22   ` Kamal Dasu
2023-08-25 16:22     ` Kamal Dasu
2023-08-11 13:03 ` [PATCH 04/16] mmc: sdhci-cadence: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 05/16] mmc: sdhci-dove: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 06/16] mmc: sdhci_f_sdh30: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 07/16] mmc: sdhci-iproc: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 08/16] mmc: sdhci-of-arasan: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 09/16] mmc: sdhci-of-at91: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 10/16] mmc: sdhci-of-esdhc: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 11/16] mmc: sdhci-of-hlwd: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 12/16] mmc: sdhci-of-sparx5: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 13/16] mmc: sdhci-pxav2: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 14/16] mmc: sdhci-st: " Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 15/16] mmc: sdhci-pltfm: Remove sdhci_pltfm_unregister() Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:03 ` [PATCH 16/16] mmc: sdhci-pltfm: Rename sdhci_pltfm_register() Adrian Hunter
2023-08-11 13:03   ` Adrian Hunter
2023-08-11 13:42 ` [PATCH 00/16] mmc: sdhci-pltfm: Minor clean up Andy Shevchenko
2023-08-11 13:42   ` Andy Shevchenko
2023-08-15 11:40 ` 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=20230811130351.7038-4-adrian.hunter@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=Steen.Hegelund@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alcooperx@gmail.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.tang@nxp.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=blarson@amd.com \
    --cc=briannorris@chromium.org \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=claudiu.beznea@microchip.com \
    --cc=daniel.machon@microchip.com \
    --cc=doug@schmorgal.com \
    --cc=eugen.hristev@collabora.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=frank.li@vivo.com \
    --cc=georgy.kruglov@yandex.ru \
    --cc=hayashi.kunihiko@socionext.com \
    --cc=jaswinder.singh@linaro.org \
    --cc=jiapeng.chong@linux.alibaba.com \
    --cc=kamal.dasu@broadcom.com \
    --cc=lars.povlsen@microchip.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=lizetao1@huawei.com \
    --cc=michal.simek@amd.com \
    --cc=patrice.chotard@foss.st.com \
    --cc=rjui@broadcom.com \
    --cc=sai.krishna.potthuri@amd.com \
    --cc=sbranden@broadcom.com \
    --cc=swati.agarwal@amd.com \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=ulf.hansson@linaro.org \
    --cc=ye.xingchen@zte.com.cn \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.