
On Sat, Oct 20, 2012 at 10:16 PM, Simon Glass sjg@chromium.org wrote:
From: Che-Liang Chiou clchiou@chromium.org
Most of time that MMC driver spends on initializing a device is polling OCR (operation conditions register). To decouple this polling loop, device init is split into two parts: The first part fires the OCR query command, and the second part polls the result. So the caller is now no longer bound to the OCR-polling delay; he may fire the query, go somewhere and then come back later for the result.
To use this, call mmc_set_preinit() on any device which needs this.
This can save significant amounts of time on boot (e.g. 200ms) by hiding the MMC init time behind other init.
Signed-off-by: Che-Liang Chiou clchiou@chromium.org Signed-off-by: Simon Glass sjg@chromium.org
Could you rebase this on my latest tree? It failed to apply for reasons which weren't immediately clear to me, and it's a non-trivial chunk that failed.
Thanks, Andy