X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=drivers%2Fpower%2Fgpio-charger.c;h=e9883eeeee76a0506a9b891ddcdf19320ce2d6b3;hb=bfffbea1aaeeb1eb6500c83ff9653416daa5b490;hp=e3e40a9f3af2a962e39a4f4687359e348bc87d11;hpb=90889a635a9b5488624bccce3ff6b2eec68c007b;p=~andy%2Flinux diff --git a/drivers/power/gpio-charger.c b/drivers/power/gpio-charger.c index e3e40a9f3af..4e858a23568 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) return -EINVAL; } - gpio_charger = kzalloc(sizeof(*gpio_charger), GFP_KERNEL); + gpio_charger = devm_kzalloc(&pdev->dev, sizeof(*gpio_charger), + GFP_KERNEL); if (!gpio_charger) { dev_err(&pdev->dev, "Failed to alloc driver structure\n"); return -ENOMEM; @@ -140,7 +141,6 @@ static int gpio_charger_probe(struct platform_device *pdev) err_gpio_free: gpio_free(pdata->gpio); err_free: - kfree(gpio_charger); return ret; } @@ -155,9 +155,6 @@ static int gpio_charger_remove(struct platform_device *pdev) gpio_free(gpio_charger->pdata->gpio); - platform_set_drvdata(pdev, NULL); - kfree(gpio_charger); - return 0; }