Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branches 'release' and 'dmi' into release

Len Brown 5531d285 acf63867

+44 -39
+36 -20
drivers/acpi/blacklist.c
··· 206 206 * Disable OSI(Linux) warnings on all "Acer, inc." 207 207 * 208 208 * _OSI(Linux) disables the latest Windows BIOS code: 209 + * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 3100"), 209 210 * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5050"), 211 + * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), 210 212 * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5580"), 211 213 * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 3010"), 212 214 * _OSI(Linux) effect unknown: 213 215 * DMI_MATCH(DMI_PRODUCT_NAME, "Ferrari 5000"), 214 216 */ 215 - { 216 - .callback = dmi_disable_osi_linux, 217 - .ident = "Acer, inc.", 218 - .matches = { 219 - DMI_MATCH(DMI_SYS_VENDOR, "Acer, inc."), 220 - }, 221 - }, 217 + /* 218 + * note that dmi_check_system() uses strstr() 219 + * to match sub-strings rather than !strcmp(), 220 + * so "Acer" below matches "Acer, inc." above. 221 + */ 222 222 /* 223 223 * Disable OSI(Linux) warnings on all "Acer" 224 224 * 225 225 * _OSI(Linux) effect unknown: 226 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), 227 226 * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), 228 227 * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720Z"), 229 228 * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5520"), 230 229 * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 6460"), 231 230 * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 7510"), 232 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 238 .ident = "Acer", 237 239 .matches = { 238 240 DMI_MATCH(DMI_SYS_VENDOR, "Acer"), ··· 242 240 }, 243 241 /* 244 242 * Disable OSI(Linux) warnings on all "Apple Computer, Inc." 243 + * Disable OSI(Linux) warnings on all "Apple Inc." 245 244 * 246 245 * _OSI(Linux) confirmed to be a NOP: 247 246 * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"), 248 247 * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"), 249 248 * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2"), 249 + * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"), 250 250 * _OSI(Linux) effect unknown: 251 251 * DMI_MATCH(DMI_PRODUCT_NAME, "MacPro2,1"), 252 252 * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro1,1"), 253 - * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"), 254 253 */ 255 254 { 256 255 .callback = dmi_disable_osi_linux, 257 256 .ident = "Apple", 258 257 .matches = { 259 - DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."), 258 + DMI_MATCH(DMI_SYS_VENDOR, "Apple"), 260 259 }, 261 260 }, 262 261 /* ··· 295 292 * DMI_MATCH(DMI_BOARD_NAME, "IFL91"), 296 293 */ 297 294 { 298 - .callback = dmi_unknown_osi_linux, 295 + .callback = dmi_disable_osi_linux, 299 296 .ident = "Compal", 300 297 .matches = { 301 298 DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"), 302 299 }, 303 300 }, 304 - { /* OSI(Linux) touches USB, breaks suspend to disk */ 301 + { /* OSI(Linux) touches USB, unknown side-effect */ 305 302 .callback = dmi_disable_osi_linux, 306 303 .ident = "Dell Dimension 5150", 307 304 .matches = { ··· 311 308 }, 312 309 { /* OSI(Linux) is a NOP */ 313 310 .callback = dmi_disable_osi_linux, 314 - .ident = "Dell", 311 + .ident = "Dell i1501", 315 312 .matches = { 316 313 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 317 314 DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1501"), ··· 319 316 }, 320 317 { /* OSI(Linux) effect unknown */ 321 318 .callback = dmi_unknown_osi_linux, 322 - .ident = "Dell", 319 + .ident = "Dell Latitude D830", 323 320 .matches = { 324 321 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 325 322 DMI_MATCH(DMI_PRODUCT_NAME, "Latitude D830"), ··· 327 324 }, 328 325 { /* OSI(Linux) effect unknown */ 329 326 .callback = dmi_unknown_osi_linux, 330 - .ident = "Dell", 327 + .ident = "Dell OP GX620", 331 328 .matches = { 332 329 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 333 330 DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX620"), ··· 335 332 }, 336 333 { /* OSI(Linux) effect unknown */ 337 334 .callback = dmi_unknown_osi_linux, 338 - .ident = "Dell", 335 + .ident = "Dell PE 1900", 339 336 .matches = { 340 337 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 341 338 DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1900"), 342 339 }, 343 340 }, 341 + { /* OSI(Linux) is a NOP */ 342 + .callback = dmi_disable_osi_linux, 343 + .ident = "Dell PE R200", 344 + .matches = { 345 + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 346 + DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R200"), 347 + }, 348 + }, 344 349 { /* OSI(Linux) touches USB */ 345 350 .callback = dmi_disable_osi_linux, 346 - .ident = "Dell", 351 + .ident = "Dell PR 390", 347 352 .matches = { 348 353 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 349 354 DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 390"), ··· 367 356 }, 368 357 { /* OSI(Linux) effect unknown */ 369 358 .callback = dmi_unknown_osi_linux, 370 - .ident = "Dell", 359 + .ident = "Dell PE SC440", 371 360 .matches = { 372 361 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 373 362 DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge SC440"), ··· 483 472 * 484 473 * _OSI(Linux) confirmed to be a NOP: 485 474 * DMI_MATCH(DMI_PRODUCT_NAME, "P1-J150B"), 475 + * with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"), 476 + * 477 + * unknown: 478 + * DMI_MATCH(DMI_PRODUCT_NAME, "S1-MDGDG"), 479 + * with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"), 486 480 */ 487 481 { 488 482 .callback = dmi_disable_osi_linux, ··· 530 514 * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ11M"), 531 515 */ 532 516 { 533 - .callback = dmi_unknown_osi_linux, 517 + .callback = dmi_disable_osi_linux, 534 518 .ident = "Sony", 535 519 .matches = { 536 520 DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
+8 -8
drivers/acpi/osl.c
··· 120 120 */ 121 121 #define OSI_LINUX_ENABLE 0 122 122 123 - struct osi_linux { 123 + static struct osi_linux { 124 124 unsigned int enable:1; 125 125 unsigned int dmi:1; 126 126 unsigned int cmdline:1; ··· 1217 1217 * 1218 1218 * Returns 0 on success 1219 1219 */ 1220 - int acpi_dmi_dump(void) 1220 + static int acpi_dmi_dump(void) 1221 1221 { 1222 1222 1223 1223 if (!dmi_available) 1224 1224 return -1; 1225 1225 1226 1226 printk(KERN_NOTICE PREFIX "DMI System Vendor: %s\n", 1227 - dmi_get_slot(DMI_SYS_VENDOR)); 1227 + dmi_get_system_info(DMI_SYS_VENDOR)); 1228 1228 printk(KERN_NOTICE PREFIX "DMI Product Name: %s\n", 1229 - dmi_get_slot(DMI_PRODUCT_NAME)); 1229 + dmi_get_system_info(DMI_PRODUCT_NAME)); 1230 1230 printk(KERN_NOTICE PREFIX "DMI Product Version: %s\n", 1231 - dmi_get_slot(DMI_PRODUCT_VERSION)); 1231 + dmi_get_system_info(DMI_PRODUCT_VERSION)); 1232 1232 printk(KERN_NOTICE PREFIX "DMI Board Name: %s\n", 1233 - dmi_get_slot(DMI_BOARD_NAME)); 1233 + dmi_get_system_info(DMI_BOARD_NAME)); 1234 1234 printk(KERN_NOTICE PREFIX "DMI BIOS Vendor: %s\n", 1235 - dmi_get_slot(DMI_BIOS_VENDOR)); 1235 + dmi_get_system_info(DMI_BIOS_VENDOR)); 1236 1236 printk(KERN_NOTICE PREFIX "DMI BIOS Date: %s\n", 1237 - dmi_get_slot(DMI_BIOS_DATE)); 1237 + dmi_get_system_info(DMI_BIOS_DATE)); 1238 1238 1239 1239 return 0; 1240 1240 }
-9
drivers/firmware/dmi_scan.c
··· 489 489 490 490 return year; 491 491 } 492 - 493 - /** 494 - * dmi_get_slot - return dmi_ident[slot] 495 - * @slot: index into dmi_ident[] 496 - */ 497 - char *dmi_get_slot(int slot) 498 - { 499 - return(dmi_ident[slot]); 500 - }
-2
include/linux/dmi.h
··· 79 79 extern int dmi_get_year(int field); 80 80 extern int dmi_name_in_vendors(const char *str); 81 81 extern int dmi_available; 82 - extern char *dmi_get_slot(int slot); 83 82 84 83 #else 85 84 ··· 89 90 static inline int dmi_get_year(int year) { return 0; } 90 91 static inline int dmi_name_in_vendors(const char *s) { return 0; } 91 92 #define dmi_available 0 92 - static inline char *dmi_get_slot(int slot) { return NULL; } 93 93 94 94 #endif 95 95