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

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
ACPI: sleep: init_set_sci_en_on_resume for Dell Studio 155x
ACPI: fix acpi_hest_firmware_first_pci() caused oops
sbshc: acpi_device_class "smbus_host_controller" too long
power_meter: acpi_device_class "power_meter_resource" too long
acpi_pad: "processor_aggregator" name too long
PNP: don't check for conflicts with bridge windows
ACPI: DMI init_set_sci_en_on_resume for multiple Lenovo ThinkPads
PNPACPI: compute Address Space length rather than using _LEN
ACPI: silence kmemcheck false positive

+160 -26
+1 -1
drivers/acpi/acpi_pad.c
··· 31 31 #include <acpi/acpi_bus.h> 32 32 #include <acpi/acpi_drivers.h> 33 33 34 - #define ACPI_PROCESSOR_AGGREGATOR_CLASS "processor_aggregator" 34 + #define ACPI_PROCESSOR_AGGREGATOR_CLASS "acpi_pad" 35 35 #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator" 36 36 #define ACPI_PROCESSOR_AGGREGATOR_NOTIFY 0x80 37 37 static DEFINE_MUTEX(isolated_cpus_lock);
+1 -1
drivers/acpi/bus.c
··· 527 527 if (!event_is_open) 528 528 return 0; 529 529 530 - event = kmalloc(sizeof(struct acpi_bus_event), GFP_ATOMIC); 530 + event = kzalloc(sizeof(struct acpi_bus_event), GFP_ATOMIC); 531 531 if (!event) 532 532 return -ENOMEM; 533 533
+4
drivers/acpi/hest.c
··· 123 123 { 124 124 acpi_status status = AE_NOT_FOUND; 125 125 struct acpi_table_header *hest = NULL; 126 + 127 + if (acpi_disabled) 128 + return 0; 129 + 126 130 status = acpi_get_table(ACPI_SIG_HEST, 1, &hest); 127 131 128 132 if (ACPI_SUCCESS(status)) {
+1 -1
drivers/acpi/power_meter.c
··· 35 35 #define ACPI_POWER_METER_NAME "power_meter" 36 36 ACPI_MODULE_NAME(ACPI_POWER_METER_NAME); 37 37 #define ACPI_POWER_METER_DEVICE_NAME "Power Meter" 38 - #define ACPI_POWER_METER_CLASS "power_meter_resource" 38 + #define ACPI_POWER_METER_CLASS "pwr_meter_resource" 39 39 40 40 #define NUM_SENSORS 17 41 41
+1 -1
drivers/acpi/sbshc.c
··· 18 18 19 19 #define PREFIX "ACPI: " 20 20 21 - #define ACPI_SMB_HC_CLASS "smbus_host_controller" 21 + #define ACPI_SMB_HC_CLASS "smbus_host_ctl" 22 22 #define ACPI_SMB_HC_DEVICE_NAME "ACPI SMBus HC" 23 23 24 24 struct acpi_smb_hc {
+144
drivers/acpi/sleep.c
··· 450 450 }, 451 451 }, 452 452 { 453 + .callback = init_set_sci_en_on_resume, 454 + .ident = "Lenovo ThinkPad T410", 455 + .matches = { 456 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 457 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T410"), 458 + }, 459 + }, 460 + { 461 + .callback = init_set_sci_en_on_resume, 462 + .ident = "Lenovo ThinkPad T510", 463 + .matches = { 464 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 465 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T510"), 466 + }, 467 + }, 468 + { 469 + .callback = init_set_sci_en_on_resume, 470 + .ident = "Lenovo ThinkPad W510", 471 + .matches = { 472 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 473 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W510"), 474 + }, 475 + }, 476 + { 477 + .callback = init_set_sci_en_on_resume, 478 + .ident = "Lenovo ThinkPad X201", 479 + .matches = { 480 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 481 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X201"), 482 + }, 483 + }, 484 + { 485 + .callback = init_set_sci_en_on_resume, 486 + .ident = "Lenovo ThinkPad X201", 487 + .matches = { 488 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 489 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X201s"), 490 + }, 491 + }, 492 + { 493 + .callback = init_set_sci_en_on_resume, 494 + .ident = "Lenovo ThinkPad T410", 495 + .matches = { 496 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 497 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T410"), 498 + }, 499 + }, 500 + { 501 + .callback = init_set_sci_en_on_resume, 502 + .ident = "Lenovo ThinkPad T510", 503 + .matches = { 504 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 505 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T510"), 506 + }, 507 + }, 508 + { 509 + .callback = init_set_sci_en_on_resume, 510 + .ident = "Lenovo ThinkPad W510", 511 + .matches = { 512 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 513 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W510"), 514 + }, 515 + }, 516 + { 517 + .callback = init_set_sci_en_on_resume, 518 + .ident = "Lenovo ThinkPad X201", 519 + .matches = { 520 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 521 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X201"), 522 + }, 523 + }, 524 + { 525 + .callback = init_set_sci_en_on_resume, 526 + .ident = "Lenovo ThinkPad X201", 527 + .matches = { 528 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 529 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X201s"), 530 + }, 531 + }, 532 + { 533 + .callback = init_set_sci_en_on_resume, 534 + .ident = "Lenovo ThinkPad T410", 535 + .matches = { 536 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 537 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T410"), 538 + }, 539 + }, 540 + { 541 + .callback = init_set_sci_en_on_resume, 542 + .ident = "Lenovo ThinkPad T510", 543 + .matches = { 544 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 545 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T510"), 546 + }, 547 + }, 548 + { 549 + .callback = init_set_sci_en_on_resume, 550 + .ident = "Lenovo ThinkPad W510", 551 + .matches = { 552 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 553 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W510"), 554 + }, 555 + }, 556 + { 557 + .callback = init_set_sci_en_on_resume, 558 + .ident = "Lenovo ThinkPad X201", 559 + .matches = { 560 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 561 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X201"), 562 + }, 563 + }, 564 + { 565 + .callback = init_set_sci_en_on_resume, 566 + .ident = "Lenovo ThinkPad X201", 567 + .matches = { 568 + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 569 + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X201s"), 570 + }, 571 + }, 572 + { 453 573 .callback = init_old_suspend_ordering, 454 574 .ident = "Panasonic CF51-2L", 455 575 .matches = { 456 576 DMI_MATCH(DMI_BOARD_VENDOR, 457 577 "Matsushita Electric Industrial Co.,Ltd."), 458 578 DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"), 579 + }, 580 + }, 581 + { 582 + .callback = init_set_sci_en_on_resume, 583 + .ident = "Dell Studio 1558", 584 + .matches = { 585 + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 586 + DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1558"), 587 + }, 588 + }, 589 + { 590 + .callback = init_set_sci_en_on_resume, 591 + .ident = "Dell Studio 1557", 592 + .matches = { 593 + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 594 + DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1557"), 595 + }, 596 + }, 597 + { 598 + .callback = init_set_sci_en_on_resume, 599 + .ident = "Dell Studio 1555", 600 + .matches = { 601 + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 602 + DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1555"), 459 603 }, 460 604 }, 461 605 {},
+4 -22
drivers/pnp/pnpacpi/rsparser.c
··· 274 274 pnp_add_bus_resource(dev, start, end); 275 275 } 276 276 277 - static u64 addr_space_length(struct pnp_dev *dev, u64 min, u64 max, u64 len) 278 - { 279 - u64 max_len; 280 - 281 - max_len = max - min + 1; 282 - if (len <= max_len) 283 - return len; 284 - 285 - /* 286 - * Per 6.4.3.5, _LEN cannot exceed _MAX - _MIN + 1, but some BIOSes 287 - * don't do this correctly, e.g., 288 - * https://bugzilla.kernel.org/show_bug.cgi?id=15480 289 - */ 290 - dev_info(&dev->dev, 291 - "resource length %#llx doesn't fit in %#llx-%#llx, trimming\n", 292 - (unsigned long long) len, (unsigned long long) min, 293 - (unsigned long long) max); 294 - return max_len; 295 - } 296 - 297 277 static void pnpacpi_parse_allocated_address_space(struct pnp_dev *dev, 298 278 struct acpi_resource *res) 299 279 { ··· 289 309 return; 290 310 } 291 311 292 - len = addr_space_length(dev, p->minimum, p->maximum, p->address_length); 312 + /* Windows apparently computes length rather than using _LEN */ 313 + len = p->maximum - p->minimum + 1; 293 314 window = (p->producer_consumer == ACPI_PRODUCER) ? 1 : 0; 294 315 295 316 if (p->resource_type == ACPI_MEMORY_RANGE) ··· 311 330 int window; 312 331 u64 len; 313 332 314 - len = addr_space_length(dev, p->minimum, p->maximum, p->address_length); 333 + /* Windows apparently computes length rather than using _LEN */ 334 + len = p->maximum - p->minimum + 1; 315 335 window = (p->producer_consumer == ACPI_PRODUCER) ? 1 : 0; 316 336 317 337 if (p->resource_type == ACPI_MEMORY_RANGE)
+4
drivers/pnp/resource.c
··· 211 211 if (tres->flags & IORESOURCE_IO) { 212 212 if (cannot_compare(tres->flags)) 213 213 continue; 214 + if (tres->flags & IORESOURCE_WINDOW) 215 + continue; 214 216 tport = &tres->start; 215 217 tend = &tres->end; 216 218 if (ranged_conflict(port, end, tport, tend)) ··· 272 270 i++) { 273 271 if (tres->flags & IORESOURCE_MEM) { 274 272 if (cannot_compare(tres->flags)) 273 + continue; 274 + if (tres->flags & IORESOURCE_WINDOW) 275 275 continue; 276 276 taddr = &tres->start; 277 277 tend = &tres->end;