mmc: dw_mmc: deprecated the "num-slots" property
authorJaehoon Chung <jh80.chung@samsung.com>
Mon, 5 Jun 2017 04:41:30 +0000 (13:41 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 29 Jun 2017 15:14:05 +0000 (17:14 +0200)
dwmmc controller is supporting only one slot per a IP.
Even though DWMMC IP is provided the multiple slot, but there is no
usage in real world.
In mmc subsystem, not allow the multiple slot concept.
Then "num-slots" property is deprecated.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.comi>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/dw_mmc.c

index 4a0841cee39b83b895a09ee0b5bb22e77075fcd8..97fab9bb3db84514bd26365557d22a9791a812bf 100644 (file)
@@ -2973,7 +2973,8 @@ static struct dw_mci_board *dw_mci_parse_dt(struct dw_mci *host)
        }
 
        /* find out number of slots supported */
-       device_property_read_u32(dev, "num-slots", &pdata->num_slots);
+       if (device_property_read_u32(dev, "num-slots", &pdata->num_slots))
+               dev_info(dev, "'num-slots' was deprecated.\n");
 
        if (device_property_read_u32(dev, "fifo-depth", &pdata->fifo_depth))
                dev_info(dev,
@@ -3203,18 +3204,12 @@ int dw_mci_probe(struct dw_mci *host)
        if (ret)
                goto err_dmaunmap;
 
-       if (host->pdata->num_slots)
-               host->num_slots = host->pdata->num_slots;
-       else
-               host->num_slots = 1;
-
-       if (host->num_slots < 1 ||
-           host->num_slots > SDMMC_GET_SLOT_NUM(mci_readl(host, HCON))) {
-               dev_err(host->dev,
-                       "Platform data must supply correct num_slots.\n");
-               ret = -ENODEV;
-               goto err_clk_ciu;
-       }
+       /*
+        * Even though dwmmc IP is provided the multiple slots,
+        * there is no use case in mmc subsystem.
+        * dwmmc host controller needs to initialize the one slot per an IP.
+        */
+       host->num_slots = 1;
 
        /*
         * Enable interrupts for command done, data over, data empty,