--- linux/drivers/acpi/ec.c.old	2010-07-14 01:25:24.682440996 +0200
+++ linux/drivers/acpi/ec.c	2010-07-14 01:26:56.422441008 +0200
@@ -864,6 +864,15 @@
 {
 	struct acpi_ec *ec = NULL;
 	int ret;
+	acpi_status status;
+	union acpi_object arg_objs[] = {
+		{ACPI_TYPE_INTEGER},
+		{ACPI_TYPE_INTEGER}
+	};
+	struct acpi_object_list args = { 2, arg_objs };
+
+	arg_objs[0].integer.value = 3;
+	arg_objs[1].integer.value = 1;
 
 	strcpy(acpi_device_name(device), ACPI_EC_DEVICE_NAME);
 	strcpy(acpi_device_class(device), ACPI_EC_CLASS);
@@ -894,6 +903,10 @@
 	if (!first_ec)
 		first_ec = ec;
 	device->driver_data = ec;
+	status = acpi_evaluate_object (ec->handle, "_REG", &args, NULL);
+	if (ACPI_FAILURE(status)) {
+		printk(KERN_INFO "@@@@@@@@@@@@@ _REG\n");
+	}
 	acpi_ec_add_fs(device);
 	pr_info(PREFIX "GPE = 0x%lx, I/O: command/status = 0x%lx, data = 0x%lx\n",
 			  ec->gpe, ec->command_addr, ec->data_addr);
