回复: Re: [PATCH] acpi: Modify ACPI_OBJECT_COMMON_HEADER

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
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.




----

 




主 题:Re: [PATCH] acpi: Modify ACPI_OBJECT_COMMON_HEADER
日 期:2023-12-21 22:15
发件人:Rafael J. Wysocki
收件人:李俊;

On Fri, Dec 15, 2023 at 8:38 AM lijun 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
> ---
> 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
>
>

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux