]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
mmc: of_mmc_spi: Convert to mmc_of_parse_voltage()
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 13 Feb 2019 15:57:21 +0000 (16:57 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 25 Feb 2019 14:20:58 +0000 (15:20 +0100)
Let's drop the open-coding of the parsing of the "voltage-ranges" DT
property and convert to use the common mmc_of_parse_voltage() API instead.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/of_mmc_spi.c

index b294b221f225dd3a5b58eaef8e2aeae00efd035f..8a274b91804edac66621654100c6a658bab90a5c 100644 (file)
@@ -61,9 +61,6 @@ 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 __be32 *voltage_ranges;
-       int num_ranges;
-       int i;
 
        if (dev->platform_data || !np)
                return dev->platform_data;
@@ -72,25 +69,8 @@ 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, &oms->pdata.ocr_mask) <= 0)
                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) {
-                       dev_err(dev, "OF: voltage-range #%d is invalid\n", i);
-                       goto err_ocr;
-               }
-               oms->pdata.ocr_mask |= mask;
-       }
 
        oms->detect_irq = irq_of_parse_and_map(np, 0);
        if (oms->detect_irq != 0) {