diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-31 16:24:50 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-31 16:24:50 (GMT) |
commit | f0d15c96d4ddcf32b6f910c4c2487ee705e4d493 (patch) | |
tree | 07c715e05527545e40cbc57d4377f95247c20ebe /drivers/power/wm831x_backup.c | |
parent | 4d8a93c7e542c364b1c2ad1dd406ede85080eab9 (diff) | |
parent | f8c63918c9a3004bd052fa4af08aa1cefbcd79ac (diff) | |
download | linux-fsl-qoriq-f0d15c96d4ddcf32b6f910c4c2487ee705e4d493.tar.xz |
Merge git://git.infradead.org/battery-2.6
* git://git.infradead.org/battery-2.6:
gpio-charger: Fix checking return value of request_any_context_irq
power_supply: MAX17042: Support additional properties
max8903_charger: Allow platform data to be __initdata
power_supply: Add charger driver for MAX8998/LP3974
power_supply: Add charger driver for MAX8997/8966
max17042_battery: Remove obsolete cleanup for clientdata
twl4030_charger: Fix warnings
wm831x_power: Support multiple instances
wm831x_backup: Support multiple instances
apm_power: Fix style error in macros
s3c_adc_battery: Fix annotation for s3c_adc_battery_probe()
bq20z75: Enable detection after registering
bq20z75: Add support for external notification
Diffstat (limited to 'drivers/power/wm831x_backup.c')
-rw-r--r-- | drivers/power/wm831x_backup.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/power/wm831x_backup.c b/drivers/power/wm831x_backup.c index 0fd130d..e648cbe 100644 --- a/drivers/power/wm831x_backup.c +++ b/drivers/power/wm831x_backup.c @@ -22,6 +22,7 @@ struct wm831x_backup { struct wm831x *wm831x; struct power_supply backup; + char name[20]; }; static int wm831x_backup_read_voltage(struct wm831x *wm831x, @@ -163,6 +164,7 @@ static enum power_supply_property wm831x_backup_props[] = { static __devinit 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; struct wm831x_backup *devdata; struct power_supply *backup; int ret; @@ -182,7 +184,14 @@ static __devinit int wm831x_backup_probe(struct platform_device *pdev) */ wm831x_config_backup(wm831x); - backup->name = "wm831x-backup"; + if (wm831x_pdata && wm831x_pdata->wm831x_num) + snprintf(devdata->name, sizeof(devdata->name), + "wm831x-backup.%d", wm831x_pdata->wm831x_num); + else + snprintf(devdata->name, sizeof(devdata->name), + "wm831x-backup"); + + backup->name = devdata->name; backup->type = POWER_SUPPLY_TYPE_BATTERY; backup->properties = wm831x_backup_props; backup->num_properties = ARRAY_SIZE(wm831x_backup_props); @@ -203,6 +212,7 @@ static __devexit 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; |