diff options
Diffstat (limited to 'drivers/acpi/blacklist.c')
-rw-r--r-- | drivers/acpi/blacklist.c | 56 |
1 files changed, 36 insertions, 20 deletions
diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c index 3ade01680989..6dbaa2d15fe0 100644 --- a/drivers/acpi/blacklist.c +++ b/drivers/acpi/blacklist.c | |||
@@ -206,33 +206,35 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
206 | * Disable OSI(Linux) warnings on all "Acer, inc." | 206 | * Disable OSI(Linux) warnings on all "Acer, inc." |
207 | * | 207 | * |
208 | * _OSI(Linux) disables the latest Windows BIOS code: | 208 | * _OSI(Linux) disables the latest Windows BIOS code: |
209 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 3100"), | ||
209 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5050"), | 210 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5050"), |
211 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), | ||
210 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5580"), | 212 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5580"), |
211 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 3010"), | 213 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 3010"), |
212 | * _OSI(Linux) effect unknown: | 214 | * _OSI(Linux) effect unknown: |
213 | * DMI_MATCH(DMI_PRODUCT_NAME, "Ferrari 5000"), | 215 | * DMI_MATCH(DMI_PRODUCT_NAME, "Ferrari 5000"), |
214 | */ | 216 | */ |
215 | { | 217 | /* |
216 | .callback = dmi_disable_osi_linux, | 218 | * note that dmi_check_system() uses strstr() |
217 | .ident = "Acer, inc.", | 219 | * to match sub-strings rather than !strcmp(), |
218 | .matches = { | 220 | * so "Acer" below matches "Acer, inc." above. |
219 | DMI_MATCH(DMI_SYS_VENDOR, "Acer, inc."), | 221 | */ |
220 | }, | ||
221 | }, | ||
222 | /* | 222 | /* |
223 | * Disable OSI(Linux) warnings on all "Acer" | 223 | * Disable OSI(Linux) warnings on all "Acer" |
224 | * | 224 | * |
225 | * _OSI(Linux) effect unknown: | 225 | * _OSI(Linux) effect unknown: |
226 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), | ||
227 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), | 226 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), |
228 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720Z"), | 227 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720Z"), |
229 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5520"), | 228 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5520"), |
230 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 6460"), | 229 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 6460"), |
231 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 7510"), | 230 | * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 7510"), |
232 | * DMI_MATCH(DMI_PRODUCT_NAME, "Extensa 5220"), | 231 | * DMI_MATCH(DMI_PRODUCT_NAME, "Extensa 5220"), |
232 | * | ||
233 | * _OSI(Linux) is a NOP: | ||
234 | * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5315"), | ||
233 | */ | 235 | */ |
234 | { | 236 | { |
235 | .callback = dmi_unknown_osi_linux, | 237 | .callback = dmi_disable_osi_linux, |
236 | .ident = "Acer", | 238 | .ident = "Acer", |
237 | .matches = { | 239 | .matches = { |
238 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | 240 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), |
@@ -240,21 +242,22 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
240 | }, | 242 | }, |
241 | /* | 243 | /* |
242 | * Disable OSI(Linux) warnings on all "Apple Computer, Inc." | 244 | * Disable OSI(Linux) warnings on all "Apple Computer, Inc." |
245 | * Disable OSI(Linux) warnings on all "Apple Inc." | ||
243 | * | 246 | * |
244 | * _OSI(Linux) confirmed to be a NOP: | 247 | * _OSI(Linux) confirmed to be a NOP: |
245 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"), | 248 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"), |
246 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"), | 249 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"), |
247 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2"), | 250 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2"), |
251 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"), | ||
248 | * _OSI(Linux) effect unknown: | 252 | * _OSI(Linux) effect unknown: |
249 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacPro2,1"), | 253 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacPro2,1"), |
250 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro1,1"), | 254 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro1,1"), |
251 | * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"), | ||
252 | */ | 255 | */ |
253 | { | 256 | { |
254 | .callback = dmi_disable_osi_linux, | 257 | .callback = dmi_disable_osi_linux, |
255 | .ident = "Apple", | 258 | .ident = "Apple", |
256 | .matches = { | 259 | .matches = { |
257 | DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."), | 260 | DMI_MATCH(DMI_SYS_VENDOR, "Apple"), |
258 | }, | 261 | }, |
259 | }, | 262 | }, |
260 | /* | 263 | /* |
@@ -292,13 +295,13 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
292 | * DMI_MATCH(DMI_BOARD_NAME, "IFL91"), | 295 | * DMI_MATCH(DMI_BOARD_NAME, "IFL91"), |
293 | */ | 296 | */ |
294 | { | 297 | { |
295 | .callback = dmi_unknown_osi_linux, | 298 | .callback = dmi_disable_osi_linux, |
296 | .ident = "Compal", | 299 | .ident = "Compal", |
297 | .matches = { | 300 | .matches = { |
298 | DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"), | 301 | DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"), |
299 | }, | 302 | }, |
300 | }, | 303 | }, |
301 | { /* OSI(Linux) touches USB, breaks suspend to disk */ | 304 | { /* OSI(Linux) touches USB, unknown side-effect */ |
302 | .callback = dmi_disable_osi_linux, | 305 | .callback = dmi_disable_osi_linux, |
303 | .ident = "Dell Dimension 5150", | 306 | .ident = "Dell Dimension 5150", |
304 | .matches = { | 307 | .matches = { |
@@ -308,7 +311,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
308 | }, | 311 | }, |
309 | { /* OSI(Linux) is a NOP */ | 312 | { /* OSI(Linux) is a NOP */ |
310 | .callback = dmi_disable_osi_linux, | 313 | .callback = dmi_disable_osi_linux, |
311 | .ident = "Dell", | 314 | .ident = "Dell i1501", |
312 | .matches = { | 315 | .matches = { |
313 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 316 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
314 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1501"), | 317 | DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1501"), |
@@ -316,7 +319,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
316 | }, | 319 | }, |
317 | { /* OSI(Linux) effect unknown */ | 320 | { /* OSI(Linux) effect unknown */ |
318 | .callback = dmi_unknown_osi_linux, | 321 | .callback = dmi_unknown_osi_linux, |
319 | .ident = "Dell", | 322 | .ident = "Dell Latitude D830", |
320 | .matches = { | 323 | .matches = { |
321 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 324 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
322 | DMI_MATCH(DMI_PRODUCT_NAME, "Latitude D830"), | 325 | DMI_MATCH(DMI_PRODUCT_NAME, "Latitude D830"), |
@@ -324,7 +327,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
324 | }, | 327 | }, |
325 | { /* OSI(Linux) effect unknown */ | 328 | { /* OSI(Linux) effect unknown */ |
326 | .callback = dmi_unknown_osi_linux, | 329 | .callback = dmi_unknown_osi_linux, |
327 | .ident = "Dell", | 330 | .ident = "Dell OP GX620", |
328 | .matches = { | 331 | .matches = { |
329 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 332 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
330 | DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX620"), | 333 | DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX620"), |
@@ -332,15 +335,23 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
332 | }, | 335 | }, |
333 | { /* OSI(Linux) effect unknown */ | 336 | { /* OSI(Linux) effect unknown */ |
334 | .callback = dmi_unknown_osi_linux, | 337 | .callback = dmi_unknown_osi_linux, |
335 | .ident = "Dell", | 338 | .ident = "Dell PE 1900", |
336 | .matches = { | 339 | .matches = { |
337 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 340 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
338 | DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1900"), | 341 | DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1900"), |
339 | }, | 342 | }, |
340 | }, | 343 | }, |
344 | { /* OSI(Linux) is a NOP */ | ||
345 | .callback = dmi_disable_osi_linux, | ||
346 | .ident = "Dell PE R200", | ||
347 | .matches = { | ||
348 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | ||
349 | DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R200"), | ||
350 | }, | ||
351 | }, | ||
341 | { /* OSI(Linux) touches USB */ | 352 | { /* OSI(Linux) touches USB */ |
342 | .callback = dmi_disable_osi_linux, | 353 | .callback = dmi_disable_osi_linux, |
343 | .ident = "Dell", | 354 | .ident = "Dell PR 390", |
344 | .matches = { | 355 | .matches = { |
345 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 356 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
346 | DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 390"), | 357 | DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 390"), |
@@ -356,7 +367,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
356 | }, | 367 | }, |
357 | { /* OSI(Linux) effect unknown */ | 368 | { /* OSI(Linux) effect unknown */ |
358 | .callback = dmi_unknown_osi_linux, | 369 | .callback = dmi_unknown_osi_linux, |
359 | .ident = "Dell", | 370 | .ident = "Dell PE SC440", |
360 | .matches = { | 371 | .matches = { |
361 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), | 372 | DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
362 | DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge SC440"), | 373 | DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge SC440"), |
@@ -472,6 +483,11 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
472 | * | 483 | * |
473 | * _OSI(Linux) confirmed to be a NOP: | 484 | * _OSI(Linux) confirmed to be a NOP: |
474 | * DMI_MATCH(DMI_PRODUCT_NAME, "P1-J150B"), | 485 | * DMI_MATCH(DMI_PRODUCT_NAME, "P1-J150B"), |
486 | * with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"), | ||
487 | * | ||
488 | * unknown: | ||
489 | * DMI_MATCH(DMI_PRODUCT_NAME, "S1-MDGDG"), | ||
490 | * with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"), | ||
475 | */ | 491 | */ |
476 | { | 492 | { |
477 | .callback = dmi_disable_osi_linux, | 493 | .callback = dmi_disable_osi_linux, |
@@ -514,7 +530,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { | |||
514 | * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ11M"), | 530 | * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ11M"), |
515 | */ | 531 | */ |
516 | { | 532 | { |
517 | .callback = dmi_unknown_osi_linux, | 533 | .callback = dmi_disable_osi_linux, |
518 | .ident = "Sony", | 534 | .ident = "Sony", |
519 | .matches = { | 535 | .matches = { |
520 | DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), | 536 | DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), |