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

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

Merge branch 'acpica'

* acpica: (21 commits)
  ACPICA: Update version to 20130517
  ACPICA: _CST repair: Handle null package entries
  ACPICA: Add several repairs for _CST predefined name
  ACPICA: Move _PRT repair into the standard complex repair module
  ACPICA: Clear events initialized flag upon event component termination
  ACPICA: Fix possible memory leak in GPE init error path
  ACPICA: ACPICA Termination: Delete global lock pending lock
  ACPICA: Update interface to acpi_ut_valid_acpi_name()
  ACPICA: Do not use extended sleep registers unless HW-reduced bit is set
  ACPICA: Split table print utilities to a new a separate file
  ACPICA: Add option to disable loading of SSDTs from the RSDT/XSDT
  ACPICA: Standardize all switch() blocks
  ACPICA: Split internal error msg routines to a separate file
  ACPICA: Split buffer dump routines into separate file
  ACPICA: Update version to 20130418
  ACPICA: Update for "orphan" embedded controller _REG method support
  ACPICA: Remove unused macros, no functional change
  ACPICA: Predefined name support: Remove unused local variable
  ACPICA: Add argument typechecking for all predefined ACPI names
  ACPICA: Add BIOS error interface for predefined name validation support
  ...
parents a204dbc6 069189a1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ acpi-$(ACPI_FUTURE_USAGE) += hwtimer.o
acpi-y +=		\
	nsaccess.o	\
	nsalloc.o	\
	nsarguments.o	\
	nsconvert.o	\
	nsdump.o	\
	nseval.o	\
@@ -137,6 +138,7 @@ acpi-y += \
	tbfadt.o	\
	tbfind.o	\
	tbinstal.o	\
	tbprint.o	\
	tbutils.o	\
	tbxface.o	\
	tbxfload.o	\
@@ -145,11 +147,13 @@ acpi-y += \
acpi-y +=		\
	utaddress.o	\
	utalloc.o	\
	utbuffer.o	\
	utcopy.o	\
	utexcep.o	\
	utdebug.o	\
	utdecode.o	\
	utdelete.o	\
	uterror.o	\
	uteval.o	\
	utglobal.o	\
	utids.o		\
+6 −0
Original line number Diff line number Diff line
@@ -132,6 +132,12 @@ u8 ACPI_INIT_GLOBAL(acpi_gbl_truncate_io_addresses, FALSE);
 */
u8 ACPI_INIT_GLOBAL(acpi_gbl_disable_auto_repair, FALSE);

/*
 * Optionally do not load any SSDTs from the RSDT/XSDT during initialization.
 * This can be useful for debugging ACPI problems on some machines.
 */
u8 ACPI_INIT_GLOBAL(acpi_gbl_disable_ssdt_table_load, FALSE);

/* acpi_gbl_FADT is a local copy of the FADT, converted to a common format. */

struct acpi_table_fadt acpi_gbl_FADT;
+0 −17
Original line number Diff line number Diff line
@@ -362,23 +362,6 @@ union acpi_predefined_info {

#pragma pack()

/* Data block used during object validation */

struct acpi_predefined_data {
	char *pathname;
	const union acpi_predefined_info *predefined;
	union acpi_operand_object *parent_package;
	struct acpi_namespace_node *node;
	u32 flags;
	u32 return_btype;
	u8 node_flags;
};

/* Defines for Flags field above */

#define ACPI_OBJECT_REPAIRED    1
#define ACPI_OBJECT_WRAPPED     2

/* Return object auto-repair info */

typedef acpi_status(*acpi_object_converter) (union acpi_operand_object
+6 −4
Original line number Diff line number Diff line
@@ -378,6 +378,7 @@
#define ACPI_ERROR_METHOD(s, n, p, e)       acpi_ut_method_error (AE_INFO, s, n, p, e);
#define ACPI_WARN_PREDEFINED(plist)         acpi_ut_predefined_warning plist
#define ACPI_INFO_PREDEFINED(plist)         acpi_ut_predefined_info plist
#define ACPI_BIOS_ERROR_PREDEFINED(plist)   acpi_ut_predefined_bios_error plist

#else

@@ -387,6 +388,7 @@
#define ACPI_ERROR_METHOD(s, n, p, e)
#define ACPI_WARN_PREDEFINED(plist)
#define ACPI_INFO_PREDEFINED(plist)
#define ACPI_BIOS_ERROR_PREDEFINED(plist)

#endif				/* ACPI_NO_ERROR_MESSAGES */

+27 −16
Original line number Diff line number Diff line
@@ -223,22 +223,33 @@ acpi_status acpi_ns_evaluate(struct acpi_evaluate_info *info);
void acpi_ns_exec_module_code_list(void);

/*
 * nspredef - Support for predefined/reserved names
 * nsarguments - Argument count/type checking for predefined/reserved names
 */
acpi_status
acpi_ns_check_predefined_names(struct acpi_namespace_node *node,
void
acpi_ns_check_argument_count(char *pathname,
			     struct acpi_namespace_node *node,
			     u32 user_param_count,
			       acpi_status return_status,
			       union acpi_operand_object **return_object);
			     const union acpi_predefined_info *info);

void
acpi_ns_check_parameter_count(char *pathname,
acpi_ns_check_acpi_compliance(char *pathname,
			      struct acpi_namespace_node *node,
			      const union acpi_predefined_info *predefined);

void acpi_ns_check_argument_types(struct acpi_evaluate_info *info);

/*
 * nspredef - Return value checking for predefined/reserved names
 */
acpi_status
acpi_ns_check_return_value(struct acpi_namespace_node *node,
			   struct acpi_evaluate_info *info,
			   u32 user_param_count,
			      const union acpi_predefined_info *info);
			   acpi_status return_status,
			   union acpi_operand_object **return_object);

acpi_status
acpi_ns_check_object_type(struct acpi_predefined_data *data,
acpi_ns_check_object_type(struct acpi_evaluate_info *info,
			  union acpi_operand_object **return_object_ptr,
			  u32 expected_btypes, u32 package_index);

@@ -246,7 +257,7 @@ acpi_ns_check_object_type(struct acpi_predefined_data *data,
 * nsprepkg - Validation of predefined name packages
 */
acpi_status
acpi_ns_check_package(struct acpi_predefined_data *data,
acpi_ns_check_package(struct acpi_evaluate_info *info,
		      union acpi_operand_object **return_object_ptr);

/*
@@ -308,24 +319,24 @@ acpi_ns_get_attached_data(struct acpi_namespace_node *node,
 * predefined methods/objects
 */
acpi_status
acpi_ns_simple_repair(struct acpi_predefined_data *data,
acpi_ns_simple_repair(struct acpi_evaluate_info *info,
		      u32 expected_btypes,
		      u32 package_index,
		      union acpi_operand_object **return_object_ptr);

acpi_status
acpi_ns_wrap_with_package(struct acpi_predefined_data *data,
acpi_ns_wrap_with_package(struct acpi_evaluate_info *info,
			  union acpi_operand_object *original_object,
			  union acpi_operand_object **obj_desc_ptr);

acpi_status
acpi_ns_repair_null_element(struct acpi_predefined_data *data,
acpi_ns_repair_null_element(struct acpi_evaluate_info *info,
			    u32 expected_btypes,
			    u32 package_index,
			    union acpi_operand_object **return_object_ptr);

void
acpi_ns_remove_null_elements(struct acpi_predefined_data *data,
acpi_ns_remove_null_elements(struct acpi_evaluate_info *info,
			     u8 package_type,
			     union acpi_operand_object *obj_desc);

@@ -334,7 +345,7 @@ acpi_ns_remove_null_elements(struct acpi_predefined_data *data,
 * predefined methods/objects
 */
acpi_status
acpi_ns_complex_repairs(struct acpi_predefined_data *data,
acpi_ns_complex_repairs(struct acpi_evaluate_info *info,
			struct acpi_namespace_node *node,
			acpi_status validate_status,
			union acpi_operand_object **return_object_ptr);
Loading