+static void tegra_sdhci_set_clock(struct sdhci_host *sdhci, unsigned int clock)
+{
+ struct tegra_sdhci_host *host = sdhci_priv(sdhci);
+ pr_info("tegra sdhci clock %s %u\n",
+ mmc_hostname(sdhci->mmc), clock);
+
+ if (clock && !host->clk_enabled) {
+ clk_enable(host->clk);
+ sdhci_writeb(sdhci, 1, SDHCI_VENDOR_CLOCK_CNTRL);
+ host->clk_enabled = 1;
+ } else if (!clock && host->clk_enabled) {
+ sdhci_writeb(sdhci, 0, SDHCI_VENDOR_CLOCK_CNTRL);
+ clk_disable(host->clk);
+ host->clk_enabled = 0;
+ }
+}
+