mmc: dw_mmc: Use device_property_read instead of of_property_read
authorDavid Woods <dwoods@mellanox.com>
Fri, 26 May 2017 21:53:20 +0000 (17:53 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Aug 2017 15:49:31 +0000 (08:49 -0700)
commit 852ff5fea9eb6a9799f1881d6df2cd69a9e6eed5 upstream.

Using the device_property interfaces allows the dw_mmc driver to work
on platforms which run on either device tree or ACPI.

Signed-off-by: David Woods <dwoods@mellanox.com>
Reviewed-by: Chris Metcalf <cmetcalf@mellanox.com>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/host/dw_mmc.c

index df478ae..f81f417 100644 (file)
@@ -2610,8 +2610,8 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id)
        host->slot[id] = slot;
 
        mmc->ops = &dw_mci_ops;
-       if (of_property_read_u32_array(host->dev->of_node,
-                                      "clock-freq-min-max", freq, 2)) {
+       if (device_property_read_u32_array(host->dev, "clock-freq-min-max",
+                                          freq, 2)) {
                mmc->f_min = DW_MCI_FREQ_MIN;
                mmc->f_max = DW_MCI_FREQ_MAX;
        } else {
@@ -2709,7 +2709,6 @@ static void dw_mci_init_dma(struct dw_mci *host)
 {
        int addr_config;
        struct device *dev = host->dev;
-       struct device_node *np = dev->of_node;
 
        /*
        * Check tansfer mode from HCON[17:16]
@@ -2770,8 +2769,9 @@ static void dw_mci_init_dma(struct dw_mci *host)
                dev_info(host->dev, "Using internal DMA controller.\n");
        } else {
                /* TRANS_MODE_EDMAC: check dma bindings again */
-               if ((of_property_count_strings(np, "dma-names") < 0) ||
-                   (!of_find_property(np, "dmas", NULL))) {
+               if ((device_property_read_string_array(dev, "dma-names",
+                                                      NULL, 0) < 0) ||
+                   !device_property_present(dev, "dmas")) {
                        goto no_dma;
                }
                host->dma_ops = &dw_mci_edmac_ops;
@@ -2931,7 +2931,6 @@ static struct dw_mci_board *dw_mci_parse_dt(struct dw_mci *host)
 {
        struct dw_mci_board *pdata;
        struct device *dev = host->dev;
-       struct device_node *np = dev->of_node;
        const struct dw_mci_drv_data *drv_data = host->drv_data;
        int ret;
        u32 clock_frequency;
@@ -2948,15 +2947,16 @@ static struct dw_mci_board *dw_mci_parse_dt(struct dw_mci *host)
        }
 
        /* find out number of slots supported */
-       of_property_read_u32(np, "num-slots", &pdata->num_slots);
+       device_property_read_u32(dev, "num-slots", &pdata->num_slots);
 
-       if (of_property_read_u32(np, "fifo-depth", &pdata->fifo_depth))
+       if (device_property_read_u32(dev, "fifo-depth", &pdata->fifo_depth))
                dev_info(dev,
                         "fifo-depth property not found, using value of FIFOTH register as default\n");
 
-       of_property_read_u32(np, "card-detect-delay", &pdata->detect_delay_ms);
+       device_property_read_u32(dev, "card-detect-delay",
+                                &pdata->detect_delay_ms);
 
-       if (!of_property_read_u32(np, "clock-frequency", &clock_frequency))
+       if (!device_property_read_u32(dev, "clock-frequency", &clock_frequency))
                pdata->bus_hz = clock_frequency;
 
        if (drv_data && drv_data->parse_dt) {