Lines Matching refs:mmc

116 	struct mmc_host		*mmc;  member
125 struct mmc_host * mmc; member
208 while (host->mmc != NULL) { in mmc_omap_select_slot()
210 wait_event(host->slot_wq, host->mmc == NULL); in mmc_omap_select_slot()
213 host->mmc = slot->mmc; in mmc_omap_select_slot()
223 host->pdata->switch_slot(mmc_dev(slot->mmc), slot->id); in mmc_omap_select_slot()
264 BUG_ON(slot == NULL || host->mmc == NULL); in mmc_omap_release_slot()
289 host->mmc = new_slot->mmc; in mmc_omap_release_slot()
295 host->mmc = NULL; in mmc_omap_release_slot()
304 return slot->pdata->get_cover_state(mmc_dev(slot->mmc), in mmc_omap_cover_is_open()
313 struct mmc_host *mmc = container_of(dev, struct mmc_host, class_dev); in mmc_omap_show_cover_switch() local
314 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_show_cover_switch()
326 struct mmc_host *mmc = container_of(dev, struct mmc_host, class_dev); in mmc_omap_show_slot_name() local
327 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_show_slot_name()
363 dev_err(mmc_dev(host->mmc), "Invalid response type: %04x\n", mmc_resp_type(cmd)); in mmc_omap_start_command()
409 struct device *dev = mmc_dev(host->mmc); in mmc_omap_release_dma()
459 struct mmc_host *mmc; in mmc_omap_xfer_done() local
462 mmc = host->mmc; in mmc_omap_xfer_done()
464 mmc_request_done(mmc, data->mrq); in mmc_omap_xfer_done()
582 struct mmc_host *mmc; in mmc_omap_cmd_done() local
587 mmc = host->mmc; in mmc_omap_cmd_done()
589 mmc_request_done(mmc, cmd->mrq); in mmc_omap_cmd_done()
603 dev_dbg(mmc_dev(host->mmc), "Aborting stuck command CMD%d\n", in mmc_omap_abort_command()
611 struct mmc_host *mmc; in mmc_omap_abort_command() local
618 mmc = host->mmc; in mmc_omap_abort_command()
620 mmc_request_done(mmc, cmd->mrq); in mmc_omap_abort_command()
713 dev_vdbg(mmc_dev(host->mmc), "%s\n", res); in mmc_omap_report_irq()
732 dev_info(mmc_dev(host->slots[0]->mmc), in mmc_omap_irq()
754 dev_dbg(mmc_dev(host->mmc), "MMC IRQ %04x (CMD %d): ", in mmc_omap_irq()
770 dev_dbg(mmc_dev(host->mmc), "data timeout (CMD%d)\n", in mmc_omap_irq()
781 dev_dbg(mmc_dev(host->mmc), in mmc_omap_irq()
786 dev_dbg(mmc_dev(host->mmc), "data CRC error\n"); in mmc_omap_irq()
797 dev_err(mmc_dev(host->mmc), in mmc_omap_irq()
808 dev_err(mmc_dev(host->mmc), in mmc_omap_irq()
815 dev_err(mmc_dev(host->mmc), in mmc_omap_irq()
820 dev_dbg(mmc_dev(host->mmc), in mmc_omap_irq()
872 sysfs_notify(&slot->mmc->class_dev.kobj, NULL, "cover_switch"); in omap_mmc_notify_cover_event()
889 mmc_detect_change(slot->mmc, 0); in mmc_omap_cover_handler()
897 if (slot->mmc->card == NULL || !mmc_card_present(slot->mmc->card)) in mmc_omap_cover_handler()
1084 static void mmc_omap_request(struct mmc_host *mmc, struct mmc_request *req) in mmc_omap_request() argument
1086 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_request()
1091 if (host->mmc != NULL) { in mmc_omap_request()
1097 host->mmc = mmc; in mmc_omap_request()
1111 slot->pdata->set_power(mmc_dev(slot->mmc), slot->id, power_on, in mmc_omap_set_power()
1126 static int mmc_omap_calc_divisor(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_omap_calc_divisor() argument
1128 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_calc_divisor()
1154 static void mmc_omap_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_omap_set_ios() argument
1156 struct mmc_omap_slot *slot = mmc_priv(mmc); in mmc_omap_set_ios()
1163 dsor = mmc_omap_calc_divisor(mmc, ios); in mmc_omap_set_ios()
1186 slot->pdata->set_bus_mode(mmc_dev(mmc), slot->id, in mmc_omap_set_ios()
1225 struct mmc_host *mmc; in mmc_omap_new_slot() local
1228 mmc = mmc_alloc_host(sizeof(struct mmc_omap_slot), host->dev); in mmc_omap_new_slot()
1229 if (mmc == NULL) in mmc_omap_new_slot()
1232 slot = mmc_priv(mmc); in mmc_omap_new_slot()
1234 slot->mmc = mmc; in mmc_omap_new_slot()
1240 mmc->caps = 0; in mmc_omap_new_slot()
1242 mmc->caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_ERASE; in mmc_omap_new_slot()
1244 mmc->ops = &mmc_omap_ops; in mmc_omap_new_slot()
1245 mmc->f_min = 400000; in mmc_omap_new_slot()
1248 mmc->f_max = 48000000; in mmc_omap_new_slot()
1250 mmc->f_max = 24000000; in mmc_omap_new_slot()
1252 mmc->f_max = min(host->pdata->max_freq, mmc->f_max); in mmc_omap_new_slot()
1253 mmc->ocr_avail = slot->pdata->ocr_mask; in mmc_omap_new_slot()
1259 mmc->max_segs = 32; in mmc_omap_new_slot()
1260 mmc->max_blk_size = 2048; /* BLEN is 11 bits (+1) */ in mmc_omap_new_slot()
1261 mmc->max_blk_count = 2048; /* NBLK is 11 bits (+1) */ in mmc_omap_new_slot()
1262 mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; in mmc_omap_new_slot()
1263 mmc->max_seg_size = mmc->max_req_size; in mmc_omap_new_slot()
1272 r = mmc_add_host(mmc); in mmc_omap_new_slot()
1277 r = device_create_file(&mmc->class_dev, in mmc_omap_new_slot()
1284 r = device_create_file(&mmc->class_dev, in mmc_omap_new_slot()
1295 device_remove_file(&mmc->class_dev, &dev_attr_slot_name); in mmc_omap_new_slot()
1297 mmc_remove_host(mmc); in mmc_omap_new_slot()
1298 mmc_free_host(mmc); in mmc_omap_new_slot()
1304 struct mmc_host *mmc = slot->mmc; in mmc_omap_remove_slot() local
1307 device_remove_file(&mmc->class_dev, &dev_attr_slot_name); in mmc_omap_remove_slot()
1309 device_remove_file(&mmc->class_dev, &dev_attr_cover_switch); in mmc_omap_remove_slot()
1315 mmc_remove_host(mmc); in mmc_omap_remove_slot()
1316 mmc_free_host(mmc); in mmc_omap_remove_slot()