ata: sata_mv: Convert to devm_ioremap_resource()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sun, 8 Jan 2017 22:49:22 +0000 (00:49 +0200)
committerTejun Heo <tj@kernel.org>
Mon, 9 Jan 2017 12:41:27 +0000 (07:41 -0500)
Convert to devm_ioremap_resource() which provides more consistent error
handling.

Note that devm_ioremap_resource() provides its own error messages.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/sata_mv.c

index 6eed4a72d3289de404f852d167c1cf013708b325..00ce26d0c04703a102802d951775e62268239d7f 100644 (file)
@@ -4067,6 +4067,7 @@ static int mv_platform_probe(struct platform_device *pdev)
        struct ata_host *host;
        struct mv_host_priv *hpriv;
        struct resource *res;
+       void __iomem *mmio;
        int n_ports = 0, irq = 0;
        int rc;
        int port;
@@ -4085,8 +4086,9 @@ static int mv_platform_probe(struct platform_device *pdev)
         * Get the register base first
         */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (res == NULL)
-               return -EINVAL;
+       mmio = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(mmio))
+               return PTR_ERR(mmio);
 
        /* allocate host */
        if (pdev->dev.of_node) {
@@ -4130,12 +4132,7 @@ static int mv_platform_probe(struct platform_device *pdev)
        hpriv->board_idx = chip_soc;
 
        host->iomap = NULL;
-       hpriv->base = devm_ioremap(&pdev->dev, res->start,
-                                  resource_size(res));
-       if (!hpriv->base)
-               return -ENOMEM;
-
-       hpriv->base -= SATAHC0_REG_BASE;
+       hpriv->base = mmio - SATAHC0_REG_BASE;
 
        hpriv->clk = clk_get(&pdev->dev, NULL);
        if (IS_ERR(hpriv->clk))