Message ID | 20231215073735.3891402-1-lijun01@kylinos.cn |
---|---|
State | Accepted |
Commit | 66536b86c57365840cd468d9c608b7833a7a0890 |
Headers | show |
Series | acpi: Modify ACPI_OBJECT_COMMON_HEADER | expand |
On Fri, Dec 15, 2023 at 8:38 AM lijun <lijun01@kylinos.cn> wrote: > > modify 4 macros: > ACPI_OBJECT_COMMON_HEADER, > ACPI_COMMON_BUFFER_INFO, > ACPI_COMMON_NOTIFY_INFO, > ACPI_COMMON_FIELD_INFO > they cause poor readability.so del the last ";" > and when use them in a single line with the ";"in the end. > > Signed-off-by: lijun <lijun01@kylinos.cn> > --- > drivers/acpi/acpica/acobject.h | 95 +++++++++++++++++++++++----------- ACPICA code comes from an external project. The proper way of modifying it is to submit a pull request to the upstream ACPICA project on GitHub. Once this pull request has been merged upstream, a Linux patch containing a Link: tag to the corresponding upstream pull request can be submitted. Thanks! > 1 file changed, 64 insertions(+), 31 deletions(-) > > diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h > index 1bdfeee5d7c5..0cd1769022aa 100644 > --- a/drivers/acpi/acpica/acobject.h > +++ b/drivers/acpi/acpica/acobject.h > @@ -48,7 +48,7 @@ > u8 descriptor_type; /* To differentiate various internal objs */\ > u8 type; /* acpi_object_type */\ > u16 reference_count; /* For object deletion management */\ > - u8 flags; > + u8 flags > /* > * Note: There are 3 bytes available here before the > * next natural alignment boundary (for both 32/64 cases) > @@ -71,10 +71,12 @@ > *****************************************************************************/ > > struct acpi_object_common { > -ACPI_OBJECT_COMMON_HEADER}; > + ACPI_OBJECT_COMMON_HEADER; > +}; > > struct acpi_object_integer { > - ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some compilers */ > + ACPI_OBJECT_COMMON_HEADER; > + u8 fill[3]; /* Prevent warning on some compilers */ > u64 value; > }; > > @@ -86,23 +88,26 @@ struct acpi_object_integer { > */ > #define ACPI_COMMON_BUFFER_INFO(_type) \ > _type *pointer; \ > - u32 length; > + u32 length > > /* Null terminated, ASCII characters only */ > > struct acpi_object_string { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(char) /* String in AML stream or allocated string */ > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_BUFFER_INFO(char); /* String in AML stream or allocated string */ > }; > > struct acpi_object_buffer { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(u8) /* Buffer in AML stream or allocated buffer */ > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_BUFFER_INFO(u8);/* Buffer in AML stream or allocated buffer */ > u32 aml_length; > u8 *aml_start; > struct acpi_namespace_node *node; /* Link back to parent node */ > }; > > struct acpi_object_package { > - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Link back to parent node */ > + ACPI_OBJECT_COMMON_HEADER; > + struct acpi_namespace_node *node; /* Link back to parent node */ > union acpi_operand_object **elements; /* Array of pointers to acpi_objects */ > u8 *aml_start; > u32 aml_length; > @@ -116,11 +121,13 @@ struct acpi_object_package { > *****************************************************************************/ > > struct acpi_object_event { > - ACPI_OBJECT_COMMON_HEADER acpi_semaphore os_semaphore; /* Actual OS synchronization object */ > + ACPI_OBJECT_COMMON_HEADER; > + acpi_semaphore os_semaphore; /* Actual OS synchronization object */ > }; > > struct acpi_object_mutex { > - ACPI_OBJECT_COMMON_HEADER u8 sync_level; /* 0-15, specified in Mutex() call */ > + ACPI_OBJECT_COMMON_HEADER; > + u8 sync_level; /* 0-15, specified in Mutex() call */ > u16 acquisition_depth; /* Allow multiple Acquires, same thread */ > acpi_mutex os_mutex; /* Actual OS synchronization object */ > acpi_thread_id thread_id; /* Current owner of the mutex */ > @@ -132,7 +139,8 @@ struct acpi_object_mutex { > }; > > struct acpi_object_region { > - ACPI_OBJECT_COMMON_HEADER u8 space_id; > + ACPI_OBJECT_COMMON_HEADER; > + u8 space_id; > struct acpi_namespace_node *node; /* Containing namespace node */ > union acpi_operand_object *handler; /* Handler for region access */ > union acpi_operand_object *next; > @@ -142,7 +150,8 @@ struct acpi_object_region { > }; > > struct acpi_object_method { > - ACPI_OBJECT_COMMON_HEADER u8 info_flags; > + ACPI_OBJECT_COMMON_HEADER; > + u8 info_flags; > u8 param_count; > u8 sync_level; > union acpi_operand_object *mutex; > @@ -178,33 +187,41 @@ struct acpi_object_method { > */ > #define ACPI_COMMON_NOTIFY_INFO \ > union acpi_operand_object *notify_list[2]; /* Handlers for system/device notifies */\ > - union acpi_operand_object *handler; /* Handler for Address space */ > + union acpi_operand_object *handler /* Handler for Address space */ > > /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ > > struct acpi_object_notify_common { > -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_NOTIFY_INFO; > +}; > > struct acpi_object_device { > - ACPI_OBJECT_COMMON_HEADER > - ACPI_COMMON_NOTIFY_INFO struct acpi_gpe_block_info *gpe_block; > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_NOTIFY_INFO; > + struct acpi_gpe_block_info *gpe_block; > }; > > struct acpi_object_power_resource { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO u32 system_level; > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_NOTIFY_INFO; > + u32 system_level; > u32 resource_order; > }; > > struct acpi_object_processor { > - ACPI_OBJECT_COMMON_HEADER > + ACPI_OBJECT_COMMON_HEADER; > /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */ > u8 proc_id; > u8 length; > - ACPI_COMMON_NOTIFY_INFO acpi_io_address address; > + ACPI_COMMON_NOTIFY_INFO; > + acpi_io_address address; > }; > > struct acpi_object_thermal_zone { > -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_NOTIFY_INFO; > +}; > > /****************************************************************************** > * > @@ -226,17 +243,22 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; > u32 base_byte_offset; /* Byte offset within containing object */\ > u32 value; /* Value to store into the Bank or Index register */\ > u8 start_field_bit_offset;/* Bit offset within first field datum (0-63) */\ > - u8 access_length; /* For serial regions/fields */ > + u8 access_length /* For serial regions/fields */ > > > /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ > > struct acpi_object_field_common { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Parent Operation Region object (REGION/BANK fields only) */ > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_FIELD_INFO; > + union acpi_operand_object *region_obj; > + /* Parent Operation Region object (REGION/BANK fields only) */ > }; > > struct acpi_object_region_field { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u16 resource_length; > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_FIELD_INFO; > + u16 resource_length; > union acpi_operand_object *region_obj; /* Containing op_region object */ > u8 *resource_buffer; /* resource_template for serial regions/fields */ > u16 pin_number_index; /* Index relative to previous Connection/Template */ > @@ -244,12 +266,15 @@ struct acpi_object_region_field { > }; > > struct acpi_object_bank_field { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Containing op_region object */ > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_FIELD_INFO; > + union acpi_operand_object *region_obj; /* Containing op_region object */ > union acpi_operand_object *bank_obj; /* bank_select Register object */ > }; > > struct acpi_object_index_field { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_FIELD_INFO; > /* > * No "RegionObj" pointer needed since the Index and Data registers > * are each field definitions unto themselves. > @@ -261,7 +286,9 @@ struct acpi_object_index_field { > /* The buffer_field is different in that it is part of a Buffer, not an op_region */ > > struct acpi_object_buffer_field { > - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u8 is_create_field; /* Special case for objects created by create_field() */ > + ACPI_OBJECT_COMMON_HEADER; > + ACPI_COMMON_FIELD_INFO; > + u8 is_create_field; /* Special case for objects created by create_field() */ > union acpi_operand_object *buffer_obj; /* Containing Buffer object */ > }; > > @@ -272,7 +299,8 @@ struct acpi_object_buffer_field { > *****************************************************************************/ > > struct acpi_object_notify_handler { > - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Parent device */ > + ACPI_OBJECT_COMMON_HEADER; > + struct acpi_namespace_node *node; /* Parent device */ > u32 handler_type; /* Type: Device/System/Both */ > acpi_notify_handler handler; /* Handler address */ > void *context; > @@ -280,7 +308,8 @@ struct acpi_object_notify_handler { > }; > > struct acpi_object_addr_handler { > - ACPI_OBJECT_COMMON_HEADER u8 space_id; > + ACPI_OBJECT_COMMON_HEADER; > + u8 space_id; > u8 handler_flags; > acpi_adr_space_handler handler; > struct acpi_namespace_node *node; /* Parent device */ > @@ -307,7 +336,8 @@ struct acpi_object_addr_handler { > * The Reference.Class differentiates these types. > */ > struct acpi_object_reference { > - ACPI_OBJECT_COMMON_HEADER u8 class; /* Reference Class */ > + ACPI_OBJECT_COMMON_HEADER; > + u8 class; /* Reference Class */ > u8 target_type; /* Used for Index Op */ > u8 resolved; /* Reference has been resolved to a value */ > void *object; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */ > @@ -340,7 +370,8 @@ typedef enum { > * Currently: Region and field_unit types > */ > struct acpi_object_extra { > - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ > + ACPI_OBJECT_COMMON_HEADER; > + struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ > struct acpi_namespace_node *scope_node; > void *region_context; /* Region-specific data */ > u8 *aml_start; > @@ -350,14 +381,16 @@ struct acpi_object_extra { > /* Additional data that can be attached to namespace nodes */ > > struct acpi_object_data { > - ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler; > + ACPI_OBJECT_COMMON_HEADER; > + acpi_object_handler handler; > void *pointer; > }; > > /* Structure used when objects are cached for reuse */ > > struct acpi_object_cache_list { > - ACPI_OBJECT_COMMON_HEADER union acpi_operand_object *next; /* Link for object cache and internal lists */ > + ACPI_OBJECT_COMMON_HEADER; > + union acpi_operand_object *next; /* Link for object cache and internal lists */ > }; > > /****************************************************************************** > -- > 2.34.1 > >
hi all: then the acobject.h in acpica different from the kernel, "ACPI_OBJECT_COMMON_HEADER" and "u8" not in the same line . in the acpica this file typedef struct acpi_object_common { ACPI_OBJECT_COMMON_HEADER } ACPI_OBJECT_COMMON; typedef struct acpi_object_integer { ACPI_OBJECT_COMMON_HEADER UINT8 Fill[3]; /* Prevent warning on some compilers */ UINT64 Value; } ACPI_OBJECT_INTEGER; and in kenel this file /drivers/acpi/acpica/acobject.h,"ACPI_OBJECT_COMMON_HEADER" and "u8" in the same line ,cause confusion. struct acpi_object_common { ACPI_OBJECT_COMMON_HEADER}; struct acpi_object_integer { ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some compilers */ u64 value; }; others just so. On 2023/12/21 22:15, Rafael J. Wysocki wrote: > On Fri, Dec 15, 2023 at 8:38 AM lijun <lijun01@kylinos.cn> wrote: >> modify 4 macros: >> ACPI_OBJECT_COMMON_HEADER, >> ACPI_COMMON_BUFFER_INFO, >> ACPI_COMMON_NOTIFY_INFO, >> ACPI_COMMON_FIELD_INFO >> they cause poor readability.so del the last ";" >> and when use them in a single line with the ";"in the end. >> >> Signed-off-by: lijun <lijun01@kylinos.cn> >> --- >> drivers/acpi/acpica/acobject.h | 95 +++++++++++++++++++++++----------- > ACPICA code comes from an external project. The proper way of > modifying it is to submit a pull request to the upstream ACPICA > project on GitHub. Once this pull request has been merged upstream, a > Linux patch containing a Link: tag to the corresponding upstream pull > request can be submitted. > > Thanks! > >> 1 file changed, 64 insertions(+), 31 deletions(-) >> >> diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h >> index 1bdfeee5d7c5..0cd1769022aa 100644 >> --- a/drivers/acpi/acpica/acobject.h >> +++ b/drivers/acpi/acpica/acobject.h >> @@ -48,7 +48,7 @@ >> u8 descriptor_type; /* To differentiate various internal objs */\ >> u8 type; /* acpi_object_type */\ >> u16 reference_count; /* For object deletion management */\ >> - u8 flags; >> + u8 flags >> /* >> * Note: There are 3 bytes available here before the >> * next natural alignment boundary (for both 32/64 cases) >> @@ -71,10 +71,12 @@ >> *****************************************************************************/ >> >> struct acpi_object_common { >> -ACPI_OBJECT_COMMON_HEADER}; >> + ACPI_OBJECT_COMMON_HEADER; >> +}; >> >> struct acpi_object_integer { >> - ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some compilers */ >> + ACPI_OBJECT_COMMON_HEADER; >> + u8 fill[3]; /* Prevent warning on some compilers */ >> u64 value; >> }; >> >> @@ -86,23 +88,26 @@ struct acpi_object_integer { >> */ >> #define ACPI_COMMON_BUFFER_INFO(_type) \ >> _type *pointer; \ >> - u32 length; >> + u32 length >> >> /* Null terminated, ASCII characters only */ >> >> struct acpi_object_string { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(char) /* String in AML stream or allocated string */ >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_BUFFER_INFO(char); /* String in AML stream or allocated string */ >> }; >> >> struct acpi_object_buffer { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(u8) /* Buffer in AML stream or allocated buffer */ >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_BUFFER_INFO(u8);/* Buffer in AML stream or allocated buffer */ >> u32 aml_length; >> u8 *aml_start; >> struct acpi_namespace_node *node; /* Link back to parent node */ >> }; >> >> struct acpi_object_package { >> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Link back to parent node */ >> + ACPI_OBJECT_COMMON_HEADER; >> + struct acpi_namespace_node *node; /* Link back to parent node */ >> union acpi_operand_object **elements; /* Array of pointers to acpi_objects */ >> u8 *aml_start; >> u32 aml_length; >> @@ -116,11 +121,13 @@ struct acpi_object_package { >> *****************************************************************************/ >> >> struct acpi_object_event { >> - ACPI_OBJECT_COMMON_HEADER acpi_semaphore os_semaphore; /* Actual OS synchronization object */ >> + ACPI_OBJECT_COMMON_HEADER; >> + acpi_semaphore os_semaphore; /* Actual OS synchronization object */ >> }; >> >> struct acpi_object_mutex { >> - ACPI_OBJECT_COMMON_HEADER u8 sync_level; /* 0-15, specified in Mutex() call */ >> + ACPI_OBJECT_COMMON_HEADER; >> + u8 sync_level; /* 0-15, specified in Mutex() call */ >> u16 acquisition_depth; /* Allow multiple Acquires, same thread */ >> acpi_mutex os_mutex; /* Actual OS synchronization object */ >> acpi_thread_id thread_id; /* Current owner of the mutex */ >> @@ -132,7 +139,8 @@ struct acpi_object_mutex { >> }; >> >> struct acpi_object_region { >> - ACPI_OBJECT_COMMON_HEADER u8 space_id; >> + ACPI_OBJECT_COMMON_HEADER; >> + u8 space_id; >> struct acpi_namespace_node *node; /* Containing namespace node */ >> union acpi_operand_object *handler; /* Handler for region access */ >> union acpi_operand_object *next; >> @@ -142,7 +150,8 @@ struct acpi_object_region { >> }; >> >> struct acpi_object_method { >> - ACPI_OBJECT_COMMON_HEADER u8 info_flags; >> + ACPI_OBJECT_COMMON_HEADER; >> + u8 info_flags; >> u8 param_count; >> u8 sync_level; >> union acpi_operand_object *mutex; >> @@ -178,33 +187,41 @@ struct acpi_object_method { >> */ >> #define ACPI_COMMON_NOTIFY_INFO \ >> union acpi_operand_object *notify_list[2]; /* Handlers for system/device notifies */\ >> - union acpi_operand_object *handler; /* Handler for Address space */ >> + union acpi_operand_object *handler /* Handler for Address space */ >> >> /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ >> >> struct acpi_object_notify_common { >> -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_NOTIFY_INFO; >> +}; >> >> struct acpi_object_device { >> - ACPI_OBJECT_COMMON_HEADER >> - ACPI_COMMON_NOTIFY_INFO struct acpi_gpe_block_info *gpe_block; >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_NOTIFY_INFO; >> + struct acpi_gpe_block_info *gpe_block; >> }; >> >> struct acpi_object_power_resource { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO u32 system_level; >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_NOTIFY_INFO; >> + u32 system_level; >> u32 resource_order; >> }; >> >> struct acpi_object_processor { >> - ACPI_OBJECT_COMMON_HEADER >> + ACPI_OBJECT_COMMON_HEADER; >> /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */ >> u8 proc_id; >> u8 length; >> - ACPI_COMMON_NOTIFY_INFO acpi_io_address address; >> + ACPI_COMMON_NOTIFY_INFO; >> + acpi_io_address address; >> }; >> >> struct acpi_object_thermal_zone { >> -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_NOTIFY_INFO; >> +}; >> >> /****************************************************************************** >> * >> @@ -226,17 +243,22 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; >> u32 base_byte_offset; /* Byte offset within containing object */\ >> u32 value; /* Value to store into the Bank or Index register */\ >> u8 start_field_bit_offset;/* Bit offset within first field datum (0-63) */\ >> - u8 access_length; /* For serial regions/fields */ >> + u8 access_length /* For serial regions/fields */ >> >> >> /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ >> >> struct acpi_object_field_common { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Parent Operation Region object (REGION/BANK fields only) */ >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_FIELD_INFO; >> + union acpi_operand_object *region_obj; >> + /* Parent Operation Region object (REGION/BANK fields only) */ >> }; >> >> struct acpi_object_region_field { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u16 resource_length; >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_FIELD_INFO; >> + u16 resource_length; >> union acpi_operand_object *region_obj; /* Containing op_region object */ >> u8 *resource_buffer; /* resource_template for serial regions/fields */ >> u16 pin_number_index; /* Index relative to previous Connection/Template */ >> @@ -244,12 +266,15 @@ struct acpi_object_region_field { >> }; >> >> struct acpi_object_bank_field { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Containing op_region object */ >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_FIELD_INFO; >> + union acpi_operand_object *region_obj; /* Containing op_region object */ >> union acpi_operand_object *bank_obj; /* bank_select Register object */ >> }; >> >> struct acpi_object_index_field { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_FIELD_INFO; >> /* >> * No "RegionObj" pointer needed since the Index and Data registers >> * are each field definitions unto themselves. >> @@ -261,7 +286,9 @@ struct acpi_object_index_field { >> /* The buffer_field is different in that it is part of a Buffer, not an op_region */ >> >> struct acpi_object_buffer_field { >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u8 is_create_field; /* Special case for objects created by create_field() */ >> + ACPI_OBJECT_COMMON_HEADER; >> + ACPI_COMMON_FIELD_INFO; >> + u8 is_create_field; /* Special case for objects created by create_field() */ >> union acpi_operand_object *buffer_obj; /* Containing Buffer object */ >> }; >> >> @@ -272,7 +299,8 @@ struct acpi_object_buffer_field { >> *****************************************************************************/ >> >> struct acpi_object_notify_handler { >> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Parent device */ >> + ACPI_OBJECT_COMMON_HEADER; >> + struct acpi_namespace_node *node; /* Parent device */ >> u32 handler_type; /* Type: Device/System/Both */ >> acpi_notify_handler handler; /* Handler address */ >> void *context; >> @@ -280,7 +308,8 @@ struct acpi_object_notify_handler { >> }; >> >> struct acpi_object_addr_handler { >> - ACPI_OBJECT_COMMON_HEADER u8 space_id; >> + ACPI_OBJECT_COMMON_HEADER; >> + u8 space_id; >> u8 handler_flags; >> acpi_adr_space_handler handler; >> struct acpi_namespace_node *node; /* Parent device */ >> @@ -307,7 +336,8 @@ struct acpi_object_addr_handler { >> * The Reference.Class differentiates these types. >> */ >> struct acpi_object_reference { >> - ACPI_OBJECT_COMMON_HEADER u8 class; /* Reference Class */ >> + ACPI_OBJECT_COMMON_HEADER; >> + u8 class; /* Reference Class */ >> u8 target_type; /* Used for Index Op */ >> u8 resolved; /* Reference has been resolved to a value */ >> void *object; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */ >> @@ -340,7 +370,8 @@ typedef enum { >> * Currently: Region and field_unit types >> */ >> struct acpi_object_extra { >> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ >> + ACPI_OBJECT_COMMON_HEADER; >> + struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ >> struct acpi_namespace_node *scope_node; >> void *region_context; /* Region-specific data */ >> u8 *aml_start; >> @@ -350,14 +381,16 @@ struct acpi_object_extra { >> /* Additional data that can be attached to namespace nodes */ >> >> struct acpi_object_data { >> - ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler; >> + ACPI_OBJECT_COMMON_HEADER; >> + acpi_object_handler handler; >> void *pointer; >> }; >> >> /* Structure used when objects are cached for reuse */ >> >> struct acpi_object_cache_list { >> - ACPI_OBJECT_COMMON_HEADER union acpi_operand_object *next; /* Link for object cache and internal lists */ >> + ACPI_OBJECT_COMMON_HEADER; >> + union acpi_operand_object *next; /* Link for object cache and internal lists */ >> }; >> >> /****************************************************************************** >> -- >> 2.34.1 >> >>
On Sun, Feb 4, 2024 at 3:48 AM lijun <lijun01@kylinos.cn> wrote: > > hi all: > > then the acobject.h in acpica different from the kernel, > "ACPI_OBJECT_COMMON_HEADER" and "u8" not in the same line . > in the acpica this file > typedef struct acpi_object_common > { > ACPI_OBJECT_COMMON_HEADER > } ACPI_OBJECT_COMMON; > typedef struct acpi_object_integer > { > ACPI_OBJECT_COMMON_HEADER > UINT8 Fill[3]; /* Prevent warning on some compilers */ > UINT64 Value; > } ACPI_OBJECT_INTEGER; > > and in kenel this file > /drivers/acpi/acpica/acobject.h,"ACPI_OBJECT_COMMON_HEADER" and "u8" in > the same line ,cause confusion. > struct acpi_object_common { > ACPI_OBJECT_COMMON_HEADER}; > struct acpi_object_integer { > ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some > compilers */ > u64 value; > }; > > others just so. > > > On 2023/12/21 22:15, Rafael J. Wysocki wrote: > > On Fri, Dec 15, 2023 at 8:38 AM lijun <lijun01@kylinos.cn> wrote: > >> modify 4 macros: > >> ACPI_OBJECT_COMMON_HEADER, > >> ACPI_COMMON_BUFFER_INFO, > >> ACPI_COMMON_NOTIFY_INFO, > >> ACPI_COMMON_FIELD_INFO > >> they cause poor readability.so del the last ";" > >> and when use them in a single line with the ";"in the end. > >> > >> Signed-off-by: lijun <lijun01@kylinos.cn> > >> --- > >> drivers/acpi/acpica/acobject.h | 95 +++++++++++++++++++++++----------- > > ACPICA code comes from an external project. The proper way of > > modifying it is to submit a pull request to the upstream ACPICA > > project on GitHub. Once this pull request has been merged upstream, a > > Linux patch containing a Link: tag to the corresponding upstream pull > > request can be submitted. > > > > Thanks! > > > >> 1 file changed, 64 insertions(+), 31 deletions(-) > >> > >> diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h > >> index 1bdfeee5d7c5..0cd1769022aa 100644 > >> --- a/drivers/acpi/acpica/acobject.h > >> +++ b/drivers/acpi/acpica/acobject.h > >> @@ -48,7 +48,7 @@ > >> u8 descriptor_type; /* To differentiate various internal objs */\ > >> u8 type; /* acpi_object_type */\ > >> u16 reference_count; /* For object deletion management */\ > >> - u8 flags; > >> + u8 flags > >> /* > >> * Note: There are 3 bytes available here before the > >> * next natural alignment boundary (for both 32/64 cases) > >> @@ -71,10 +71,12 @@ > >> *****************************************************************************/ > >> > >> struct acpi_object_common { > >> -ACPI_OBJECT_COMMON_HEADER}; > >> + ACPI_OBJECT_COMMON_HEADER; > >> +}; > >> > >> struct acpi_object_integer { > >> - ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some compilers */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + u8 fill[3]; /* Prevent warning on some compilers */ > >> u64 value; > >> }; > >> > >> @@ -86,23 +88,26 @@ struct acpi_object_integer { > >> */ > >> #define ACPI_COMMON_BUFFER_INFO(_type) \ > >> _type *pointer; \ > >> - u32 length; > >> + u32 length > >> > >> /* Null terminated, ASCII characters only */ > >> > >> struct acpi_object_string { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(char) /* String in AML stream or allocated string */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_BUFFER_INFO(char); /* String in AML stream or allocated string */ > >> }; > >> > >> struct acpi_object_buffer { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(u8) /* Buffer in AML stream or allocated buffer */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_BUFFER_INFO(u8);/* Buffer in AML stream or allocated buffer */ > >> u32 aml_length; > >> u8 *aml_start; > >> struct acpi_namespace_node *node; /* Link back to parent node */ > >> }; > >> > >> struct acpi_object_package { > >> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Link back to parent node */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + struct acpi_namespace_node *node; /* Link back to parent node */ > >> union acpi_operand_object **elements; /* Array of pointers to acpi_objects */ > >> u8 *aml_start; > >> u32 aml_length; > >> @@ -116,11 +121,13 @@ struct acpi_object_package { > >> *****************************************************************************/ > >> > >> struct acpi_object_event { > >> - ACPI_OBJECT_COMMON_HEADER acpi_semaphore os_semaphore; /* Actual OS synchronization object */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + acpi_semaphore os_semaphore; /* Actual OS synchronization object */ > >> }; > >> > >> struct acpi_object_mutex { > >> - ACPI_OBJECT_COMMON_HEADER u8 sync_level; /* 0-15, specified in Mutex() call */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + u8 sync_level; /* 0-15, specified in Mutex() call */ > >> u16 acquisition_depth; /* Allow multiple Acquires, same thread */ > >> acpi_mutex os_mutex; /* Actual OS synchronization object */ > >> acpi_thread_id thread_id; /* Current owner of the mutex */ > >> @@ -132,7 +139,8 @@ struct acpi_object_mutex { > >> }; > >> > >> struct acpi_object_region { > >> - ACPI_OBJECT_COMMON_HEADER u8 space_id; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + u8 space_id; > >> struct acpi_namespace_node *node; /* Containing namespace node */ > >> union acpi_operand_object *handler; /* Handler for region access */ > >> union acpi_operand_object *next; > >> @@ -142,7 +150,8 @@ struct acpi_object_region { > >> }; > >> > >> struct acpi_object_method { > >> - ACPI_OBJECT_COMMON_HEADER u8 info_flags; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + u8 info_flags; > >> u8 param_count; > >> u8 sync_level; > >> union acpi_operand_object *mutex; > >> @@ -178,33 +187,41 @@ struct acpi_object_method { > >> */ > >> #define ACPI_COMMON_NOTIFY_INFO \ > >> union acpi_operand_object *notify_list[2]; /* Handlers for system/device notifies */\ > >> - union acpi_operand_object *handler; /* Handler for Address space */ > >> + union acpi_operand_object *handler /* Handler for Address space */ > >> > >> /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ > >> > >> struct acpi_object_notify_common { > >> -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_NOTIFY_INFO; > >> +}; > >> > >> struct acpi_object_device { > >> - ACPI_OBJECT_COMMON_HEADER > >> - ACPI_COMMON_NOTIFY_INFO struct acpi_gpe_block_info *gpe_block; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_NOTIFY_INFO; > >> + struct acpi_gpe_block_info *gpe_block; > >> }; > >> > >> struct acpi_object_power_resource { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO u32 system_level; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_NOTIFY_INFO; > >> + u32 system_level; > >> u32 resource_order; > >> }; > >> > >> struct acpi_object_processor { > >> - ACPI_OBJECT_COMMON_HEADER > >> + ACPI_OBJECT_COMMON_HEADER; > >> /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */ > >> u8 proc_id; > >> u8 length; > >> - ACPI_COMMON_NOTIFY_INFO acpi_io_address address; > >> + ACPI_COMMON_NOTIFY_INFO; > >> + acpi_io_address address; > >> }; > >> > >> struct acpi_object_thermal_zone { > >> -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_NOTIFY_INFO; > >> +}; > >> > >> /****************************************************************************** > >> * > >> @@ -226,17 +243,22 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; > >> u32 base_byte_offset; /* Byte offset within containing object */\ > >> u32 value; /* Value to store into the Bank or Index register */\ > >> u8 start_field_bit_offset;/* Bit offset within first field datum (0-63) */\ > >> - u8 access_length; /* For serial regions/fields */ > >> + u8 access_length /* For serial regions/fields */ > >> > >> > >> /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ > >> > >> struct acpi_object_field_common { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Parent Operation Region object (REGION/BANK fields only) */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_FIELD_INFO; > >> + union acpi_operand_object *region_obj; > >> + /* Parent Operation Region object (REGION/BANK fields only) */ > >> }; > >> > >> struct acpi_object_region_field { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u16 resource_length; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_FIELD_INFO; > >> + u16 resource_length; > >> union acpi_operand_object *region_obj; /* Containing op_region object */ > >> u8 *resource_buffer; /* resource_template for serial regions/fields */ > >> u16 pin_number_index; /* Index relative to previous Connection/Template */ > >> @@ -244,12 +266,15 @@ struct acpi_object_region_field { > >> }; > >> > >> struct acpi_object_bank_field { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Containing op_region object */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_FIELD_INFO; > >> + union acpi_operand_object *region_obj; /* Containing op_region object */ > >> union acpi_operand_object *bank_obj; /* bank_select Register object */ > >> }; > >> > >> struct acpi_object_index_field { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_FIELD_INFO; > >> /* > >> * No "RegionObj" pointer needed since the Index and Data registers > >> * are each field definitions unto themselves. > >> @@ -261,7 +286,9 @@ struct acpi_object_index_field { > >> /* The buffer_field is different in that it is part of a Buffer, not an op_region */ > >> > >> struct acpi_object_buffer_field { > >> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u8 is_create_field; /* Special case for objects created by create_field() */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + ACPI_COMMON_FIELD_INFO; > >> + u8 is_create_field; /* Special case for objects created by create_field() */ > >> union acpi_operand_object *buffer_obj; /* Containing Buffer object */ > >> }; > >> > >> @@ -272,7 +299,8 @@ struct acpi_object_buffer_field { > >> *****************************************************************************/ > >> > >> struct acpi_object_notify_handler { > >> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Parent device */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + struct acpi_namespace_node *node; /* Parent device */ > >> u32 handler_type; /* Type: Device/System/Both */ > >> acpi_notify_handler handler; /* Handler address */ > >> void *context; > >> @@ -280,7 +308,8 @@ struct acpi_object_notify_handler { > >> }; > >> > >> struct acpi_object_addr_handler { > >> - ACPI_OBJECT_COMMON_HEADER u8 space_id; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + u8 space_id; > >> u8 handler_flags; > >> acpi_adr_space_handler handler; > >> struct acpi_namespace_node *node; /* Parent device */ > >> @@ -307,7 +336,8 @@ struct acpi_object_addr_handler { > >> * The Reference.Class differentiates these types. > >> */ > >> struct acpi_object_reference { > >> - ACPI_OBJECT_COMMON_HEADER u8 class; /* Reference Class */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + u8 class; /* Reference Class */ > >> u8 target_type; /* Used for Index Op */ > >> u8 resolved; /* Reference has been resolved to a value */ > >> void *object; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */ > >> @@ -340,7 +370,8 @@ typedef enum { > >> * Currently: Region and field_unit types > >> */ > >> struct acpi_object_extra { > >> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ > >> struct acpi_namespace_node *scope_node; > >> void *region_context; /* Region-specific data */ > >> u8 *aml_start; > >> @@ -350,14 +381,16 @@ struct acpi_object_extra { > >> /* Additional data that can be attached to namespace nodes */ > >> > >> struct acpi_object_data { > >> - ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler; > >> + ACPI_OBJECT_COMMON_HEADER; > >> + acpi_object_handler handler; > >> void *pointer; > >> }; > >> > >> /* Structure used when objects are cached for reuse */ > >> > >> struct acpi_object_cache_list { > >> - ACPI_OBJECT_COMMON_HEADER union acpi_operand_object *next; /* Link for object cache and internal lists */ > >> + ACPI_OBJECT_COMMON_HEADER; > >> + union acpi_operand_object *next; /* Link for object cache and internal lists */ > >> }; > >> > >> /****************************************************************************** > >> -- Yes, it is a different code base with different coding style etc.
but the different coding style casues confusion,this patch can resolve it. 在 2024/2/5 21:35, Rafael J. Wysocki 写道: > On Sun, Feb 4, 2024 at 3:48 AM lijun <lijun01@kylinos.cn> wrote: >> hi all: >> >> then the acobject.h in acpica different from the kernel, >> "ACPI_OBJECT_COMMON_HEADER" and "u8" not in the same line . >> in the acpica this file >> typedef struct acpi_object_common >> { >> ACPI_OBJECT_COMMON_HEADER >> } ACPI_OBJECT_COMMON; >> typedef struct acpi_object_integer >> { >> ACPI_OBJECT_COMMON_HEADER >> UINT8 Fill[3]; /* Prevent warning on some compilers */ >> UINT64 Value; >> } ACPI_OBJECT_INTEGER; >> >> and in kenel this file >> /drivers/acpi/acpica/acobject.h,"ACPI_OBJECT_COMMON_HEADER" and "u8" in >> the same line ,cause confusion. >> struct acpi_object_common { >> ACPI_OBJECT_COMMON_HEADER}; >> struct acpi_object_integer { >> ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some >> compilers */ >> u64 value; >> }; >> >> others just so. >> >> >> On 2023/12/21 22:15, Rafael J. Wysocki wrote: >>> On Fri, Dec 15, 2023 at 8:38 AM lijun <lijun01@kylinos.cn> wrote: >>>> modify 4 macros: >>>> ACPI_OBJECT_COMMON_HEADER, >>>> ACPI_COMMON_BUFFER_INFO, >>>> ACPI_COMMON_NOTIFY_INFO, >>>> ACPI_COMMON_FIELD_INFO >>>> they cause poor readability.so del the last ";" >>>> and when use them in a single line with the ";"in the end. >>>> >>>> Signed-off-by: lijun <lijun01@kylinos.cn> >>>> --- >>>> drivers/acpi/acpica/acobject.h | 95 +++++++++++++++++++++++----------- >>> ACPICA code comes from an external project. The proper way of >>> modifying it is to submit a pull request to the upstream ACPICA >>> project on GitHub. Once this pull request has been merged upstream, a >>> Linux patch containing a Link: tag to the corresponding upstream pull >>> request can be submitted. >>> >>> Thanks! >>> >>>> 1 file changed, 64 insertions(+), 31 deletions(-) >>>> >>>> diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h >>>> index 1bdfeee5d7c5..0cd1769022aa 100644 >>>> --- a/drivers/acpi/acpica/acobject.h >>>> +++ b/drivers/acpi/acpica/acobject.h >>>> @@ -48,7 +48,7 @@ >>>> u8 descriptor_type; /* To differentiate various internal objs */\ >>>> u8 type; /* acpi_object_type */\ >>>> u16 reference_count; /* For object deletion management */\ >>>> - u8 flags; >>>> + u8 flags >>>> /* >>>> * Note: There are 3 bytes available here before the >>>> * next natural alignment boundary (for both 32/64 cases) >>>> @@ -71,10 +71,12 @@ >>>> *****************************************************************************/ >>>> >>>> struct acpi_object_common { >>>> -ACPI_OBJECT_COMMON_HEADER}; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> +}; >>>> >>>> struct acpi_object_integer { >>>> - ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some compilers */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + u8 fill[3]; /* Prevent warning on some compilers */ >>>> u64 value; >>>> }; >>>> >>>> @@ -86,23 +88,26 @@ struct acpi_object_integer { >>>> */ >>>> #define ACPI_COMMON_BUFFER_INFO(_type) \ >>>> _type *pointer; \ >>>> - u32 length; >>>> + u32 length >>>> >>>> /* Null terminated, ASCII characters only */ >>>> >>>> struct acpi_object_string { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(char) /* String in AML stream or allocated string */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_BUFFER_INFO(char); /* String in AML stream or allocated string */ >>>> }; >>>> >>>> struct acpi_object_buffer { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(u8) /* Buffer in AML stream or allocated buffer */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_BUFFER_INFO(u8);/* Buffer in AML stream or allocated buffer */ >>>> u32 aml_length; >>>> u8 *aml_start; >>>> struct acpi_namespace_node *node; /* Link back to parent node */ >>>> }; >>>> >>>> struct acpi_object_package { >>>> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Link back to parent node */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + struct acpi_namespace_node *node; /* Link back to parent node */ >>>> union acpi_operand_object **elements; /* Array of pointers to acpi_objects */ >>>> u8 *aml_start; >>>> u32 aml_length; >>>> @@ -116,11 +121,13 @@ struct acpi_object_package { >>>> *****************************************************************************/ >>>> >>>> struct acpi_object_event { >>>> - ACPI_OBJECT_COMMON_HEADER acpi_semaphore os_semaphore; /* Actual OS synchronization object */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + acpi_semaphore os_semaphore; /* Actual OS synchronization object */ >>>> }; >>>> >>>> struct acpi_object_mutex { >>>> - ACPI_OBJECT_COMMON_HEADER u8 sync_level; /* 0-15, specified in Mutex() call */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + u8 sync_level; /* 0-15, specified in Mutex() call */ >>>> u16 acquisition_depth; /* Allow multiple Acquires, same thread */ >>>> acpi_mutex os_mutex; /* Actual OS synchronization object */ >>>> acpi_thread_id thread_id; /* Current owner of the mutex */ >>>> @@ -132,7 +139,8 @@ struct acpi_object_mutex { >>>> }; >>>> >>>> struct acpi_object_region { >>>> - ACPI_OBJECT_COMMON_HEADER u8 space_id; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + u8 space_id; >>>> struct acpi_namespace_node *node; /* Containing namespace node */ >>>> union acpi_operand_object *handler; /* Handler for region access */ >>>> union acpi_operand_object *next; >>>> @@ -142,7 +150,8 @@ struct acpi_object_region { >>>> }; >>>> >>>> struct acpi_object_method { >>>> - ACPI_OBJECT_COMMON_HEADER u8 info_flags; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + u8 info_flags; >>>> u8 param_count; >>>> u8 sync_level; >>>> union acpi_operand_object *mutex; >>>> @@ -178,33 +187,41 @@ struct acpi_object_method { >>>> */ >>>> #define ACPI_COMMON_NOTIFY_INFO \ >>>> union acpi_operand_object *notify_list[2]; /* Handlers for system/device notifies */\ >>>> - union acpi_operand_object *handler; /* Handler for Address space */ >>>> + union acpi_operand_object *handler /* Handler for Address space */ >>>> >>>> /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ >>>> >>>> struct acpi_object_notify_common { >>>> -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_NOTIFY_INFO; >>>> +}; >>>> >>>> struct acpi_object_device { >>>> - ACPI_OBJECT_COMMON_HEADER >>>> - ACPI_COMMON_NOTIFY_INFO struct acpi_gpe_block_info *gpe_block; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_NOTIFY_INFO; >>>> + struct acpi_gpe_block_info *gpe_block; >>>> }; >>>> >>>> struct acpi_object_power_resource { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO u32 system_level; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_NOTIFY_INFO; >>>> + u32 system_level; >>>> u32 resource_order; >>>> }; >>>> >>>> struct acpi_object_processor { >>>> - ACPI_OBJECT_COMMON_HEADER >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */ >>>> u8 proc_id; >>>> u8 length; >>>> - ACPI_COMMON_NOTIFY_INFO acpi_io_address address; >>>> + ACPI_COMMON_NOTIFY_INFO; >>>> + acpi_io_address address; >>>> }; >>>> >>>> struct acpi_object_thermal_zone { >>>> -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_NOTIFY_INFO; >>>> +}; >>>> >>>> /****************************************************************************** >>>> * >>>> @@ -226,17 +243,22 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; >>>> u32 base_byte_offset; /* Byte offset within containing object */\ >>>> u32 value; /* Value to store into the Bank or Index register */\ >>>> u8 start_field_bit_offset;/* Bit offset within first field datum (0-63) */\ >>>> - u8 access_length; /* For serial regions/fields */ >>>> + u8 access_length /* For serial regions/fields */ >>>> >>>> >>>> /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ >>>> >>>> struct acpi_object_field_common { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Parent Operation Region object (REGION/BANK fields only) */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_FIELD_INFO; >>>> + union acpi_operand_object *region_obj; >>>> + /* Parent Operation Region object (REGION/BANK fields only) */ >>>> }; >>>> >>>> struct acpi_object_region_field { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u16 resource_length; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_FIELD_INFO; >>>> + u16 resource_length; >>>> union acpi_operand_object *region_obj; /* Containing op_region object */ >>>> u8 *resource_buffer; /* resource_template for serial regions/fields */ >>>> u16 pin_number_index; /* Index relative to previous Connection/Template */ >>>> @@ -244,12 +266,15 @@ struct acpi_object_region_field { >>>> }; >>>> >>>> struct acpi_object_bank_field { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Containing op_region object */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_FIELD_INFO; >>>> + union acpi_operand_object *region_obj; /* Containing op_region object */ >>>> union acpi_operand_object *bank_obj; /* bank_select Register object */ >>>> }; >>>> >>>> struct acpi_object_index_field { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_FIELD_INFO; >>>> /* >>>> * No "RegionObj" pointer needed since the Index and Data registers >>>> * are each field definitions unto themselves. >>>> @@ -261,7 +286,9 @@ struct acpi_object_index_field { >>>> /* The buffer_field is different in that it is part of a Buffer, not an op_region */ >>>> >>>> struct acpi_object_buffer_field { >>>> - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u8 is_create_field; /* Special case for objects created by create_field() */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + ACPI_COMMON_FIELD_INFO; >>>> + u8 is_create_field; /* Special case for objects created by create_field() */ >>>> union acpi_operand_object *buffer_obj; /* Containing Buffer object */ >>>> }; >>>> >>>> @@ -272,7 +299,8 @@ struct acpi_object_buffer_field { >>>> *****************************************************************************/ >>>> >>>> struct acpi_object_notify_handler { >>>> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Parent device */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + struct acpi_namespace_node *node; /* Parent device */ >>>> u32 handler_type; /* Type: Device/System/Both */ >>>> acpi_notify_handler handler; /* Handler address */ >>>> void *context; >>>> @@ -280,7 +308,8 @@ struct acpi_object_notify_handler { >>>> }; >>>> >>>> struct acpi_object_addr_handler { >>>> - ACPI_OBJECT_COMMON_HEADER u8 space_id; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + u8 space_id; >>>> u8 handler_flags; >>>> acpi_adr_space_handler handler; >>>> struct acpi_namespace_node *node; /* Parent device */ >>>> @@ -307,7 +336,8 @@ struct acpi_object_addr_handler { >>>> * The Reference.Class differentiates these types. >>>> */ >>>> struct acpi_object_reference { >>>> - ACPI_OBJECT_COMMON_HEADER u8 class; /* Reference Class */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + u8 class; /* Reference Class */ >>>> u8 target_type; /* Used for Index Op */ >>>> u8 resolved; /* Reference has been resolved to a value */ >>>> void *object; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */ >>>> @@ -340,7 +370,8 @@ typedef enum { >>>> * Currently: Region and field_unit types >>>> */ >>>> struct acpi_object_extra { >>>> - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ >>>> struct acpi_namespace_node *scope_node; >>>> void *region_context; /* Region-specific data */ >>>> u8 *aml_start; >>>> @@ -350,14 +381,16 @@ struct acpi_object_extra { >>>> /* Additional data that can be attached to namespace nodes */ >>>> >>>> struct acpi_object_data { >>>> - ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler; >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + acpi_object_handler handler; >>>> void *pointer; >>>> }; >>>> >>>> /* Structure used when objects are cached for reuse */ >>>> >>>> struct acpi_object_cache_list { >>>> - ACPI_OBJECT_COMMON_HEADER union acpi_operand_object *next; /* Link for object cache and internal lists */ >>>> + ACPI_OBJECT_COMMON_HEADER; >>>> + union acpi_operand_object *next; /* Link for object cache and internal lists */ >>>> }; >>>> >>>> /****************************************************************************** >>>> -- > Yes, it is a different code base with different coding style etc.
diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h index 1bdfeee5d7c5..0cd1769022aa 100644 --- a/drivers/acpi/acpica/acobject.h +++ b/drivers/acpi/acpica/acobject.h @@ -48,7 +48,7 @@ u8 descriptor_type; /* To differentiate various internal objs */\ u8 type; /* acpi_object_type */\ u16 reference_count; /* For object deletion management */\ - u8 flags; + u8 flags /* * Note: There are 3 bytes available here before the * next natural alignment boundary (for both 32/64 cases) @@ -71,10 +71,12 @@ *****************************************************************************/ struct acpi_object_common { -ACPI_OBJECT_COMMON_HEADER}; + ACPI_OBJECT_COMMON_HEADER; +}; struct acpi_object_integer { - ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some compilers */ + ACPI_OBJECT_COMMON_HEADER; + u8 fill[3]; /* Prevent warning on some compilers */ u64 value; }; @@ -86,23 +88,26 @@ struct acpi_object_integer { */ #define ACPI_COMMON_BUFFER_INFO(_type) \ _type *pointer; \ - u32 length; + u32 length /* Null terminated, ASCII characters only */ struct acpi_object_string { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(char) /* String in AML stream or allocated string */ + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_BUFFER_INFO(char); /* String in AML stream or allocated string */ }; struct acpi_object_buffer { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(u8) /* Buffer in AML stream or allocated buffer */ + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_BUFFER_INFO(u8);/* Buffer in AML stream or allocated buffer */ u32 aml_length; u8 *aml_start; struct acpi_namespace_node *node; /* Link back to parent node */ }; struct acpi_object_package { - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Link back to parent node */ + ACPI_OBJECT_COMMON_HEADER; + struct acpi_namespace_node *node; /* Link back to parent node */ union acpi_operand_object **elements; /* Array of pointers to acpi_objects */ u8 *aml_start; u32 aml_length; @@ -116,11 +121,13 @@ struct acpi_object_package { *****************************************************************************/ struct acpi_object_event { - ACPI_OBJECT_COMMON_HEADER acpi_semaphore os_semaphore; /* Actual OS synchronization object */ + ACPI_OBJECT_COMMON_HEADER; + acpi_semaphore os_semaphore; /* Actual OS synchronization object */ }; struct acpi_object_mutex { - ACPI_OBJECT_COMMON_HEADER u8 sync_level; /* 0-15, specified in Mutex() call */ + ACPI_OBJECT_COMMON_HEADER; + u8 sync_level; /* 0-15, specified in Mutex() call */ u16 acquisition_depth; /* Allow multiple Acquires, same thread */ acpi_mutex os_mutex; /* Actual OS synchronization object */ acpi_thread_id thread_id; /* Current owner of the mutex */ @@ -132,7 +139,8 @@ struct acpi_object_mutex { }; struct acpi_object_region { - ACPI_OBJECT_COMMON_HEADER u8 space_id; + ACPI_OBJECT_COMMON_HEADER; + u8 space_id; struct acpi_namespace_node *node; /* Containing namespace node */ union acpi_operand_object *handler; /* Handler for region access */ union acpi_operand_object *next; @@ -142,7 +150,8 @@ struct acpi_object_region { }; struct acpi_object_method { - ACPI_OBJECT_COMMON_HEADER u8 info_flags; + ACPI_OBJECT_COMMON_HEADER; + u8 info_flags; u8 param_count; u8 sync_level; union acpi_operand_object *mutex; @@ -178,33 +187,41 @@ struct acpi_object_method { */ #define ACPI_COMMON_NOTIFY_INFO \ union acpi_operand_object *notify_list[2]; /* Handlers for system/device notifies */\ - union acpi_operand_object *handler; /* Handler for Address space */ + union acpi_operand_object *handler /* Handler for Address space */ /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ struct acpi_object_notify_common { -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_NOTIFY_INFO; +}; struct acpi_object_device { - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_NOTIFY_INFO struct acpi_gpe_block_info *gpe_block; + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_NOTIFY_INFO; + struct acpi_gpe_block_info *gpe_block; }; struct acpi_object_power_resource { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO u32 system_level; + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_NOTIFY_INFO; + u32 system_level; u32 resource_order; }; struct acpi_object_processor { - ACPI_OBJECT_COMMON_HEADER + ACPI_OBJECT_COMMON_HEADER; /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */ u8 proc_id; u8 length; - ACPI_COMMON_NOTIFY_INFO acpi_io_address address; + ACPI_COMMON_NOTIFY_INFO; + acpi_io_address address; }; struct acpi_object_thermal_zone { -ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_NOTIFY_INFO; +}; /****************************************************************************** * @@ -226,17 +243,22 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; u32 base_byte_offset; /* Byte offset within containing object */\ u32 value; /* Value to store into the Bank or Index register */\ u8 start_field_bit_offset;/* Bit offset within first field datum (0-63) */\ - u8 access_length; /* For serial regions/fields */ + u8 access_length /* For serial regions/fields */ /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ struct acpi_object_field_common { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Parent Operation Region object (REGION/BANK fields only) */ + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_FIELD_INFO; + union acpi_operand_object *region_obj; + /* Parent Operation Region object (REGION/BANK fields only) */ }; struct acpi_object_region_field { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u16 resource_length; + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_FIELD_INFO; + u16 resource_length; union acpi_operand_object *region_obj; /* Containing op_region object */ u8 *resource_buffer; /* resource_template for serial regions/fields */ u16 pin_number_index; /* Index relative to previous Connection/Template */ @@ -244,12 +266,15 @@ struct acpi_object_region_field { }; struct acpi_object_bank_field { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Containing op_region object */ + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_FIELD_INFO; + union acpi_operand_object *region_obj; /* Containing op_region object */ union acpi_operand_object *bank_obj; /* bank_select Register object */ }; struct acpi_object_index_field { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_FIELD_INFO; /* * No "RegionObj" pointer needed since the Index and Data registers * are each field definitions unto themselves. @@ -261,7 +286,9 @@ struct acpi_object_index_field { /* The buffer_field is different in that it is part of a Buffer, not an op_region */ struct acpi_object_buffer_field { - ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u8 is_create_field; /* Special case for objects created by create_field() */ + ACPI_OBJECT_COMMON_HEADER; + ACPI_COMMON_FIELD_INFO; + u8 is_create_field; /* Special case for objects created by create_field() */ union acpi_operand_object *buffer_obj; /* Containing Buffer object */ }; @@ -272,7 +299,8 @@ struct acpi_object_buffer_field { *****************************************************************************/ struct acpi_object_notify_handler { - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Parent device */ + ACPI_OBJECT_COMMON_HEADER; + struct acpi_namespace_node *node; /* Parent device */ u32 handler_type; /* Type: Device/System/Both */ acpi_notify_handler handler; /* Handler address */ void *context; @@ -280,7 +308,8 @@ struct acpi_object_notify_handler { }; struct acpi_object_addr_handler { - ACPI_OBJECT_COMMON_HEADER u8 space_id; + ACPI_OBJECT_COMMON_HEADER; + u8 space_id; u8 handler_flags; acpi_adr_space_handler handler; struct acpi_namespace_node *node; /* Parent device */ @@ -307,7 +336,8 @@ struct acpi_object_addr_handler { * The Reference.Class differentiates these types. */ struct acpi_object_reference { - ACPI_OBJECT_COMMON_HEADER u8 class; /* Reference Class */ + ACPI_OBJECT_COMMON_HEADER; + u8 class; /* Reference Class */ u8 target_type; /* Used for Index Op */ u8 resolved; /* Reference has been resolved to a value */ void *object; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */ @@ -340,7 +370,8 @@ typedef enum { * Currently: Region and field_unit types */ struct acpi_object_extra { - ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ + ACPI_OBJECT_COMMON_HEADER; + struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ struct acpi_namespace_node *scope_node; void *region_context; /* Region-specific data */ u8 *aml_start; @@ -350,14 +381,16 @@ struct acpi_object_extra { /* Additional data that can be attached to namespace nodes */ struct acpi_object_data { - ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler; + ACPI_OBJECT_COMMON_HEADER; + acpi_object_handler handler; void *pointer; }; /* Structure used when objects are cached for reuse */ struct acpi_object_cache_list { - ACPI_OBJECT_COMMON_HEADER union acpi_operand_object *next; /* Link for object cache and internal lists */ + ACPI_OBJECT_COMMON_HEADER; + union acpi_operand_object *next; /* Link for object cache and internal lists */ }; /******************************************************************************
modify 4 macros: ACPI_OBJECT_COMMON_HEADER, ACPI_COMMON_BUFFER_INFO, ACPI_COMMON_NOTIFY_INFO, ACPI_COMMON_FIELD_INFO they cause poor readability.so del the last ";" and when use them in a single line with the ";"in the end. Signed-off-by: lijun <lijun01@kylinos.cn> --- drivers/acpi/acpica/acobject.h | 95 +++++++++++++++++++++++----------- 1 file changed, 64 insertions(+), 31 deletions(-)