Merge git://git.infradead.org/battery-2.6

* git://git.infradead.org/battery-2.6:
git-battery vs git-acpi
Power supply class and drivers: remove non obligatory return statements
pda_power: clean up irq, timer
MAINTAINERS: Add maintainers for power supply subsystem and drivers

Fixed up trivial conflict in drivers/w1/slaves/w1_ds2760.c manually

+20 -49
+10
MAINTAINERS
··· 2869 L: linux-kernel@vger.kernel.org 2870 S: Supported 2871 2872 POWERPC 4xx EMAC DRIVER 2873 P: Eugene Surovegin 2874 M: ebs@ebshome.net
··· 2869 L: linux-kernel@vger.kernel.org 2870 S: Supported 2871 2872 + POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS 2873 + P: Anton Vorontsov 2874 + M: cbou@mail.ru 2875 + P: David Woodhouse 2876 + M: dwmw2@infradead.org 2877 + L: linux-kernel@vger.kernel.org 2878 + L: kernel-discuss@handhelds.org 2879 + T: git git.infradead.org/battery-2.6.git 2880 + S: Maintained 2881 + 2882 POWERPC 4xx EMAC DRIVER 2883 P: Eugene Surovegin 2884 M: ebs@ebshome.net
-4
drivers/power/apm_power.c
··· 48 } 49 if (!main_battery) 50 main_battery = batm; 51 - 52 - return; 53 } 54 55 static int calculate_time(int status) ··· 216 } 217 218 up(&power_supply_class->sem); 219 - return; 220 } 221 222 static int __init apm_battery_init(void) ··· 229 static void __exit apm_battery_exit(void) 230 { 231 apm_get_power_status = NULL; 232 - return; 233 } 234 235 module_init(apm_battery_init);
··· 48 } 49 if (!main_battery) 50 main_battery = batm; 51 } 52 53 static int calculate_time(int status) ··· 218 } 219 220 up(&power_supply_class->sem); 221 } 222 223 static int __init apm_battery_init(void) ··· 232 static void __exit apm_battery_exit(void) 233 { 234 apm_get_power_status = NULL; 235 } 236 237 module_init(apm_battery_init);
-7
drivers/power/ds2760_battery.c
··· 254 255 if (di->charge_status != old_charge_status) 256 power_supply_changed(&di->bat); 257 - 258 - return; 259 } 260 261 static void ds2760_battery_work(struct work_struct *work) ··· 266 267 ds2760_battery_update_status(di); 268 queue_delayed_work(di->monitor_wqueue, &di->monitor_work, interval); 269 - 270 - return; 271 } 272 273 #define to_ds2760_device_info(x) container_of((x), struct ds2760_device_info, \ ··· 279 280 cancel_delayed_work(&di->monitor_work); 281 queue_delayed_work(di->monitor_wqueue, &di->monitor_work, HZ/10); 282 - 283 - return; 284 } 285 286 static int ds2760_battery_get_property(struct power_supply *psy, ··· 451 static void __exit ds2760_battery_exit(void) 452 { 453 platform_driver_unregister(&ds2760_battery_driver); 454 - return; 455 } 456 457 module_init(ds2760_battery_init);
··· 254 255 if (di->charge_status != old_charge_status) 256 power_supply_changed(&di->bat); 257 } 258 259 static void ds2760_battery_work(struct work_struct *work) ··· 268 269 ds2760_battery_update_status(di); 270 queue_delayed_work(di->monitor_wqueue, &di->monitor_work, interval); 271 } 272 273 #define to_ds2760_device_info(x) container_of((x), struct ds2760_device_info, \ ··· 283 284 cancel_delayed_work(&di->monitor_work); 285 queue_delayed_work(di->monitor_wqueue, &di->monitor_work, HZ/10); 286 } 287 288 static int ds2760_battery_get_property(struct power_supply *psy, ··· 457 static void __exit ds2760_battery_exit(void) 458 { 459 platform_driver_unregister(&ds2760_battery_driver); 460 } 461 462 module_init(ds2760_battery_init);
-1
drivers/power/olpc_battery.c
··· 341 power_supply_unregister(&olpc_bat); 342 power_supply_unregister(&olpc_ac); 343 platform_device_unregister(bat_pdev); 344 - return; 345 } 346 347 module_init(olpc_bat_init);
··· 341 power_supply_unregister(&olpc_bat); 342 power_supply_unregister(&olpc_ac); 343 platform_device_unregister(bat_pdev); 344 } 345 346 module_init(olpc_bat_init);
+8 -14
drivers/power/pda_power.c
··· 97 dev_dbg(dev, "charger off\n"); 98 pdata->set_charge(0); 99 } 100 - 101 - return; 102 } 103 104 - static void supply_timer_func(unsigned long irq) 105 { 106 - if (ac_irq && irq == ac_irq->start) 107 - power_supply_changed(&pda_power_supplies[0]); 108 - else if (usb_irq && irq == usb_irq->start) 109 - power_supply_changed(&pda_power_supplies[1]); 110 - return; 111 } 112 113 - static void charger_timer_func(unsigned long irq) 114 { 115 update_charger(); 116 117 /* Okay, charger set. Now wait a bit before notifying supplicants, 118 * charge power should stabilize. */ 119 - supply_timer.data = irq; 120 mod_timer(&supply_timer, 121 jiffies + msecs_to_jiffies(pdata->wait_for_charger)); 122 - return; 123 } 124 125 - static irqreturn_t power_changed_isr(int irq, void *unused) 126 { 127 /* Wait a bit before reading ac/usb line status and setting charger, 128 * because ac/usb status readings may lag from irq. */ 129 - charger_timer.data = irq; 130 mod_timer(&charger_timer, 131 jiffies + msecs_to_jiffies(pdata->wait_for_status)); 132 return IRQ_HANDLED; ··· 247 static void __exit pda_power_exit(void) 248 { 249 platform_driver_unregister(&pda_power_pdrv); 250 - return; 251 } 252 253 module_init(pda_power_init);
··· 97 dev_dbg(dev, "charger off\n"); 98 pdata->set_charge(0); 99 } 100 } 101 102 + static void supply_timer_func(unsigned long power_supply_ptr) 103 { 104 + void *power_supply = (void *)power_supply_ptr; 105 + 106 + power_supply_changed(power_supply); 107 } 108 109 + static void charger_timer_func(unsigned long power_supply_ptr) 110 { 111 update_charger(); 112 113 /* Okay, charger set. Now wait a bit before notifying supplicants, 114 * charge power should stabilize. */ 115 + supply_timer.data = power_supply_ptr; 116 mod_timer(&supply_timer, 117 jiffies + msecs_to_jiffies(pdata->wait_for_charger)); 118 } 119 120 + static irqreturn_t power_changed_isr(int irq, void *power_supply) 121 { 122 /* Wait a bit before reading ac/usb line status and setting charger, 123 * because ac/usb status readings may lag from irq. */ 124 + charger_timer.data = (unsigned long)power_supply; 125 mod_timer(&charger_timer, 126 jiffies + msecs_to_jiffies(pdata->wait_for_status)); 127 return IRQ_HANDLED; ··· 252 static void __exit pda_power_exit(void) 253 { 254 platform_driver_unregister(&pda_power_pdrv); 255 } 256 257 module_init(pda_power_init);
-2
drivers/power/pmu_battery.c
··· 203 } 204 power_supply_unregister(&pmu_ac); 205 platform_device_unregister(bat_pdev); 206 - 207 - return; 208 } 209 210 module_init(pmu_bat_init);
··· 203 } 204 power_supply_unregister(&pmu_ac); 205 platform_device_unregister(bat_pdev); 206 } 207 208 module_init(pmu_bat_init);
-6
drivers/power/power_supply_core.c
··· 46 power_supply_update_leds(psy); 47 48 kobject_uevent(&psy->dev->kobj, KOBJ_CHANGE); 49 - 50 - return; 51 } 52 53 void power_supply_changed(struct power_supply *psy) ··· 53 dev_dbg(psy->dev, "%s\n", __FUNCTION__); 54 55 schedule_work(&psy->changed_work); 56 - 57 - return; 58 } 59 60 int power_supply_am_i_supplied(struct power_supply *psy) ··· 125 power_supply_remove_triggers(psy); 126 power_supply_remove_attrs(psy); 127 device_unregister(psy->dev); 128 - return; 129 } 130 131 static int __init power_supply_class_init(void) ··· 142 static void __exit power_supply_class_exit(void) 143 { 144 class_destroy(power_supply_class); 145 - return; 146 } 147 148 EXPORT_SYMBOL_GPL(power_supply_changed);
··· 46 power_supply_update_leds(psy); 47 48 kobject_uevent(&psy->dev->kobj, KOBJ_CHANGE); 49 } 50 51 void power_supply_changed(struct power_supply *psy) ··· 55 dev_dbg(psy->dev, "%s\n", __FUNCTION__); 56 57 schedule_work(&psy->changed_work); 58 } 59 60 int power_supply_am_i_supplied(struct power_supply *psy) ··· 129 power_supply_remove_triggers(psy); 130 power_supply_remove_attrs(psy); 131 device_unregister(psy->dev); 132 } 133 134 static int __init power_supply_class_init(void) ··· 147 static void __exit power_supply_class_exit(void) 148 { 149 class_destroy(power_supply_class); 150 } 151 152 EXPORT_SYMBOL_GPL(power_supply_changed);
-8
drivers/power/power_supply_leds.c
··· 40 led_trigger_event(psy->full_trig, LED_OFF); 41 break; 42 } 43 - 44 - return; 45 } 46 47 static int power_supply_create_bat_triggers(struct power_supply *psy) ··· 95 kfree(psy->full_trig_name); 96 kfree(psy->charging_trig_name); 97 kfree(psy->charging_full_trig_name); 98 - return; 99 } 100 101 /* Generated power specific LEDs triggers. */ ··· 112 led_trigger_event(psy->online_trig, LED_FULL); 113 else 114 led_trigger_event(psy->online_trig, LED_OFF); 115 - 116 - return; 117 } 118 119 static int power_supply_create_gen_triggers(struct power_supply *psy) ··· 140 { 141 led_trigger_unregister_simple(psy->online_trig); 142 kfree(psy->online_trig_name); 143 - return; 144 } 145 146 /* Choice what triggers to create&update. */ ··· 150 power_supply_update_bat_leds(psy); 151 else 152 power_supply_update_gen_leds(psy); 153 - return; 154 } 155 156 int power_supply_create_triggers(struct power_supply *psy) ··· 165 power_supply_remove_bat_triggers(psy); 166 else 167 power_supply_remove_gen_triggers(psy); 168 - return; 169 }
··· 40 led_trigger_event(psy->full_trig, LED_OFF); 41 break; 42 } 43 } 44 45 static int power_supply_create_bat_triggers(struct power_supply *psy) ··· 97 kfree(psy->full_trig_name); 98 kfree(psy->charging_trig_name); 99 kfree(psy->charging_full_trig_name); 100 } 101 102 /* Generated power specific LEDs triggers. */ ··· 115 led_trigger_event(psy->online_trig, LED_FULL); 116 else 117 led_trigger_event(psy->online_trig, LED_OFF); 118 } 119 120 static int power_supply_create_gen_triggers(struct power_supply *psy) ··· 145 { 146 led_trigger_unregister_simple(psy->online_trig); 147 kfree(psy->online_trig_name); 148 } 149 150 /* Choice what triggers to create&update. */ ··· 156 power_supply_update_bat_leds(psy); 157 else 158 power_supply_update_gen_leds(psy); 159 } 160 161 int power_supply_create_triggers(struct power_supply *psy) ··· 172 power_supply_remove_bat_triggers(psy); 173 else 174 power_supply_remove_gen_triggers(psy); 175 }
-2
drivers/power/power_supply_sysfs.c
··· 176 for (i = 0; i < psy->num_properties; i++) 177 device_remove_file(psy->dev, 178 &power_supply_attrs[psy->properties[i]]); 179 - 180 - return; 181 } 182 183 static char *kstruprdup(const char *str, gfp_t gfp)
··· 176 for (i = 0; i < psy->num_properties; i++) 177 device_remove_file(psy->dev, 178 &power_supply_attrs[psy->properties[i]]); 179 } 180 181 static char *kstruprdup(const char *str, gfp_t gfp)
+2 -5
drivers/w1/slaves/w1_ds2760.c
··· 68 return w1_ds2760_io(dev, buf, addr, count, 1); 69 } 70 71 - static ssize_t w1_ds2760_read_bin(struct kobject *kobj, struct bin_attribute *attr, 72 char *buf, loff_t off, size_t count) 73 { 74 struct device *dev = container_of(kobj, struct device, kobj); ··· 122 mutex_lock(&bat_idr_lock); 123 idr_remove(&bat_idr, id); 124 mutex_unlock(&bat_idr_lock); 125 - 126 - return; 127 } 128 129 static int w1_ds2760_add_slave(struct w1_slave *sl) ··· 173 platform_device_unregister(pdev); 174 release_bat_id(id); 175 sysfs_remove_bin_file(&sl->dev.kobj, &w1_ds2760_bin_attr); 176 - 177 - return; 178 } 179 180 static struct w1_family_ops w1_ds2760_fops = {
··· 68 return w1_ds2760_io(dev, buf, addr, count, 1); 69 } 70 71 + static ssize_t w1_ds2760_read_bin(struct kobject *kobj, 72 + struct bin_attribute *bin_attr, 73 char *buf, loff_t off, size_t count) 74 { 75 struct device *dev = container_of(kobj, struct device, kobj); ··· 121 mutex_lock(&bat_idr_lock); 122 idr_remove(&bat_idr, id); 123 mutex_unlock(&bat_idr_lock); 124 } 125 126 static int w1_ds2760_add_slave(struct w1_slave *sl) ··· 174 platform_device_unregister(pdev); 175 release_bat_id(id); 176 sysfs_remove_bin_file(&sl->dev.kobj, &w1_ds2760_bin_attr); 177 } 178 179 static struct w1_family_ops w1_ds2760_fops = {