From 5ebf6e6a96e41220edec23a90e4140985d1a5732 Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Sat, 14 Jul 2007 19:12:04 -0400 Subject: pda_power: clean up irq, timer Clean up pda_power interrupt handling: Prior to this patch, the driver would pass information it needed to the interrupt handler dev_id pointer, and then prompt forget it ever did so, recreating that same information after a couple passes through the timer-based state machine. This patch removes the redundant checks by passing the pda_power_supply[] pointer through the state machine. The current code passed 'irq' through the state machine, as an index to recreate the pointer, when we could more simply pass around the pointer itself. This patch makes it easier to remove the 'irq' argument in the future, in addition to cleaning up the driver today. Signed-off-by: Jeff Garzik --- drivers/power/pda_power.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'drivers/power') diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c index 4e1eb040e148..cdc28923e0ce 100644 --- a/drivers/power/pda_power.c +++ b/drivers/power/pda_power.c @@ -101,32 +101,31 @@ static void update_charger(void) return; } -static void supply_timer_func(unsigned long irq) +static void supply_timer_func(unsigned long power_supply_ptr) { - if (ac_irq && irq == ac_irq->start) - power_supply_changed(&pda_power_supplies[0]); - else if (usb_irq && irq == usb_irq->start) - power_supply_changed(&pda_power_supplies[1]); + void *power_supply = (void *)power_supply_ptr; + + power_supply_changed(power_supply); return; } -static void charger_timer_func(unsigned long irq) +static void charger_timer_func(unsigned long power_supply_ptr) { update_charger(); /* Okay, charger set. Now wait a bit before notifying supplicants, * charge power should stabilize. */ - supply_timer.data = irq; + supply_timer.data = power_supply_ptr; mod_timer(&supply_timer, jiffies + msecs_to_jiffies(pdata->wait_for_charger)); return; } -static irqreturn_t power_changed_isr(int irq, void *unused) +static irqreturn_t power_changed_isr(int irq, void *power_supply) { /* Wait a bit before reading ac/usb line status and setting charger, * because ac/usb status readings may lag from irq. */ - charger_timer.data = irq; + charger_timer.data = (unsigned long)power_supply; mod_timer(&charger_timer, jiffies + msecs_to_jiffies(pdata->wait_for_status)); return IRQ_HANDLED; -- cgit v1.2.3 From 7b3d54a8c30d2c524889a05d0c1334813d516b93 Mon Sep 17 00:00:00 2001 From: Anton Vorontsov Date: Sun, 15 Jul 2007 05:18:25 +0400 Subject: Power supply class and drivers: remove non obligatory return statements Per Jeff Garzik request. Signed-off-by: Jeff Garzik Signed-off-by: Anton Vorontsov --- drivers/power/apm_power.c | 4 ---- drivers/power/ds2760_battery.c | 7 ------- drivers/power/olpc_battery.c | 1 - drivers/power/pda_power.c | 5 ----- drivers/power/pmu_battery.c | 2 -- drivers/power/power_supply_core.c | 6 ------ drivers/power/power_supply_leds.c | 8 -------- drivers/power/power_supply_sysfs.c | 2 -- 8 files changed, 35 deletions(-) (limited to 'drivers/power') diff --git a/drivers/power/apm_power.c b/drivers/power/apm_power.c index 042bd950d036..39a90a6f0f80 100644 --- a/drivers/power/apm_power.c +++ b/drivers/power/apm_power.c @@ -48,8 +48,6 @@ static void find_main_battery(void) } if (!main_battery) main_battery = batm; - - return; } static int calculate_time(int status) @@ -218,7 +216,6 @@ static void apm_battery_apm_get_power_status(struct apm_power_info *info) } up(&power_supply_class->sem); - return; } static int __init apm_battery_init(void) @@ -232,7 +229,6 @@ static int __init apm_battery_init(void) static void __exit apm_battery_exit(void) { apm_get_power_status = NULL; - return; } module_init(apm_battery_init); diff --git a/drivers/power/ds2760_battery.c b/drivers/power/ds2760_battery.c index 00e1ea6f1de2..be7021ee3611 100644 --- a/drivers/power/ds2760_battery.c +++ b/drivers/power/ds2760_battery.c @@ -254,8 +254,6 @@ static void ds2760_battery_update_status(struct ds2760_device_info *di) if (di->charge_status != old_charge_status) power_supply_changed(&di->bat); - - return; } static void ds2760_battery_work(struct work_struct *work) @@ -268,8 +266,6 @@ static void ds2760_battery_work(struct work_struct *work) ds2760_battery_update_status(di); queue_delayed_work(di->monitor_wqueue, &di->monitor_work, interval); - - return; } #define to_ds2760_device_info(x) container_of((x), struct ds2760_device_info, \ @@ -283,8 +279,6 @@ static void ds2760_battery_external_power_changed(struct power_supply *psy) cancel_delayed_work(&di->monitor_work); queue_delayed_work(di->monitor_wqueue, &di->monitor_work, HZ/10); - - return; } static int ds2760_battery_get_property(struct power_supply *psy, @@ -457,7 +451,6 @@ static int __init ds2760_battery_init(void) static void __exit ds2760_battery_exit(void) { platform_driver_unregister(&ds2760_battery_driver); - return; } module_init(ds2760_battery_init); diff --git a/drivers/power/olpc_battery.c b/drivers/power/olpc_battery.c index 878684df7667..c998e68d060f 100644 --- a/drivers/power/olpc_battery.c +++ b/drivers/power/olpc_battery.c @@ -341,7 +341,6 @@ static void __exit olpc_bat_exit(void) power_supply_unregister(&olpc_bat); power_supply_unregister(&olpc_ac); platform_device_unregister(bat_pdev); - return; } module_init(olpc_bat_init); diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c index cdc28923e0ce..c058f285be1a 100644 --- a/drivers/power/pda_power.c +++ b/drivers/power/pda_power.c @@ -97,8 +97,6 @@ static void update_charger(void) dev_dbg(dev, "charger off\n"); pdata->set_charge(0); } - - return; } static void supply_timer_func(unsigned long power_supply_ptr) @@ -106,7 +104,6 @@ static void supply_timer_func(unsigned long power_supply_ptr) void *power_supply = (void *)power_supply_ptr; power_supply_changed(power_supply); - return; } static void charger_timer_func(unsigned long power_supply_ptr) @@ -118,7 +115,6 @@ static void charger_timer_func(unsigned long power_supply_ptr) supply_timer.data = power_supply_ptr; mod_timer(&supply_timer, jiffies + msecs_to_jiffies(pdata->wait_for_charger)); - return; } static irqreturn_t power_changed_isr(int irq, void *power_supply) @@ -251,7 +247,6 @@ static int __init pda_power_init(void) static void __exit pda_power_exit(void) { platform_driver_unregister(&pda_power_pdrv); - return; } module_init(pda_power_init); diff --git a/drivers/power/pmu_battery.c b/drivers/power/pmu_battery.c index 2fea4af0e40a..60a8cf3a0431 100644 --- a/drivers/power/pmu_battery.c +++ b/drivers/power/pmu_battery.c @@ -203,8 +203,6 @@ static void __exit pmu_bat_exit(void) } power_supply_unregister(&pmu_ac); platform_device_unregister(bat_pdev); - - return; } module_init(pmu_bat_init); diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c index e87ea5156755..a63b75cf75e2 100644 --- a/drivers/power/power_supply_core.c +++ b/drivers/power/power_supply_core.c @@ -46,8 +46,6 @@ static void power_supply_changed_work(struct work_struct *work) power_supply_update_leds(psy); kobject_uevent(&psy->dev->kobj, KOBJ_CHANGE); - - return; } void power_supply_changed(struct power_supply *psy) @@ -55,8 +53,6 @@ void power_supply_changed(struct power_supply *psy) dev_dbg(psy->dev, "%s\n", __FUNCTION__); schedule_work(&psy->changed_work); - - return; } int power_supply_am_i_supplied(struct power_supply *psy) @@ -129,7 +125,6 @@ void power_supply_unregister(struct power_supply *psy) power_supply_remove_triggers(psy); power_supply_remove_attrs(psy); device_unregister(psy->dev); - return; } static int __init power_supply_class_init(void) @@ -147,7 +142,6 @@ static int __init power_supply_class_init(void) static void __exit power_supply_class_exit(void) { class_destroy(power_supply_class); - return; } EXPORT_SYMBOL_GPL(power_supply_changed); diff --git a/drivers/power/power_supply_leds.c b/drivers/power/power_supply_leds.c index 7232490bb595..7f8f3590b02e 100644 --- a/drivers/power/power_supply_leds.c +++ b/drivers/power/power_supply_leds.c @@ -40,8 +40,6 @@ static void power_supply_update_bat_leds(struct power_supply *psy) led_trigger_event(psy->full_trig, LED_OFF); break; } - - return; } static int power_supply_create_bat_triggers(struct power_supply *psy) @@ -97,7 +95,6 @@ static void power_supply_remove_bat_triggers(struct power_supply *psy) kfree(psy->full_trig_name); kfree(psy->charging_trig_name); kfree(psy->charging_full_trig_name); - return; } /* Generated power specific LEDs triggers. */ @@ -115,8 +112,6 @@ static void power_supply_update_gen_leds(struct power_supply *psy) led_trigger_event(psy->online_trig, LED_FULL); else led_trigger_event(psy->online_trig, LED_OFF); - - return; } static int power_supply_create_gen_triggers(struct power_supply *psy) @@ -145,7 +140,6 @@ static void power_supply_remove_gen_triggers(struct power_supply *psy) { led_trigger_unregister_simple(psy->online_trig); kfree(psy->online_trig_name); - return; } /* Choice what triggers to create&update. */ @@ -156,7 +150,6 @@ void power_supply_update_leds(struct power_supply *psy) power_supply_update_bat_leds(psy); else power_supply_update_gen_leds(psy); - return; } int power_supply_create_triggers(struct power_supply *psy) @@ -172,5 +165,4 @@ void power_supply_remove_triggers(struct power_supply *psy) power_supply_remove_bat_triggers(psy); else power_supply_remove_gen_triggers(psy); - return; } diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c index c07d4258d347..c7c4574729b1 100644 --- a/drivers/power/power_supply_sysfs.c +++ b/drivers/power/power_supply_sysfs.c @@ -176,8 +176,6 @@ void power_supply_remove_attrs(struct power_supply *psy) for (i = 0; i < psy->num_properties; i++) device_remove_file(psy->dev, &power_supply_attrs[psy->properties[i]]); - - return; } static char *kstruprdup(const char *str, gfp_t gfp) -- cgit v1.2.3