View | Details | Raw Unified | Return to bug 9399 | Differences between
and this patch

Collapse All | Expand All

(-)linux-2.6.orig/drivers/acpi/ec.c (+30 lines)
Lines 110-115 Link Here
110
	u8 handlers_installed;
110
	u8 handlers_installed;
111
} *boot_ec, *first_ec;
111
} *boot_ec, *first_ec;
112
112
113
static int print_ecdt_error(const struct dmi_system_id *id)
114
{
115
	printk(KERN_NOTICE PREFIX "%s detected - "
116
		"ECDT gives the incorrect command/data I/O address\n",
117
		id->ident);
118
	return 0;
119
}
120
static struct dmi_system_id __cpuinitdata ec_dmi_table[] = {
121
	{
122
	print_ecdt_error, "Asus L4R", {
123
	DMI_MATCH(DMI_BIOS_VENDOR, "1008.006"),
124
	DMI_MATCH(DMI_PRODUCT_NAME, "L4R"),
125
	DMI_MATCH(DMI_BOARD_NAME, "L4R") }, NULL},
126
	{
127
	print_ecdt_error, "Asus M6R", {
128
	DMI_MATCH(DMI_BIOS_VENDOR, "0207"),
129
	DMI_MATCH(DMI_PRODUCT_NAME, "M6R"),
130
	DMI_MATCH(DMI_BOARD_NAME, "M6R") }, NULL},
131
	{},
132
};
133
113
/* --------------------------------------------------------------------------
134
/* --------------------------------------------------------------------------
114
                             Transaction Management
135
                             Transaction Management
115
   -------------------------------------------------------------------------- */
136
   -------------------------------------------------------------------------- */
Lines 911-916 Link Here
911
		pr_info(PREFIX "EC description table is found, configuring boot EC\n");
932
		pr_info(PREFIX "EC description table is found, configuring boot EC\n");
912
		boot_ec->command_addr = ecdt_ptr->control.address;
933
		boot_ec->command_addr = ecdt_ptr->control.address;
913
		boot_ec->data_addr = ecdt_ptr->data.address;
934
		boot_ec->data_addr = ecdt_ptr->data.address;
935
		if (dmi_check_system(ec_dmi_table)) {
936
			/*
937
 			 * If the board falls into ec_dmi_table, it means
938
 			 * that ECDT table gives the incorrect command/status
939
 			 * & data I/O address. Just fix it.
940
			 */
941
			boot_ec->data_addr = ecdt_ptr->control.address;
942
			boot_ec->command_addr = ecdt_ptr->data.address;
943
		}
914
		boot_ec->gpe = ecdt_ptr->gpe;
944
		boot_ec->gpe = ecdt_ptr->gpe;
915
		boot_ec->handle = ACPI_ROOT_OBJECT;
945
		boot_ec->handle = ACPI_ROOT_OBJECT;
916
		acpi_get_handle(ACPI_ROOT_OBJECT, ecdt_ptr->id, &boot_ec->handle);
946
		acpi_get_handle(ACPI_ROOT_OBJECT, ecdt_ptr->id, &boot_ec->handle);

Return to bug 9399