diff options
author | Len Brown <len.brown@intel.com> | 2007-07-22 02:29:41 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-07-22 02:29:41 -0400 |
commit | b4b613fd83853f8c688b3de20ab1a42331257975 (patch) | |
tree | 3eee8c81bda9e32cd80631bcb77b9401c6e0fa3c /drivers/acpi | |
parent | 5e16e3f0e24dadb79b96b6134cd3303f0d42f0c5 (diff) | |
parent | 3c6394c5bd04e31d40d007af8b6c2484a08838d0 (diff) |
Pull osi into release branch
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/osl.c | 40 | ||||
-rw-r--r-- | drivers/acpi/utilities/uteval.c | 17 |
2 files changed, 9 insertions, 48 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 00d53c2fd1e8..12c09fafce9a 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -77,13 +77,7 @@ static struct workqueue_struct *kacpi_notify_wq; | |||
77 | #define OSI_STRING_LENGTH_MAX 64 /* arbitrary */ | 77 | #define OSI_STRING_LENGTH_MAX 64 /* arbitrary */ |
78 | static char osi_additional_string[OSI_STRING_LENGTH_MAX]; | 78 | static char osi_additional_string[OSI_STRING_LENGTH_MAX]; |
79 | 79 | ||
80 | #define OSI_LINUX_ENABLED | 80 | static int osi_linux; /* disable _OSI(Linux) by default */ |
81 | #ifdef OSI_LINUX_ENABLED | ||
82 | int osi_linux = 1; /* enable _OSI(Linux) by default */ | ||
83 | #else | ||
84 | int osi_linux; /* disable _OSI(Linux) by default */ | ||
85 | #endif | ||
86 | |||
87 | 81 | ||
88 | #ifdef CONFIG_DMI | 82 | #ifdef CONFIG_DMI |
89 | static struct __initdata dmi_system_id acpi_osl_dmi_table[]; | 83 | static struct __initdata dmi_system_id acpi_osl_dmi_table[]; |
@@ -1183,17 +1177,10 @@ acpi_os_validate_interface (char *interface) | |||
1183 | if (!strcmp("Linux", interface)) { | 1177 | if (!strcmp("Linux", interface)) { |
1184 | printk(KERN_WARNING PREFIX | 1178 | printk(KERN_WARNING PREFIX |
1185 | "System BIOS is requesting _OSI(Linux)\n"); | 1179 | "System BIOS is requesting _OSI(Linux)\n"); |
1186 | #ifdef OSI_LINUX_ENABLED | ||
1187 | printk(KERN_WARNING PREFIX | ||
1188 | "Please test with \"acpi_osi=!Linux\"\n" | ||
1189 | "Please send dmidecode " | ||
1190 | "to linux-acpi@vger.kernel.org\n"); | ||
1191 | #else | ||
1192 | printk(KERN_WARNING PREFIX | 1180 | printk(KERN_WARNING PREFIX |
1193 | "If \"acpi_osi=Linux\" works better,\n" | 1181 | "If \"acpi_osi=Linux\" works better,\n" |
1194 | "Please send dmidecode " | 1182 | "Please send dmidecode " |
1195 | "to linux-acpi@vger.kernel.org\n"); | 1183 | "to linux-acpi@vger.kernel.org\n"); |
1196 | #endif | ||
1197 | if(osi_linux) | 1184 | if(osi_linux) |
1198 | return AE_OK; | 1185 | return AE_OK; |
1199 | } | 1186 | } |
@@ -1227,36 +1214,14 @@ acpi_os_validate_address ( | |||
1227 | } | 1214 | } |
1228 | 1215 | ||
1229 | #ifdef CONFIG_DMI | 1216 | #ifdef CONFIG_DMI |
1230 | #ifdef OSI_LINUX_ENABLED | ||
1231 | static int dmi_osi_not_linux(struct dmi_system_id *d) | ||
1232 | { | ||
1233 | printk(KERN_NOTICE "%s detected: requires not _OSI(Linux)\n", d->ident); | ||
1234 | enable_osi_linux(0); | ||
1235 | return 0; | ||
1236 | } | ||
1237 | #else | ||
1238 | static int dmi_osi_linux(struct dmi_system_id *d) | 1217 | static int dmi_osi_linux(struct dmi_system_id *d) |
1239 | { | 1218 | { |
1240 | printk(KERN_NOTICE "%s detected: requires _OSI(Linux)\n", d->ident); | 1219 | printk(KERN_NOTICE "%s detected: enabling _OSI(Linux)\n", d->ident); |
1241 | enable_osi_linux(1); | 1220 | enable_osi_linux(1); |
1242 | return 0; | 1221 | return 0; |
1243 | } | 1222 | } |
1244 | #endif | ||
1245 | 1223 | ||
1246 | static struct dmi_system_id acpi_osl_dmi_table[] __initdata = { | 1224 | static struct dmi_system_id acpi_osl_dmi_table[] __initdata = { |
1247 | #ifdef OSI_LINUX_ENABLED | ||
1248 | /* | ||
1249 | * Boxes that need NOT _OSI(Linux) | ||
1250 | */ | ||
1251 | { | ||
1252 | .callback = dmi_osi_not_linux, | ||
1253 | .ident = "Toshiba Satellite P100", | ||
1254 | .matches = { | ||
1255 | DMI_MATCH(DMI_BOARD_VENDOR, "TOSHIBA"), | ||
1256 | DMI_MATCH(DMI_BOARD_NAME, "Satellite P100"), | ||
1257 | }, | ||
1258 | }, | ||
1259 | #else | ||
1260 | /* | 1225 | /* |
1261 | * Boxes that need _OSI(Linux) | 1226 | * Boxes that need _OSI(Linux) |
1262 | */ | 1227 | */ |
@@ -1268,7 +1233,6 @@ static struct dmi_system_id acpi_osl_dmi_table[] __initdata = { | |||
1268 | DMI_MATCH(DMI_BOARD_NAME, "MPAD-MSAE Customer Reference Boards"), | 1233 | DMI_MATCH(DMI_BOARD_NAME, "MPAD-MSAE Customer Reference Boards"), |
1269 | }, | 1234 | }, |
1270 | }, | 1235 | }, |
1271 | #endif | ||
1272 | {} | 1236 | {} |
1273 | }; | 1237 | }; |
1274 | #endif /* CONFIG_DMI */ | 1238 | #endif /* CONFIG_DMI */ |
diff --git a/drivers/acpi/utilities/uteval.c b/drivers/acpi/utilities/uteval.c index 8ec6f8e48138..f112af433e36 100644 --- a/drivers/acpi/utilities/uteval.c +++ b/drivers/acpi/utilities/uteval.c | |||
@@ -62,16 +62,13 @@ acpi_ut_translate_one_cid(union acpi_operand_object *obj_desc, | |||
62 | static char *acpi_interfaces_supported[] = { | 62 | static char *acpi_interfaces_supported[] = { |
63 | /* Operating System Vendor Strings */ | 63 | /* Operating System Vendor Strings */ |
64 | 64 | ||
65 | "Windows 2000", | 65 | "Windows 2000", /* Windows 2000 */ |
66 | "Windows 2001", | 66 | "Windows 2001", /* Windows XP */ |
67 | "Windows 2001 SP0", | 67 | "Windows 2001 SP1", /* Windows XP SP1 */ |
68 | "Windows 2001 SP1", | 68 | "Windows 2001 SP2", /* Windows XP SP2 */ |
69 | "Windows 2001 SP2", | 69 | "Windows 2001.1", /* Windows Server 2003 */ |
70 | "Windows 2001 SP3", | 70 | "Windows 2001.1 SP1", /* Windows Server 2003 SP1 - Added 03/2006 */ |
71 | "Windows 2001 SP4", | 71 | "Windows 2006", /* Windows Vista - Added 03/2006 */ |
72 | "Windows 2001.1", | ||
73 | "Windows 2001.1 SP1", /* Added 03/2006 */ | ||
74 | "Windows 2006", /* Added 03/2006 */ | ||
75 | 72 | ||
76 | /* Feature Group Strings */ | 73 | /* Feature Group Strings */ |
77 | 74 | ||