diff options
author | Henrique de Moraes Holschuh <hmh@hmh.eng.br> | 2009-04-04 00:25:48 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-04-04 03:14:52 -0400 |
commit | 2586d5663d0a17d69383acf6110f16a979a07c4e (patch) | |
tree | 5bfe1ef88ee03084175bb94c4c1079402fefbe7b /Documentation/laptops/thinkpad-acpi.txt | |
parent | 73a94d86a8625371f76de0ee12dc5bacd3ed42c0 (diff) |
thinkpad-acpi: remove HKEY disable functionality
The HKEY disable functionality basically cripples the entire event
model of the ThinkPad firmware and of the thinkpad-acpi driver.
Remove this functionality from the driver. HKEY must be enabled at
all times while thinkpad-acpi is loaded, and disabled otherwise.
For sysfs, according to the sysfs ABI and the thinkpad-acpi sysfs
rules of engagement, we will just remove the attributes. This will be
done in two stages: disable their function now, after two kernel
releases, remove the attributes.
For procfs, we call WARN(). If nothing triggers it, I will simply
remove the enable/disable commands entirely in the future along with
the sysfs attributes.
I don't expect much, if any fallout from this. There really isn't any
reason to mess with hotkey_enable or with the enable/disable commands
to /proc/acpi/ibm/hotkey, and this has been true for years...
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'Documentation/laptops/thinkpad-acpi.txt')
-rw-r--r-- | Documentation/laptops/thinkpad-acpi.txt | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index e8f52fbadfe0..de6f14c79070 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
@@ -179,17 +179,14 @@ system. Enabling the hotkey functionality of thinkpad-acpi signals the | |||
179 | firmware that such a driver is present, and modifies how the ThinkPad | 179 | firmware that such a driver is present, and modifies how the ThinkPad |
180 | firmware will behave in many situations. | 180 | firmware will behave in many situations. |
181 | 181 | ||
182 | The driver enables the hot key feature automatically when loaded. The | 182 | The driver enables the HKEY ("hot key") event reporting automatically |
183 | feature can later be disabled and enabled back at runtime. The driver | 183 | when loaded, and disables it when it is removed. |
184 | will also restore the hot key feature to its previous state and mask | ||
185 | when it is unloaded. | ||
186 | 184 | ||
187 | When the hotkey feature is enabled and the hot key mask is set (see | 185 | The driver will report HKEY events in the following format: |
188 | below), the driver will report HKEY events in the following format: | ||
189 | 186 | ||
190 | ibm/hotkey HKEY 00000080 0000xxxx | 187 | ibm/hotkey HKEY 00000080 0000xxxx |
191 | 188 | ||
192 | Some of these events refer to hot key presses, but not all. | 189 | Some of these events refer to hot key presses, but not all of them. |
193 | 190 | ||
194 | The driver will generate events over the input layer for hot keys and | 191 | The driver will generate events over the input layer for hot keys and |
195 | radio switches, and over the ACPI netlink layer for other events. The | 192 | radio switches, and over the ACPI netlink layer for other events. The |
@@ -221,13 +218,17 @@ procfs notes: | |||
221 | 218 | ||
222 | The following commands can be written to the /proc/acpi/ibm/hotkey file: | 219 | The following commands can be written to the /proc/acpi/ibm/hotkey file: |
223 | 220 | ||
224 | echo enable > /proc/acpi/ibm/hotkey -- enable the hot keys feature | ||
225 | echo disable > /proc/acpi/ibm/hotkey -- disable the hot keys feature | ||
226 | echo 0xffffffff > /proc/acpi/ibm/hotkey -- enable all hot keys | 221 | echo 0xffffffff > /proc/acpi/ibm/hotkey -- enable all hot keys |
227 | echo 0 > /proc/acpi/ibm/hotkey -- disable all possible hot keys | 222 | echo 0 > /proc/acpi/ibm/hotkey -- disable all possible hot keys |
228 | ... any other 8-hex-digit mask ... | 223 | ... any other 8-hex-digit mask ... |
229 | echo reset > /proc/acpi/ibm/hotkey -- restore the original mask | 224 | echo reset > /proc/acpi/ibm/hotkey -- restore the original mask |
230 | 225 | ||
226 | The following commands have been deprecated and will cause the kernel | ||
227 | to log a warning: | ||
228 | |||
229 | echo enable > /proc/acpi/ibm/hotkey -- does nothing | ||
230 | echo disable > /proc/acpi/ibm/hotkey -- returns an error | ||
231 | |||
231 | The procfs interface does not support NVRAM polling control. So as to | 232 | The procfs interface does not support NVRAM polling control. So as to |
232 | maintain maximum bug-to-bug compatibility, it does not report any masks, | 233 | maintain maximum bug-to-bug compatibility, it does not report any masks, |
233 | nor does it allow one to manipulate the hot key mask when the firmware | 234 | nor does it allow one to manipulate the hot key mask when the firmware |
@@ -236,12 +237,9 @@ does not support masks at all, even if NVRAM polling is in use. | |||
236 | sysfs notes: | 237 | sysfs notes: |
237 | 238 | ||
238 | hotkey_bios_enabled: | 239 | hotkey_bios_enabled: |
239 | Returns the status of the hot keys feature when | 240 | DEPRECATED, WILL BE REMOVED SOON. |
240 | thinkpad-acpi was loaded. Upon module unload, the hot | ||
241 | key feature status will be restored to this value. | ||
242 | 241 | ||
243 | 0: hot keys were disabled | 242 | Returns 0. |
244 | 1: hot keys were enabled (unusual) | ||
245 | 243 | ||
246 | hotkey_bios_mask: | 244 | hotkey_bios_mask: |
247 | Returns the hot keys mask when thinkpad-acpi was loaded. | 245 | Returns the hot keys mask when thinkpad-acpi was loaded. |
@@ -249,13 +247,10 @@ sysfs notes: | |||
249 | to this value. | 247 | to this value. |
250 | 248 | ||
251 | hotkey_enable: | 249 | hotkey_enable: |
252 | Enables/disables the hot keys feature in the ACPI | 250 | DEPRECATED, WILL BE REMOVED SOON. |
253 | firmware, and reports current status of the hot keys | ||
254 | feature. Has no effect on the NVRAM hot key polling | ||
255 | functionality. | ||
256 | 251 | ||
257 | 0: disables the hot keys feature / feature disabled | 252 | 0: returns -EPERM |
258 | 1: enables the hot keys feature / feature enabled | 253 | 1: does nothing |
259 | 254 | ||
260 | hotkey_mask: | 255 | hotkey_mask: |
261 | bit mask to enable driver-handling (and depending on | 256 | bit mask to enable driver-handling (and depending on |
@@ -1535,3 +1530,7 @@ Sysfs interface changelog: | |||
1535 | 1530 | ||
1536 | 0x020200: Add poll()/select() support to the following attributes: | 1531 | 0x020200: Add poll()/select() support to the following attributes: |
1537 | hotkey_radio_sw, wakeup_hotunplug_complete, wakeup_reason | 1532 | hotkey_radio_sw, wakeup_hotunplug_complete, wakeup_reason |
1533 | |||
1534 | 0x020300: hotkey enable/disable support removed, attributes | ||
1535 | hotkey_bios_enabled and hotkey_enable deprecated and | ||
1536 | marked for removal. | ||