From: Arnd Bergmann <arnd@kernel.org>
To: linux-omap@vger.kernel.org, tony@atomide.com,
aaro.koskinen@iki.fi, jmkrzyszt@gmail.com
Cc: Arnd Bergmann <arnd@arndb.de>,
Russell King <linux@armlinux.org.uk>,
Paul Walmsley <paul@pwsan.com>, Kevin Hilman <khilman@kernel.org>,
Peter Ujfalusi <peter.ujfalusi@gmail.com>,
Vinod Koul <vkoul@kernel.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Dominik Brodowski <linux@dominikbrodowski.net>,
Mark Brown <broonie@kernel.org>, Felipe Balbi <balbi@kernel.org>,
Alan Stern <stern@rowland.harvard.edu>,
Lee Jones <lee.jones@linaro.org>,
Daniel Thompson <daniel.thompson@linaro.org>,
Jingoo Han <jingoohan1@gmail.com>, Helge Deller <deller@gmx.de>,
Linus Walleij <linus.walleij@linaro.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
dmaengine@vger.kernel.org, linux-input@vger.kernel.org,
linux-mmc@vger.kernel.org, linux-serial@vger.kernel.org,
dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org,
alsa-devel@alsa-project.org
Subject: [PATCH 38/41] [MERGED] mmc: omap: Make it CCF clk API compatible
Date: Tue, 19 Apr 2022 15:37:20 +0200 [thread overview]
Message-ID: <20220419133723.1394715-39-arnd@kernel.org> (raw)
In-Reply-To: <20220419133723.1394715-1-arnd@kernel.org>
From: Janusz Krzysztofik <jmkrzyszt@gmail.com>
The driver, OMAP specific, now omits clk_prepare/unprepare() steps, not
supported by OMAP custom implementation of clock API. However, non-CCF
stubs of those functions exist for use on such platforms until converted
to CCF.
Update the driver to be compatible with CCF implementation of clock API.
Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/mmc/host/omap.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 5e5af34090f1..57d39283924d 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1374,7 +1374,7 @@ static int mmc_omap_probe(struct platform_device *pdev)
host->iclk = clk_get(&pdev->dev, "ick");
if (IS_ERR(host->iclk))
return PTR_ERR(host->iclk);
- clk_enable(host->iclk);
+ clk_prepare_enable(host->iclk);
host->fclk = clk_get(&pdev->dev, "fck");
if (IS_ERR(host->fclk)) {
@@ -1382,16 +1382,18 @@ static int mmc_omap_probe(struct platform_device *pdev)
goto err_free_iclk;
}
+ ret = clk_prepare(host->fclk);
+ if (ret)
+ goto err_put_fclk;
+
host->dma_tx_burst = -1;
host->dma_rx_burst = -1;
host->dma_tx = dma_request_chan(&pdev->dev, "tx");
if (IS_ERR(host->dma_tx)) {
ret = PTR_ERR(host->dma_tx);
- if (ret == -EPROBE_DEFER) {
- clk_put(host->fclk);
- goto err_free_iclk;
- }
+ if (ret == -EPROBE_DEFER)
+ goto err_free_fclk;
host->dma_tx = NULL;
dev_warn(host->dev, "TX DMA channel request failed\n");
@@ -1403,8 +1405,7 @@ static int mmc_omap_probe(struct platform_device *pdev)
if (ret == -EPROBE_DEFER) {
if (host->dma_tx)
dma_release_channel(host->dma_tx);
- clk_put(host->fclk);
- goto err_free_iclk;
+ goto err_free_fclk;
}
host->dma_rx = NULL;
@@ -1454,9 +1455,12 @@ static int mmc_omap_probe(struct platform_device *pdev)
dma_release_channel(host->dma_tx);
if (host->dma_rx)
dma_release_channel(host->dma_rx);
+err_free_fclk:
+ clk_unprepare(host->fclk);
+err_put_fclk:
clk_put(host->fclk);
err_free_iclk:
- clk_disable(host->iclk);
+ clk_disable_unprepare(host->iclk);
clk_put(host->iclk);
return ret;
}
@@ -1476,8 +1480,9 @@ static int mmc_omap_remove(struct platform_device *pdev)
mmc_omap_fclk_enable(host, 0);
free_irq(host->irq, host);
+ clk_unprepare(host->fclk);
clk_put(host->fclk);
- clk_disable(host->iclk);
+ clk_disable_unprepare(host->iclk);
clk_put(host->iclk);
if (host->dma_tx)
--
2.29.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-19 14:48 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-19 13:36 [PATCH 00/41] OMAP1 full multiplatform conversion Arnd Bergmann
2022-04-19 13:36 ` [PATCH 01/41] video: fbdev: omapfb: lcd_ams_delta: fix unused variable warning Arnd Bergmann
2022-04-20 9:24 ` Sergei Shtylyov
2022-04-20 11:32 ` Arnd Bergmann
2022-04-19 13:36 ` [PATCH 02/41] ARM: omap1: innovator: pass lcd control address as pdata Arnd Bergmann
2022-04-19 13:36 ` [PATCH 03/41] ARM: omap1: move lcd_dma code into omapfb driver Arnd Bergmann
2022-04-19 13:36 ` [PATCH 04/41] ARM: omap1: declare a dummy omap_set_dma_priority Arnd Bergmann
2022-04-19 13:36 ` [PATCH 05/41] fbdev: omap: pass irqs as resource Arnd Bergmann
2022-04-19 13:36 ` [PATCH 06/41] ARM: omap1: ams-delta: remove camera leftovers Arnd Bergmann
2022-04-19 13:36 ` [PATCH 07/41] ARM: omap1: move mach/usb.h to include/linux/soc Arnd Bergmann
2022-04-19 13:36 ` [PATCH 08/41] ARM: omap1: move some headers " Arnd Bergmann
2022-04-19 13:36 ` [PATCH 09/41] ARM: omap1: move perseus spi pinconf to board file Arnd Bergmann
2022-04-19 13:36 ` [PATCH 10/41] ARM: omap1: move CF chipselect setup " Arnd Bergmann
2022-04-19 13:36 ` [PATCH 11/41] fbdev: omap: avoid using mach/*.h files Arnd Bergmann
2022-04-19 13:36 ` [PATCH 12/41] usb: omap: avoid mach/*.h headers Arnd Bergmann
2022-04-19 13:36 ` [PATCH 13/41] clocksource: ti-dmtimer: avoid using mach/hardware.h Arnd Bergmann
2022-04-19 13:36 ` [PATCH 14/41] serial: 8250/omap1: include linux/soc/ti/omap1-soc.h Arnd Bergmann
2022-04-20 14:46 ` Greg KH
2022-04-19 13:36 ` [PATCH 15/41] input: omap: void using mach/*.h headers Arnd Bergmann
2022-04-20 20:44 ` Dmitry Torokhov
2022-04-19 13:36 ` [PATCH 16/41] ARM: omap1: innovator: move ohci phy power handling to board file Arnd Bergmann
2022-04-19 13:36 ` [PATCH 17/41] ARM: omap1: move 32k counter from plat-omap to mach-omap1 Arnd Bergmann
2022-04-21 6:17 ` Tony Lindgren
2022-04-19 13:37 ` [PATCH 18/41] ARM: omap: remove debug-leds driver Arnd Bergmann
2022-04-19 13:37 ` [PATCH 19/41] ARM: omap: dma: make usb support optional Arnd Bergmann
2022-04-29 19:24 ` Péter Ujfalusi
2022-04-19 13:37 ` [PATCH 20/41] dma: omap: hide legacy interface Arnd Bergmann
2022-04-22 5:55 ` Vinod Koul
2022-04-19 13:37 ` [PATCH 21/41] ARM: omap1: dma: remove omap2 specific bits Arnd Bergmann
2022-04-29 19:26 ` Péter Ujfalusi
2022-04-19 13:37 ` [PATCH 22/41] ARM: omap1: move plat/dma.c to mach/omap-dma.c Arnd Bergmann
2022-04-29 19:36 ` Péter Ujfalusi
2022-04-19 13:37 ` [PATCH 23/41] ARM: omap: split up arch/arm/plat-omap/Kconfig Arnd Bergmann
2022-04-19 13:37 ` [PATCH 24/41] ARM: omap: un-merge plat/sram.c Arnd Bergmann
2022-04-21 6:32 ` Tony Lindgren
2022-04-19 13:37 ` [PATCH 25/41] ARM: omap: remove empty plat-omap directory Arnd Bergmann
2022-04-19 13:37 ` [PATCH 26/41] ARM: omap1: relocate static I/O mapping Arnd Bergmann
2022-04-20 13:46 ` Aaro Koskinen
2022-04-20 19:20 ` Arnd Bergmann
2022-04-21 5:19 ` Tony Lindgren
2022-04-19 13:37 ` [PATCH 27/41] ARM: omap1: use pci_remap_iospace() for omap_cf Arnd Bergmann
2022-04-19 13:37 ` [PATCH 28/41] ARM: omap1: move mach/*.h into mach directory Arnd Bergmann
2022-04-19 13:37 ` [PATCH 29/41] ARM: omap1: fix build with no SoC selected Arnd Bergmann
2022-04-19 13:37 ` [PATCH 30/41] ARM: OMAP1: Prepare for conversion of OMAP1 clocks to CCF Arnd Bergmann
2022-04-19 13:37 ` [PATCH 31/41] ARM: OMAP1: clock: Fix early UART rate issues Arnd Bergmann
2022-04-19 13:37 ` [PATCH 32/41] ARM: OMAP1: clock: Fix UART rate reporting algorithm Arnd Bergmann
2022-04-19 13:37 ` [PATCH 33/41] ARM: OMAP1: clock: Remove unused code Arnd Bergmann
2022-04-19 13:37 ` [PATCH 34/41] ARM: OMAP1: clock: Remove noop code Arnd Bergmann
2022-04-19 13:37 ` [PATCH 35/41] usb: host: ohci-omap: Make it CCF clk API compatible Arnd Bergmann
2022-04-19 13:37 ` [PATCH 36/41] usb: gadget: omap_udc: " Arnd Bergmann
2022-04-19 13:37 ` [PATCH 37/41] [MERGED] video: fbdev: omap: " Arnd Bergmann
2022-04-19 13:37 ` Arnd Bergmann [this message]
2022-04-19 13:37 ` [PATCH 39/41] [MERGED] ASoC: ti: osk5912: " Arnd Bergmann
2022-04-19 13:37 ` [PATCH 40/41] [TO BE REBASED] ARM: OMAP1: clock: Convert to CCF Arnd Bergmann
2022-04-21 6:24 ` Tony Lindgren
2022-04-19 13:37 ` [PATCH 41/41] [TO BE REBASED] ARM: omap1: enable multiplatform Arnd Bergmann
2022-04-19 14:15 ` [PATCH 00/41] OMAP1 full multiplatform conversion Ulf Hansson
2022-04-21 6:27 ` Tony Lindgren
2022-04-20 17:08 ` Aaro Koskinen
2022-04-20 20:00 ` Arnd Bergmann
2022-04-21 13:34 ` Aaro Koskinen
2022-04-21 14:46 ` Arnd Bergmann
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=20220419133723.1394715-39-arnd@kernel.org \
--to=arnd@kernel.org \
--cc=aaro.koskinen@iki.fi \
--cc=alsa-devel@alsa-project.org \
--cc=arnd@arndb.de \
--cc=balbi@kernel.org \
--cc=broonie@kernel.org \
--cc=daniel.thompson@linaro.org \
--cc=deller@gmx.de \
--cc=dmaengine@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jingoohan1@gmail.com \
--cc=jmkrzyszt@gmail.com \
--cc=khilman@kernel.org \
--cc=krzk@kernel.org \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linux@dominikbrodowski.net \
--cc=paul@pwsan.com \
--cc=peter.ujfalusi@gmail.com \
--cc=stern@rowland.harvard.edu \
--cc=tony@atomide.com \
--cc=ulf.hansson@linaro.org \
--cc=vkoul@kernel.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;
as well as URLs for NNTP newsgroup(s).