Use devm_ioremap_resource() in order to make the code simpler,
and remove redundant return value check of platform_get_resource()
because the value is checked by devm_ioremap_resource().

Signed-off-by: Jingoo Han <[email protected]>
Acked-by: Shawn Guo <[email protected]>
Acked-by: Marek Vasut <[email protected]>
---
Changes since v1:
- Replace 'return -ENOENT' with 'return irq' when returning error
  values from platform_get_irq(), per Wolfram Sang

 drivers/i2c/busses/i2c-mxs.c |   18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
index 0cde4e6..7170fc8 100644
--- a/drivers/i2c/busses/i2c-mxs.c
+++ b/drivers/i2c/busses/i2c-mxs.c
@@ -806,7 +806,6 @@ static int mxs_i2c_probe(struct platform_device *pdev)
        struct mxs_i2c_dev *i2c;
        struct i2c_adapter *adap;
        struct resource *res;
-       resource_size_t res_size;
        int err, irq;
 
        i2c = devm_kzalloc(dev, sizeof(struct mxs_i2c_dev), GFP_KERNEL);
@@ -819,18 +818,13 @@ static int mxs_i2c_probe(struct platform_device *pdev)
        }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       irq = platform_get_irq(pdev, 0);
-
-       if (!res || irq < 0)
-               return -ENOENT;
+       i2c->regs = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(i2c->regs))
+               return PTR_ERR(i2c->regs);
 
-       res_size = resource_size(res);
-       if (!devm_request_mem_region(dev, res->start, res_size, res->name))
-               return -EBUSY;
-
-       i2c->regs = devm_ioremap_nocache(dev, res->start, res_size);
-       if (!i2c->regs)
-               return -EBUSY;
+       irq = platform_get_irq(pdev, 0);
+       if (irq < 0)
+               return irq;
 
        err = devm_request_irq(dev, irq, mxs_i2c_isr, 0, dev_name(dev), i2c);
        if (err)
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to