From 3ff8e143d185d39dd55dd04f1d65deb18a7a62fd Mon Sep 17 00:00:00 2001 From: Henrique de Moraes Holschuh Date: Tue, 8 Jan 2008 13:02:50 -0200 Subject: [PATCH] --- yaml --- r: 84080 b: refs/heads/master c: 083f17606f624c79555e313d87cf37ac1486b073 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/misc/thinkpad_acpi.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f8f01d487d55..44bc7825b001 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 35ff8b9fa90d97f3a19ea3e2311385927535ebc9 +refs/heads/master: 083f17606f624c79555e313d87cf37ac1486b073 diff --git a/trunk/drivers/misc/thinkpad_acpi.c b/trunk/drivers/misc/thinkpad_acpi.c index dd6fa81fa868..c6c25a460c9c 100644 --- a/trunk/drivers/misc/thinkpad_acpi.c +++ b/trunk/drivers/misc/thinkpad_acpi.c @@ -188,6 +188,7 @@ struct ibm_struct { int (*write) (char *); void (*exit) (void); void (*resume) (void); + void (*suspend) (pm_message_t state); struct list_head all_drivers; @@ -658,6 +659,21 @@ static struct input_dev *tpacpi_inputdev; static struct mutex tpacpi_inputdev_send_mutex; static LIST_HEAD(tpacpi_all_drivers); +static int tpacpi_suspend_handler(struct platform_device *pdev, + pm_message_t state) +{ + struct ibm_struct *ibm, *itmp; + + list_for_each_entry_safe(ibm, itmp, + &tpacpi_all_drivers, + all_drivers) { + if (ibm->suspend) + (ibm->suspend)(state); + } + + return 0; +} + static int tpacpi_resume_handler(struct platform_device *pdev) { struct ibm_struct *ibm, *itmp; @@ -677,6 +693,7 @@ static struct platform_driver tpacpi_pdriver = { .name = TPACPI_DRVR_NAME, .owner = THIS_MODULE, }, + .suspend = tpacpi_suspend_handler, .resume = tpacpi_resume_handler, };