updated on Thu Jan 26 00:18:00 UTC 2012
[aur-mirror.git] / eeemodules-hal / asus_acpi.patch
blob8868ffd997621143a832b10f6602723957cdffde
1 --- asus_acpi.c.orig 2009-06-28 21:39:27.000000000 -0400
2 +++ asus_acpi.c 2009-06-28 21:40:25.000000000 -0400
3 @@ -36,6 +36,7 @@
4 #include <linux/types.h>
5 #include <linux/proc_fs.h>
6 #include <linux/backlight.h>
7 +#include <linux/version.h>
8 #include <acpi/acpi_drivers.h>
9 #include <acpi/acpi_bus.h>
10 #include <asm/uaccess.h>
11 @@ -158,10 +159,15 @@
12 static int eeepc_hotk_add(struct acpi_device *device);
13 static int eeepc_hotk_remove(struct acpi_device *device, int type);
15 +static const struct acpi_device_id eee_device_ids[] = {
16 + {EEEPC_HOTK_HID, 0},
17 + {"", 0}
18 +};
20 static struct acpi_driver eeepc_hotk_driver = {
21 .name = "eeepc_acpi",
22 .class = EEEPC_HOTK_CLASS,
23 - .ids = EEEPC_HOTK_HID,
24 + .ids = eee_device_ids,
25 .ops = {
26 .add = eeepc_hotk_add,
27 .remove = eeepc_hotk_remove,
28 @@ -547,7 +553,7 @@
29 static struct acpi_driver asus_hotk_driver = {
30 .name = "asus_acpi",
31 .class = ACPI_HOTK_CLASS,
32 - .ids = ACPI_HOTK_HID,
33 + .ids = eee_device_ids,
34 .ops = {
35 .add = asus_hotk_add,
36 .remove = asus_hotk_remove,
37 @@ -1050,7 +1056,9 @@
38 proc->write_proc = writefunc;
39 proc->read_proc = readfunc;
40 proc->data = acpi_driver_data(device);
41 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
42 proc->owner = THIS_MODULE;
43 + #endif
44 proc->uid = asus_uid;
45 proc->gid = asus_gid;
46 return 0;
47 @@ -1083,7 +1091,9 @@
48 if (proc) {
49 proc->read_proc = proc_read_info;
50 proc->data = acpi_driver_data(device);
51 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
52 proc->owner = THIS_MODULE;
53 + #endif
54 proc->uid = asus_uid;
55 proc->gid = asus_gid;
56 } else {
57 @@ -1178,7 +1188,7 @@
58 hotk->brightness = (event & ~((u32) BR_DOWN));
61 - acpi_bus_generate_event(hotk->device, event,
62 + acpi_bus_generate_proc_event(hotk->device, event,
63 hotk->event_count[event % 128]++);
65 return;
66 @@ -1394,7 +1404,7 @@
67 hotk->handle = device->handle;
68 strcpy(acpi_device_name(device), ACPI_HOTK_DEVICE_NAME);
69 strcpy(acpi_device_class(device), ACPI_HOTK_CLASS);
70 - acpi_driver_data(device) = hotk;
71 + device->driver_data = hotk;
72 hotk->device = device;
74 result = asus_hotk_check();
75 @@ -1494,8 +1504,9 @@
76 printk(KERN_ERR "Asus ACPI: Unable to create /proc entry\n");
77 return -ENODEV;
79 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
80 asus_proc_dir->owner = THIS_MODULE;
82 + #endif
83 result = acpi_bus_register_driver(&asus_hotk_driver);
84 if (result < 0) {
85 remove_proc_entry(PROC_ASUS, acpi_root_dir);
86 @@ -1626,7 +1637,9 @@
87 proc->write_proc = eeepc_hotk_reset_init;
88 proc->read_proc = NULL;
89 proc->data = NULL;
90 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
91 proc->owner = THIS_MODULE;
92 + #endif
93 proc->uid = eeepc_uid;
94 proc->gid = eeepc_gid;
95 return 0;
96 @@ -1644,7 +1657,9 @@
97 proc->write_proc = eeepc_hotk_write_proc;
98 proc->read_proc = eeepc_hotk_read_proc;
99 proc->data = (void*)cm;
100 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
101 proc->owner = THIS_MODULE;
102 + #endif
103 proc->uid = eeepc_uid;
104 proc->gid = eeepc_gid;
105 return 0;
106 @@ -1785,7 +1800,7 @@
107 event = 0x11;
110 - acpi_bus_generate_event(ehotk->device, event, ehotk->event_count[event % 128]++);
111 + acpi_bus_generate_proc_event(ehotk->device, event, ehotk->event_count[event % 128]++);
113 return;
115 @@ -1809,7 +1824,7 @@
116 ehotk->handle = device->handle;
117 strcpy(acpi_device_name(device), EEEPC_HOTK_DEVICE_NAME);
118 strcpy(acpi_device_class(device), EEEPC_HOTK_CLASS);
119 - acpi_driver_data(device) = ehotk;
120 + device->driver_data = ehotk;
121 ehotk->device = device;
123 result = eeepc_hotk_check();
124 @@ -1877,8 +1892,9 @@
125 printk(KERN_ERR "Asus ACPI: Unable to create /proc entry\n");
126 return -ENODEV;
128 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
129 eeepc_proc_dir->owner = THIS_MODULE;
131 + #endif
132 init_flag = DISABLE_ASL_WLAN|DISABLE_ASL_DISPLAYSWITCH;
134 result = acpi_bus_register_driver(&eeepc_hotk_driver);