[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1271108002-15574-1-git-send-email-daniel@caiaq.de>
Date: Mon, 12 Apr 2010 23:33:22 +0200
From: Daniel Mack <daniel@...aq.de>
To: linux-kernel@...r.kernel.org
Cc: Daniel Mack <daniel@...aq.de>,
Dmitry Baryshkov <dbaryshkov@...il.com>,
Anton Vorontsov <cbou@...l.ru>,
David Woodhouse <dwmw2@...radead.org>
Subject: [PATCH] pda_power: add function callbacks for suspend and resume
Add function prototypes for power management events so they can be
handled and used by platform implementations.
Signed-off-by: Daniel Mack <daniel@...aq.de>
Cc: Dmitry Baryshkov <dbaryshkov@...il.com>
Cc: Anton Vorontsov <cbou@...l.ru>
Cc: David Woodhouse <dwmw2@...radead.org>
---
drivers/power/pda_power.c | 9 +++++++++
include/linux/pda_power.h | 2 ++
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c
index a232de6..0b27b9d 100644
--- a/drivers/power/pda_power.c
+++ b/drivers/power/pda_power.c
@@ -404,6 +404,12 @@ static int usb_wakeup_enabled;
static int pda_power_suspend(struct platform_device *pdev, pm_message_t state)
{
+ if (pdata->suspend) {
+ int ret = pdata->suspend(state);
+ if (ret)
+ return ret;
+ }
+
if (device_may_wakeup(&pdev->dev)) {
if (ac_irq)
ac_wakeup_enabled = !enable_irq_wake(ac_irq->start);
@@ -423,6 +429,9 @@ static int pda_power_resume(struct platform_device *pdev)
disable_irq_wake(ac_irq->start);
}
+ if (pdata->resume)
+ return pdata->resume();
+
return 0;
}
#else
diff --git a/include/linux/pda_power.h b/include/linux/pda_power.h
index d4cf7a2..c9e4d81 100644
--- a/include/linux/pda_power.h
+++ b/include/linux/pda_power.h
@@ -24,6 +24,8 @@ struct pda_power_pdata {
int (*is_usb_online)(void);
void (*set_charge)(int flags);
void (*exit)(struct device *dev);
+ int (*suspend)(pm_message_t state);
+ int (*resume)(void);
char **supplied_to;
size_t num_supplicants;
--
1.7.0.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists