diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2014-09-02 14:04:19 -0400 |
---|---|---|
committer | Darren Hart <dvhart@linux.intel.com> | 2014-09-02 18:45:36 -0400 |
commit | e7fdb762b9e1e10c3271e47723b2003330829ddf (patch) | |
tree | cf9d0c4c12967f13586c4f44dfa701f46d18234b /drivers/platform | |
parent | b3d94d7011cd6dbfd315637e31f5d557116e76d7 (diff) |
platform/x86: toshiba: re-enable acpi hotkeys after suspend to disk
On the Toshiba Tecra Z40, after a suspend-to-disk, some FN hotkeys
driven by toshiba_acpi are not functional.
Calling the ACPI object ENAB on resume makes them back alive.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/toshiba_acpi.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c index b062d3d7b373..ba75701986e5 100644 --- a/drivers/platform/x86/toshiba_acpi.c +++ b/drivers/platform/x86/toshiba_acpi.c | |||
@@ -1857,9 +1857,16 @@ static int toshiba_acpi_resume(struct device *device) | |||
1857 | { | 1857 | { |
1858 | struct toshiba_acpi_dev *dev = acpi_driver_data(to_acpi_device(device)); | 1858 | struct toshiba_acpi_dev *dev = acpi_driver_data(to_acpi_device(device)); |
1859 | u32 result; | 1859 | u32 result; |
1860 | acpi_status status; | ||
1861 | |||
1862 | if (dev->hotkey_dev) { | ||
1863 | status = acpi_evaluate_object(dev->acpi_dev->handle, "ENAB", | ||
1864 | NULL, NULL); | ||
1865 | if (ACPI_FAILURE(status)) | ||
1866 | pr_info("Unable to re-enable hotkeys\n"); | ||
1860 | 1867 | ||
1861 | if (dev->hotkey_dev) | ||
1862 | hci_write1(dev, HCI_HOTKEY_EVENT, HCI_HOTKEY_ENABLE, &result); | 1868 | hci_write1(dev, HCI_HOTKEY_EVENT, HCI_HOTKEY_ENABLE, &result); |
1869 | } | ||
1863 | 1870 | ||
1864 | return 0; | 1871 | return 0; |
1865 | } | 1872 | } |