mmc: sh_mobile_sdhi: simplify accessing DT data
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 12 Dec 2016 19:51:20 +0000 (20:51 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 13 Feb 2017 12:19:48 +0000 (13:19 +0100)
By using the helper of_device_get_match_data(), we can skip some
checking and make the code simpler.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sh_mobile_sdhi.c

index d46c2d00c18244b1c082497a42b6a97ca019ae60..a6887cf4ce1b575c96de22020bd3a3d517fa5f3b 100644 (file)
@@ -556,8 +556,7 @@ static void sh_mobile_sdhi_enable_dma(struct tmio_mmc_host *host, bool enable)
 
 static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 {
-       const struct of_device_id *of_id =
-               of_match_device(sh_mobile_sdhi_of_match, &pdev->dev);
+       const struct sh_mobile_sdhi_of_data *of_data = of_device_get_match_data(&pdev->dev);
        struct sh_mobile_sdhi *priv;
        struct tmio_mmc_data *mmc_data;
        struct tmio_mmc_data *mmd = pdev->dev.platform_data;
@@ -598,9 +597,8 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
                goto eprobe;
        }
 
-       if (of_id && of_id->data) {
-               const struct sh_mobile_sdhi_of_data *of_data = of_id->data;
 
+       if (of_data) {
                mmc_data->flags |= of_data->tmio_flags;
                mmc_data->ocr_mask = of_data->tmio_ocr_mask;
                mmc_data->capabilities |= of_data->capabilities;
@@ -671,14 +669,10 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
        if (host->mmc->caps & MMC_CAP_UHS_SDR104) {
                host->mmc->caps |= MMC_CAP_HW_RESET;
 
-               if (of_id && of_id->data) {
-                       const struct sh_mobile_sdhi_of_data *of_data;
-                       const struct sh_mobile_sdhi_scc *taps;
+               if (of_data) {
+                       const struct sh_mobile_sdhi_scc *taps = of_data->taps;
                        bool hit = false;
 
-                       of_data = of_id->data;
-                       taps = of_data->taps;
-
                        for (i = 0; i < of_data->taps_num; i++) {
                                if (taps[i].clk_rate == 0 ||
                                    taps[i].clk_rate == host->mmc->f_max) {