ChangeLog v1->v2: * Switch the gating mechanism from using an additional callback to setting the "clock" field in the ios structure to 0 and storing away the current value to ungate the clock later on. * Remove the mmc_clk_enable/disable around the ios() operations as a result, if you use clock gating you have to take the gating into account in your set_ios() code. * Keep the nesting code (use count) this is used so that quick bursts of requests can be handled properly while the disable work is idling in the background and appears quite solid. Tried my best to clarify why this code look as it does. * Removed unnecessary depend on MMC!=n in the Kconfig, explicit (EXPERIMENTAL) in option description. * Updates MMCI reference implementation to reflect the new use of the clock field. * Remove unnecessary #include <clk.h> * Added a debugfs file appearing in /mmcN/clk_delay that can be used to trim the delay cycle count to test what happens with different values. * Works fine on my system. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html