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

ACPICA: iASL/Disassembler: Add support for hardware summary mapfiles.

Adds support for both iASL and the disassembler to create a hardware
and connection summary mapfile (via the -lm option.)

Linux isn't affected by this patch because iASL is not in the Linux
upstream.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Bob Moore and committed by
Rafael J. Wysocki
f2d348fa 2f857234

+34
+34
drivers/acpi/acpica/amlresrc.h
··· 117 117 struct asl_resource_node *next; 118 118 }; 119 119 120 + struct asl_resource_info { 121 + union acpi_parse_object *descriptor_type_op; /* Resource descriptor parse node */ 122 + union acpi_parse_object *mapping_op; /* Used for mapfile support */ 123 + u32 current_byte_offset; /* Offset in resource template */ 124 + }; 125 + 120 126 /* Macros used to generate AML resource length fields */ 121 127 122 128 #define ACPI_AML_SIZE_LARGE(r) (sizeof (r) - sizeof (struct aml_resource_large_header)) ··· 454 448 u16 word_item; 455 449 u8 byte_item; 456 450 }; 451 + 452 + /* Interfaces used by both the disassembler and compiler */ 453 + 454 + void 455 + mp_save_gpio_info(union acpi_parse_object *op, 456 + union aml_resource *resource, 457 + u32 pin_count, u16 *pin_list, char *device_name); 458 + 459 + void 460 + mp_save_serial_info(union acpi_parse_object *op, 461 + union aml_resource *resource, char *device_name); 462 + 463 + char *mp_get_hid_from_parse_tree(struct acpi_namespace_node *hid_node); 464 + 465 + char *mp_get_hid_via_namestring(char *device_name); 466 + 467 + char *mp_get_connection_info(union acpi_parse_object *op, 468 + u32 pin_index, 469 + struct acpi_namespace_node **target_node, 470 + char **target_name); 471 + 472 + char *mp_get_parent_device_hid(union acpi_parse_object *op, 473 + struct acpi_namespace_node **target_node, 474 + char **parent_device_name); 475 + 476 + char *mp_get_ddn_value(char *device_name); 477 + 478 + char *mp_get_hid_value(struct acpi_namespace_node *device_node); 457 479 458 480 #endif