]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR().
authorLv Zheng <lv.zheng@intel.com>
Mon, 13 Apr 2015 03:48:37 +0000 (11:48 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 17 May 2015 16:55:10 +0000 (09:55 -0700)
commit 6d3fd3cc33d50e4c0d0c0bd172de02caaec3127c upstream.

ACPICA commit 154f6d074dd38d6ebc0467ad454454e6c5c9ecdf

There are code pieces converting pointers using "(acpi_physical_address) x"
or "ACPI_CAST_PTR (t, x)" formats, this patch cleans up them.

Known issues:
1. Cleanup of "(ACPI_PHYSICAL_ADDRRESS) x" for a table field
   For the conversions around the table fields, it is better to fix it with
   alignment also fixed. So this patch doesn't modify such code. There
   should be no functional problem by leaving them unchanged.

Link: https://github.com/acpica/acpica/commit/154f6d07
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/acpi/acpica/dsopcode.c
drivers/acpi/acpica/tbdata.c
drivers/acpi/acpica/tbinstal.c

index 77244182ff02988accb670dfa3b10acce5f4e4ac..398e2084c35c43ab3a290ce2a9809aa37eb7b644 100644 (file)
@@ -539,8 +539,7 @@ acpi_ds_eval_table_region_operands(struct acpi_walk_state *walk_state,
                return_ACPI_STATUS(AE_NOT_EXIST);
        }
 
-       obj_desc->region.address =
-           (acpi_physical_address) ACPI_TO_INTEGER(table);
+       obj_desc->region.address = ACPI_PTR_TO_PHYSADDR(table);
        obj_desc->region.length = table->length;
 
        ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "RgnObj %p Addr %8.8X%8.8X Len %X\n",
index 6a144957aadd65d9095cb2613e120ebbf961832c..03834496d55bdde3d2941e6ca61422fc1e525615 100644 (file)
@@ -113,9 +113,9 @@ acpi_tb_acquire_table(struct acpi_table_desc *table_desc,
        case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL:
        case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL:
 
-               table =
-                   ACPI_CAST_PTR(struct acpi_table_header,
-                                 table_desc->address);
+               table = ACPI_CAST_PTR(struct acpi_table_header,
+                                     ACPI_PHYSADDR_TO_PTR(table_desc->
+                                                          address));
                break;
 
        default:
@@ -214,7 +214,8 @@ acpi_tb_acquire_temp_table(struct acpi_table_desc *table_desc,
        case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL:
        case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL:
 
-               table_header = ACPI_CAST_PTR(struct acpi_table_header, address);
+               table_header = ACPI_CAST_PTR(struct acpi_table_header,
+                                            ACPI_PHYSADDR_TO_PTR(address));
                if (!table_header) {
                        return (AE_NO_MEMORY);
                }
index 7fbc2b9dcbbb311466292c7c4a2f7c31fb6f0ebb..33d04ee4c36c335bc6fd1f26f7cdfac3089c41f3 100644 (file)
@@ -188,7 +188,7 @@ acpi_tb_install_fixed_table(acpi_physical_address address,
                                            ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL);
        if (ACPI_FAILURE(status)) {
                ACPI_ERROR((AE_INFO, "Could not acquire table length at %p",
-                           ACPI_CAST_PTR(void, address)));
+                           ACPI_PHYSADDR_TO_PTR(address)));
                return_ACPI_STATUS(status);
        }
 
@@ -247,7 +247,7 @@ acpi_tb_install_standard_table(acpi_physical_address address,
        status = acpi_tb_acquire_temp_table(&new_table_desc, address, flags);
        if (ACPI_FAILURE(status)) {
                ACPI_ERROR((AE_INFO, "Could not acquire table length at %p",
-                           ACPI_CAST_PTR(void, address)));
+                           ACPI_PHYSADDR_TO_PTR(address)));
                return_ACPI_STATUS(status);
        }
 
@@ -259,8 +259,8 @@ acpi_tb_install_standard_table(acpi_physical_address address,
            acpi_gbl_disable_ssdt_table_install &&
            ACPI_COMPARE_NAME(&new_table_desc.signature, ACPI_SIG_SSDT)) {
                ACPI_INFO((AE_INFO, "Ignoring installation of %4.4s at %p",
-                          new_table_desc.signature.ascii, ACPI_CAST_PTR(void,
-                                                                        address)));
+                          new_table_desc.signature.ascii,
+                          ACPI_PHYSADDR_TO_PTR(address)));
                goto release_and_exit;
        }
 
@@ -516,7 +516,7 @@ void acpi_tb_uninstall_table(struct acpi_table_desc *table_desc)
 
        if ((table_desc->flags & ACPI_TABLE_ORIGIN_MASK) ==
            ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL) {
-               ACPI_FREE(ACPI_CAST_PTR(void, table_desc->address));
+               ACPI_FREE(ACPI_PHYSADDR_TO_PTR(table_desc->address));
        }
 
        table_desc->address = ACPI_PTR_TO_PHYSADDR(NULL);