i2c: bcm2835: Use devm_ioremap_resource()
authorJingoo Han <jg1.han@samsung.com>
Tue, 11 Feb 2014 13:02:36 +0000 (22:02 +0900)
committerWolfram Sang <wsa@the-dreams.de>
Sun, 9 Mar 2014 20:43:20 +0000 (21:43 +0100)
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 <jg1.han@samsung.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-bcm2835.c

index 77df97b932af5399a39b0c52ec7e256aff4c8325..13b7ed57869b5c88582a71b1aad3585f9b5c1fef 100644 (file)
@@ -219,7 +219,7 @@ static const struct i2c_algorithm bcm2835_i2c_algo = {
 static int bcm2835_i2c_probe(struct platform_device *pdev)
 {
        struct bcm2835_i2c_dev *i2c_dev;
-       struct resource *mem, *requested, *irq;
+       struct resource *mem, *irq;
        u32 bus_clk_rate, divider;
        int ret;
        struct i2c_adapter *adap;
@@ -234,25 +234,9 @@ static int bcm2835_i2c_probe(struct platform_device *pdev)
        init_completion(&i2c_dev->completion);
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!mem) {
-               dev_err(&pdev->dev, "No mem resource\n");
-               return -ENODEV;
-       }
-
-       requested = devm_request_mem_region(&pdev->dev, mem->start,
-                                           resource_size(mem),
-                                           dev_name(&pdev->dev));
-       if (!requested) {
-               dev_err(&pdev->dev, "Could not claim register region\n");
-               return -EBUSY;
-       }
-
-       i2c_dev->regs = devm_ioremap(&pdev->dev, mem->start,
-                                    resource_size(mem));
-       if (!i2c_dev->regs) {
-               dev_err(&pdev->dev, "Could not map registers\n");
-               return -ENOMEM;
-       }
+       i2c_dev->regs = devm_ioremap_resource(&pdev->dev, mem);
+       if (IS_ERR(i2c_dev->regs))
+               return PTR_ERR(i2c_dev->regs);
 
        i2c_dev->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(i2c_dev->clk)) {