Using function mmc_of_parse_voltage() to get voltage-ranges.

Signed-off-by: Haijun Zhang <haijun.zh...@freescale.com>
---
changes for V3:
        - changes the type of ocr_mask and function mmc_of_parse_voltage

 drivers/mmc/host/of_mmc_spi.c | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)

diff --git a/drivers/mmc/host/of_mmc_spi.c b/drivers/mmc/host/of_mmc_spi.c
index d720b5e..fd1928d 100644
--- a/drivers/mmc/host/of_mmc_spi.c
+++ b/drivers/mmc/host/of_mmc_spi.c
@@ -90,8 +90,7 @@ struct mmc_spi_platform_data *mmc_spi_get_pdata(struct 
spi_device *spi)
        struct device *dev = &spi->dev;
        struct device_node *np = dev->of_node;
        struct of_mmc_spi *oms;
-       const u32 *voltage_ranges;
-       int num_ranges;
+       u32 ocr_mask;
        int i;
        int ret = -EINVAL;
 
@@ -102,26 +101,10 @@ struct mmc_spi_platform_data *mmc_spi_get_pdata(struct 
spi_device *spi)
        if (!oms)
                return NULL;
 
-       voltage_ranges = of_get_property(np, "voltage-ranges", &num_ranges);
-       num_ranges = num_ranges / sizeof(*voltage_ranges) / 2;
-       if (!voltage_ranges || !num_ranges) {
-               dev_err(dev, "OF: voltage-ranges unspecified\n");
+       if (mmc_of_parse_voltage(np, &ocr_mask))
                goto err_ocr;
-       }
-
-       for (i = 0; i < num_ranges; i++) {
-               const int j = i * 2;
-               u32 mask;
 
-               mask = mmc_vddrange_to_ocrmask(be32_to_cpu(voltage_ranges[j]),
-                                              be32_to_cpu(voltage_ranges[j + 
1]));
-               if (!mask) {
-                       ret = -EINVAL;
-                       dev_err(dev, "OF: voltage-range #%d is invalid\n", i);
-                       goto err_ocr;
-               }
-               oms->pdata.ocr_mask |= mask;
-       }
+       oms->pdata.ocr_mask |= ocr_mask;
 
        for (i = 0; i < ARRAY_SIZE(oms->gpios); i++) {
                enum of_gpio_flags gpio_flags;
-- 
1.8.0


--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to