Lines Matching refs:mmc
90 struct mmc_host *mmc; member
215 host->platdata->set_power(host->mmc, state); in au1xmmc_set_power()
218 static int au1xmmc_card_inserted(struct mmc_host *mmc) in au1xmmc_card_inserted() argument
220 struct au1xmmc_host *host = mmc_priv(mmc); in au1xmmc_card_inserted()
223 return !!host->platdata->card_inserted(host->mmc); in au1xmmc_card_inserted()
228 static int au1xmmc_card_readonly(struct mmc_host *mmc) in au1xmmc_card_readonly() argument
230 struct au1xmmc_host *host = mmc_priv(mmc); in au1xmmc_card_readonly()
233 return !!host->platdata->card_readonly(mmc); in au1xmmc_card_readonly()
254 mmc_request_done(host->mmc, mrq); in au1xmmc_finish_request()
353 dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len, host->dma.dir); in au1xmmc_data_complete()
630 host->dma.len = dma_map_sg(mmc_dev(host->mmc), data->sg, in au1xmmc_prepare_data()
682 dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len, in au1xmmc_prepare_data()
688 static void au1xmmc_request(struct mmc_host* mmc, struct mmc_request* mrq) in au1xmmc_request() argument
690 struct au1xmmc_host *host = mmc_priv(mmc); in au1xmmc_request()
700 if (0 == au1xmmc_card_inserted(mmc)) { in au1xmmc_request()
754 static void au1xmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in au1xmmc_set_ios() argument
756 struct au1xmmc_host *host = mmc_priv(mmc); in au1xmmc_set_ios()
802 mmc_signal_sdio_irq(host->mmc); in au1xmmc_irq()
928 static void au1xmmc_enable_sdio_irq(struct mmc_host *mmc, int en) in au1xmmc_enable_sdio_irq() argument
930 struct au1xmmc_host *host = mmc_priv(mmc); in au1xmmc_enable_sdio_irq()
948 struct mmc_host *mmc; in au1xmmc_probe() local
953 mmc = mmc_alloc_host(sizeof(struct au1xmmc_host), &pdev->dev); in au1xmmc_probe()
954 if (!mmc) { in au1xmmc_probe()
960 host = mmc_priv(mmc); in au1xmmc_probe()
961 host->mmc = mmc; in au1xmmc_probe()
992 mmc->ops = &au1xmmc_ops; in au1xmmc_probe()
994 mmc->f_min = 450000; in au1xmmc_probe()
995 mmc->f_max = 24000000; in au1xmmc_probe()
997 mmc->max_blk_size = 2048; in au1xmmc_probe()
998 mmc->max_blk_count = 512; in au1xmmc_probe()
1000 mmc->ocr_avail = AU1XMMC_OCR; in au1xmmc_probe()
1001 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ; in au1xmmc_probe()
1002 mmc->max_segs = AU1XMMC_DESCRIPTOR_COUNT; in au1xmmc_probe()
1008 mmc->max_seg_size = AU1100_MMC_DESCRIPTOR_SIZE; in au1xmmc_probe()
1011 mmc->max_seg_size = AU1200_MMC_DESCRIPTOR_SIZE; in au1xmmc_probe()
1015 mmc->max_seg_size = AU1200_MMC_DESCRIPTOR_SIZE; in au1xmmc_probe()
1016 mmc->f_max = 52000000; in au1xmmc_probe()
1018 mmc->caps |= MMC_CAP_8_BIT_DATA; in au1xmmc_probe()
1045 ret = host->platdata->cd_setup(mmc, 1); in au1xmmc_probe()
1048 mmc->caps |= MMC_CAP_NEEDS_POLL; in au1xmmc_probe()
1051 mmc->caps |= MMC_CAP_NEEDS_POLL; in au1xmmc_probe()
1055 mmc->caps &= ~(host->platdata->mask_host_caps); in au1xmmc_probe()
1072 led->name = mmc_hostname(mmc); in au1xmmc_probe()
1074 led->default_trigger = mmc_hostname(mmc); in au1xmmc_probe()
1075 ret = led_classdev_register(mmc_dev(mmc), led); in au1xmmc_probe()
1083 ret = mmc_add_host(mmc); in au1xmmc_probe()
1115 !(mmc->caps & MMC_CAP_NEEDS_POLL)) in au1xmmc_probe()
1116 host->platdata->cd_setup(mmc, 0); in au1xmmc_probe()
1128 mmc_free_host(mmc); in au1xmmc_probe()
1138 mmc_remove_host(host->mmc); in au1xmmc_remove()
1146 !(host->mmc->caps & MMC_CAP_NEEDS_POLL)) in au1xmmc_remove()
1147 host->platdata->cd_setup(host->mmc, 0); in au1xmmc_remove()
1170 mmc_free_host(host->mmc); in au1xmmc_remove()