
Hi All,
On 2012.10/20, Simon Glass 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.
Please note that this patch has a conflict with the patch from Kim Phillips' [U-Boot,28/32] drivers/mmc/mmc.c: sparse fixes (191937 in patchworks)
I had to apply this patch first before patching Kim's modifications which succeeds with the hunk offsets adjusted. It builds OK with the eldk 5.2.1 for powerpc. Will test these on an ml507 when I have time.
Regards, Rommel