diff options
Diffstat (limited to 'drivers/power/wm831x_backup.c')
| -rw-r--r-- | drivers/power/wm831x_backup.c | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/drivers/power/wm831x_backup.c b/drivers/power/wm831x_backup.c index e648cbea1e6..56fb509f4be 100644 --- a/drivers/power/wm831x_backup.c +++ b/drivers/power/wm831x_backup.c @@ -161,7 +161,7 @@ static enum power_supply_property wm831x_backup_props[] = { * Initialisation *********************************************************************/ -static __devinit int wm831x_backup_probe(struct platform_device *pdev) +static int wm831x_backup_probe(struct platform_device *pdev) { struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); struct wm831x_pdata *wm831x_pdata = wm831x->dev->platform_data; @@ -169,7 +169,8 @@ static __devinit int wm831x_backup_probe(struct platform_device *pdev) struct power_supply *backup; int ret; - devdata = kzalloc(sizeof(struct wm831x_backup), GFP_KERNEL); + devdata = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_backup), + GFP_KERNEL); if (devdata == NULL) return -ENOMEM; @@ -197,46 +198,28 @@ static __devinit int wm831x_backup_probe(struct platform_device *pdev) backup->num_properties = ARRAY_SIZE(wm831x_backup_props); backup->get_property = wm831x_backup_get_prop; ret = power_supply_register(&pdev->dev, backup); - if (ret) - goto err_kmalloc; return ret; - -err_kmalloc: - kfree(devdata); - return ret; } -static __devexit int wm831x_backup_remove(struct platform_device *pdev) +static int wm831x_backup_remove(struct platform_device *pdev) { struct wm831x_backup *devdata = platform_get_drvdata(pdev); power_supply_unregister(&devdata->backup); - kfree(devdata->backup.name); - kfree(devdata); return 0; } static struct platform_driver wm831x_backup_driver = { .probe = wm831x_backup_probe, - .remove = __devexit_p(wm831x_backup_remove), + .remove = wm831x_backup_remove, .driver = { .name = "wm831x-backup", }, }; -static int __init wm831x_backup_init(void) -{ - return platform_driver_register(&wm831x_backup_driver); -} -module_init(wm831x_backup_init); - -static void __exit wm831x_backup_exit(void) -{ - platform_driver_unregister(&wm831x_backup_driver); -} -module_exit(wm831x_backup_exit); +module_platform_driver(wm831x_backup_driver); MODULE_DESCRIPTION("Backup battery charger driver for WM831x PMICs"); MODULE_AUTHOR("Mark Brown <broonie@opensource.wolfsonmicro.com>"); |
