Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger...
[firefly-linux-kernel-4.4.55.git] / drivers / mtd / nand / denali_dt.c
index babb02c4b2204ed0c5881a3577084c2ea826d5df..0cb1e8d9fbfcfe6b0d45965b87eff0d9a3c5d6a9 100644 (file)
@@ -30,24 +30,6 @@ struct denali_dt {
        struct clk              *clk;
 };
 
-static void __iomem *request_and_map(struct device *dev,
-                                    const struct resource *res)
-{
-       void __iomem *ptr;
-
-       if (!devm_request_mem_region(dev, res->start, resource_size(res),
-                                    "denali-dt")) {
-               dev_err(dev, "unable to request %s\n", res->name);
-               return NULL;
-       }
-
-       ptr = devm_ioremap_nocache(dev, res->start, resource_size(res));
-       if (!ptr)
-               dev_err(dev, "ioremap_nocache of %s failed!", res->name);
-
-       return ptr;
-}
-
 static const struct of_device_id denali_nand_dt_ids[] = {
                { .compatible = "denali,denali-nand-dt" },
                { /* sentinel */ }
@@ -78,13 +60,6 @@ static int denali_dt_probe(struct platform_device *ofdev)
                return -ENOMEM;
        denali = &dt->denali;
 
-       denali_reg = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "denali_reg");
-       nand_data = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "nand_data");
-       if (!denali_reg || !nand_data) {
-               dev_err(&ofdev->dev, "resources not completely defined\n");
-               return -EINVAL;
-       }
-
        denali->platform = DT;
        denali->dev = &ofdev->dev;
        denali->irq = platform_get_irq(ofdev, 0);
@@ -93,13 +68,15 @@ static int denali_dt_probe(struct platform_device *ofdev)
                return denali->irq;
        }
 
-       denali->flash_reg = request_and_map(&ofdev->dev, denali_reg);
-       if (!denali->flash_reg)
-               return -ENOMEM;
+       denali_reg = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "denali_reg");
+       denali->flash_reg = devm_ioremap_resource(&ofdev->dev, denali_reg);
+       if (IS_ERR(denali->flash_reg))
+               return PTR_ERR(denali->flash_reg);
 
-       denali->flash_mem = request_and_map(&ofdev->dev, nand_data);
-       if (!denali->flash_mem)
-               return -ENOMEM;
+       nand_data = platform_get_resource_byname(ofdev, IORESOURCE_MEM, "nand_data");
+       denali->flash_mem = devm_ioremap_resource(&ofdev->dev, nand_data);
+       if (IS_ERR(denali->flash_mem))
+               return PTR_ERR(denali->flash_mem);
 
        if (!of_property_read_u32(ofdev->dev.of_node,
                "dma-mask", (u32 *)&denali_dma_mask)) {
@@ -143,7 +120,6 @@ static struct platform_driver denali_dt_driver = {
        .remove         = denali_dt_remove,
        .driver         = {
                .name   = "denali-nand-dt",
-               .owner  = THIS_MODULE,
                .of_match_table = denali_nand_dt_ids,
        },
 };