aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/power/gpio-charger.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/power/gpio-charger.c b/drivers/power/gpio-charger.c
index e3e40a9f3af2..e9883eeeee76 100644
--- a/drivers/power/gpio-charger.c
+++ b/drivers/power/gpio-charger.c
@@ -86,7 +86,8 @@ static int gpio_charger_probe(struct platform_device *pdev)
86 return -EINVAL; 86 return -EINVAL;
87 } 87 }
88 88
89 gpio_charger = kzalloc(sizeof(*gpio_charger), GFP_KERNEL); 89 gpio_charger = devm_kzalloc(&pdev->dev, sizeof(*gpio_charger),
90 GFP_KERNEL);
90 if (!gpio_charger) { 91 if (!gpio_charger) {
91 dev_err(&pdev->dev, "Failed to alloc driver structure\n"); 92 dev_err(&pdev->dev, "Failed to alloc driver structure\n");
92 return -ENOMEM; 93 return -ENOMEM;
@@ -140,7 +141,6 @@ static int gpio_charger_probe(struct platform_device *pdev)
140err_gpio_free: 141err_gpio_free:
141 gpio_free(pdata->gpio); 142 gpio_free(pdata->gpio);
142err_free: 143err_free:
143 kfree(gpio_charger);
144 return ret; 144 return ret;
145} 145}
146 146
@@ -156,7 +156,6 @@ static int gpio_charger_remove(struct platform_device *pdev)
156 gpio_free(gpio_charger->pdata->gpio); 156 gpio_free(gpio_charger->pdata->gpio);
157 157
158 platform_set_drvdata(pdev, NULL); 158 platform_set_drvdata(pdev, NULL);
159 kfree(gpio_charger);
160 159
161 return 0; 160 return 0;
162} 161}