From: sebastian.hesselbarth@gmail.com (Sebastian Hesselbarth)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RESEND 08/12] mmc: sdhci-pxav3: Get optional core clock
Date: Tue, 21 Oct 2014 11:22:40 +0200 [thread overview]
Message-ID: <1413883364-681-9-git-send-email-sebastian.hesselbarth@gmail.com> (raw)
In-Reply-To: <1413883364-681-1-git-send-email-sebastian.hesselbarth@gmail.com>
Besides the I/O clock, some PXAv3 SDHCI IP also requires a core clock to
be enabled. Add an optional core clock to the corresponding driver.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
---
Cc: Chris Ball <chris@printf.net>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Antoine T?nart" <antoine.tenart@free-electrons.com>
Cc: linux-mmc at vger.kernel.org
Cc: devicetree at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
---
drivers/mmc/host/sdhci-pxav3.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index 3dfd97977515..ad0badad0ebc 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -59,6 +59,7 @@
#define SDCE_MISC_INT_EN (1<<1)
struct sdhci_pxa {
+ struct clk *clk_core;
struct clk *clk_io;
u8 power_mode;
};
@@ -320,6 +321,10 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
pltfm_host->clk = pxa->clk_io;
clk_prepare_enable(pxa->clk_io);
+ pxa->clk_core = devm_clk_get(dev, "core");
+ if (!IS_ERR(pxa->clk_core))
+ clk_prepare_enable(pxa->clk_core);
+
/* enable 1/8V DDR capable */
host->mmc->caps |= MMC_CAP_1_8V_DDR;
@@ -392,6 +397,8 @@ err_add_host:
err_of_parse:
err_cd_req:
clk_disable_unprepare(pxa->clk_io);
+ if (!IS_ERR(pxa->clk_core))
+ clk_disable_unprepare(pxa->clk_core);
err_clk_get:
err_mbus_win:
sdhci_pltfm_free(pdev);
@@ -409,6 +416,8 @@ static int sdhci_pxav3_remove(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev);
clk_disable_unprepare(pxa->clk_io);
+ if (!IS_ERR(pxa->clk_core))
+ clk_disable_unprepare(pxa->clk_core);
sdhci_pltfm_free(pdev);
@@ -456,6 +465,8 @@ static int sdhci_pxav3_runtime_suspend(struct device *dev)
spin_unlock_irqrestore(&host->lock, flags);
clk_disable_unprepare(pxa->clk_io);
+ if (!IS_ERR(pxa->clk_core))
+ clk_disable_unprepare(pxa->clk_core);
return 0;
}
@@ -468,6 +479,8 @@ static int sdhci_pxav3_runtime_resume(struct device *dev)
unsigned long flags;
clk_prepare_enable(pxa->clk_io);
+ if (!IS_ERR(pxa->clk_core))
+ clk_prepare_enable(pxa->clk_core);
spin_lock_irqsave(&host->lock, flags);
host->runtime_suspended = false;
--
2.1.1
next prev parent reply other threads:[~2014-10-21 9:22 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 9:22 [PATCH RESEND 00/12] SDHCI PXA cleanup and clocks Sebastian Hesselbarth
2014-10-21 9:22 ` [PATCH RESEND 01/12] mmc: sdhci-pxav2: Drop unused struct sdhci_pxa Sebastian Hesselbarth
2014-10-27 13:38 ` Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 02/12] mmc: sdhci-pxav3: Respect MMC_DDR52 timing on uhs signaling Sebastian Hesselbarth
2014-10-27 13:38 ` Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 03/12] mmc: sdhci-pxav3: Move private driver data to driver source Sebastian Hesselbarth
2014-10-27 13:39 ` Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 04/12] mmc: sdhci-pxav3: Remove unused clk_enable from sdhci_pxa Sebastian Hesselbarth
2014-10-27 13:39 ` Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 05/12] mmc: sdhci-pxav3: Remove checks for mandatory host clock Sebastian Hesselbarth
2014-10-27 13:39 ` Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 06/12] mmc: sdhci-pxav3: Move I/O clock to private data Sebastian Hesselbarth
2014-10-27 13:28 ` Ulf Hansson
2014-10-27 18:15 ` Sebastian Hesselbarth
2014-10-28 9:52 ` Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 07/12] mmc: sdhci-pxav3: Try to get named I/O clock first Sebastian Hesselbarth
2014-10-28 9:53 ` Ulf Hansson
2014-10-21 9:22 ` Sebastian Hesselbarth [this message]
2014-10-28 9:53 ` [PATCH RESEND 08/12] mmc: sdhci-pxav3: Get optional core clock Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 09/12] mmc: sdhci-pxav3: Document clocks and additional clock-names property Sebastian Hesselbarth
2014-10-28 9:53 ` Ulf Hansson
2014-10-21 9:22 ` [PATCH RESEND 10/12] ARM: dts: berlin: Add SDHCI controller nodes to BG2/BG2CD Sebastian Hesselbarth
2014-10-29 18:39 ` Sebastian Hesselbarth
2014-10-21 9:22 ` [PATCH RESEND 11/12] ARM: dts: berlin: Enable WiFi on Google Chromecast Sebastian Hesselbarth
2014-10-21 9:22 ` [PATCH RESEND 12/12] ARM: dts: berlin: Enable eMMC on Sony NSZ-GS7 Sebastian Hesselbarth
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=1413883364-681-9-git-send-email-sebastian.hesselbarth@gmail.com \
--to=sebastian.hesselbarth@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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).