As both SDCC and UFS drivers use the ICE with duplicated implementation, while none of the currently supported platforms make use concomitantly of the same ICE IP block instance, the new SM8550 allows both UFS and SDCC to do so. In order to support such scenario, there is a need for a unified implementation and a devicetree node to be shared between both types of storage devices. So lets drop the duplicate implementation of the ICE from both SDCC and UFS and make it a dedicated (soc) driver. The v7 is here: https://lore.kernel.org/all/20230408214041.533749-1-abel.vesa@xxxxxxxxxx/ Changes since v7: * rebased on next-20230609 Changes since v6: * Dropped the patches 1, 3 and 6 as they are already in Bjorn's tree. * Dropped the minItems for both the qcom,ice and the reg in the qcom,ice compatile subschema, in the ufs schema file, like Krzysztof suggested Changes since v5: * See each individual patch for changelogs. Changes since v4: * dropped the SDHCI dt-bindings patch as it will be added along with the first use of qcom,ice property from an SDHCI DT node Abel Vesa (3): dt-bindings: ufs: qcom: Add ICE phandle scsi: ufs: ufs-qcom: Switch to the new ICE API mmc: sdhci-msm: Switch to the new ICE API .../devicetree/bindings/ufs/qcom,ufs.yaml | 24 ++ drivers/mmc/host/Kconfig | 2 +- drivers/mmc/host/sdhci-msm.c | 223 ++++------------ drivers/ufs/host/Kconfig | 2 +- drivers/ufs/host/Makefile | 4 +- drivers/ufs/host/ufs-qcom-ice.c | 244 ------------------ drivers/ufs/host/ufs-qcom.c | 99 ++++++- drivers/ufs/host/ufs-qcom.h | 32 +-- 8 files changed, 176 insertions(+), 454 deletions(-) delete mode 100644 drivers/ufs/host/ufs-qcom-ice.c -- 2.34.1