sh-pfc: Use devm_kzalloc()

Replace probe-time kmalloc()/kzalloc() calls with devm_kzalloc() and get
rid of the corresponding kfree() calls.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
diff --git a/drivers/sh/pfc/gpio.c b/drivers/sh/pfc/gpio.c
index a32ea80..37493e5 100644
--- a/drivers/sh/pfc/gpio.c
+++ b/drivers/sh/pfc/gpio.c
@@ -11,6 +11,7 @@
 
 #define pr_fmt(fmt) KBUILD_MODNAME " gpio: " fmt
 
+#include <linux/device.h>
 #include <linux/init.h>
 #include <linux/gpio.h>
 #include <linux/slab.h>
@@ -143,7 +144,7 @@
 	struct sh_pfc_chip *chip;
 	int ret;
 
-	chip = kzalloc(sizeof(struct sh_pfc_chip), GFP_KERNEL);
+	chip = devm_kzalloc(pfc->dev, sizeof(*chip), GFP_KERNEL);
 	if (unlikely(!chip))
 		return -ENOMEM;
 
@@ -152,10 +153,8 @@
 	sh_pfc_gpio_setup(chip);
 
 	ret = gpiochip_add(&chip->gpio_chip);
-	if (unlikely(ret < 0)) {
-		kfree(chip);
+	if (unlikely(ret < 0))
 		return ret;
-	}
 
 	pfc->gpio = chip;
 
@@ -175,7 +174,6 @@
 	if (unlikely(ret < 0))
 		return ret;
 
-	kfree(chip);
 	pfc->gpio = NULL;
 	return 0;
 }