diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-31 15:10:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-31 15:10:15 -0400 |
commit | 76f901eb4659779ecacd0e4eba49f55442daef53 (patch) | |
tree | 0761f03211ffdfc06216eabeb61b02ef6d598d3c /drivers/power/ab8500_charger.c | |
parent | bd0e162d0312aa95e8b85ba883efddebf27be121 (diff) | |
parent | 96facd23e45e6d5020be135c8ab392ba9e044fa4 (diff) |
Merge tag 'for-v3.5' of git://git.infradead.org/battery-2.6
Pull battery updates from Anton Vorontsov:
"A bunch of fixes for v3.5, nothing extraordinary."
* tag 'for-v3.5' of git://git.infradead.org/battery-2.6: (27 commits)
smb347-charger: Include missing <linux/err.h>
smb347-charger: Clean up battery attributes
max17042_battery: Add support for max17047/50 chip
sbs-battery.c: Capacity attr = remaining relative capacity
isp1704_charger: Use after free on probe error
ds2781_battery: Use DS2781_PARAM_EEPROM_SIZE and DS2781_USER_EEPROM_SIZE
power_supply: Fix a typo in BATTERY_DS2781 Kconfig entry
charger-manager: Provide cm_notify_event function for in-kernel use
charger-manager: Poll battery health in normal state
smb347-charger: Convert to regmap API
smb347-charger: Move IRQ enabling to the end of probe
smb347-charger: Rename few functions to match better what they are doing
smb347-charger: Convert to use module_i2c_driver()
smb347_charger: Cleanup power supply registration code in probe
ab8500: Clean up probe routines
ab8500_fg: Harden platform data check
ab8500_btemp: Harden platform data check
ab8500_charger: Harden platform data check
MAINTAINERS: Fix 'F' entry for the power supply class
max17042_battery: Handle irq request failure case
...
Diffstat (limited to 'drivers/power/ab8500_charger.c')
-rw-r--r-- | drivers/power/ab8500_charger.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c index e2b4accbec88..d2303d0b7c75 100644 --- a/drivers/power/ab8500_charger.c +++ b/drivers/power/ab8500_charger.c | |||
@@ -2534,10 +2534,15 @@ static int __devexit ab8500_charger_remove(struct platform_device *pdev) | |||
2534 | static int __devinit ab8500_charger_probe(struct platform_device *pdev) | 2534 | static int __devinit ab8500_charger_probe(struct platform_device *pdev) |
2535 | { | 2535 | { |
2536 | int irq, i, charger_status, ret = 0; | 2536 | int irq, i, charger_status, ret = 0; |
2537 | struct abx500_bm_plat_data *plat_data; | 2537 | struct abx500_bm_plat_data *plat_data = pdev->dev.platform_data; |
2538 | struct ab8500_charger *di; | ||
2538 | 2539 | ||
2539 | struct ab8500_charger *di = | 2540 | if (!plat_data) { |
2540 | kzalloc(sizeof(struct ab8500_charger), GFP_KERNEL); | 2541 | dev_err(&pdev->dev, "No platform data\n"); |
2542 | return -EINVAL; | ||
2543 | } | ||
2544 | |||
2545 | di = kzalloc(sizeof(*di), GFP_KERNEL); | ||
2541 | if (!di) | 2546 | if (!di) |
2542 | return -ENOMEM; | 2547 | return -ENOMEM; |
2543 | 2548 | ||
@@ -2550,9 +2555,7 @@ static int __devinit ab8500_charger_probe(struct platform_device *pdev) | |||
2550 | spin_lock_init(&di->usb_state.usb_lock); | 2555 | spin_lock_init(&di->usb_state.usb_lock); |
2551 | 2556 | ||
2552 | /* get charger specific platform data */ | 2557 | /* get charger specific platform data */ |
2553 | plat_data = pdev->dev.platform_data; | ||
2554 | di->pdata = plat_data->charger; | 2558 | di->pdata = plat_data->charger; |
2555 | |||
2556 | if (!di->pdata) { | 2559 | if (!di->pdata) { |
2557 | dev_err(di->dev, "no charger platform data supplied\n"); | 2560 | dev_err(di->dev, "no charger platform data supplied\n"); |
2558 | ret = -EINVAL; | 2561 | ret = -EINVAL; |