i2c: viperboard: Use devm_kzalloc() functions
authorJingoo Han <jg1.han@samsung.com>
Tue, 17 Dec 2013 07:01:41 +0000 (16:01 +0900)
committerWolfram Sang <wsa@the-dreams.de>
Sat, 4 Jan 2014 21:11:24 +0000 (22:11 +0100)
Use devm_kzalloc() functions to make cleanup paths simpler.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Lars Poeschel <poeschel@lemonage.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-viperboard.c

index c68450c..6976e1c 100644 (file)
@@ -367,7 +367,7 @@ static int vprbrd_i2c_probe(struct platform_device *pdev)
        int ret;
        int pipe;
 
-       vb_i2c = kzalloc(sizeof(*vb_i2c), GFP_KERNEL);
+       vb_i2c = devm_kzalloc(&pdev->dev, sizeof(*vb_i2c), GFP_KERNEL);
        if (vb_i2c == NULL)
                return -ENOMEM;
 
@@ -394,14 +394,12 @@ static int vprbrd_i2c_probe(struct platform_device *pdev)
            if (ret != 1) {
                dev_err(&pdev->dev,
                        "failure setting i2c_bus_freq to %d\n", i2c_bus_freq);
-               ret = -EIO;
-               goto error;
+               return -EIO;
            }
        } else {
                dev_err(&pdev->dev,
                        "invalid i2c_bus_freq setting:%d\n", i2c_bus_freq);
-               ret = -EIO;
-               goto error;
+               return -EIO;
        }
 
        vb_i2c->i2c.dev.parent = &pdev->dev;
@@ -412,10 +410,6 @@ static int vprbrd_i2c_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, vb_i2c);
 
        return 0;
-
-error:
-       kfree(vb_i2c);
-       return ret;
 }
 
 static int vprbrd_i2c_remove(struct platform_device *pdev)