Lines Matching refs:mmc

115 	struct mmc_host		*mmc;  member
127 struct mmc_host * mmc; member
209 while (host->mmc != NULL) { in mmc_omap_select_slot()
211 wait_event(host->slot_wq, host->mmc == NULL); in mmc_omap_select_slot()
214 host->mmc = slot->mmc; in mmc_omap_select_slot()
270 BUG_ON(slot == NULL || host->mmc == NULL); in mmc_omap_release_slot()
295 host->mmc = new_slot->mmc; in mmc_omap_release_slot()
301 host->mmc = NULL; in mmc_omap_release_slot()
313 return slot->pdata->get_cover_state(mmc_dev(slot->mmc), in mmc_omap_cover_is_open()
322 struct mmc_host *mmc = container_of(dev, struct mmc_host, class_dev); in mmc_omap_show_cover_switch() local
323 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_show_cover_switch()
335 struct mmc_host *mmc = container_of(dev, struct mmc_host, class_dev); in mmc_omap_show_slot_name() local
336 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_show_slot_name()
372 dev_err(mmc_dev(host->mmc), "Invalid response type: %04x\n", mmc_resp_type(cmd)); in mmc_omap_start_command()
418 struct device *dev = mmc_dev(host->mmc); in mmc_omap_release_dma()
470 struct mmc_host *mmc; in mmc_omap_xfer_done() local
473 mmc = host->mmc; in mmc_omap_xfer_done()
475 mmc_request_done(mmc, data->mrq); in mmc_omap_xfer_done()
593 struct mmc_host *mmc; in mmc_omap_cmd_done() local
598 mmc = host->mmc; in mmc_omap_cmd_done()
600 mmc_request_done(mmc, cmd->mrq); in mmc_omap_cmd_done()
614 dev_dbg(mmc_dev(host->mmc), "Aborting stuck command CMD%d\n", in mmc_omap_abort_command()
622 struct mmc_host *mmc; in mmc_omap_abort_command() local
629 mmc = host->mmc; in mmc_omap_abort_command()
631 mmc_request_done(mmc, cmd->mrq); in mmc_omap_abort_command()
673 dev_err(mmc_dev(host->mmc), "ran out of scatterlist prematurely\n"); in mmc_omap_xfer_data()
715 dev_vdbg(mmc_dev(host->mmc), "%s\n", res); in mmc_omap_report_irq()
734 dev_info(mmc_dev(host->slots[0]->mmc), in mmc_omap_irq()
756 dev_dbg(mmc_dev(host->mmc), "MMC IRQ %04x (CMD %d): ", in mmc_omap_irq()
772 dev_dbg(mmc_dev(host->mmc), "data timeout (CMD%d)\n", in mmc_omap_irq()
783 dev_dbg(mmc_dev(host->mmc), in mmc_omap_irq()
788 dev_dbg(mmc_dev(host->mmc), "data CRC error\n"); in mmc_omap_irq()
799 dev_err(mmc_dev(host->mmc), in mmc_omap_irq()
810 dev_err(mmc_dev(host->mmc), in mmc_omap_irq()
817 dev_err(mmc_dev(host->mmc), in mmc_omap_irq()
822 dev_dbg(mmc_dev(host->mmc), in mmc_omap_irq()
874 sysfs_notify(&slot->mmc->class_dev.kobj, NULL, "cover_switch"); in omap_mmc_notify_cover_event()
891 mmc_detect_change(slot->mmc, 0); in mmc_omap_cover_bh_handler()
899 if (slot->mmc->card == NULL) in mmc_omap_cover_bh_handler()
1092 static void mmc_omap_request(struct mmc_host *mmc, struct mmc_request *req) in mmc_omap_request() argument
1094 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_request()
1099 if (host->mmc != NULL) { in mmc_omap_request()
1105 host->mmc = mmc; in mmc_omap_request()
1139 slot->pdata->set_power(mmc_dev(slot->mmc), slot->id, power_on, in mmc_omap_set_power()
1154 static int mmc_omap_calc_divisor(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_omap_calc_divisor() argument
1156 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_calc_divisor()
1182 static void mmc_omap_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_omap_set_ios() argument
1184 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_set_ios()
1191 dsor = mmc_omap_calc_divisor(mmc, ios); in mmc_omap_set_ios()
1219 slot->pdata->set_bus_mode(mmc_dev(mmc), slot->id, in mmc_omap_set_ios()
1258 struct mmc_host *mmc; in mmc_omap_new_slot() local
1261 mmc = mmc_alloc_host(sizeof(struct mmc_omap_slot), host->dev); in mmc_omap_new_slot()
1262 if (mmc == NULL) in mmc_omap_new_slot()
1265 slot = mmc_priv(mmc); in mmc_omap_new_slot()
1267 slot->mmc = mmc; in mmc_omap_new_slot()
1291 mmc->caps = 0; in mmc_omap_new_slot()
1293 mmc->caps |= MMC_CAP_4_BIT_DATA; in mmc_omap_new_slot()
1295 mmc->ops = &mmc_omap_ops; in mmc_omap_new_slot()
1296 mmc->f_min = 400000; in mmc_omap_new_slot()
1299 mmc->f_max = 48000000; in mmc_omap_new_slot()
1301 mmc->f_max = 24000000; in mmc_omap_new_slot()
1303 mmc->f_max = min(host->pdata->max_freq, mmc->f_max); in mmc_omap_new_slot()
1304 mmc->ocr_avail = slot->pdata->ocr_mask; in mmc_omap_new_slot()
1310 mmc->max_segs = 32; in mmc_omap_new_slot()
1311 mmc->max_blk_size = 2048; /* BLEN is 11 bits (+1) */ in mmc_omap_new_slot()
1312 mmc->max_blk_count = 2048; /* NBLK is 11 bits (+1) */ in mmc_omap_new_slot()
1313 mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; in mmc_omap_new_slot()
1314 mmc->max_seg_size = mmc->max_req_size; in mmc_omap_new_slot()
1321 r = mmc_add_host(mmc); in mmc_omap_new_slot()
1326 r = device_create_file(&mmc->class_dev, in mmc_omap_new_slot()
1333 r = device_create_file(&mmc->class_dev, in mmc_omap_new_slot()
1344 device_remove_file(&mmc->class_dev, &dev_attr_slot_name); in mmc_omap_new_slot()
1346 mmc_remove_host(mmc); in mmc_omap_new_slot()
1347 mmc_free_host(mmc); in mmc_omap_new_slot()
1353 struct mmc_host *mmc = slot->mmc; in mmc_omap_remove_slot() local
1356 device_remove_file(&mmc->class_dev, &dev_attr_slot_name); in mmc_omap_remove_slot()
1358 device_remove_file(&mmc->class_dev, &dev_attr_cover_switch); in mmc_omap_remove_slot()
1364 mmc_remove_host(mmc); in mmc_omap_remove_slot()
1365 mmc_free_host(mmc); in mmc_omap_remove_slot()