
Patch 4 contains a fix for a problem that really occures with some MMC cards, that are capable to get to ready state within a single polling call.
Patch 6 is a fix for an error, that may be not so important and is not visible at the moment, since no platform does actually use pre-initialization. However, it still makes sense to fix it. It also makes the code more clean, straightforward, and understandable.
Patch 5 eliminates some unneeded delays in polling loops, thus improving overall performance.
Patches 2 and 3 clean up the code, making it simpler and more correct.
Patch 1 is actually not directly related to the patched code area, but just uses the occasion to fix the typo.
This is a series of patches, the next patch depending on previous ones, so that should be applied in order, on top of previous ones.
Andrew Gabbasov (6): mmc: Fix typo in MMC type checking macro mmc: Avoid extra duplicate entry in mmc device structure mmc: Do not pass external mmc_cmd structure to mmc_send_op_cond_iter() mmc: Continue polling MMC card for OCR only if it is still not ready mmc: Restructure polling loops to avoid extra delays mmc: Fix splitting device initialization
drivers/mmc/mmc.c | 90 ++++++++++++++++++++++++++++++------------------------- include/mmc.h | 6 ++-- 2 files changed, 51 insertions(+), 45 deletions(-)