diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2017-01-09 01:49:22 +0300 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2017-01-09 15:41:27 +0300 |
commit | 368e5fbdfc60732643f34f538823ed4bc8829827 (patch) | |
tree | 5c572ae75a05e1d925ef0366dd0eb63d6d01721b | |
parent | 0fe4618d3b22d0ae44a4e650526466cf570ff8a5 (diff) | |
download | linux-368e5fbdfc60732643f34f538823ed4bc8829827.tar.xz |
ata: sata_mv: Convert to devm_ioremap_resource()
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>
-rw-r--r-- | drivers/ata/sata_mv.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 6eed4a72d328..00ce26d0c047 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -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)) |