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