summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-pcf857x.c
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-03-15 10:16:11 +0100
committerLinus Walleij <linus.walleij@linaro.org>2013-03-27 16:05:12 +0100
commitf39f54af032ce900815d0d718df5f1717eed50fe (patch)
tree61267d9ae233fbb7bb9c6637c9c13ffa70bfaa8b /drivers/gpio/gpio-pcf857x.c
parentgpio: mc33880: use devm_kzalloc() (diff)
downloadlinux-f39f54af032ce900815d0d718df5f1717eed50fe.tar.xz
linux-f39f54af032ce900815d0d718df5f1717eed50fe.zip
gpio: pcf857x: use devm_kzalloc()
Use devm_kzalloc() to make cleanup paths simpler. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-pcf857x.c')
-rw-r--r--drivers/gpio/gpio-pcf857x.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/gpio/gpio-pcf857x.c b/drivers/gpio/gpio-pcf857x.c
index a965620c1c2a..e8faf53f3875 100644
--- a/drivers/gpio/gpio-pcf857x.c
+++ b/drivers/gpio/gpio-pcf857x.c
@@ -268,7 +268,7 @@ static int pcf857x_probe(struct i2c_client *client,
}
/* Allocate, initialize, and register this gpio_chip. */
- gpio = kzalloc(sizeof *gpio, GFP_KERNEL);
+ gpio = devm_kzalloc(&client->dev, sizeof(*gpio), GFP_KERNEL);
if (!gpio)
return -ENOMEM;
@@ -391,7 +391,6 @@ fail:
if (pdata && client->irq)
pcf857x_irq_domain_cleanup(gpio);
- kfree(gpio);
return status;
}
@@ -416,9 +415,7 @@ static int pcf857x_remove(struct i2c_client *client)
pcf857x_irq_domain_cleanup(gpio);
status = gpiochip_remove(&gpio->chip);
- if (status == 0)
- kfree(gpio);
- else
+ if (status)
dev_err(&client->dev, "%s --> %d\n", "remove", status);
return status;
}