diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-03 13:57:57 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-03 13:57:57 -0400 |
| commit | 38e80121bd7d0c493072442ac7eddcba165a07a8 (patch) | |
| tree | 66c948222e45b461f9d1b8917b222a0c90af9e6e | |
| parent | e098675635479e9267cf2b12fb969c463cf506ab (diff) | |
| parent | 35bf559145b6332f5465c15a4e5cd7a363985382 (diff) | |
Merge git://git.infradead.org/battery-2.6
* git://git.infradead.org/battery-2.6:
PMU battery: filenames in sysfs with spaces
pda_power: add init and exit function callbacks
| -rw-r--r-- | drivers/power/pda_power.c | 11 | ||||
| -rw-r--r-- | drivers/power/pmu_battery.c | 2 | ||||
| -rw-r--r-- | include/linux/pda_power.h | 4 |
3 files changed, 16 insertions, 1 deletions
diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c index c8aa55b81fd8..82810b7bff9c 100644 --- a/drivers/power/pda_power.c +++ b/drivers/power/pda_power.c | |||
| @@ -209,6 +209,12 @@ static int pda_power_probe(struct platform_device *pdev) | |||
| 209 | 209 | ||
| 210 | pdata = pdev->dev.platform_data; | 210 | pdata = pdev->dev.platform_data; |
| 211 | 211 | ||
| 212 | if (pdata->init) { | ||
| 213 | ret = pdata->init(dev); | ||
| 214 | if (ret < 0) | ||
| 215 | goto init_failed; | ||
| 216 | } | ||
| 217 | |||
| 212 | update_status(); | 218 | update_status(); |
| 213 | update_charger(); | 219 | update_charger(); |
| 214 | 220 | ||
| @@ -298,6 +304,9 @@ ac_irq_failed: | |||
| 298 | if (pdata->is_ac_online) | 304 | if (pdata->is_ac_online) |
| 299 | power_supply_unregister(&pda_psy_ac); | 305 | power_supply_unregister(&pda_psy_ac); |
| 300 | ac_supply_failed: | 306 | ac_supply_failed: |
| 307 | if (pdata->exit) | ||
| 308 | pdata->exit(dev); | ||
| 309 | init_failed: | ||
| 301 | wrongid: | 310 | wrongid: |
| 302 | return ret; | 311 | return ret; |
| 303 | } | 312 | } |
| @@ -318,6 +327,8 @@ static int pda_power_remove(struct platform_device *pdev) | |||
| 318 | power_supply_unregister(&pda_psy_usb); | 327 | power_supply_unregister(&pda_psy_usb); |
| 319 | if (pdata->is_ac_online) | 328 | if (pdata->is_ac_online) |
| 320 | power_supply_unregister(&pda_psy_ac); | 329 | power_supply_unregister(&pda_psy_ac); |
| 330 | if (pdata->exit) | ||
| 331 | pdata->exit(dev); | ||
| 321 | 332 | ||
| 322 | return 0; | 333 | return 0; |
| 323 | } | 334 | } |
diff --git a/drivers/power/pmu_battery.c b/drivers/power/pmu_battery.c index 60a8cf3a0431..9346a862f1f2 100644 --- a/drivers/power/pmu_battery.c +++ b/drivers/power/pmu_battery.c | |||
| @@ -159,7 +159,7 @@ static int __init pmu_bat_init(void) | |||
| 159 | if (!pbat) | 159 | if (!pbat) |
| 160 | break; | 160 | break; |
| 161 | 161 | ||
| 162 | sprintf(pbat->name, "PMU battery %d", i); | 162 | sprintf(pbat->name, "PMU_battery_%d", i); |
| 163 | pbat->bat.name = pbat->name; | 163 | pbat->bat.name = pbat->name; |
| 164 | pbat->bat.properties = pmu_bat_props; | 164 | pbat->bat.properties = pmu_bat_props; |
| 165 | pbat->bat.num_properties = ARRAY_SIZE(pmu_bat_props); | 165 | pbat->bat.num_properties = ARRAY_SIZE(pmu_bat_props); |
diff --git a/include/linux/pda_power.h b/include/linux/pda_power.h index 225beb136807..cb7d10f30763 100644 --- a/include/linux/pda_power.h +++ b/include/linux/pda_power.h | |||
| @@ -16,10 +16,14 @@ | |||
| 16 | #define PDA_POWER_CHARGE_AC (1 << 0) | 16 | #define PDA_POWER_CHARGE_AC (1 << 0) |
| 17 | #define PDA_POWER_CHARGE_USB (1 << 1) | 17 | #define PDA_POWER_CHARGE_USB (1 << 1) |
| 18 | 18 | ||
| 19 | struct device; | ||
| 20 | |||
| 19 | struct pda_power_pdata { | 21 | struct pda_power_pdata { |
| 22 | int (*init)(struct device *dev); | ||
| 20 | int (*is_ac_online)(void); | 23 | int (*is_ac_online)(void); |
| 21 | int (*is_usb_online)(void); | 24 | int (*is_usb_online)(void); |
| 22 | void (*set_charge)(int flags); | 25 | void (*set_charge)(int flags); |
| 26 | void (*exit)(struct device *dev); | ||
| 23 | 27 | ||
| 24 | char **supplied_to; | 28 | char **supplied_to; |
| 25 | size_t num_supplicants; | 29 | size_t num_supplicants; |
