Make the mmc_hw_reset routines more generic, by putting the (e)MMC- specific stuff in the new bus_ops->hw_reset. Simplify them by putting the functionality required by the mmc_test framework in mmc_test.c As I don't have an eMMC device myself, much less one with a reset line, I'd be very happy if someone could help me test the code with an eMMC? v5: - Move the mmc_test-specific code to mmc_test.c - Fall back to a power_cycle if the bus_ops->hw_reset is missing - Because of this, skip the bus_ops->hw_reset in sd.c v4: - Rebase onto next v3: - Keep mmc_can_reset - Always set bus_mode = MMC_BUSMODE_PUSHPULL in mmc_set_initial_state() v2: - Call the new bus_ops member hw_reset instead of power_reset - Create mmc_set_initial_state and call it from mmc_mmc_hw_reset instead of mmc_power_up - Keep "mmc_hw_reset" naming Johan Rudholm (2): mmc: core: refactor the hw_reset routines mmc: core: let hw_reset default to power_cycle drivers/mmc/card/mmc_test.c | 24 +++++++++----- drivers/mmc/core/core.c | 70 ++++++++++++++++-------------------------- drivers/mmc/core/core.h | 2 +- drivers/mmc/core/mmc.c | 23 ++++++++++++++ drivers/mmc/core/mmc_ops.c | 1 + drivers/mmc/core/mmc_ops.h | 1 - include/linux/mmc/core.h | 5 ++- 7 files changed, 70 insertions(+), 56 deletions(-) -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html