Lines Matching defs:host
17 #include <linux/mmc/host.h>
29 static void tmio_mmc_clk_start(struct tmio_mmc_host *host)
31 sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN |
32 sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL));
35 sd_ctrl_write16(host, CTL_CLK_AND_WAIT_CTL, 0x0100);
39 static void tmio_mmc_clk_stop(struct tmio_mmc_host *host)
41 sd_ctrl_write16(host, CTL_CLK_AND_WAIT_CTL, 0x0000);
44 sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, ~CLK_CTL_SCLKEN &
45 sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL));
50 static void tmio_mmc_set_clock(struct tmio_mmc_host *host,
58 tmio_mmc_clk_stop(host);
62 divisor = host->pdata->hclk / new_clock;
68 host->pdata->set_clk_div(host->pdev, clk_sel);
70 sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, ~CLK_CTL_SCLKEN &
71 sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL));
72 sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, clk & CLK_CTL_DIV_MASK);
75 tmio_mmc_clk_start(host);
78 static void tmio_mmc_reset(struct tmio_mmc_host *host)
80 sd_ctrl_write16(host, CTL_RESET_SDIO, 0x0000);
82 sd_ctrl_write16(host, CTL_RESET_SDIO, 0x0001);
123 struct tmio_mmc_host *host;
153 host = tmio_mmc_host_alloc(pdev, pdata);
154 if (IS_ERR(host)) {
155 ret = PTR_ERR(host);
160 host->bus_shift = resource_size(res) >> 10;
161 host->set_clock = tmio_mmc_set_clock;
162 host->reset = tmio_mmc_reset;
164 host->mmc->f_max = pdata->hclk;
165 host->mmc->f_min = pdata->hclk / 512;
167 ret = tmio_mmc_host_probe(host);
173 dev_name(&pdev->dev), host);
177 pr_info("%s at 0x%08lx irq %d\n", mmc_hostname(host->mmc),
178 (unsigned long)host->ctl, irq);
183 tmio_mmc_host_remove(host);
185 tmio_mmc_host_free(host);
196 struct tmio_mmc_host *host = platform_get_drvdata(pdev);
198 tmio_mmc_host_remove(host);