48
48
u8 descriptor_type ; /* To differentiate various internal objs */ \
49
49
u8 type ; /* acpi_object_type */ \
50
50
u16 reference_count ; /* For object deletion management */ \
51
- u8 flags ;
51
+ u8 flags
52
52
/*
53
53
* Note: There are 3 bytes available here before the
54
54
* next natural alignment boundary (for both 32/64 cases)
71
71
*****************************************************************************/
72
72
73
73
struct acpi_object_common {
74
- ACPI_OBJECT_COMMON_HEADER };
74
+ ACPI_OBJECT_COMMON_HEADER ;
75
+ };
75
76
76
77
struct acpi_object_integer {
77
- ACPI_OBJECT_COMMON_HEADER u8 fill [3 ]; /* Prevent warning on some compilers */
78
+ ACPI_OBJECT_COMMON_HEADER ;
79
+ u8 fill [3 ]; /* Prevent warning on some compilers */
78
80
u64 value ;
79
81
};
80
82
@@ -86,23 +88,26 @@ struct acpi_object_integer {
86
88
*/
87
89
#define ACPI_COMMON_BUFFER_INFO (_type ) \
88
90
_type *pointer; \
89
- u32 length;
91
+ u32 length
90
92
91
93
/* Null terminated, ASCII characters only */
92
94
93
95
struct acpi_object_string {
94
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO (char ) /* String in AML stream or allocated string */
96
+ ACPI_OBJECT_COMMON_HEADER ;
97
+ ACPI_COMMON_BUFFER_INFO (char ); /* String in AML stream or allocated string */
95
98
};
96
99
97
100
struct acpi_object_buffer {
98
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO (u8 ) /* Buffer in AML stream or allocated buffer */
101
+ ACPI_OBJECT_COMMON_HEADER ;
102
+ ACPI_COMMON_BUFFER_INFO (u8 ); /* Buffer in AML stream or allocated buffer */
99
103
u32 aml_length ;
100
104
u8 * aml_start ;
101
105
struct acpi_namespace_node * node ; /* Link back to parent node */
102
106
};
103
107
104
108
struct acpi_object_package {
105
- ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node * node ; /* Link back to parent node */
109
+ ACPI_OBJECT_COMMON_HEADER ;
110
+ struct acpi_namespace_node * node ; /* Link back to parent node */
106
111
union acpi_operand_object * * elements ; /* Array of pointers to acpi_objects */
107
112
u8 * aml_start ;
108
113
u32 aml_length ;
@@ -116,11 +121,13 @@ struct acpi_object_package {
116
121
*****************************************************************************/
117
122
118
123
struct acpi_object_event {
119
- ACPI_OBJECT_COMMON_HEADER acpi_semaphore os_semaphore ; /* Actual OS synchronization object */
124
+ ACPI_OBJECT_COMMON_HEADER ;
125
+ acpi_semaphore os_semaphore ; /* Actual OS synchronization object */
120
126
};
121
127
122
128
struct acpi_object_mutex {
123
- ACPI_OBJECT_COMMON_HEADER u8 sync_level ; /* 0-15, specified in Mutex() call */
129
+ ACPI_OBJECT_COMMON_HEADER ;
130
+ u8 sync_level ; /* 0-15, specified in Mutex() call */
124
131
u16 acquisition_depth ; /* Allow multiple Acquires, same thread */
125
132
acpi_mutex os_mutex ; /* Actual OS synchronization object */
126
133
acpi_thread_id thread_id ; /* Current owner of the mutex */
@@ -132,7 +139,8 @@ struct acpi_object_mutex {
132
139
};
133
140
134
141
struct acpi_object_region {
135
- ACPI_OBJECT_COMMON_HEADER u8 space_id ;
142
+ ACPI_OBJECT_COMMON_HEADER ;
143
+ u8 space_id ;
136
144
struct acpi_namespace_node * node ; /* Containing namespace node */
137
145
union acpi_operand_object * handler ; /* Handler for region access */
138
146
union acpi_operand_object * next ;
@@ -142,7 +150,8 @@ struct acpi_object_region {
142
150
};
143
151
144
152
struct acpi_object_method {
145
- ACPI_OBJECT_COMMON_HEADER u8 info_flags ;
153
+ ACPI_OBJECT_COMMON_HEADER ;
154
+ u8 info_flags ;
146
155
u8 param_count ;
147
156
u8 sync_level ;
148
157
union acpi_operand_object * mutex ;
@@ -178,33 +187,43 @@ struct acpi_object_method {
178
187
*/
179
188
#define ACPI_COMMON_NOTIFY_INFO \
180
189
union acpi_operand_object *notify_list[2]; /* Handlers for system/device notifies */ \
181
- union acpi_operand_object * handler ; /* Handler for Address space */
190
+ union acpi_operand_object * handler /* Handler for Address space */
182
191
183
192
/* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */
184
193
185
194
struct acpi_object_notify_common {
186
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO };
195
+ ACPI_OBJECT_COMMON_HEADER ;
196
+ ACPI_COMMON_NOTIFY_INFO ;
197
+ };
187
198
188
199
struct acpi_object_device {
189
- ACPI_OBJECT_COMMON_HEADER
190
- ACPI_COMMON_NOTIFY_INFO struct acpi_gpe_block_info * gpe_block ;
200
+ ACPI_OBJECT_COMMON_HEADER ;
201
+ ACPI_COMMON_NOTIFY_INFO ;
202
+ struct acpi_gpe_block_info * gpe_block ;
191
203
};
192
204
193
205
struct acpi_object_power_resource {
194
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO u32 system_level ;
206
+ ACPI_OBJECT_COMMON_HEADER ;
207
+ ACPI_COMMON_NOTIFY_INFO ;
208
+ u32 system_level ;
195
209
u32 resource_order ;
196
210
};
197
211
198
212
struct acpi_object_processor {
199
- ACPI_OBJECT_COMMON_HEADER
200
- /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */
213
+ ACPI_OBJECT_COMMON_HEADER ;
214
+
215
+ /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */
216
+
201
217
u8 proc_id ;
202
218
u8 length ;
203
- ACPI_COMMON_NOTIFY_INFO acpi_io_address address ;
219
+ ACPI_COMMON_NOTIFY_INFO ;
220
+ acpi_io_address address ;
204
221
};
205
222
206
223
struct acpi_object_thermal_zone {
207
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO };
224
+ ACPI_OBJECT_COMMON_HEADER ;
225
+ ACPI_COMMON_NOTIFY_INFO ;
226
+ };
208
227
209
228
/******************************************************************************
210
229
*
@@ -226,42 +245,52 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO};
226
245
u32 base_byte_offset ; /* Byte offset within containing object */ \
227
246
u32 value ; /* Value to store into the Bank or Index register */ \
228
247
u8 start_field_bit_offset ;/* Bit offset within first field datum (0-63) */ \
229
- u8 access_length ; /* For serial regions/fields */
248
+ u8 access_length /* For serial regions/fields */
230
249
231
250
232
251
/* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */
233
252
234
253
struct acpi_object_field_common {
235
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object * region_obj ; /* Parent Operation Region object (REGION/BANK fields only) */
254
+ ACPI_OBJECT_COMMON_HEADER ;
255
+ ACPI_COMMON_FIELD_INFO ;
256
+ union acpi_operand_object * region_obj ; /* Parent Operation Region object (REGION/BANK fields only) */
236
257
};
237
258
238
259
struct acpi_object_region_field {
239
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u16 resource_length ;
260
+ ACPI_OBJECT_COMMON_HEADER ;
261
+ ACPI_COMMON_FIELD_INFO ;
262
+ u16 resource_length ;
240
263
union acpi_operand_object * region_obj ; /* Containing op_region object */
241
264
u8 * resource_buffer ; /* resource_template for serial regions/fields */
242
265
u16 pin_number_index ; /* Index relative to previous Connection/Template */
243
266
u8 * internal_pcc_buffer ; /* Internal buffer for fields associated with PCC */
244
267
};
245
268
246
269
struct acpi_object_bank_field {
247
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object * region_obj ; /* Containing op_region object */
270
+ ACPI_OBJECT_COMMON_HEADER ;
271
+ ACPI_COMMON_FIELD_INFO ;
272
+ union acpi_operand_object * region_obj ; /* Containing op_region object */
248
273
union acpi_operand_object * bank_obj ; /* bank_select Register object */
249
274
};
250
275
251
276
struct acpi_object_index_field {
252
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO
253
- /*
254
- * No "RegionObj" pointer needed since the Index and Data registers
255
- * are each field definitions unto themselves.
256
- */
277
+ ACPI_OBJECT_COMMON_HEADER ;
278
+ ACPI_COMMON_FIELD_INFO ;
279
+
280
+ /*
281
+ * No "RegionObj" pointer needed since the Index and Data registers
282
+ * are each field definitions unto themselves.
283
+ */
257
284
union acpi_operand_object * index_obj ; /* Index register */
258
285
union acpi_operand_object * data_obj ; /* Data register */
259
286
};
260
287
261
288
/* The buffer_field is different in that it is part of a Buffer, not an op_region */
262
289
263
290
struct acpi_object_buffer_field {
264
- ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u8 is_create_field ; /* Special case for objects created by create_field() */
291
+ ACPI_OBJECT_COMMON_HEADER ;
292
+ ACPI_COMMON_FIELD_INFO ;
293
+ u8 is_create_field ; /* Special case for objects created by create_field() */
265
294
union acpi_operand_object * buffer_obj ; /* Containing Buffer object */
266
295
};
267
296
@@ -272,15 +301,17 @@ struct acpi_object_buffer_field {
272
301
*****************************************************************************/
273
302
274
303
struct acpi_object_notify_handler {
275
- ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node * node ; /* Parent device */
304
+ ACPI_OBJECT_COMMON_HEADER ;
305
+ struct acpi_namespace_node * node ; /* Parent device */
276
306
u32 handler_type ; /* Type: Device/System/Both */
277
307
acpi_notify_handler handler ; /* Handler address */
278
308
void * context ;
279
309
union acpi_operand_object * next [2 ]; /* Device and System handler lists */
280
310
};
281
311
282
312
struct acpi_object_addr_handler {
283
- ACPI_OBJECT_COMMON_HEADER u8 space_id ;
313
+ ACPI_OBJECT_COMMON_HEADER ;
314
+ u8 space_id ;
284
315
u8 handler_flags ;
285
316
acpi_adr_space_handler handler ;
286
317
struct acpi_namespace_node * node ; /* Parent device */
@@ -307,7 +338,8 @@ struct acpi_object_addr_handler {
307
338
* The Reference.Class differentiates these types.
308
339
*/
309
340
struct acpi_object_reference {
310
- ACPI_OBJECT_COMMON_HEADER u8 class ; /* Reference Class */
341
+ ACPI_OBJECT_COMMON_HEADER ;
342
+ u8 class ; /* Reference Class */
311
343
u8 target_type ; /* Used for Index Op */
312
344
u8 resolved ; /* Reference has been resolved to a value */
313
345
void * object ; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */
@@ -340,7 +372,8 @@ typedef enum {
340
372
* Currently: Region and field_unit types
341
373
*/
342
374
struct acpi_object_extra {
343
- ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node * method_REG ; /* _REG method for this region (if any) */
375
+ ACPI_OBJECT_COMMON_HEADER ;
376
+ struct acpi_namespace_node * method_REG ; /* _REG method for this region (if any) */
344
377
struct acpi_namespace_node * scope_node ;
345
378
void * region_context ; /* Region-specific data */
346
379
u8 * aml_start ;
@@ -350,14 +383,16 @@ struct acpi_object_extra {
350
383
/* Additional data that can be attached to namespace nodes */
351
384
352
385
struct acpi_object_data {
353
- ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler ;
386
+ ACPI_OBJECT_COMMON_HEADER ;
387
+ acpi_object_handler handler ;
354
388
void * pointer ;
355
389
};
356
390
357
391
/* Structure used when objects are cached for reuse */
358
392
359
393
struct acpi_object_cache_list {
360
- ACPI_OBJECT_COMMON_HEADER union acpi_operand_object * next ; /* Link for object cache and internal lists */
394
+ ACPI_OBJECT_COMMON_HEADER ;
395
+ union acpi_operand_object * next ; /* Link for object cache and internal lists */
361
396
};
362
397
363
398
/******************************************************************************
0 commit comments