diff options
author | Bob Moore <robert.moore@intel.com> | 2014-10-09 22:40:11 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-10-20 18:39:40 -0400 |
commit | f2d348fac77f6cf8eb5d0eb37e16b13d8b796bda (patch) | |
tree | 5bfb397d5f2876664b65b2e622fcb0ee67807761 | |
parent | 2f8572344e65296d13c1a771cacfea60916d91dc (diff) |
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>
-rw-r--r-- | drivers/acpi/acpica/amlresrc.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/amlresrc.h b/drivers/acpi/acpica/amlresrc.h index f3f834408441..3a0beeb86ba5 100644 --- a/drivers/acpi/acpica/amlresrc.h +++ b/drivers/acpi/acpica/amlresrc.h | |||
@@ -117,6 +117,12 @@ struct asl_resource_node { | |||
117 | struct asl_resource_node *next; | 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 | /* Macros used to generate AML resource length fields */ | 126 | /* Macros used to generate AML resource length fields */ |
121 | 127 | ||
122 | #define ACPI_AML_SIZE_LARGE(r) (sizeof (r) - sizeof (struct aml_resource_large_header)) | 128 | #define ACPI_AML_SIZE_LARGE(r) (sizeof (r) - sizeof (struct aml_resource_large_header)) |
@@ -449,4 +455,32 @@ union aml_resource { | |||
449 | u8 byte_item; | 455 | u8 byte_item; |
450 | }; | 456 | }; |
451 | 457 | ||
458 | /* Interfaces used by both the disassembler and compiler */ | ||
459 | |||
460 | void | ||
461 | mp_save_gpio_info(union acpi_parse_object *op, | ||
462 | union aml_resource *resource, | ||
463 | u32 pin_count, u16 *pin_list, char *device_name); | ||
464 | |||
465 | void | ||
466 | mp_save_serial_info(union acpi_parse_object *op, | ||
467 | union aml_resource *resource, char *device_name); | ||
468 | |||
469 | char *mp_get_hid_from_parse_tree(struct acpi_namespace_node *hid_node); | ||
470 | |||
471 | char *mp_get_hid_via_namestring(char *device_name); | ||
472 | |||
473 | char *mp_get_connection_info(union acpi_parse_object *op, | ||
474 | u32 pin_index, | ||
475 | struct acpi_namespace_node **target_node, | ||
476 | char **target_name); | ||
477 | |||
478 | char *mp_get_parent_device_hid(union acpi_parse_object *op, | ||
479 | struct acpi_namespace_node **target_node, | ||
480 | char **parent_device_name); | ||
481 | |||
482 | char *mp_get_ddn_value(char *device_name); | ||
483 | |||
484 | char *mp_get_hid_value(struct acpi_namespace_node *device_node); | ||
485 | |||
452 | #endif | 486 | #endif |