Tutorial for "drivers/mmc/*"?

Randy Dunlap rdunlap at infradead.org
Fri Jan 8 23:27:54 EST 2021

On 1/7/21 12:54 PM, Gabriel L. Somlo wrote:
> Hi,
> I'm debugging a driver for a (fpga-based soft core) microSD card Linux
> device, and the existing driver (in drivers/mmc/host/...) makes sense
> at first sight, but, either due to shortcomings in the softcore
> (Verilog by way of Migen) "hardware", or the actual Linux driver
> itself, suffers from intermittent data transfer errors.
> I find myself wishing I could get a top-down idea of how the Linux mmc
> layer is put together, so I could examine the driver in question with
> a critical eye, rather than my current approach, which is best described
> as "blind-man attempts to comprehend an elephant by touching various
> locations on its body, hoping the collected experiences will suddenly
> come into focus and begin to make sense". :D
> This latter approach gives me information that makes sense on first
> sight, when taken uncritically, but doesn't help me figure out the
> "unknown unknowns" :)
> The alternative, of course, would be to read the actual source code in
> "drivers/mmc/core/..." until I "know it by heart", and then look at my
> (and a few other existing) drivers in "drivers/mmc/host/..." to try and
> get an idea of what I'm missing.
> I'll go with the latter if necessary, but would prefer a gentler
> introduction to "drivers/mmc". Any (link, pointer to) a tutorial,
> assuming one exists, would be MUCH appreciated!
> Thanks,
> --Gabriel

The only & closest thing that I could find is


More information about the Kernelnewbies mailing list