STRUCT ATMEL_MCI_SLOT(9)
β¨ struct atmel_mci_slot(9) β MMC slot state β¨
okay so bestie, this is a page straight outta the Kernel API Manual, and it's all about struct atmel_mci_slot π
which the kernel describes as "MMC slot state" β like, that's the whole vibe. one MMC slot, all its state, all its little fields, all living together. let's get into it π«Ά
πΈ SYNOPSIS πΈ
here's the whole struct, exactly as it lives, no cap:
struct atmel_mci_slot {
struct mmc_host *mmc;
struct atmel_mci *host;
u32 sdc_reg;
u32 sdio_irq;
struct mmc_request *mrq;
struct list_head queue_node;
unsigned int clock;
unsigned long flags;
#define ATMCI_CARD_PRESENT 0;
#define ATMCI_CARD_NEED_INIT 1;
#define ATMCI_SHUTDOWN 2;
struct gpio_desc *detect_pin;
struct gpio_desc *wp_pin;
struct timer_list detect_timer;
};
like, look at those three #defines chilling in the middle of the struct β ATMCI_CARD_PRESENT = 0, ATMCI_CARD_NEED_INIT = 1, ATMCI_SHUTDOWN = 2. iconic placement honestly π
π Members π
mmcβ themmc_hostthat's representing this slot. it's the moment, it's the representative πhostβ the MMC controller this slot is using. your actual hardware bestie β¨sdc_regβ the value of SDCR that you gotta write before using this slot. don't skip this step, fr fr π«Άsdio_irqβ the SDIO irq mask for this slot. irq mask, but make it cute πΈmrqβ themmc_requestthat's currently being processed, or waiting to be processed, or justNULLwhen the slot is idle. three moods, one pointer πqueue_nodeβ a list node for placing this node in the queue list ofstruct atmel_mci. it's giving "in line, patiently" π¦clockβ the clock rate configured byset_ios. and listen β it's protected byhost->lock. respect the lock, bestie πflagsβ random state bits associated with the slot. random. state. bits. no notes π₯detect_pinβ GPIO pin used for card detection, or negative if it's not available. availability check, always πwp_pinβ GPIO pin used for card write protect sending, or negative if it's not available. same energy, different pin πdetect_timerβ timer used for debouncingdetect_pininterrupts. debouncing! she's stabilising the chaos, main character energy β²οΈπ
π¦ SEE ALSO π¦
- Kernel file
./drivers/mmc/host/atmel-mci.cstruct mci_slot_pdata(9),struct atmel_mci(9)β go read these next, iykyk π
ok that's the whole page, every field, every define, no skips, no summaries β we ate and left no crumbs π β¨
and a lil sign-off for the credits girlies: this one comes from ./drivers/mmc/host, dated October 2026, and the header/footer both say struct atmel_mci_slot(9) β slay πβπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms