diff options
author | Henrique de Moraes Holschuh <hmh@hmh.eng.br> | 2007-07-18 22:45:37 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-07-21 23:46:08 -0400 |
commit | e295e8508c1dd56e06c73e78a2f67f2eb563e74f (patch) | |
tree | 076ac3317d2158e76d1326912f190c354f895b65 /drivers/misc | |
parent | 1a343760b516ca5466d201bec32b1794858b18a5 (diff) |
ACPI: thinkpad-acpi: add power-management handler capability
Some subdrivers could benefit from resume handling, so add the
infrastructure for simple resume handling.
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/thinkpad_acpi.c | 16 | ||||
-rw-r--r-- | drivers/misc/thinkpad_acpi.h | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c index c86b228375c..78914bf2166 100644 --- a/drivers/misc/thinkpad_acpi.c +++ b/drivers/misc/thinkpad_acpi.c | |||
@@ -519,11 +519,27 @@ static struct platform_device *tpacpi_pdev; | |||
519 | static struct class_device *tpacpi_hwmon; | 519 | static struct class_device *tpacpi_hwmon; |
520 | static struct input_dev *tpacpi_inputdev; | 520 | static struct input_dev *tpacpi_inputdev; |
521 | 521 | ||
522 | |||
523 | static int tpacpi_resume_handler(struct platform_device *pdev) | ||
524 | { | ||
525 | struct ibm_struct *ibm, *itmp; | ||
526 | |||
527 | list_for_each_entry_safe(ibm, itmp, | ||
528 | &tpacpi_all_drivers, | ||
529 | all_drivers) { | ||
530 | if (ibm->resume) | ||
531 | (ibm->resume)(); | ||
532 | } | ||
533 | |||
534 | return 0; | ||
535 | } | ||
536 | |||
522 | static struct platform_driver tpacpi_pdriver = { | 537 | static struct platform_driver tpacpi_pdriver = { |
523 | .driver = { | 538 | .driver = { |
524 | .name = IBM_DRVR_NAME, | 539 | .name = IBM_DRVR_NAME, |
525 | .owner = THIS_MODULE, | 540 | .owner = THIS_MODULE, |
526 | }, | 541 | }, |
542 | .resume = tpacpi_resume_handler, | ||
527 | }; | 543 | }; |
528 | 544 | ||
529 | 545 | ||
diff --git a/drivers/misc/thinkpad_acpi.h b/drivers/misc/thinkpad_acpi.h index 00f1bd73df8..c5c1316ae3a 100644 --- a/drivers/misc/thinkpad_acpi.h +++ b/drivers/misc/thinkpad_acpi.h | |||
@@ -205,6 +205,7 @@ struct ibm_struct { | |||
205 | int (*read) (char *); | 205 | int (*read) (char *); |
206 | int (*write) (char *); | 206 | int (*write) (char *); |
207 | void (*exit) (void); | 207 | void (*exit) (void); |
208 | void (*resume) (void); | ||
208 | 209 | ||
209 | struct list_head all_drivers; | 210 | struct list_head all_drivers; |
210 | 211 | ||