xen/ACPI: Remove the acpi_string type

Typedef-ing a naked pointer like this is an anti-pattern which is best
avoided.  Furthermore, it's problematic to pass a string literal in a mutable
type.  Delete the type entirely, and replace it with a plain 'const char *'.

This highlights two further bugs.  acpi_get_table() already had a mismatch in
types between it's declaration and definition, and we have declarations for
acpi_get_handle() and acpi_get_table_header() but no definition at all, nor
any callers.

This fixes violations of MISRA Rule 7.4:

  A string literal shall not be assigned to an object unless the object's type
  is "pointer to const-qualified char".

and of Rule 8.3:

  All declarations of an object or function shall use the same names and type
  qualifiers.

and of Rule 8.6:

  An identifier with external linkage shall have exactly one external
  definition.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Andrew Cooper committed 2023-07-17 11:35:41 +01:00
1 parent d642c07066
commit 993f0ecb6b
3 files changed
+4 -14

No files matched your search

+2 -2
View File
@@ -164,7 +164,7 @@ acpi_initialize_tables(struct acpi_table_desc * initial_table_array,
*
*****************************************************************************/
acpi_status __init
acpi_get_table(char *signature,
acpi_get_table(const char *signature,
acpi_native_uint instance, struct acpi_table_header **out_table)
{
acpi_native_uint i;
@@ -220,7 +220,7 @@ acpi_get_table(char *signature,
*
*****************************************************************************/
acpi_status __init
acpi_get_table_phys(acpi_string signature, acpi_native_uint instance,
acpi_get_table_phys(const char *signature, acpi_native_uint instance,
acpi_physical_address *addr, acpi_native_uint *len)
{
acpi_native_uint i, j;
+2 -11
View File
@@ -69,25 +69,16 @@ acpi_status acpi_load_tables(void);
acpi_status acpi_load_table(struct acpi_table_header *table_ptr);
acpi_status
acpi_get_table_header(acpi_string signature,
acpi_native_uint instance,
struct acpi_table_header *out_table_header);
acpi_status
acpi_get_table(acpi_string signature,
acpi_get_table(const char *signature,
acpi_native_uint instance, struct acpi_table_header **out_table);
acpi_status
acpi_get_table_phys(acpi_string signature, acpi_native_uint instance,
acpi_get_table_phys(const char *signature, acpi_native_uint instance,
acpi_physical_address *addr, acpi_native_uint *len);
/*
* Namespace and name interfaces
*/
acpi_status
acpi_get_handle(acpi_handle parent,
acpi_string pathname, acpi_handle * ret_handle);
acpi_status
acpi_debug_trace(char *name, u32 debug_level, u32 debug_layer, u32 flags);
acpi_status
-1
View File
@@ -281,7 +281,6 @@ typedef acpi_native_uint acpi_size;
*/
typedef u32 acpi_status; /* All ACPI Exceptions */
typedef u32 acpi_name; /* 4-byte ACPI name */
typedef char *acpi_string; /* Null terminated ASCII string */
typedef void *acpi_handle; /* Actually a ptr to a NS Node */
struct uint64_struct {
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.