mmc: omap_hsmmc: use mmc_of_parse to populate mmc_config
authorKishon Vijay Abraham I <kishon@ti.com>
Tue, 30 Jan 2018 15:01:38 +0000 (16:01 +0100)
committerJaehoon Chung <jh80.chung@samsung.com>
Mon, 19 Feb 2018 07:58:55 +0000 (16:58 +0900)
Use the mmc_of_parse library function to populate mmc_config instead of
repeating the same code in host controller driver.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
drivers/mmc/omap_hsmmc.c

index ab4a0952333f438b53d607dca97e5c7809529037..57548ee31f4dba1ccf0403fcce97eaf3875e4ca4 100644 (file)
@@ -1297,32 +1297,18 @@ static int omap_hsmmc_ofdata_to_platdata(struct udevice *dev)
        struct mmc_config *cfg = &plat->cfg;
        const void *fdt = gd->fdt_blob;
        int node = dev_of_offset(dev);
-       int val;
+       int ret;
 
        plat->base_addr = map_physmem(devfdt_get_addr(dev),
                                      sizeof(struct hsmmc *),
                                      MAP_NOCACHE);
 
-       cfg->host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS;
-       val = fdtdec_get_int(fdt, node, "bus-width", -1);
-       if (val < 0) {
-               printf("error: bus-width property missing\n");
-               return -ENOENT;
-       }
-
-       switch (val) {
-       case 0x8:
-               cfg->host_caps |= MMC_MODE_8BIT;
-       case 0x4:
-               cfg->host_caps |= MMC_MODE_4BIT;
-               break;
-       default:
-               printf("error: invalid bus-width property\n");
-               return -ENOENT;
-       }
+       ret = mmc_of_parse(dev, cfg);
+       if (ret < 0)
+               return ret;
 
+       cfg->host_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS;
        cfg->f_min = 400000;
-       cfg->f_max = fdtdec_get_int(fdt, node, "max-frequency", 52000000);
        cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195;
        cfg->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
        if (fdtdec_get_bool(fdt, node, "ti,dual-volt"))