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

ACPICA from Bob Moore <robert.moore@intel.com>

Implemented support for PCI Express root bridges
-- added support for device PNP0A08 in the root
bridge search within AcpiEvPciConfigRegionSetup.
acpi_ev_pci_config_region_setup().

The interpreter now automatically truncates incoming
64-bit constants to 32 bits if currently executing out
of a 32-bit ACPI table (Revision < 2). This also affects
the iASL compiler constant folding. (Note: as per below,
the iASL compiler no longer allows 64-bit constants within
32-bit tables.)

Fixed a problem where string and buffer objects with
"static" pointers (pointers to initialization data within
an ACPI table) were not handled consistently. The internal
object copy operation now always copies the data to a newly
allocated buffer, regardless of whether the source object
is static or not.

Fixed a problem with the FromBCD operator where an
implicit result conversion was improperly performed while
storing the result to the target operand. Since this is an
"explicit conversion" operator, the implicit conversion
should never be performed on the output.

Fixed a problem with the CopyObject operator where a copy
to an existing named object did not always completely
overwrite the existing object stored at name. Specifically,
a buffer-to-buffer copy did not delete the existing buffer.

Replaced "interrupt_level" with "interrupt_number" in all
GPE interfaces and structs for consistency.

Signed-off-by: Len Brown <len.brown@intel.com>

authored by

Robert Moore and committed by
Len Brown
6f42ccf2 d8683a0c

+88 -91
+3
drivers/acpi/dispatcher/dsobject.c
··· 547 547 case AML_TYPE_LITERAL: 548 548 549 549 obj_desc->integer.value = op->common.value.integer; 550 + #ifndef ACPI_NO_METHOD_EXECUTION 551 + acpi_ex_truncate_for32bit_table (obj_desc); 552 + #endif 550 553 break; 551 554 552 555
+2 -2
drivers/acpi/dispatcher/dswstate.c
··· 261 261 262 262 if (!*object) { 263 263 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 264 - "Null operand! State=%p #Ops=%X, Index=%X\n", 264 + "Null operand! State=%p #Ops=%X Index=%X\n", 265 265 walk_state, state->results.num_results, (u32) index)); 266 266 return (AE_AML_NO_RETURN_VALUE); 267 267 } 268 268 269 - ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Obj=%p [%s], Results=%p State=%p\n", 269 + ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Obj=%p [%s] Results=%p State=%p\n", 270 270 *object, (*object) ? acpi_ut_get_object_type_name (*object) : "NULL", 271 271 state, walk_state)); 272 272
+18 -18
drivers/acpi/events/evgpeblk.c
··· 66 66 67 67 static struct acpi_gpe_xrupt_info * 68 68 acpi_ev_get_gpe_xrupt_block ( 69 - u32 interrupt_level); 69 + u32 interrupt_number); 70 70 71 71 static acpi_status 72 72 acpi_ev_delete_gpe_xrupt ( ··· 75 75 static acpi_status 76 76 acpi_ev_install_gpe_block ( 77 77 struct acpi_gpe_block_info *gpe_block, 78 - u32 interrupt_level); 78 + u32 interrupt_number); 79 79 80 80 static acpi_status 81 81 acpi_ev_create_gpe_info_blocks ( ··· 482 482 * 483 483 * FUNCTION: acpi_ev_get_gpe_xrupt_block 484 484 * 485 - * PARAMETERS: interrupt_level - Interrupt for a GPE block 485 + * PARAMETERS: interrupt_number - Interrupt for a GPE block 486 486 * 487 487 * RETURN: A GPE interrupt block 488 488 * ··· 495 495 496 496 static struct acpi_gpe_xrupt_info * 497 497 acpi_ev_get_gpe_xrupt_block ( 498 - u32 interrupt_level) 498 + u32 interrupt_number) 499 499 { 500 500 struct acpi_gpe_xrupt_info *next_gpe_xrupt; 501 501 struct acpi_gpe_xrupt_info *gpe_xrupt; ··· 509 509 510 510 next_gpe_xrupt = acpi_gbl_gpe_xrupt_list_head; 511 511 while (next_gpe_xrupt) { 512 - if (next_gpe_xrupt->interrupt_level == interrupt_level) { 512 + if (next_gpe_xrupt->interrupt_number == interrupt_number) { 513 513 return_PTR (next_gpe_xrupt); 514 514 } 515 515 ··· 523 523 return_PTR (NULL); 524 524 } 525 525 526 - gpe_xrupt->interrupt_level = interrupt_level; 526 + gpe_xrupt->interrupt_number = interrupt_number; 527 527 528 528 /* Install new interrupt descriptor with spin lock */ 529 529 ··· 544 544 545 545 /* Install new interrupt handler if not SCI_INT */ 546 546 547 - if (interrupt_level != acpi_gbl_FADT->sci_int) { 548 - status = acpi_os_install_interrupt_handler (interrupt_level, 547 + if (interrupt_number != acpi_gbl_FADT->sci_int) { 548 + status = acpi_os_install_interrupt_handler (interrupt_number, 549 549 acpi_ev_gpe_xrupt_handler, gpe_xrupt); 550 550 if (ACPI_FAILURE (status)) { 551 551 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, 552 552 "Could not install GPE interrupt handler at level 0x%X\n", 553 - interrupt_level)); 553 + interrupt_number)); 554 554 return_PTR (NULL); 555 555 } 556 556 } ··· 584 584 585 585 /* We never want to remove the SCI interrupt handler */ 586 586 587 - if (gpe_xrupt->interrupt_level == acpi_gbl_FADT->sci_int) { 587 + if (gpe_xrupt->interrupt_number == acpi_gbl_FADT->sci_int) { 588 588 gpe_xrupt->gpe_block_list_head = NULL; 589 589 return_ACPI_STATUS (AE_OK); 590 590 } 591 591 592 592 /* Disable this interrupt */ 593 593 594 - status = acpi_os_remove_interrupt_handler (gpe_xrupt->interrupt_level, 594 + status = acpi_os_remove_interrupt_handler (gpe_xrupt->interrupt_number, 595 595 acpi_ev_gpe_xrupt_handler); 596 596 if (ACPI_FAILURE (status)) { 597 597 return_ACPI_STATUS (status); ··· 621 621 * FUNCTION: acpi_ev_install_gpe_block 622 622 * 623 623 * PARAMETERS: gpe_block - New GPE block 624 - * interrupt_level - Level to be associated with this GPE block 624 + * interrupt_number - Xrupt to be associated with this GPE block 625 625 * 626 626 * RETURN: Status 627 627 * ··· 632 632 static acpi_status 633 633 acpi_ev_install_gpe_block ( 634 634 struct acpi_gpe_block_info *gpe_block, 635 - u32 interrupt_level) 635 + u32 interrupt_number) 636 636 { 637 637 struct acpi_gpe_block_info *next_gpe_block; 638 638 struct acpi_gpe_xrupt_info *gpe_xrupt_block; ··· 647 647 return_ACPI_STATUS (status); 648 648 } 649 649 650 - gpe_xrupt_block = acpi_ev_get_gpe_xrupt_block (interrupt_level); 650 + gpe_xrupt_block = acpi_ev_get_gpe_xrupt_block (interrupt_number); 651 651 if (!gpe_xrupt_block) { 652 652 status = AE_NO_MEMORY; 653 653 goto unlock_and_exit; ··· 887 887 * gpe_block_address - Address and space_iD 888 888 * register_count - Number of GPE register pairs in the block 889 889 * gpe_block_base_number - Starting GPE number for the block 890 - * interrupt_level - H/W interrupt for the block 890 + * interrupt_number - H/W interrupt for the block 891 891 * return_gpe_block - Where the new block descriptor is returned 892 892 * 893 893 * RETURN: Status ··· 902 902 struct acpi_generic_address *gpe_block_address, 903 903 u32 register_count, 904 904 u8 gpe_block_base_number, 905 - u32 interrupt_level, 905 + u32 interrupt_number, 906 906 struct acpi_gpe_block_info **return_gpe_block) 907 907 { 908 908 struct acpi_gpe_block_info *gpe_block; ··· 948 948 949 949 /* Install the new block in the global list(s) */ 950 950 951 - status = acpi_ev_install_gpe_block (gpe_block, interrupt_level); 951 + status = acpi_ev_install_gpe_block (gpe_block, interrupt_number); 952 952 if (ACPI_FAILURE (status)) { 953 953 ACPI_MEM_FREE (gpe_block); 954 954 return_ACPI_STATUS (status); ··· 1013 1013 ((gpe_block->register_count * ACPI_GPE_REGISTER_WIDTH) -1)), 1014 1014 gpe_device->name.ascii, 1015 1015 gpe_block->register_count, 1016 - interrupt_level)); 1016 + interrupt_number)); 1017 1017 1018 1018 /* Enable all valid GPEs found above */ 1019 1019
+7 -3
drivers/acpi/events/evrgnini.c
··· 218 218 while (pci_root_node != acpi_gbl_root_node) { 219 219 status = acpi_ut_execute_HID (pci_root_node, &object_hID); 220 220 if (ACPI_SUCCESS (status)) { 221 - /* Got a valid _HID, check if this is a PCI root */ 222 - 221 + /* 222 + * Got a valid _HID string, check if this is a PCI root. 223 + * New for ACPI 3.0: check for a PCI Express root also. 224 + */ 223 225 if (!(ACPI_STRNCMP (object_hID.value, PCI_ROOT_HID_STRING, 224 - sizeof (PCI_ROOT_HID_STRING)))) { 226 + sizeof (PCI_ROOT_HID_STRING)) || 227 + !(ACPI_STRNCMP (object_hID.value, PCI_EXPRESS_ROOT_HID_STRING, 228 + sizeof (PCI_EXPRESS_ROOT_HID_STRING))))) { 225 229 /* Install a handler for this PCI root bridge */ 226 230 227 231 status = acpi_install_address_space_handler ((acpi_handle) pci_root_node,
+3 -3
drivers/acpi/events/evxfevnt.c
··· 635 635 * PARAMETERS: gpe_device - Handle to the parent GPE Block Device 636 636 * gpe_block_address - Address and space_iD 637 637 * register_count - Number of GPE register pairs in the block 638 - * interrupt_level - H/W interrupt for the block 638 + * interrupt_number - H/W interrupt for the block 639 639 * 640 640 * RETURN: Status 641 641 * ··· 648 648 acpi_handle gpe_device, 649 649 struct acpi_generic_address *gpe_block_address, 650 650 u32 register_count, 651 - u32 interrupt_level) 651 + u32 interrupt_number) 652 652 { 653 653 acpi_status status; 654 654 union acpi_operand_object *obj_desc; ··· 681 681 * is always zero 682 682 */ 683 683 status = acpi_ev_create_gpe_block (node, gpe_block_address, register_count, 684 - 0, interrupt_level, &gpe_block); 684 + 0, interrupt_number, &gpe_block); 685 685 if (ACPI_FAILURE (status)) { 686 686 goto unlock_and_exit; 687 687 }
+7 -7
drivers/acpi/executer/exdump.c
··· 51 51 #define _COMPONENT ACPI_EXECUTER 52 52 ACPI_MODULE_NAME ("exdump") 53 53 54 + /* 55 + * The following routines are used for debug output only 56 + */ 57 + #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 58 + 54 59 /* Local prototypes */ 55 60 56 61 #ifdef ACPI_FUTURE_USAGE ··· 80 75 acpi_physical_address value); 81 76 #endif /* ACPI_FUTURE_USAGE */ 82 77 83 - 84 - /* 85 - * The following routines are used for debug output only 86 - */ 87 - #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 88 78 89 79 /******************************************************************************* 90 80 * ··· 118 118 } 119 119 120 120 if (ACPI_GET_DESCRIPTOR_TYPE (obj_desc) == ACPI_DESC_TYPE_NAMED) { 121 - ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%p is a NS Node: ", obj_desc)); 121 + ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%p Namespace Node: ", obj_desc)); 122 122 ACPI_DUMP_ENTRY (obj_desc, ACPI_LV_EXEC); 123 123 return; 124 124 } ··· 467 467 } 468 468 469 469 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, 470 - "************* Stack dump from %s(%d), %s\n", 470 + "************* Operand Stack dump from %s(%d), %s\n", 471 471 module_name, line_number, note)); 472 472 return; 473 473 }
+2 -2
drivers/acpi/executer/exstore.c
··· 574 574 575 575 /* If no implicit conversion, drop into the default case below */ 576 576 577 - if (!implicit_conversion) { 577 + if ((!implicit_conversion) || (walk_state->opcode == AML_COPY_OP)) { 578 578 /* Force execution of default (no implicit conversion) */ 579 579 580 580 target_type = ACPI_TYPE_ANY; ··· 634 634 default: 635 635 636 636 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, 637 - "Storing %s (%p) directly into node (%p), no implicit conversion\n", 637 + "Storing %s (%p) directly into node (%p) with no implicit conversion\n", 638 638 acpi_ut_get_object_type_name (source_desc), source_desc, node)); 639 639 640 640 /* No conversions for all other types. Just attach the source object */
-4
drivers/acpi/executer/exstoren.c
··· 265 265 266 266 case ACPI_TYPE_BUFFER: 267 267 268 - /* 269 - * Note: There is different store behavior depending on the original 270 - * source type 271 - */ 272 268 status = acpi_ex_store_buffer_to_buffer (actual_src_desc, dest_desc); 273 269 break; 274 270
+16 -17
drivers/acpi/namespace/nsdump.c
··· 475 475 476 476 while (obj_desc) { 477 477 obj_type = ACPI_TYPE_INVALID; 478 - acpi_os_printf (" Attached Object %p: ", obj_desc); 478 + acpi_os_printf ("Attached Object %p: ", obj_desc); 479 479 480 480 /* Decode the type of attached object and dump the contents */ 481 481 ··· 484 484 485 485 acpi_os_printf ("(Ptr to Node)\n"); 486 486 bytes_to_dump = sizeof (struct acpi_namespace_node); 487 + ACPI_DUMP_BUFFER (obj_desc, bytes_to_dump); 487 488 break; 488 - 489 489 490 490 case ACPI_DESC_TYPE_OPERAND: 491 491 ··· 497 497 bytes_to_dump = 32; 498 498 } 499 499 else { 500 - acpi_os_printf ("(Ptr to ACPI Object type %s, %X)\n", 501 - acpi_ut_get_type_name (obj_type), obj_type); 500 + acpi_os_printf ("(Ptr to ACPI Object type %X [%s])\n", 501 + obj_type, acpi_ut_get_type_name (obj_type)); 502 502 bytes_to_dump = sizeof (union acpi_operand_object); 503 503 } 504 - break; 505 504 505 + ACPI_DUMP_BUFFER (obj_desc, bytes_to_dump); 506 + break; 506 507 507 508 default: 508 509 509 - acpi_os_printf ( 510 - "(String or Buffer ptr - not an object descriptor) [%s]\n", 511 - acpi_ut_get_descriptor_name (obj_desc)); 512 - bytes_to_dump = 16; 513 510 break; 514 511 } 515 - 516 - ACPI_DUMP_BUFFER (obj_desc, bytes_to_dump); 517 512 518 513 /* If value is NOT an internal object, we are done */ 519 514 ··· 520 525 * Valid object, get the pointer to next level, if any 521 526 */ 522 527 switch (obj_type) { 523 - case ACPI_TYPE_STRING: 524 - obj_desc = (void *) obj_desc->string.pointer; 525 - break; 526 - 527 528 case ACPI_TYPE_BUFFER: 528 - obj_desc = (void *) obj_desc->buffer.pointer; 529 - break; 529 + case ACPI_TYPE_STRING: 530 + /* 531 + * NOTE: takes advantage of common fields between string/buffer 532 + */ 533 + bytes_to_dump = obj_desc->string.length; 534 + obj_desc = (void *) obj_desc->string.pointer; 535 + acpi_os_printf ( "(Buffer/String pointer %p length %X)\n", 536 + obj_desc, bytes_to_dump); 537 + ACPI_DUMP_BUFFER (obj_desc, bytes_to_dump); 538 + goto cleanup; 530 539 531 540 case ACPI_TYPE_BUFFER_FIELD: 532 541 obj_desc = (union acpi_operand_object *) obj_desc->buffer_field.buffer_obj;
+1 -1
drivers/acpi/parser/psopcode.c
··· 311 311 /* ACPI 2.0 opcodes */ 312 312 313 313 /* 6E */ ACPI_OP ("QwordConst", ARGP_QWORD_OP, ARGI_QWORD_OP, ACPI_TYPE_INTEGER, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_CONSTANT), 314 - /* 6F */ ACPI_OP ("Package /*Var*/", ARGP_VAR_PACKAGE_OP, ARGI_VAR_PACKAGE_OP, ACPI_TYPE_PACKAGE, AML_CLASS_CREATE, AML_TYPE_CREATE_OBJECT, AML_HAS_ARGS | AML_DEFER), 314 + /* 6F */ ACPI_OP ("Package", /* Var */ ARGP_VAR_PACKAGE_OP, ARGI_VAR_PACKAGE_OP, ACPI_TYPE_PACKAGE, AML_CLASS_CREATE, AML_TYPE_CREATE_OBJECT, AML_HAS_ARGS | AML_DEFER), 315 315 /* 70 */ ACPI_OP ("ConcatenateResTemplate", ARGP_CONCAT_RES_OP, ARGI_CONCAT_RES_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT), 316 316 /* 71 */ ACPI_OP ("Mod", ARGP_MOD_OP, ARGI_MOD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_1T_1R, AML_FLAGS_EXEC_2A_1T_1R | AML_CONSTANT), 317 317 /* 72 */ ACPI_OP ("CreateQWordField", ARGP_CREATE_QWORD_FIELD_OP,ARGI_CREATE_QWORD_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_CREATE),
+3 -1
drivers/acpi/resources/rsdump.c
··· 48 48 #define _COMPONENT ACPI_RESOURCES 49 49 ACPI_MODULE_NAME ("rsdump") 50 50 51 + 52 + #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 53 + 51 54 /* Local prototypes */ 52 55 53 56 static void ··· 106 103 union acpi_resource_data *data); 107 104 108 105 109 - #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 110 106 /******************************************************************************* 111 107 * 112 108 * FUNCTION: acpi_rs_dump_irq
+20 -28
drivers/acpi/utilities/utcopy.c
··· 694 694 dest_desc->common.reference_count = reference_count; 695 695 dest_desc->common.next_object = next_object; 696 696 697 + /* New object is not static, regardless of source */ 698 + 699 + dest_desc->common.flags &= ~AOPOBJ_STATIC_POINTER; 700 + 697 701 /* Handle the objects with extra data */ 698 702 699 703 switch (ACPI_GET_OBJECT_TYPE (dest_desc)) { 700 704 case ACPI_TYPE_BUFFER: 701 - 702 - dest_desc->buffer.node = NULL; 703 - dest_desc->common.flags = source_desc->common.flags; 704 - 705 705 /* 706 706 * Allocate and copy the actual buffer if and only if: 707 707 * 1) There is a valid buffer pointer 708 - * 2) The buffer is not static (not in an ACPI table) (in this case, 709 - * the actual pointer was already copied above) 708 + * 2) The buffer has a length > 0 710 709 */ 711 710 if ((source_desc->buffer.pointer) && 712 - (!(source_desc->common.flags & AOPOBJ_STATIC_POINTER))) { 713 - dest_desc->buffer.pointer = NULL; 714 - 715 - /* Create an actual buffer only if length > 0 */ 716 - 717 - if (source_desc->buffer.length) { 718 - dest_desc->buffer.pointer = 719 - ACPI_MEM_ALLOCATE (source_desc->buffer.length); 720 - if (!dest_desc->buffer.pointer) { 721 - return (AE_NO_MEMORY); 722 - } 723 - 724 - /* Copy the actual buffer data */ 725 - 726 - ACPI_MEMCPY (dest_desc->buffer.pointer, 727 - source_desc->buffer.pointer, 728 - source_desc->buffer.length); 711 + (source_desc->buffer.length)) { 712 + dest_desc->buffer.pointer = 713 + ACPI_MEM_ALLOCATE (source_desc->buffer.length); 714 + if (!dest_desc->buffer.pointer) { 715 + return (AE_NO_MEMORY); 729 716 } 717 + 718 + /* Copy the actual buffer data */ 719 + 720 + ACPI_MEMCPY (dest_desc->buffer.pointer, 721 + source_desc->buffer.pointer, 722 + source_desc->buffer.length); 730 723 } 731 724 break; 732 725 733 726 case ACPI_TYPE_STRING: 734 - 735 727 /* 736 728 * Allocate and copy the actual string if and only if: 737 729 * 1) There is a valid string pointer 738 - * 2) The string is not static (not in an ACPI table) (in this case, 739 - * the actual pointer was already copied above) 730 + * (Pointer to a NULL string is allowed) 740 731 */ 741 - if ((source_desc->string.pointer) && 742 - (!(source_desc->common.flags & AOPOBJ_STATIC_POINTER))) { 732 + if (source_desc->string.pointer) { 743 733 dest_desc->string.pointer = 744 734 ACPI_MEM_ALLOCATE ((acpi_size) source_desc->string.length + 1); 745 735 if (!dest_desc->string.pointer) { 746 736 return (AE_NO_MEMORY); 747 737 } 738 + 739 + /* Copy the actual string data */ 748 740 749 741 ACPI_MEMCPY (dest_desc->string.pointer, source_desc->string.pointer, 750 742 (acpi_size) source_desc->string.length + 1);
+1 -1
include/acpi/acconfig.h
··· 64 64 65 65 /* Version string */ 66 66 67 - #define ACPI_CA_VERSION 0x20050408 67 + #define ACPI_CA_VERSION 0x20050513 68 68 69 69 /* 70 70 * OS name, used for the _OS object. The _OS object is essentially obsolete,
+1 -1
include/acpi/acevents.h
··· 136 136 struct acpi_generic_address *gpe_block_address, 137 137 u32 register_count, 138 138 u8 gpe_block_base_number, 139 - u32 interrupt_level, 139 + u32 interrupt_number, 140 140 struct acpi_gpe_block_info **return_gpe_block); 141 141 142 142 acpi_status
+2 -1
include/acpi/aclocal.h
··· 365 365 struct acpi_gpe_xrupt_info *previous; 366 366 struct acpi_gpe_xrupt_info *next; 367 367 struct acpi_gpe_block_info *gpe_block_list_head; /* List of GPE blocks for this xrupt */ 368 - u32 interrupt_level; /* System interrupt level */ 368 + u32 interrupt_number; /* System interrupt number */ 369 369 }; 370 370 371 371 ··· 737 737 ****************************************************************************/ 738 738 739 739 #define PCI_ROOT_HID_STRING "PNP0A03" 740 + #define PCI_EXPRESS_ROOT_HID_STRING "PNP0A08" 740 741 741 742 struct acpi_bit_register_info 742 743 {
+1 -1
include/acpi/acopcode.h
··· 246 246 #define ARGI_FIELD_OP ARGI_INVALID_OPCODE 247 247 #define ARGI_FIND_SET_LEFT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 248 248 #define ARGI_FIND_SET_RIGHT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 249 - #define ARGI_FROM_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) 249 + #define ARGI_FROM_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) 250 250 #define ARGI_IF_OP ARGI_INVALID_OPCODE 251 251 #define ARGI_INCREMENT_OP ARGI_LIST1 (ARGI_INTEGER_REF) 252 252 #define ARGI_INDEX_FIELD_OP ARGI_INVALID_OPCODE
+1 -1
include/acpi/acpixf.h
··· 387 387 acpi_handle gpe_device, 388 388 struct acpi_generic_address *gpe_block_address, 389 389 u32 register_count, 390 - u32 interrupt_level); 390 + u32 interrupt_number); 391 391 392 392 acpi_status 393 393 acpi_remove_gpe_block (