Lines Matching defs:mmc_host
271 struct mmc_host { struct
275 const struct mmc_host_ops *ops; argument
276 struct mmc_pwrseq *pwrseq;
277 unsigned int f_min;
278 unsigned int f_max;
279 unsigned int f_init;
280 u32 ocr_avail;
281 u32 ocr_avail_sdio; /* SDIO-specific OCR */
282 u32 ocr_avail_sd; /* SD-specific OCR */
283 u32 ocr_avail_mmc; /* MMC-specific OCR */
285 struct notifier_block pm_notify;
287 u32 max_current_330;
288 u32 max_current_300;
289 u32 max_current_180;
309 u32 caps; /* Host capabilities */
345 u32 caps2; /* More host capabilities */
373 int fixed_drv_type; /* fixed driver type for non-removable media */
375 mmc_pm_flag_t pm_caps; /* supported pm features */
378 unsigned int max_seg_size; /* see blk_queue_max_segment_size */
379 unsigned short max_segs; /* see blk_queue_max_segments */
380 unsigned short unused;
381 unsigned int max_req_size; /* maximum number of bytes in one req */
382 unsigned int max_blk_size; /* maximum size of one mmc block */
383 unsigned int max_blk_count; /* maximum number of blocks in one req */
384 unsigned int max_busy_timeout; /* max busy timeout in ms */
387 spinlock_t lock; /* lock for claim and bus ops */
389 struct mmc_ios ios; /* current io bus settings */
392 unsigned int use_spi_crc:1;
393 unsigned int claimed:1; /* host exclusively claimed */
394 unsigned int bus_dead:1; /* bus has been released */
395 unsigned int can_retune:1; /* re-tuning can be used */
396 unsigned int doing_retune:1; /* re-tuning in progress */
397 unsigned int retune_now:1; /* do re-tuning at next req */
398 unsigned int retune_paused:1; /* re-tuning is temporarily disabled */
399 unsigned int use_blk_mq:1; /* use blk-mq */
400 unsigned int retune_crc_disable:1; /* don't trigger retune upon crc */
401 unsigned int can_dma_map_merge:1; /* merging can be used */
403 int rescan_disable; /* disable card detection */
404 int rescan_entered; /* used with nonremovable devices */
406 int need_retune; /* re-tuning is needed */
407 int hold_retune; /* hold off re-tuning */
408 unsigned int retune_period; /* re-tuning period in secs */
409 struct timer_list retune_timer; /* for periodic re-tuning */
411 bool trigger_card_event; /* card_event necessary */
413 struct mmc_card *card; /* device attached to this host */
415 wait_queue_head_t wq;
416 struct mmc_ctx *claimer; /* context that has host claimed */
417 int claim_cnt; /* "claim" nesting count */
418 struct mmc_ctx default_ctx; /* default context */
420 struct delayed_work detect;
421 int detect_change; /* card detect flag */
422 struct mmc_slot slot;
424 const struct mmc_bus_ops *bus_ops; /* current bus driver */
425 unsigned int bus_refs; /* reference counter */
427 unsigned int sdio_irqs;
428 struct task_struct *sdio_irq_thread;
429 struct delayed_work sdio_irq_work;
430 bool sdio_irq_pending;
431 atomic_t sdio_irq_thread_abort;
433 mmc_pm_flag_t pm_flags; /* requested pm features */
435 struct led_trigger *led; /* activity led */
438 bool regulator_enabled; /* regulator state */
440 struct mmc_supply supply;
442 struct dentry *debugfs_root;
445 struct mmc_request *ongoing_mrq;
470 struct mmc_host *mmc_alloc_host(int extra, struct device *); argument