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
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>
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},
20 static struct acpi_driver eeepc_hotk_driver = {
22 .class = EEEPC_HOTK_CLASS,
23 - .ids = EEEPC_HOTK_HID,
24 + .ids = eee_device_ids,
26 .add = eeepc_hotk_add,
27 .remove = eeepc_hotk_remove,
29 static struct acpi_driver asus_hotk_driver = {
31 .class = ACPI_HOTK_CLASS,
32 - .ids = ACPI_HOTK_HID,
33 + .ids = eee_device_ids,
36 .remove = asus_hotk_remove,
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;
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;
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]++);
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();
76 printk(KERN_ERR "Asus ACPI: Unable to create /proc entry\n");
79 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
80 asus_proc_dir->owner = THIS_MODULE;
83 result = acpi_bus_register_driver(&asus_hotk_driver);
85 remove_proc_entry(PROC_ASUS, acpi_root_dir);
87 proc->write_proc = eeepc_hotk_reset_init;
88 proc->read_proc = NULL;
90 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
91 proc->owner = THIS_MODULE;
93 proc->uid = eeepc_uid;
94 proc->gid = eeepc_gid;
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;
103 proc->uid = eeepc_uid;
104 proc->gid = eeepc_gid;
106 @@ -1785,7 +1800,7 @@
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]++);
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");
128 + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
129 eeepc_proc_dir->owner = THIS_MODULE;
132 init_flag = DISABLE_ASL_WLAN|DISABLE_ASL_DISPLAYSWITCH;
134 result = acpi_bus_register_driver(&eeepc_hotk_driver);