Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb9802fa authored by Luming Yu's avatar Luming Yu Committed by Len Brown
Browse files

[ACPI] generic Hot Key support

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: default avatarLuming Yu <luming.yu@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent d58da590
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
@@ -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
+2 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ 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_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
+4 −0
Original line number Diff line number Diff line
@@ -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");

drivers/acpi/hotkey.c

0 → 100644
+1018 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading