From 081ab9045d6aceaa815f9133753f827d70c67b21 Mon Sep 17 00:00:00 2001 From: Ashok Reddy Soma Date: Wed, 28 Jul 2021 05:48:41 -0600 Subject: [PATCH] mmc: zynq_sdhci: Replace mmc->dev->seq with deviceid It is incorrect to use mmc->dev->seq to identify SD0 or SD1. We are already reading "device_id" from DT to identify whether it is SD0 or SD1. It is stored in priv->deviceid. Replace mmc->dev->seq with priv->deviceid and get node_id as per that. Signed-off-by: Ashok Reddy Soma --- drivers/mmc/zynq_sdhci.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index 18a895c72b4..f77764d7e32 100644 --- a/drivers/mmc/zynq_sdhci.c +++ b/drivers/mmc/zynq_sdhci.c @@ -144,9 +144,9 @@ static int arasan_sdhci_execute_tuning(struct mmc *mmc, u8 opcode) struct mmc_cmd cmd; struct mmc_data data; u32 ctrl; - u8 node_id = mmc->dev->seq ? NODE_SD_0 : NODE_SD_1; struct sdhci_host *host; struct arasan_sdhci_priv *priv = dev_get_priv(mmc->dev); + u8 node_id = priv->deviceid ? NODE_SD_1 : NODE_SD_0; char tuning_loop_counter = SDHCI_TUNING_LOOP_COUNT; debug("%s\n", __func__); @@ -230,7 +230,8 @@ static int sdhci_zynqmp_sdcardclk_set_phase(struct sdhci_host *host, { struct mmc *mmc = (struct mmc *)host->mmc; struct udevice *dev = mmc->dev; - u8 node_id = dev->seq ? NODE_SD_0 : NODE_SD_1; + struct arasan_sdhci_priv *priv = dev_get_priv(mmc->dev); + u8 node_id = priv->deviceid ? NODE_SD_1 : NODE_SD_0; u8 tap_delay, tap_max = 0; int timing = mode2timing[mmc->selected_mode]; int ret; @@ -301,7 +302,8 @@ static int sdhci_zynqmp_sampleclk_set_phase(struct sdhci_host *host, { struct mmc *mmc = (struct mmc *)host->mmc; struct udevice *dev = mmc->dev; - u8 node_id = dev->seq ? NODE_SD_0 : NODE_SD_1; + struct arasan_sdhci_priv *priv = dev_get_priv(mmc->dev); + u8 node_id = priv->deviceid ? NODE_SD_1 : NODE_SD_0; u8 tap_delay, tap_max = 0; int timing = mode2timing[mmc->selected_mode]; int ret; -- 2.47.3