Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 082c119d authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branch 'acpica'

* acpica:
  ACPICA: Update version to 20140926.
  ACPICA: acpiexec: Do not put STDIN into raw mode unless it is a terminal.
  ACPICA: iASL/Disassembler: Add support for hardware summary mapfiles.
  ACPICA: Events: Reduce source code difference for the ACPI_EVENT_FLAG_HANDLE renaming.
  ACPICA: Events: Reduce source code difference for the ACPI_EVENT_FLAG_HANDLE support.
  ACPICA: Events: Update GPE handler removal, match behavior of handler install.
  ACPICA: Events: Reduce source code difference in acpi_install_gpe_handler().
  ACPICA: Events: Reduce indent divergences of events files.
  ACPICA: acpidump: Add ACPI 1.0 RSDP support.
  ACPICA: Add string for _DDN method name.
parents f114040e 9fc3d1d0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -49,6 +49,8 @@ acpi_status acpi_allocate_root_table(u32 initial_table_count);
/*
 * tbxfroot - Root pointer utilities
 */
u32 acpi_tb_get_rsdp_length(struct acpi_table_rsdp *rsdp);

acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp);

u8 *acpi_tb_scan_memory_for_rsdp(u8 *start_address, u32 length);
+34 −0
Original line number Diff line number Diff line
@@ -117,6 +117,12 @@ struct asl_resource_node {
	struct asl_resource_node *next;
};

struct asl_resource_info {
	union acpi_parse_object *descriptor_type_op;	/* Resource descriptor parse node */
	union acpi_parse_object *mapping_op;	/* Used for mapfile support */
	u32 current_byte_offset;	/* Offset in resource template */
};

/* Macros used to generate AML resource length fields */

#define ACPI_AML_SIZE_LARGE(r)      (sizeof (r) - sizeof (struct aml_resource_large_header))
@@ -449,4 +455,32 @@ union aml_resource {
	u8 byte_item;
};

/* Interfaces used by both the disassembler and compiler */

void
mp_save_gpio_info(union acpi_parse_object *op,
		  union aml_resource *resource,
		  u32 pin_count, u16 *pin_list, char *device_name);

void
mp_save_serial_info(union acpi_parse_object *op,
		    union aml_resource *resource, char *device_name);

char *mp_get_hid_from_parse_tree(struct acpi_namespace_node *hid_node);

char *mp_get_hid_via_namestring(char *device_name);

char *mp_get_connection_info(union acpi_parse_object *op,
			     u32 pin_index,
			     struct acpi_namespace_node **target_node,
			     char **target_name);

char *mp_get_parent_device_hid(union acpi_parse_object *op,
			       struct acpi_namespace_node **target_node,
			       char **parent_device_name);

char *mp_get_ddn_value(char *device_name);

char *mp_get_hid_value(struct acpi_namespace_node *device_node);

#endif
+12 −11
Original line number Diff line number Diff line
@@ -107,6 +107,7 @@ acpi_ev_update_gpe_enable_mask(struct acpi_gpe_event_info *gpe_event_info)
 * DESCRIPTION: Clear a GPE of stale events and enable it.
 *
 ******************************************************************************/

acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info)
{
	acpi_status status;
@@ -125,6 +126,7 @@ acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info)
	}

	/* Clear the GPE (of stale events) */

	status = acpi_hw_clear_gpe(gpe_event_info);
	if (ACPI_FAILURE(status)) {
		return_ACPI_STATUS(status);
@@ -136,7 +138,6 @@ acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info)
	return_ACPI_STATUS(status);
}


/*******************************************************************************
 *
 * FUNCTION:    acpi_ev_add_gpe_reference
+1 −0
Original line number Diff line number Diff line
@@ -424,6 +424,7 @@ acpi_ev_match_gpe_method(acpi_handle obj_handle,
	}

	/* Disable the GPE in case it's been enabled already. */

	(void)acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE);

	/*
+18 −9
Original line number Diff line number Diff line
@@ -793,11 +793,19 @@ acpi_install_gpe_handler(acpi_handle gpe_device,
	 * automatically during initialization, in which case it has to be
	 * disabled now to avoid spurious execution of the handler.
	 */

	if ((handler->original_flags & ACPI_GPE_DISPATCH_METHOD)
	    && gpe_event_info->runtime_count) {
		handler->originally_enabled = 1;
	if (((handler->original_flags & ACPI_GPE_DISPATCH_METHOD) ||
	     (handler->original_flags & ACPI_GPE_DISPATCH_NOTIFY)) &&
	    gpe_event_info->runtime_count) {
		handler->originally_enabled = TRUE;
		(void)acpi_ev_remove_gpe_reference(gpe_event_info);

		/* Sanity check of original type against new type */

		if (type !=
		    (u32)(gpe_event_info->flags & ACPI_GPE_XRUPT_TYPE_MASK)) {
			ACPI_WARNING((AE_INFO,
				      "GPE type mismatch (level/edge)"));
		}
	}

	/* Install the handler */
@@ -901,7 +909,8 @@ acpi_remove_gpe_handler(acpi_handle gpe_device,
	 * enabled, it should be enabled at this point to restore the
	 * post-initialization configuration.
	 */
	if ((handler->original_flags & ACPI_GPE_DISPATCH_METHOD) &&
	if (((handler->original_flags & ACPI_GPE_DISPATCH_METHOD) ||
	     (handler->original_flags & ACPI_GPE_DISPATCH_NOTIFY)) &&
	    handler->originally_enabled) {
		(void)acpi_ev_add_gpe_reference(gpe_event_info);
	}
Loading