ACPI: CPPC: add __iomem annotation to generic_comm_base pointer
authorIonela Voinescu <ionela.voinescu@arm.com>
Thu, 7 Jan 2021 11:17:16 +0000 (11:17 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 22 Jan 2021 15:28:19 +0000 (16:28 +0100)
ppc_comm_addr is a virtual address to the PCC space and it's annotated
with __iomem. Therefore, generic_comm_base which gets assigned the value of
pcc_comm_address should be annotated as well.

This already happens in check_pcc_chan(), but not in send_pcc_cmd(), which
results in the following sparse warnings:

drivers/acpi/cppc_acpi.c:237:18: warning: cast removes address space '__iomem' of expression
drivers/acpi/cppc_acpi.c:299:9: warning: incorrect type in argument 2 (different address spaces)
drivers/acpi/cppc_acpi.c:299:9:    expected void volatile [noderef] __iomem *addr
drivers/acpi/cppc_acpi.c:299:9:    got unsigned short *
drivers/acpi/cppc_acpi.c:302:9: warning: incorrect type in argument 2 (different address spaces)
drivers/acpi/cppc_acpi.c:302:9:    expected void volatile [noderef] __iomem *addr
drivers/acpi/cppc_acpi.c:302:9:    got unsigned short *

Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/cppc_acpi.c

index 75aaf94ae0a90acea242017ef470a6159d84b784..fd71020f5d5fe6c96c9fdd9f59c85fc45c44088f 100644 (file)
@@ -233,8 +233,8 @@ static int send_pcc_cmd(int pcc_ss_id, u16 cmd)
 {
        int ret = -EIO, i;
        struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id];
-       struct acpi_pcct_shared_memory *generic_comm_base =
-               (struct acpi_pcct_shared_memory *)pcc_ss_data->pcc_comm_addr;
+       struct acpi_pcct_shared_memory __iomem *generic_comm_base =
+               pcc_ss_data->pcc_comm_addr;
        unsigned int time_delta;
 
        /*