memory: mtk-smi: Use of_device_get_match_data helper
authorHonghui Zhang <honghui.zhang@mediatek.com>
Fri, 4 Aug 2017 01:32:25 +0000 (09:32 +0800)
committerJoerg Roedel <jroedel@suse.de>
Fri, 4 Aug 2017 10:04:57 +0000 (12:04 +0200)
Replace custom code with generic helper to retrieve driver data.

Signed-off-by: Honghui Zhang <honghui.zhang@mediatek.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/memory/mtk-smi.c

index 4afbc412f95933173f04fbb02e1c1b590cb495ec..2b798bb48b74fa43557bb3b0a1780a6b7a180dd6 100644 (file)
@@ -240,20 +240,15 @@ static int mtk_smi_larb_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct device_node *smi_node;
        struct platform_device *smi_pdev;
-       const struct of_device_id *of_id;
 
        if (!dev->pm_domain)
                return -EPROBE_DEFER;
 
-       of_id = of_match_node(mtk_smi_larb_of_ids, pdev->dev.of_node);
-       if (!of_id)
-               return -EINVAL;
-
        larb = devm_kzalloc(dev, sizeof(*larb), GFP_KERNEL);
        if (!larb)
                return -ENOMEM;
 
-       larb->larb_gen = of_id->data;
+       larb->larb_gen = of_device_get_match_data(dev);
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        larb->base = devm_ioremap_resource(dev, res);
        if (IS_ERR(larb->base))
@@ -319,7 +314,6 @@ static int mtk_smi_common_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct mtk_smi *common;
        struct resource *res;
-       const struct of_device_id *of_id;
        enum mtk_smi_gen smi_gen;
 
        if (!dev->pm_domain)
@@ -338,17 +332,13 @@ static int mtk_smi_common_probe(struct platform_device *pdev)
        if (IS_ERR(common->clk_smi))
                return PTR_ERR(common->clk_smi);
 
-       of_id = of_match_node(mtk_smi_common_of_ids, pdev->dev.of_node);
-       if (!of_id)
-               return -EINVAL;
-
        /*
         * for mtk smi gen 1, we need to get the ao(always on) base to config
         * m4u port, and we need to enable the aync clock for transform the smi
         * clock into emi clock domain, but for mtk smi gen2, there's no smi ao
         * base.
         */
-       smi_gen = (enum mtk_smi_gen)of_id->data;
+       smi_gen = (enum mtk_smi_gen)of_device_get_match_data(dev);
        if (smi_gen == MTK_SMI_GEN1) {
                res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
                common->smi_ao_base = devm_ioremap_resource(dev, res);