This is a series of patches to provide a little TLC for the mt7621-mmc driver. My original goal was to get it working on the MT7688, and I have succeeded. I suspect it will now work on any of the MT762x line. The main change was getting the driver to use the pinctrl subsystem instead of hand-jamming the pinctrl registers -- the bit offsets were only correct for the MT7621. Because of this change, the driver now expects a pinctrl device reference in the mmc controller's device tree node; without it, it will bail out. This could break existing setups that don't specify it because it "just worked" up until now. So currently I just let the old behavior fall away because this is a staging driver. But if this is a problem, the old behavior could be added back as a fallback. Beyond that, there are largely code cleanups and a couple other correctness fixes that I hope are self-explanatory. The TODO list is largely unchanged, aside from the couple of TODO comments in the code that I have addressed. Ultimately, I think this driver could potentially be merged with the "real" mtk-mmc driver as the TODO suggests, but someone who is more familiar with the IP core will have to do that. Mediatek documentation (that I can find) is very sparse. Besides, their codebases have begun to diverge. Feedback welcome!