Skip to content

Commit

Permalink
[ACPI] generic Hot Key support
Browse files Browse the repository at this point in the history
See Documentation/acpi-hotkey.txt

Use cmdline "acpi_specific_hotkey" to enable
legacy platform specific drivers.

http://bugzilla.kernel.org/show_bug.cgi?id=3887

Signed-off-by: Luming Yu <[email protected]>
Signed-off-by: Len Brown <[email protected]>
  • Loading branch information
lumingyu88 authored and lenb committed Jul 12, 2005
1 parent d58da59 commit fb9802f
Show file tree
Hide file tree
Showing 9 changed files with 1,094 additions and 1 deletion.
35 changes: 35 additions & 0 deletions Documentation/acpi-hotkey.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
driver/acpi/hotkey.c implement:
1. /proc/acpi/hotkey/event_config
(event based hotkey or event config interface):
a. add a event based hotkey(event) :
echo "0:bus::action:method:num:num" > event_config

b. delete a event based hotkey(event):
echo "1:::::num:num" > event_config

c. modify a event based hotkey(event):
echo "2:bus::action:method:num:num" > event_config

2. /proc/acpi/hotkey/poll_config
(polling based hotkey or event config interface):
a.add a polling based hotkey(event) :
echo "0:bus:method:action:method:num" > poll_config
this adding command will create a proc file
/proc/acpi/hotkey/method, which is used to get
result of polling.

b.delete a polling based hotkey(event):
echo "1:::::num" > event_config

c.modify a polling based hotkey(event):
echo "2:bus:method:action:method:num" > poll_config

3./proc/acpi/hotkey/action
(interface to call aml method associated with a
specific hotkey(event))
echo "event_num:event_type:event_argument" >
/proc/acpi/hotkey/action.
The result of the execution of this aml method is
attached to /proc/acpi/hotkey/poll_method, which is dnyamically
created. Please use command "cat /proc/acpi/hotkey/polling_method"
to retrieve it.
9 changes: 9 additions & 0 deletions drivers/acpi/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,15 @@ config ACPI_VIDEO
Note that this is an ref. implementation only. It may or may not work
for your integrated video device.

config ACPI_HOTKEY
tristate "Generic Hotkey"
depends on ACPI_INTERPRETER
depends on EXPERIMENTAL
depends on !IA64_SGI_SN
default m
help
ACPI generic hotkey

config ACPI_FAN
tristate "Fan"
depends on !IA64_SGI_SN
Expand Down
3 changes: 2 additions & 1 deletion drivers/acpi/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ obj-$(CONFIG_ACPI_BATTERY) += battery.o
obj-$(CONFIG_ACPI_BUTTON) += button.o
obj-$(CONFIG_ACPI_EC) += ec.o
obj-$(CONFIG_ACPI_FAN) += fan.o
obj-$(CONFIG_ACPI_VIDEO) += video.o
obj-$(CONFIG_ACPI_VIDEO) += video.o
obj-$(CONFIG_ACPI_HOTKEY) += hotkey.o
obj-$(CONFIG_ACPI_PCI) += pci_root.o pci_link.o pci_irq.o pci_bind.o
obj-$(CONFIG_ACPI_POWER) += power.o
obj-$(CONFIG_ACPI_PROCESSOR) += processor.o
Expand Down
4 changes: 4 additions & 0 deletions drivers/acpi/asus_acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1204,6 +1204,10 @@ static int __init asus_acpi_init(void)
if (acpi_disabled)
return -ENODEV;

if (!acpi_specific_hotkey_enabled){
printk(KERN_ERR "Using generic hotkey driver\n");
return -ENODEV;
}
asus_proc_dir = proc_mkdir(PROC_ASUS, acpi_root_dir);
if (!asus_proc_dir) {
printk(KERN_ERR "Asus ACPI: Unable to create /proc entry\n");
Expand Down
Loading

0 comments on commit fb9802f

Please sign in to comment.