mmc controller registers may in abnormal state if mmc is used in bootloader, eg. to load kernel from eMMC. Some controllers cann't clear their registers when clk is set. They use dedicated reset logics to do this. In this patch, a 'resets' property is added into dw_mmc dts node. When driver does parse_dt and probe, it calls reset API to deassert the 'reset' of dw_mmc host controller. When probe error or remove, it calls reset API to assert it. Chip vendor's actual reset logics is implemented in reset driver, not in dw_mmc code. Please also refer to Documentation/devicetree/bindings/reset/reset.txt Guodong Xu (2): Documentation: synopsys-dw-mshc: add binding for resets mmc: dw_mmc: add resets support to dw_mmc .../devicetree/bindings/mmc/synopsys-dw-mshc.txt | 4 ++++ drivers/mmc/host/dw_mmc.c | 20 +++++++++++++++++++- include/linux/mmc/dw_mmc.h | 6 ++++-- 3 files changed, 27 insertions(+), 3 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html