From: Jason Lai <jason.lai@xxxxxxxxxxxxxxxxxxx> From: Jason Lai <jason.lai@xxxxxxxxxxxxxxxxxxx> A series [2] that has been posted by Ulf Hansson which provided some guidance and an overall structure. This post is the successor version of series [2]. It is focused on UHS-II card control side to address Ulf's intention regarding "modularising" sd_uhs2.c. Some functions in mmc host part must be modified in order to support UHS-II card control. Those changes are not included in this post. Kind regards Jason Lai [2] https://patchwork.kernel.org/project/linux-mmc/list/?series=438509 Ulf Hansson (4): mmc: core: Cleanup printing of speed mode at card insertion mmc: core: Prepare to support SD UHS-II cards mmc: core: Announce successful insertion of an SD UHS-II card mmc: core: Extend support for mmc regulators with a vqmmc2 Jason Lai (3): mmc: add UHS-II related definitions in headers mmc: Implement content of UHS-II card initialization functions mmc: core: Support UHS-II card access drivers/mmc/core/Makefile | 2 +- drivers/mmc/core/bus.c | 38 +- drivers/mmc/core/core.c | 43 +- drivers/mmc/core/core.h | 1 + drivers/mmc/core/host.h | 4 + drivers/mmc/core/regulator.c | 33 + drivers/mmc/core/sd_uhs2.c | 1184 ++++++++++++++++++++++++++++++++++ drivers/mmc/core/sd_uhs2.h | 21 + include/linux/mmc/card.h | 7 + include/linux/mmc/host.h | 31 + include/linux/mmc/sd_uhs2.h | 269 ++++++++ 11 files changed, 1613 insertions(+), 20 deletions(-) create mode 100644 drivers/mmc/core/sd_uhs2.c create mode 100755 drivers/mmc/core/sd_uhs2.h create mode 100755 include/linux/mmc/sd_uhs2.h ------ original cover letter from Ulf's series ------ A series [1] that has been collaborative worked upon by Takahiro Akashi (Linaro) and Ben Chuang (Genesys Logic) is targeting to add SD UHS-II support to the mmc subsystem. Throughout the reviews, we realized that the changes affecting the mmc core to support the UHS-II interface/protocol might not be entirely straightforward to implement. Especially, I expressed some concerns about the code that manages power on/off, initialization and power management of a SD UHS-II card. Therefore, I have posted this small series to try to help to put some of the foundation in the mmc core in place. Hopefully this can provide some guidance and an overall structure, of how I think the code could evolve. More details are available in the commit messages and through comments in the code, for each path. Kind regards Uffe [1] https://lkml.org/lkml/2020/11/5/1472 Ulf Hansson (4): mmc: core: Cleanup printing of speed mode at card insertion mmc: core: Prepare to support SD UHS-II cards mmc: core: Announce successful insertion of an SD UHS-II card mmc: core: Extend support for mmc regulators with a vqmmc2 drivers/mmc/core/Makefile | 2 +- drivers/mmc/core/bus.c | 38 +++-- drivers/mmc/core/core.c | 17 ++- drivers/mmc/core/core.h | 1 + drivers/mmc/core/host.h | 5 + drivers/mmc/core/regulator.c | 34 +++++ drivers/mmc/core/sd_uhs2.c | 289 +++++++++++++++++++++++++++++++++++ include/linux/mmc/card.h | 6 + include/linux/mmc/host.h | 30 ++++ 9 files changed, 404 insertions(+), 18 deletions(-) create mode 100644 drivers/mmc/core/sd_uhs2.c -- 2.32.0