diff options
Diffstat (limited to 'packages/kexecboot/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch')
-rw-r--r-- | packages/kexecboot/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/packages/kexecboot/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch b/packages/kexecboot/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch deleted file mode 100644 index e1323e4edc..0000000000 --- a/packages/kexecboot/linux-kexecboot-2.6.24/tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch +++ /dev/null @@ -1,134 +0,0 @@ -From cbe46408b666983284e8be290950d526dbc0f0a4 Mon Sep 17 00:00:00 2001 -From: Dmitry Baryshkov <dbaryshkov@gmail.com> -Date: Wed, 9 Jan 2008 02:08:16 +0300 -Subject: [PATCH 26/64] I don't think we should check for IRQs when determining which one - of power supplies to register. Better use is_{ac,usb}_online - callbacks, this will not produce an obstacle to implement polling -- - when irqs aren't mandatory. I'll send my two pending patches to show - the idea. - -For this particular issue, I think something like that should work. -If it works for you, I'll commit that version, preserving your -authorship, of course. ---- - drivers/power/pda_power.c | 80 ++++++++++++++++++++++++-------------------- - 1 files changed, 44 insertions(+), 36 deletions(-) - -diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c -index c058f28..d98622f 100644 ---- a/drivers/power/pda_power.c -+++ b/drivers/power/pda_power.c -@@ -168,66 +168,74 @@ static int pda_power_probe(struct platform_device *pdev) - pda_power_supplies[1].num_supplicants = pdata->num_supplicants; - } - -- ret = power_supply_register(&pdev->dev, &pda_power_supplies[0]); -- if (ret) { -- dev_err(dev, "failed to register %s power supply\n", -- pda_power_supplies[0].name); -- goto supply0_failed; -- } -+ if (pdata->is_ac_online) { -+ ret = power_supply_register(&pdev->dev, &pda_power_supplies[0]); -+ if (ret) { -+ dev_err(dev, "failed to register %s power supply\n", -+ pda_power_supplies[0].name); -+ goto ac_supply_failed; -+ } - -- ret = power_supply_register(&pdev->dev, &pda_power_supplies[1]); -- if (ret) { -- dev_err(dev, "failed to register %s power supply\n", -- pda_power_supplies[1].name); -- goto supply1_failed; -+ if (ac_irq) { -+ ret = request_irq(ac_irq->start, power_changed_isr, -+ get_irq_flags(ac_irq), ac_irq->name, -+ &pda_power_supplies[0]); -+ if (ret) { -+ dev_err(dev, "request ac irq failed\n"); -+ goto ac_irq_failed; -+ } -+ } - } - -- if (ac_irq) { -- ret = request_irq(ac_irq->start, power_changed_isr, -- get_irq_flags(ac_irq), ac_irq->name, -- &pda_power_supplies[0]); -+ if (pdata->is_usb_online) { -+ ret = power_supply_register(&pdev->dev, &pda_power_supplies[1]); - if (ret) { -- dev_err(dev, "request ac irq failed\n"); -- goto ac_irq_failed; -+ dev_err(dev, "failed to register %s power supply\n", -+ pda_power_supplies[1].name); -+ goto usb_supply_failed; - } -- } - -- if (usb_irq) { -- ret = request_irq(usb_irq->start, power_changed_isr, -- get_irq_flags(usb_irq), usb_irq->name, -- &pda_power_supplies[1]); -- if (ret) { -- dev_err(dev, "request usb irq failed\n"); -- goto usb_irq_failed; -+ if (usb_irq) { -+ ret = request_irq(usb_irq->start, power_changed_isr, -+ get_irq_flags(usb_irq), -+ usb_irq->name, -+ &pda_power_supplies[1]); -+ if (ret) { -+ dev_err(dev, "request usb irq failed\n"); -+ goto usb_irq_failed; -+ } - } - } - -- goto success; -+ return 0; - - usb_irq_failed: -- if (ac_irq) -+ if (pdata->is_usb_online) -+ power_supply_unregister(&pda_power_supplies[1]); -+usb_supply_failed: -+ if (pdata->is_ac_online && ac_irq) - free_irq(ac_irq->start, &pda_power_supplies[0]); - ac_irq_failed: -- power_supply_unregister(&pda_power_supplies[1]); --supply1_failed: -- power_supply_unregister(&pda_power_supplies[0]); --supply0_failed: -+ if (pdata->is_ac_online) -+ power_supply_unregister(&pda_power_supplies[0]); -+ac_supply_failed: - noirqs: - wrongid: --success: - return ret; - } - - static int pda_power_remove(struct platform_device *pdev) - { -- if (usb_irq) -+ if (pdata->is_usb_online && usb_irq) - free_irq(usb_irq->start, &pda_power_supplies[1]); -- if (ac_irq) -+ if (pdata->is_ac_online && ac_irq) - free_irq(ac_irq->start, &pda_power_supplies[0]); - del_timer_sync(&charger_timer); - del_timer_sync(&supply_timer); -- power_supply_unregister(&pda_power_supplies[1]); -- power_supply_unregister(&pda_power_supplies[0]); -+ if (pdata->is_usb_online) -+ power_supply_unregister(&pda_power_supplies[1]); -+ if (pdata->is_ac_online) -+ power_supply_unregister(&pda_power_supplies[0]); - return 0; - } - --- -1.5.3.8 - |