Skip to content

Commit 101b7a9

Browse files
committed
Merge tag 'acpi-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI updates from Rafael Wysocki: "These are ACPICA updates coming from the 20240322 release upstream, an ACPI DPTF driver update adding new platform support for it, some new quirks and some assorted fixes and cleanups. Specifics: - Add EINJ CXL error types to actbl1.h (Ben Cheatham) - Add support for RAS2 table to ACPICA (Shiju Jose) - Fix various spelling mistakes in text files and code comments in ACPICA (Colin Ian King) - Fix spelling and typos in ACPICA (Saket Dumbre) - Modify ACPI_OBJECT_COMMON_HEADER (lijun) - Add RISC-V RINTC affinity structure support to ACPICA (Haibo Xu) - Fix CXL 3.0 structure (RDPAS) in the CEDT table (Hojin Nam) - Add missin increment of registered GPE count to ACPICA (Daniil Tatianin) - Mark new ACPICA release 20240322 (Saket Dumbre) - Add support for the AEST V2 table to ACPICA (Ruidong Tian) - Disable -Wstringop-truncation for some ACPICA code in the kernel to avoid a compiler warning that is not very useful (Arnd Bergmann) - Make the kernel indicate support for several ACPI features that are in fact supported to the platform firmware through _OSC and fix the Generic Initiator Affinity _OSC bit (Armin Wolf) - Make the ACPI core set the owner value for ACPI drivers, drop the owner setting from a number of drivers and eliminate the owner field from struct acpi_driver (Krzysztof Kozlowski) - Rearrange fields in several structures to effectively eliminate computations from container_of() in some cases (Andy Shevchenko) - Do some assorted cleanups of the ACPI device enumeration code (Andy Shevchenko) - Make the ACPI device enumeration code skip devices with _STA values clearly identified by the specification as invalid (Rafael Wysocki) - Rework the handling of the NHLT table to simplify and clarify it and drop some obsolete pieces (Cezary Rojewski) - Add ACPI IRQ override quirks for Asus Vivobook Pro N6506MV, TongFang GXxHRXx and GMxHGxx, and XMG APEX 17 M23 (Guenter Schafranek, Tamim Khan, Christoffer Sandberg) - Add reference to UEFI DSD Guide to the documentation related to the ACPI handling of device properties (Sakari Ailus) - Fix SRAT lookup of CFMWS ranges with numa_fill_memblks(), remove lefover architecture-dependent code from the ACPI NUMA handling code and simplify it on top of that (Robert Richter) - Add a num-cs device property to specify the number of chip selects for Intel Braswell to the ACPI LPSS (Intel SoC) driver and remove a nested CONFIG_PM #ifdef from it (Andy Shevchenko) - Move three x86-specific ACPI files to the x86 directory (Andy Shevchenko) - Mark SMO8810 accel on Dell XPS 15 9550 as always present and add a PNP_UART1_SKIP quirk for Lenovo Blade2 tablets (Hans de Goede) - Move acpi_blacklisted() declaration to asm/acpi.h (Kuppuswamy Sathyanarayanan) - Add Lunar Lake support to the ACPI DPTF driver (Sumeet Pawnikar) - Mark the einj_driver driver's remove callback as __exit because it cannot get unbound via sysfs (Uwe Kleine-König) - Fix a typo in the ACPI documentation regarding the layout of sysfs subdirectory representing the ACPI namespace (John Watts) - Make the ACPI pfrut utility print the update_cap field during capability query (Chen Yu) - Add HAS_IOPORT dependencies to PNP (Niklas Schnelle)" * tag 'acpi-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (72 commits) ACPI/NUMA: Squash acpi_numa_memory_affinity_init() into acpi_parse_memory_affinity() ACPI/NUMA: Squash acpi_numa_slit_init() into acpi_parse_slit() ACPI/NUMA: Remove architecture dependent remainings x86/numa: Fix SRAT lookup of CFMWS ranges with numa_fill_memblks() ACPI: video: Add backlight=native quirk for Lenovo Slim 7 16ARH7 ACPI: scan: Avoid enumerating devices with clearly invalid _STA values ACPI: Move acpi_blacklisted() declaration to asm/acpi.h ACPI: resource: Skip IRQ override on Asus Vivobook Pro N6506MV ACPICA: AEST: Add support for the AEST V2 table ACPI: tools: pfrut: Print the update_cap field during capability query ACPI: property: Add reference to UEFI DSD Guide Documentation: firmware-guide: ACPI: Fix namespace typo PNP: add HAS_IOPORT dependencies ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx ACPI: resource: Do IRQ override on GMxBGxx (XMG APEX 17 M23) ACPICA: Update acpixf.h for new ACPICA release 20240322 ACPICA: events/evgpeinit: don't forget to increment registered GPE count ACPICA: Fix CXL 3.0 structure (RDPAS) in the CEDT table ACPICA: SRAT: Add dump and compiler support for RINTC affinity structure ACPICA: SRAT: Add RISC-V RINTC affinity structure ...
2 parents 0c181b1 + e573d27 commit 101b7a9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1129
-408
lines changed

Documentation/firmware-guide/acpi/namespace.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ACPI Device Tree - Representation of ACPI Namespace
1515
Abstract
1616
========
1717
The Linux ACPI subsystem converts ACPI namespace objects into a Linux
18-
device tree under the /sys/devices/LNXSYSTEM:00 and updates it upon
18+
device tree under the /sys/devices/LNXSYSTM:00 and updates it upon
1919
receiving ACPI hotplug notification events. For each device object
2020
in this hierarchy there is a corresponding symbolic link in the
2121
/sys/bus/acpi/devices.
@@ -326,7 +326,7 @@ example ACPI namespace illustrated in Figure 2 with the addition of
326326
fixed PWR_BUTTON/SLP_BUTTON devices is shown below::
327327

328328
+--------------+---+-----------------+
329-
| LNXSYSTEM:00 | \ | acpi:LNXSYSTEM: |
329+
| LNXSYSTM:00 | \ | acpi:LNXSYSTM: |
330330
+--------------+---+-----------------+
331331
|
332332
| +-------------+-----+----------------+

arch/x86/include/asm/acpi.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ static inline void disable_acpi(void)
5656

5757
extern int acpi_gsi_to_irq(u32 gsi, unsigned int *irq);
5858

59+
extern int acpi_blacklisted(void);
60+
5961
static inline void acpi_noirq_set(void) { acpi_noirq = 1; }
6062
static inline void acpi_disable_pci(void)
6163
{

arch/x86/include/asm/sparsemem.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ extern int phys_to_target_node(phys_addr_t start);
3737
#define phys_to_target_node phys_to_target_node
3838
extern int memory_add_physaddr_to_nid(u64 start);
3939
#define memory_add_physaddr_to_nid memory_add_physaddr_to_nid
40-
extern int numa_fill_memblks(u64 start, u64 end);
41-
#define numa_fill_memblks numa_fill_memblks
4240
#endif
4341
#endif /* __ASSEMBLY__ */
4442

arch/x86/mm/numa.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -929,6 +929,8 @@ int memory_add_physaddr_to_nid(u64 start)
929929
}
930930
EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
931931

932+
#endif
933+
932934
static int __init cmp_memblk(const void *a, const void *b)
933935
{
934936
const struct numa_memblk *ma = *(const struct numa_memblk **)a;
@@ -1001,5 +1003,3 @@ int __init numa_fill_memblks(u64 start, u64 end)
10011003
}
10021004
return 0;
10031005
}
1004-
1005-
#endif

drivers/acpi/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,9 @@ config ACPI_REDUCED_HARDWARE_ONLY
469469

470470
If you are unsure what to do, do not enable this option.
471471

472+
config ACPI_NHLT
473+
bool
474+
472475
source "drivers/acpi/nfit/Kconfig"
473476
source "drivers/acpi/numa/Kconfig"
474477
source "drivers/acpi/apei/Kconfig"

drivers/acpi/Makefile

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ tables.o: $(src)/../../include/$(CONFIG_ACPI_CUSTOM_DSDT_FILE) ;
1414
endif
1515

1616
obj-$(CONFIG_ACPI) += tables.o
17-
obj-$(CONFIG_X86) += blacklist.o
1817

1918
#
2019
# ACPI Core Subsystem (Interpreter)
@@ -46,7 +45,6 @@ acpi-y += ec.o
4645
acpi-$(CONFIG_ACPI_DOCK) += dock.o
4746
acpi-$(CONFIG_PCI) += pci_root.o pci_link.o pci_irq.o
4847
obj-$(CONFIG_ACPI_MCFG) += pci_mcfg.o
49-
acpi-$(CONFIG_PCI) += acpi_lpss.o
5048
acpi-y += acpi_apd.o
5149
acpi-y += acpi_platform.o
5250
acpi-y += acpi_pnp.o
@@ -55,10 +53,6 @@ acpi-y += event.o
5553
acpi-y += evged.o
5654
acpi-y += sysfs.o
5755
acpi-y += property.o
58-
acpi-$(CONFIG_X86) += acpi_cmos_rtc.o
59-
acpi-$(CONFIG_X86) += x86/apple.o
60-
acpi-$(CONFIG_X86) += x86/utils.o
61-
acpi-$(CONFIG_X86) += x86/s2idle.o
6256
acpi-$(CONFIG_DEBUG_FS) += debugfs.o
6357
acpi-y += acpi_lpat.o
6458
acpi-$(CONFIG_ACPI_FPDT) += acpi_fpdt.o
@@ -93,6 +87,7 @@ obj-$(CONFIG_ACPI_THERMAL_LIB) += thermal_lib.o
9387
obj-$(CONFIG_ACPI_THERMAL) += thermal.o
9488
obj-$(CONFIG_ACPI_PLATFORM_PROFILE) += platform_profile.o
9589
obj-$(CONFIG_ACPI_NFIT) += nfit/
90+
obj-$(CONFIG_ACPI_NHLT) += nhlt.o
9691
obj-$(CONFIG_ACPI_NUMA) += numa/
9792
obj-$(CONFIG_ACPI) += acpi_memhotplug.o
9893
obj-$(CONFIG_ACPI_HOTPLUG_IOAPIC) += ioapic.o
@@ -132,3 +127,4 @@ obj-$(CONFIG_ARM64) += arm64/
132127
obj-$(CONFIG_ACPI_VIOT) += viot.o
133128

134129
obj-$(CONFIG_RISCV) += riscv/
130+
obj-$(CONFIG_X86) += x86/

drivers/acpi/acpica/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
ccflags-y := -D_LINUX -DBUILDING_ACPICA
77
ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT
8+
CFLAGS_tbfind.o += $(call cc-disable-warning, stringop-truncation)
89

910
# use acpi.o to put all files here into acpi.o modparam namespace
1011
obj-y += acpi.o

drivers/acpi/acpica/aclocal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ struct acpi_field_info {
547547

548548
struct acpi_ged_handler_info {
549549
struct acpi_ged_handler_info *next;
550-
u32 int_id; /* The interrupt ID that triggers the execution ofthe evt_method. */
550+
u32 int_id; /* The interrupt ID that triggers the execution of the evt_method. */
551551
struct acpi_namespace_node *evt_method; /* The _EVT method to be executed when an interrupt with ID = int_ID is received */
552552
};
553553

drivers/acpi/acpica/acobject.h

Lines changed: 71 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
u8 descriptor_type; /* To differentiate various internal objs */\
4949
u8 type; /* acpi_object_type */\
5050
u16 reference_count; /* For object deletion management */\
51-
u8 flags;
51+
u8 flags
5252
/*
5353
* Note: There are 3 bytes available here before the
5454
* next natural alignment boundary (for both 32/64 cases)
@@ -71,10 +71,12 @@
7171
*****************************************************************************/
7272

7373
struct acpi_object_common {
74-
ACPI_OBJECT_COMMON_HEADER};
74+
ACPI_OBJECT_COMMON_HEADER;
75+
};
7576

7677
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 */
7880
u64 value;
7981
};
8082

@@ -86,23 +88,26 @@ struct acpi_object_integer {
8688
*/
8789
#define ACPI_COMMON_BUFFER_INFO(_type) \
8890
_type *pointer; \
89-
u32 length;
91+
u32 length
9092

9193
/* Null terminated, ASCII characters only */
9294

9395
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 */
9598
};
9699

97100
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 */
99103
u32 aml_length;
100104
u8 *aml_start;
101105
struct acpi_namespace_node *node; /* Link back to parent node */
102106
};
103107

104108
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 */
106111
union acpi_operand_object **elements; /* Array of pointers to acpi_objects */
107112
u8 *aml_start;
108113
u32 aml_length;
@@ -116,11 +121,13 @@ struct acpi_object_package {
116121
*****************************************************************************/
117122

118123
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 */
120126
};
121127

122128
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 */
124131
u16 acquisition_depth; /* Allow multiple Acquires, same thread */
125132
acpi_mutex os_mutex; /* Actual OS synchronization object */
126133
acpi_thread_id thread_id; /* Current owner of the mutex */
@@ -132,7 +139,8 @@ struct acpi_object_mutex {
132139
};
133140

134141
struct acpi_object_region {
135-
ACPI_OBJECT_COMMON_HEADER u8 space_id;
142+
ACPI_OBJECT_COMMON_HEADER;
143+
u8 space_id;
136144
struct acpi_namespace_node *node; /* Containing namespace node */
137145
union acpi_operand_object *handler; /* Handler for region access */
138146
union acpi_operand_object *next;
@@ -142,7 +150,8 @@ struct acpi_object_region {
142150
};
143151

144152
struct acpi_object_method {
145-
ACPI_OBJECT_COMMON_HEADER u8 info_flags;
153+
ACPI_OBJECT_COMMON_HEADER;
154+
u8 info_flags;
146155
u8 param_count;
147156
u8 sync_level;
148157
union acpi_operand_object *mutex;
@@ -178,33 +187,43 @@ struct acpi_object_method {
178187
*/
179188
#define ACPI_COMMON_NOTIFY_INFO \
180189
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 */
182191

183192
/* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */
184193

185194
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+
};
187198

188199
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;
191203
};
192204

193205
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;
195209
u32 resource_order;
196210
};
197211

198212
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+
201217
u8 proc_id;
202218
u8 length;
203-
ACPI_COMMON_NOTIFY_INFO acpi_io_address address;
219+
ACPI_COMMON_NOTIFY_INFO;
220+
acpi_io_address address;
204221
};
205222

206223
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+
};
208227

209228
/******************************************************************************
210229
*
@@ -226,42 +245,52 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO};
226245
u32 base_byte_offset; /* Byte offset within containing object */\
227246
u32 value; /* Value to store into the Bank or Index register */\
228247
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 */
230249

231250

232251
/* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */
233252

234253
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) */
236257
};
237258

238259
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;
240263
union acpi_operand_object *region_obj; /* Containing op_region object */
241264
u8 *resource_buffer; /* resource_template for serial regions/fields */
242265
u16 pin_number_index; /* Index relative to previous Connection/Template */
243266
u8 *internal_pcc_buffer; /* Internal buffer for fields associated with PCC */
244267
};
245268

246269
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 */
248273
union acpi_operand_object *bank_obj; /* bank_select Register object */
249274
};
250275

251276
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+
*/
257284
union acpi_operand_object *index_obj; /* Index register */
258285
union acpi_operand_object *data_obj; /* Data register */
259286
};
260287

261288
/* The buffer_field is different in that it is part of a Buffer, not an op_region */
262289

263290
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() */
265294
union acpi_operand_object *buffer_obj; /* Containing Buffer object */
266295
};
267296

@@ -272,15 +301,17 @@ struct acpi_object_buffer_field {
272301
*****************************************************************************/
273302

274303
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 */
276306
u32 handler_type; /* Type: Device/System/Both */
277307
acpi_notify_handler handler; /* Handler address */
278308
void *context;
279309
union acpi_operand_object *next[2]; /* Device and System handler lists */
280310
};
281311

282312
struct acpi_object_addr_handler {
283-
ACPI_OBJECT_COMMON_HEADER u8 space_id;
313+
ACPI_OBJECT_COMMON_HEADER;
314+
u8 space_id;
284315
u8 handler_flags;
285316
acpi_adr_space_handler handler;
286317
struct acpi_namespace_node *node; /* Parent device */
@@ -307,7 +338,8 @@ struct acpi_object_addr_handler {
307338
* The Reference.Class differentiates these types.
308339
*/
309340
struct acpi_object_reference {
310-
ACPI_OBJECT_COMMON_HEADER u8 class; /* Reference Class */
341+
ACPI_OBJECT_COMMON_HEADER;
342+
u8 class; /* Reference Class */
311343
u8 target_type; /* Used for Index Op */
312344
u8 resolved; /* Reference has been resolved to a value */
313345
void *object; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */
@@ -340,7 +372,8 @@ typedef enum {
340372
* Currently: Region and field_unit types
341373
*/
342374
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) */
344377
struct acpi_namespace_node *scope_node;
345378
void *region_context; /* Region-specific data */
346379
u8 *aml_start;
@@ -350,14 +383,16 @@ struct acpi_object_extra {
350383
/* Additional data that can be attached to namespace nodes */
351384

352385
struct acpi_object_data {
353-
ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler;
386+
ACPI_OBJECT_COMMON_HEADER;
387+
acpi_object_handler handler;
354388
void *pointer;
355389
};
356390

357391
/* Structure used when objects are cached for reuse */
358392

359393
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 */
361396
};
362397

363398
/******************************************************************************

drivers/acpi/acpica/evgpeinit.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ acpi_ev_match_gpe_method(acpi_handle obj_handle,
413413
gpe_event_info->flags &= ~(ACPI_GPE_DISPATCH_MASK);
414414
gpe_event_info->flags |= (u8)(type | ACPI_GPE_DISPATCH_METHOD);
415415
gpe_event_info->dispatch.method_node = method_node;
416+
walk_info->count++;
416417

417418
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
418419
"Registered GPE method %s as GPE number 0x%.2X\n",

0 commit comments

Comments
 (0)