mfd: lm3533: Use devm_gpio_request_one()
authorJingoo Han <jg1.han@samsung.com>
Wed, 20 Feb 2013 09:28:15 +0000 (18:28 +0900)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 8 Apr 2013 15:25:23 +0000 (17:25 +0200)
Use devm_gpio_request_one() to make cleanup paths more simple.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/lm3533-core.c

index ceebf2c..4b7e6da 100644 (file)
@@ -496,8 +496,8 @@ static int lm3533_device_init(struct lm3533 *lm3533)
        dev_set_drvdata(lm3533->dev, lm3533);
 
        if (gpio_is_valid(lm3533->gpio_hwen)) {
-               ret = gpio_request_one(lm3533->gpio_hwen, GPIOF_OUT_INIT_LOW,
-                                                               "lm3533-hwen");
+               ret = devm_gpio_request_one(lm3533->dev, lm3533->gpio_hwen,
+                                       GPIOF_OUT_INIT_LOW, "lm3533-hwen");
                if (ret < 0) {
                        dev_err(lm3533->dev,
                                "failed to request HWEN GPIO %d\n",
@@ -528,8 +528,6 @@ err_unregister:
        mfd_remove_devices(lm3533->dev);
 err_disable:
        lm3533_disable(lm3533);
-       if (gpio_is_valid(lm3533->gpio_hwen))
-               gpio_free(lm3533->gpio_hwen);
 
        return ret;
 }
@@ -542,8 +540,6 @@ static void lm3533_device_exit(struct lm3533 *lm3533)
 
        mfd_remove_devices(lm3533->dev);
        lm3533_disable(lm3533);
-       if (gpio_is_valid(lm3533->gpio_hwen))
-               gpio_free(lm3533->gpio_hwen);
 }
 
 static bool lm3533_readable_register(struct device *dev, unsigned int reg)