mmc_hostRegular
4.4: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct task_struct *claimer;
int claim_cnt;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_async_req *areq;
struct mmc_context_info context_info;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
long unsigned int private[0];
};
4.8: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct task_struct *claimer;
int claim_cnt;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_async_req *areq;
struct mmc_context_info context_info;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
long unsigned int private[0];
};
4.10: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct task_struct *claimer;
int claim_cnt;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_async_req *areq;
struct mmc_context_info context_info;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
long unsigned int private[0];
};
4.13: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct task_struct *claimer;
int claim_cnt;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_async_req *areq;
struct mmc_context_info context_info;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
long unsigned int private[0];
};
4.15: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_async_req *areq;
struct mmc_context_info context_info;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
4.18: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
5.0: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
5.3: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
5.4: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
5.8: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
bool hsq_enabled;
long unsigned int private[0];
};
5.11: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
struct wakeup_source *ws;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int doing_init_tune;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
bool hsq_enabled;
long unsigned int private[0];
};
5.13: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct wakeup_source *ws;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int doing_init_tune;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
struct blk_keyslot_manager ksm;
bool hsq_enabled;
long unsigned int private[0];
};
5.15: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct wakeup_source *ws;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int doing_init_tune;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
struct blk_keyslot_manager ksm;
bool hsq_enabled;
long unsigned int private[0];
};
5.19: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct wakeup_source *ws;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int doing_init_tune;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
struct blk_crypto_profile crypto_profile;
bool hsq_enabled;
long unsigned int private[0];
};
6.2: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct wakeup_source *ws;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int doing_init_tune;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct work_struct sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
struct blk_crypto_profile crypto_profile;
bool hsq_enabled;
u32 err_stats[15];
long unsigned int private[0];
};
6.5: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct wakeup_source *ws;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int doing_init_tune;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
unsigned int vqmmc_enabled;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct work_struct sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
struct blk_crypto_profile crypto_profile;
bool hsq_enabled;
u32 err_stats[15];
long unsigned int private[0];
};
6.8: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct wakeup_source *ws;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int doing_init_tune;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
unsigned int vqmmc_enabled;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct work_struct sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
struct blk_crypto_profile crypto_profile;
bool hsq_enabled;
int hsq_depth;
u32 err_stats[15];
long unsigned int private[0];
};
arm64: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
armhf: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
ppc64el: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
riscv64: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
aws: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
azure: Absent ⚠️
gcp: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
lowlatency: ✅struct mmc_host {
struct device *parent;
struct device class_dev;
int index;
const struct mmc_host_ops *ops;
struct mmc_pwrseq *pwrseq;
unsigned int f_min;
unsigned int f_max;
unsigned int f_init;
u32 ocr_avail;
u32 ocr_avail_sdio;
u32 ocr_avail_sd;
u32 ocr_avail_mmc;
struct notifier_block pm_notify;
u32 max_current_330;
u32 max_current_300;
u32 max_current_180;
u32 caps;
u32 caps2;
int fixed_drv_type;
mmc_pm_flag_t pm_caps;
unsigned int max_seg_size;
short unsigned int max_segs;
short unsigned int unused;
unsigned int max_req_size;
unsigned int max_blk_size;
unsigned int max_blk_count;
unsigned int max_busy_timeout;
spinlock_t lock;
struct mmc_ios ios;
unsigned int use_spi_crc;
unsigned int claimed;
unsigned int bus_dead;
unsigned int can_retune;
unsigned int doing_retune;
unsigned int retune_now;
unsigned int retune_paused;
unsigned int use_blk_mq;
unsigned int retune_crc_disable;
unsigned int can_dma_map_merge;
int rescan_disable;
int rescan_entered;
int need_retune;
int hold_retune;
unsigned int retune_period;
struct timer_list retune_timer;
bool trigger_card_event;
struct mmc_card *card;
wait_queue_head_t wq;
struct mmc_ctx *claimer;
int claim_cnt;
struct mmc_ctx default_ctx;
struct delayed_work detect;
int detect_change;
struct mmc_slot slot;
const struct mmc_bus_ops *bus_ops;
unsigned int bus_refs;
unsigned int sdio_irqs;
struct task_struct *sdio_irq_thread;
struct delayed_work sdio_irq_work;
bool sdio_irq_pending;
atomic_t sdio_irq_thread_abort;
mmc_pm_flag_t pm_flags;
struct led_trigger *led;
bool regulator_enabled;
struct mmc_supply supply;
struct dentry *debugfs_root;
struct mmc_request *ongoing_mrq;
unsigned int actual_clock;
unsigned int slotno;
int dsr_req;
u32 dsr;
const struct mmc_cqe_ops *cqe_ops;
void *cqe_private;
int cqe_qdepth;
bool cqe_enabled;
bool cqe_on;
long unsigned int private[0];
};
Regular
4.4 and 4.8 ⚠️unsigned int retune_paused
4.8 and 4.10 ⚠️struct mmc_request *ongoing_mrq
4.10 and 4.13 ⚠️struct delayed_work sdio_irq_work
4.13 and 4.15 ⚠️int fixed_drv_type
struct mmc_ctx default_ctx
const struct mmc_cqe_ops *cqe_ops
void *cqe_private
int cqe_qdepth
bool cqe_enabled
bool cqe_on
struct task_struct *claimer ➡️ struct mmc_ctx *claimer
4.15 and 4.18 ⚠️unsigned int use_blk_mq
struct mmc_async_req *areq
struct mmc_context_info context_info
4.18 and 5.0 ✅
5.0 and 5.3 ⚠️unsigned int retune_crc_disable
5.3 and 5.4 ⚠️unsigned int can_dma_map_merge
5.4 and 5.8 ⚠️bool hsq_enabled
5.8 and 5.11 ⚠️struct wakeup_source *ws
unsigned int doing_init_tune
5.11 and 5.13 ⚠️struct blk_keyslot_manager ksm
struct notifier_block pm_notify
unsigned int bus_dead
unsigned int use_blk_mq
unsigned int bus_refs
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️struct blk_crypto_profile crypto_profile
struct blk_keyslot_manager ksm
5.19 and 6.2 ⚠️u32 err_stats[15]
struct delayed_work sdio_irq_work ➡️ struct work_struct sdio_irq_work
6.2 and 6.5 ⚠️unsigned int vqmmc_enabled
6.5 and 6.8 ⚠️int hsq_depth
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ⚠️struct notifier_block pm_notify
generic and aws ✅
generic and gcp ✅
generic and lowlatency ✅