]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/power/pda_power.c
lguest: Fix Malicious Guest GDT Host Crash
[linux-2.6-omap-h63xx.git] / drivers / power / pda_power.c
index 4e1eb040e1480bd2da69577dd90839bbae88c9a6..c058f285be1a2c8e850ebfec9b9db0a3d29ef017 100644 (file)
@@ -97,36 +97,31 @@ static void update_charger(void)
                dev_dbg(dev, "charger off\n");
                pdata->set_charge(0);
        }
-
-       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]);
-       return;
+       void *power_supply = (void *)power_supply_ptr;
+
+       power_supply_changed(power_supply);
 }
 
-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;
@@ -252,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);