From: lijun <lijun01@kylinos.cn>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: robert.moore@intel.com, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org, lenb@kernel.org,
rafael.j.wysocki@intel.com, lijun01@kylinos.cn
Subject: Re: [PATCH] acpi: Modify ACPI_OBJECT_COMMON_HEADER
Date: Tue, 9 Apr 2024 09:22:22 +0800 [thread overview]
Message-ID: <15187363-ab71-2463-82be-794b9113211c@kylinos.cn> (raw)
In-Reply-To: <CAJZ5v0goUZCwTaTqSvD=RfzyMf6QBS_rCGsvtoNN-VboptCNjA@mail.gmail.com>
this patch has been merged into ACPICA, so i resend this mail.
the upstream AFAICS should be in process.
thanks.
在 2024/4/8 22:53, Rafael J. Wysocki 写道:
> On Sun, Apr 7, 2024 at 5:25 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.
>>
>> Link: https://github.com/acpica/acpica/pull/924
> This hasn't been merged upstream AFAICS, has it?
>
>> Signed-off-by: lijun <lijun01@kylinos.cn>
>> ---
>> drivers/acpi/acpica/acobject.h | 95 +++++++++++++++++++++++-----------
>> 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
>>
>>
next prev parent reply other threads:[~2024-04-09 1:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-07 3:24 [PATCH] acpi: Modify ACPI_OBJECT_COMMON_HEADER lijun
2024-04-08 14:53 ` Rafael J. Wysocki
2024-04-09 1:22 ` lijun [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-12-15 7:37 lijun
2023-12-21 14:15 ` Rafael J. Wysocki
2024-02-04 2:47 ` lijun
2024-02-05 13:35 ` Rafael J. Wysocki
2024-02-06 0:59 ` lijun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=15187363-ab71-2463-82be-794b9113211c@kylinos.cn \
--to=lijun01@kylinos.cn \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=robert.moore@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).