aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2014-02-25 21:28:32 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-02-26 18:45:59 -0500
commit4ac4c5fad8a320f75cb84543403fb8bae5ad2254 (patch)
tree93b6c6a9dbc086412a1c2603cd5b47cc4d322e1f /drivers/acpi
parent4dde507fc1984435f28862ddd1beb90822aa116c (diff)
ACPICA: Headers: Deploy #pragma pack (push) and (pop).
Use push and pop to both guarantee that the correct alignment is used, and to restore the alignment to whatever it was before the header was included. It is reported that the #pragma pack(push/pop) directives are not supported by the specific GCCs, but this patch still doesn't affect kernel build as there are already #pragma pack([1]) directives used in the old ACPICA headers, which means there shouldn't be GCCs that are currently used to compile the ACPI kernels do not support #pragma pack() directives. References: https://bugs.acpica.org/show_bug.cgi?id=1058 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>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/acpica/acdebug.h4
-rw-r--r--drivers/acpi/acpica/acdispat.h4
-rw-r--r--drivers/acpi/acpica/acevents.h3
-rw-r--r--drivers/acpi/acpica/acglobal.h4
-rw-r--r--drivers/acpi/acpica/achware.h4
-rw-r--r--drivers/acpi/acpica/acinterp.h4
-rw-r--r--drivers/acpi/acpica/aclocal.h4
-rw-r--r--drivers/acpi/acpica/acmacros.h4
-rw-r--r--drivers/acpi/acpica/acnamesp.h4
-rw-r--r--drivers/acpi/acpica/acobject.h4
-rw-r--r--drivers/acpi/acpica/acparser.h4
-rw-r--r--drivers/acpi/acpica/acpredef.h4
-rw-r--r--drivers/acpi/acpica/acresrc.h4
-rw-r--r--drivers/acpi/acpica/acstruct.h4
-rw-r--r--drivers/acpi/acpica/actables.h4
-rw-r--r--drivers/acpi/acpica/acutils.h4
-rw-r--r--drivers/acpi/acpica/amlcode.h4
-rw-r--r--drivers/acpi/acpica/amlresrc.h4
18 files changed, 70 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/acdebug.h b/drivers/acpi/acpica/acdebug.h
index 68a91eb0fa48..e9ab514a96c8 100644
--- a/drivers/acpi/acpica/acdebug.h
+++ b/drivers/acpi/acpica/acdebug.h
@@ -44,6 +44,8 @@
44#ifndef __ACDEBUG_H__ 44#ifndef __ACDEBUG_H__
45#define __ACDEBUG_H__ 45#define __ACDEBUG_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47#define ACPI_DEBUG_BUFFER_SIZE 0x4000 /* 16K buffer for return objects */ 49#define ACPI_DEBUG_BUFFER_SIZE 0x4000 /* 16K buffer for return objects */
48 50
49struct acpi_db_command_info { 51struct acpi_db_command_info {
@@ -282,4 +284,6 @@ struct acpi_namespace_node *acpi_db_local_ns_lookup(char *name);
282 284
283void acpi_db_uint32_to_hex_string(u32 value, char *buffer); 285void acpi_db_uint32_to_hex_string(u32 value, char *buffer);
284 286
287#pragma pack(pop) /* Restore original struct packing */
288
285#endif /* __ACDEBUG_H__ */ 289#endif /* __ACDEBUG_H__ */
diff --git a/drivers/acpi/acpica/acdispat.h b/drivers/acpi/acpica/acdispat.h
index 5b472c43c31d..53b6dd679ffa 100644
--- a/drivers/acpi/acpica/acdispat.h
+++ b/drivers/acpi/acpica/acdispat.h
@@ -44,6 +44,8 @@
44#ifndef _ACDISPAT_H_ 44#ifndef _ACDISPAT_H_
45#define _ACDISPAT_H_ 45#define _ACDISPAT_H_
46 46
47#pragma pack(push) /* Set default struct packing */
48
47#define NAMEOF_LOCAL_NTE "__L0" 49#define NAMEOF_LOCAL_NTE "__L0"
48#define NAMEOF_ARG_NTE "__A0" 50#define NAMEOF_ARG_NTE "__A0"
49 51
@@ -351,4 +353,6 @@ acpi_status
351acpi_ds_result_push(union acpi_operand_object *object, 353acpi_ds_result_push(union acpi_operand_object *object,
352 struct acpi_walk_state *walk_state); 354 struct acpi_walk_state *walk_state);
353 355
356#pragma pack(pop) /* Restore original struct packing */
357
354#endif /* _ACDISPAT_H_ */ 358#endif /* _ACDISPAT_H_ */
diff --git a/drivers/acpi/acpica/acevents.h b/drivers/acpi/acpica/acevents.h
index 68ec61fff188..75f25eda3a6a 100644
--- a/drivers/acpi/acpica/acevents.h
+++ b/drivers/acpi/acpica/acevents.h
@@ -44,6 +44,8 @@
44#ifndef __ACEVENTS_H__ 44#ifndef __ACEVENTS_H__
45#define __ACEVENTS_H__ 45#define __ACEVENTS_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* 49/*
48 * evevent 50 * evevent
49 */ 51 */
@@ -251,4 +253,5 @@ u32 acpi_ev_install_sci_handler(void);
251acpi_status acpi_ev_remove_all_sci_handlers(void); 253acpi_status acpi_ev_remove_all_sci_handlers(void);
252 254
253ACPI_HW_DEPENDENT_RETURN_VOID(void acpi_ev_terminate(void)) 255ACPI_HW_DEPENDENT_RETURN_VOID(void acpi_ev_terminate(void))
256#pragma pack(pop) /* Restore original struct packing */
254#endif /* __ACEVENTS_H__ */ 257#endif /* __ACEVENTS_H__ */
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
index b88771b13779..203b2dc5ea28 100644
--- a/drivers/acpi/acpica/acglobal.h
+++ b/drivers/acpi/acpica/acglobal.h
@@ -44,6 +44,8 @@
44#ifndef __ACGLOBAL_H__ 44#ifndef __ACGLOBAL_H__
45#define __ACGLOBAL_H__ 45#define __ACGLOBAL_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* 49/*
48 * Ensure that the globals are actually defined and initialized only once. 50 * Ensure that the globals are actually defined and initialized only once.
49 * 51 *
@@ -520,4 +522,6 @@ ACPI_FILE ACPI_INIT_GLOBAL(acpi_gbl_debug_file, NULL);
520 522
521extern const struct ah_predefined_name asl_predefined_info[]; 523extern const struct ah_predefined_name asl_predefined_info[];
522 524
525#pragma pack(pop) /* Restore original struct packing */
526
523#endif /* __ACGLOBAL_H__ */ 527#endif /* __ACGLOBAL_H__ */
diff --git a/drivers/acpi/acpica/achware.h b/drivers/acpi/acpica/achware.h
index 2ad2351a9833..4a0e63457881 100644
--- a/drivers/acpi/acpica/achware.h
+++ b/drivers/acpi/acpica/achware.h
@@ -44,6 +44,8 @@
44#ifndef __ACHWARE_H__ 44#ifndef __ACHWARE_H__
45#define __ACHWARE_H__ 45#define __ACHWARE_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* Values for the _SST predefined method */ 49/* Values for the _SST predefined method */
48 50
49#define ACPI_SST_INDICATOR_OFF 0 51#define ACPI_SST_INDICATOR_OFF 0
@@ -147,4 +149,6 @@ acpi_status
147acpi_hw_derive_pci_id(struct acpi_pci_id *pci_id, 149acpi_hw_derive_pci_id(struct acpi_pci_id *pci_id,
148 acpi_handle root_pci_device, acpi_handle pci_region); 150 acpi_handle root_pci_device, acpi_handle pci_region);
149 151
152#pragma pack(pop) /* Restore original struct packing */
153
150#endif /* __ACHWARE_H__ */ 154#endif /* __ACHWARE_H__ */
diff --git a/drivers/acpi/acpica/acinterp.h b/drivers/acpi/acpica/acinterp.h
index 948a6800ab09..277f4d03c080 100644
--- a/drivers/acpi/acpica/acinterp.h
+++ b/drivers/acpi/acpica/acinterp.h
@@ -44,6 +44,8 @@
44#ifndef __ACINTERP_H__ 44#ifndef __ACINTERP_H__
45#define __ACINTERP_H__ 45#define __ACINTERP_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47#define ACPI_WALK_OPERANDS (&(walk_state->operands [walk_state->num_operands -1])) 49#define ACPI_WALK_OPERANDS (&(walk_state->operands [walk_state->num_operands -1]))
48 50
49/* Macros for tables used for debug output */ 51/* Macros for tables used for debug output */
@@ -531,4 +533,6 @@ acpi_ex_data_table_space_handler(u32 function,
531 u64 *value, 533 u64 *value,
532 void *handler_context, void *region_context); 534 void *handler_context, void *region_context);
533 535
536#pragma pack(pop) /* Restore original struct packing */
537
534#endif /* __INTERP_H__ */ 538#endif /* __INTERP_H__ */
diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
index 52a21dafb540..fee53b50399b 100644
--- a/drivers/acpi/acpica/aclocal.h
+++ b/drivers/acpi/acpica/aclocal.h
@@ -44,6 +44,8 @@
44#ifndef __ACLOCAL_H__ 44#ifndef __ACLOCAL_H__
45#define __ACLOCAL_H__ 45#define __ACLOCAL_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* acpisrc:struct_defs -- for acpisrc conversion */ 49/* acpisrc:struct_defs -- for acpisrc conversion */
48 50
49#define ACPI_SERIALIZED 0xFF 51#define ACPI_SERIALIZED 0xFF
@@ -1147,4 +1149,6 @@ struct ah_predefined_name {
1147#endif 1149#endif
1148}; 1150};
1149 1151
1152#pragma pack(pop) /* Restore original struct packing */
1153
1150#endif /* __ACLOCAL_H__ */ 1154#endif /* __ACLOCAL_H__ */
diff --git a/drivers/acpi/acpica/acmacros.h b/drivers/acpi/acpica/acmacros.h
index 4bceb11c7380..9b0ce226bf5d 100644
--- a/drivers/acpi/acpica/acmacros.h
+++ b/drivers/acpi/acpica/acmacros.h
@@ -44,6 +44,8 @@
44#ifndef __ACMACROS_H__ 44#ifndef __ACMACROS_H__
45#define __ACMACROS_H__ 45#define __ACMACROS_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* 49/*
48 * Extract data using a pointer. Any more than a byte and we 50 * Extract data using a pointer. Any more than a byte and we
49 * get into potential aligment issues -- see the STORE macros below. 51 * get into potential aligment issues -- see the STORE macros below.
@@ -427,4 +429,6 @@
427 429
428#define ACPI_IS_OCTAL_DIGIT(d) (((char)(d) >= '0') && ((char)(d) <= '7')) 430#define ACPI_IS_OCTAL_DIGIT(d) (((char)(d) >= '0') && ((char)(d) <= '7'))
429 431
432#pragma pack(pop) /* Restore original struct packing */
433
430#endif /* ACMACROS_H */ 434#endif /* ACMACROS_H */
diff --git a/drivers/acpi/acpica/acnamesp.h b/drivers/acpi/acpica/acnamesp.h
index ee1c040f321c..751083dd7793 100644
--- a/drivers/acpi/acpica/acnamesp.h
+++ b/drivers/acpi/acpica/acnamesp.h
@@ -44,6 +44,8 @@
44#ifndef __ACNAMESP_H__ 44#ifndef __ACNAMESP_H__
45#define __ACNAMESP_H__ 45#define __ACNAMESP_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* To search the entire name space, pass this as search_base */ 49/* To search the entire name space, pass this as search_base */
48 50
49#define ACPI_NS_ALL ((acpi_handle)0) 51#define ACPI_NS_ALL ((acpi_handle)0)
@@ -404,4 +406,6 @@ struct acpi_namespace_node *acpi_ns_validate_handle(acpi_handle handle);
404 406
405void acpi_ns_terminate(void); 407void acpi_ns_terminate(void);
406 408
409#pragma pack(pop) /* Restore original struct packing */
410
407#endif /* __ACNAMESP_H__ */ 411#endif /* __ACNAMESP_H__ */
diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h
index 1a4d61805ebc..7ce7e9f1a040 100644
--- a/drivers/acpi/acpica/acobject.h
+++ b/drivers/acpi/acpica/acobject.h
@@ -44,6 +44,8 @@
44#ifndef _ACOBJECT_H 44#ifndef _ACOBJECT_H
45#define _ACOBJECT_H 45#define _ACOBJECT_H
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* acpisrc:struct_defs -- for acpisrc conversion */ 49/* acpisrc:struct_defs -- for acpisrc conversion */
48 50
49/* 51/*
@@ -456,6 +458,6 @@ union acpi_descriptor {
456 union acpi_parse_object op; 458 union acpi_parse_object op;
457}; 459};
458 460
459#pragma pack() 461#pragma pack(pop) /* Restore original struct packing */
460 462
461#endif /* _ACOBJECT_H */ 463#endif /* _ACOBJECT_H */
diff --git a/drivers/acpi/acpica/acparser.h b/drivers/acpi/acpica/acparser.h
index 6168b85463ed..3d828be9dc20 100644
--- a/drivers/acpi/acpica/acparser.h
+++ b/drivers/acpi/acpica/acparser.h
@@ -44,6 +44,8 @@
44#ifndef __ACPARSER_H__ 44#ifndef __ACPARSER_H__
45#define __ACPARSER_H__ 45#define __ACPARSER_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47#define OP_HAS_RETURN_VALUE 1 49#define OP_HAS_RETURN_VALUE 1
48 50
49/* Variable number of arguments. This field must be 32 bits */ 51/* Variable number of arguments. This field must be 32 bits */
@@ -251,4 +253,6 @@ acpi_ps_sprint_op(char *buffer_start,
251 253
252void acpi_ps_show(union acpi_parse_object *op); 254void acpi_ps_show(union acpi_parse_object *op);
253 255
256#pragma pack(pop) /* Restore original struct packing */
257
254#endif /* __ACPARSER_H__ */ 258#endif /* __ACPARSER_H__ */
diff --git a/drivers/acpi/acpica/acpredef.h b/drivers/acpi/acpica/acpredef.h
index 9c73d6c5ead2..01b9eaaa982d 100644
--- a/drivers/acpi/acpica/acpredef.h
+++ b/drivers/acpi/acpica/acpredef.h
@@ -44,6 +44,8 @@
44#ifndef __ACPREDEF_H__ 44#ifndef __ACPREDEF_H__
45#define __ACPREDEF_H__ 45#define __ACPREDEF_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/****************************************************************************** 49/******************************************************************************
48 * 50 *
49 * Return Package types 51 * Return Package types
@@ -1080,4 +1082,6 @@ static const union acpi_predefined_info acpi_gbl_scope_names[] = {
1080extern const union acpi_predefined_info acpi_gbl_resource_names[]; 1082extern const union acpi_predefined_info acpi_gbl_resource_names[];
1081#endif 1083#endif
1082 1084
1085#pragma pack(pop) /* Restore original struct packing */
1086
1083#endif 1087#endif
diff --git a/drivers/acpi/acpica/acresrc.h b/drivers/acpi/acpica/acresrc.h
index 4b008e8884a1..be16da2d9f3d 100644
--- a/drivers/acpi/acpica/acresrc.h
+++ b/drivers/acpi/acpica/acresrc.h
@@ -48,6 +48,8 @@
48 48
49#include "amlresrc.h" 49#include "amlresrc.h"
50 50
51#pragma pack(push) /* Set default struct packing */
52
51/* 53/*
52 * If possible, pack the following structures to byte alignment, since we 54 * If possible, pack the following structures to byte alignment, since we
53 * don't care about performance for debug output. Two cases where we cannot 55 * don't care about performance for debug output. Two cases where we cannot
@@ -378,4 +380,6 @@ extern struct acpi_rsdump_info acpi_rs_dump_uart_serial_bus[];
378extern struct acpi_rsdump_info acpi_rs_dump_general_flags[]; 380extern struct acpi_rsdump_info acpi_rs_dump_general_flags[];
379#endif 381#endif
380 382
383#pragma pack(pop) /* Restore original struct packing */
384
381#endif /* __ACRESRC_H__ */ 385#endif /* __ACRESRC_H__ */
diff --git a/drivers/acpi/acpica/acstruct.h b/drivers/acpi/acpica/acstruct.h
index 5d2989a1b68c..5a3fa0ddc1bc 100644
--- a/drivers/acpi/acpica/acstruct.h
+++ b/drivers/acpi/acpica/acstruct.h
@@ -44,6 +44,8 @@
44#ifndef __ACSTRUCT_H__ 44#ifndef __ACSTRUCT_H__
45#define __ACSTRUCT_H__ 45#define __ACSTRUCT_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47/* acpisrc:struct_defs -- for acpisrc conversion */ 49/* acpisrc:struct_defs -- for acpisrc conversion */
48 50
49/***************************************************************************** 51/*****************************************************************************
@@ -241,4 +243,6 @@ struct acpi_walk_info {
241 243
242#define ACPI_DISPLAY_SHORT (u8) 2 244#define ACPI_DISPLAY_SHORT (u8) 2
243 245
246#pragma pack(pop) /* Restore original struct packing */
247
244#endif 248#endif
diff --git a/drivers/acpi/acpica/actables.h b/drivers/acpi/acpica/actables.h
index 5fa4b2027697..9b0f9846e014 100644
--- a/drivers/acpi/acpica/actables.h
+++ b/drivers/acpi/acpica/actables.h
@@ -44,6 +44,8 @@
44#ifndef __ACTABLES_H__ 44#ifndef __ACTABLES_H__
45#define __ACTABLES_H__ 45#define __ACTABLES_H__
46 46
47#pragma pack(push) /* Set default struct packing */
48
47acpi_status acpi_allocate_root_table(u32 initial_table_count); 49acpi_status acpi_allocate_root_table(u32 initial_table_count);
48 50
49/* 51/*
@@ -129,4 +131,6 @@ acpi_tb_install_table(acpi_physical_address address,
129 131
130acpi_status acpi_tb_parse_root_table(acpi_physical_address rsdp_address); 132acpi_status acpi_tb_parse_root_table(acpi_physical_address rsdp_address);
131 133
134#pragma pack(pop) /* Restore original struct packing */
135
132#endif /* __ACTABLES_H__ */ 136#endif /* __ACTABLES_H__ */
diff --git a/drivers/acpi/acpica/acutils.h b/drivers/acpi/acpica/acutils.h
index ceeec0b7ccb1..df970ffb7356 100644
--- a/drivers/acpi/acpica/acutils.h
+++ b/drivers/acpi/acpica/acutils.h
@@ -44,6 +44,8 @@
44#ifndef _ACUTILS_H 44#ifndef _ACUTILS_H
45#define _ACUTILS_H 45#define _ACUTILS_H
46 46
47#pragma pack(push) /* Set default struct packing */
48
47extern const u8 acpi_gbl_resource_aml_sizes[]; 49extern const u8 acpi_gbl_resource_aml_sizes[];
48extern const u8 acpi_gbl_resource_aml_serial_bus_sizes[]; 50extern const u8 acpi_gbl_resource_aml_serial_bus_sizes[];
49 51
@@ -737,4 +739,6 @@ acpi_ut_method_error(const char *module_name,
737 struct acpi_namespace_node *node, 739 struct acpi_namespace_node *node,
738 const char *path, acpi_status lookup_status); 740 const char *path, acpi_status lookup_status);
739 741
742#pragma pack(pop) /* Restore original struct packing */
743
740#endif /* _ACUTILS_H */ 744#endif /* _ACUTILS_H */
diff --git a/drivers/acpi/acpica/amlcode.h b/drivers/acpi/acpica/amlcode.h
index 5908ccec6aea..2db27109d70e 100644
--- a/drivers/acpi/acpica/amlcode.h
+++ b/drivers/acpi/acpica/amlcode.h
@@ -46,6 +46,8 @@
46#ifndef __AMLCODE_H__ 46#ifndef __AMLCODE_H__
47#define __AMLCODE_H__ 47#define __AMLCODE_H__
48 48
49#pragma pack(push) /* Set default struct packing */
50
49/* primary opcodes */ 51/* primary opcodes */
50 52
51#define AML_NULL_CHAR (u16) 0x00 53#define AML_NULL_CHAR (u16) 0x00
@@ -484,4 +486,6 @@ typedef enum {
484#define AML_METHOD_SERIALIZED 0x08 486#define AML_METHOD_SERIALIZED 0x08
485#define AML_METHOD_SYNC_LEVEL 0xF0 487#define AML_METHOD_SYNC_LEVEL 0xF0
486 488
489#pragma pack(pop) /* Restore original struct packing */
490
487#endif /* __AMLCODE_H__ */ 491#endif /* __AMLCODE_H__ */
diff --git a/drivers/acpi/acpica/amlresrc.h b/drivers/acpi/acpica/amlresrc.h
index f3f834408441..334fbeee80d2 100644
--- a/drivers/acpi/acpica/amlresrc.h
+++ b/drivers/acpi/acpica/amlresrc.h
@@ -46,6 +46,8 @@
46#ifndef __AMLRESRC_H 46#ifndef __AMLRESRC_H
47#define __AMLRESRC_H 47#define __AMLRESRC_H
48 48
49#pragma pack(push) /* Set default struct packing */
50
49/* 51/*
50 * Resource descriptor tags, as defined in the ACPI specification. 52 * Resource descriptor tags, as defined in the ACPI specification.
51 * Used to symbolically reference fields within a descriptor. 53 * Used to symbolically reference fields within a descriptor.
@@ -449,4 +451,6 @@ union aml_resource {
449 u8 byte_item; 451 u8 byte_item;
450}; 452};
451 453
454#pragma pack(pop) /* Restore original struct packing */
455
452#endif 456#endif