This update addresses the requirement for accurate slot indexing in the sdhci-msm driver to differentiate between multiple SDCC (Secure Digital Card Controller) instances, such as eMMC, SD card, and SDIO. Additionally, it revises the slot indexing logic to comply with the new device tree (DT) specifications. Signed-off-by: Ram Prakash Gupta <quic_rampraka@xxxxxxxxxxx> Signed-off-by: Sarthak Garg <quic_sartgarg@xxxxxxxxxxx> Signed-off-by: Maramaina Naresh <quic_mnaresh@xxxxxxxxxxx> Signed-off-by: Ziqi Chen <quic_ziqichen@xxxxxxxxxxx> Signed-off-by: Sachin Gupta <quic_sachgupt@xxxxxxxxxxx> --- drivers/mmc/host/sdhci-msm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index e113b99a3eab..3cb79117916f 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -292,6 +292,8 @@ struct sdhci_msm_host { bool vqmmc_enabled; }; +static struct sdhci_msm_host *sdhci_slot[3]; + static const struct sdhci_msm_offset *sdhci_priv_msm_offset(struct sdhci_host *host) { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); @@ -2426,6 +2428,14 @@ static int sdhci_msm_probe(struct platform_device *pdev) if (ret) goto pltfm_free; + if (node) { + ret = of_alias_get_id(pdev->dev.of_node, "mmc"); + if (ret < 0) + dev_err(&pdev->dev, "get slot index failed %d\n", ret); + else + sdhci_slot[ret] = msm_host; + } + /* * Based on the compatible string, load the required msm host info from * the data associated with the version info. -- 2.17.1