1 From df0801d2cd6a7081700c79f437d1185cbe1960a7 Mon Sep 17 00:00:00 2001
2 From: Dmitry Baryshkov <dbaryshkov@gmail.com>
3 Date: Wed, 9 Jan 2008 02:08:18 +0300
4 Subject: [PATCH 28/64] Add suspend/resume/wakeup support for pda_power.
5 Now with device_init_wakeup.
7 Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
9 drivers/power/pda_power.c | 34 ++++++++++++++++++++++++++++++++++
10 1 files changed, 34 insertions(+), 0 deletions(-)
12 diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c
13 index d98622f..28360e8 100644
14 --- a/drivers/power/pda_power.c
15 +++ b/drivers/power/pda_power.c
16 @@ -207,6 +207,8 @@ static int pda_power_probe(struct platform_device *pdev)
20 + device_init_wakeup(&pdev->dev, 1);
25 @@ -239,12 +241,44 @@ static int pda_power_remove(struct platform_device *pdev)
30 +static int pda_power_suspend(struct platform_device *pdev, pm_message_t state)
32 + if (device_may_wakeup(&pdev->dev)) {
34 + enable_irq_wake(ac_irq->start);
36 + enable_irq_wake(usb_irq->start);
42 +static int pda_power_resume(struct platform_device *pdev)
44 + if (device_may_wakeup(&pdev->dev)) {
46 + disable_irq_wake(usb_irq->start);
48 + disable_irq_wake(ac_irq->start);
54 +#define pda_power_suspend NULL
55 +#define pda_power_resume NULL
59 static struct platform_driver pda_power_pdrv = {
63 .probe = pda_power_probe,
64 .remove = pda_power_remove,
65 + .suspend = pda_power_suspend,
66 + .resume = pda_power_resume,
69 static int __init pda_power_init(void)