diff options
author | Huisong Li <lihuisong@huawei.com> | 2023-08-16 09:37:06 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2023-08-22 03:05:11 +0200 |
commit | 7d6612834d176a1343aea4b2f01efa94f1cea68f (patch) | |
tree | aabceea7fc44ffe0f195960e80b419066d389e04 /drivers | |
parent | soc: loongson2_pm: add power management support (diff) | |
download | linux-7d6612834d176a1343aea4b2f01efa94f1cea68f.tar.xz linux-7d6612834d176a1343aea4b2f01efa94f1cea68f.zip |
soc: kunpeng_hccs: fix some sparse warnings about incorrect type
This patch fixes some sparse warnings about incorrect type.
The address about PCC communication space should use '__iomem' tag.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308151142.dH5Muhva-lkp@intel.com/
Fixes: 886bdf9c883b ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Link: https://lore.kernel.org/r/20230816073706.33297-1-lihuisong@huawei.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/soc/hisilicon/kunpeng_hccs.c | 13 | ||||
-rw-r--r-- | drivers/soc/hisilicon/kunpeng_hccs.h | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/drivers/soc/hisilicon/kunpeng_hccs.c b/drivers/soc/hisilicon/kunpeng_hccs.c index 0d6f6bacd3f6..f3810d9d1caa 100644 --- a/drivers/soc/hisilicon/kunpeng_hccs.c +++ b/drivers/soc/hisilicon/kunpeng_hccs.c @@ -156,8 +156,8 @@ static int hccs_register_pcc_channel(struct hccs_dev *hdev) } if (pcc_chan->shmem_base_addr) { - cl_info->pcc_comm_addr = (void __force *)ioremap( - pcc_chan->shmem_base_addr, pcc_chan->shmem_size); + cl_info->pcc_comm_addr = ioremap(pcc_chan->shmem_base_addr, + pcc_chan->shmem_size); if (!cl_info->pcc_comm_addr) { dev_err(dev, "Failed to ioremap PCC communication region for channel-%d.\n", hdev->chan_id); @@ -177,7 +177,8 @@ out: static int hccs_check_chan_cmd_complete(struct hccs_dev *hdev) { struct hccs_mbox_client_info *cl_info = &hdev->cl_info; - struct acpi_pcct_shared_memory *comm_base = cl_info->pcc_comm_addr; + struct acpi_pcct_shared_memory __iomem *comm_base = + cl_info->pcc_comm_addr; u16 status; int ret; @@ -199,8 +200,8 @@ static int hccs_pcc_cmd_send(struct hccs_dev *hdev, u8 cmd, struct hccs_desc *desc) { struct hccs_mbox_client_info *cl_info = &hdev->cl_info; - struct acpi_pcct_shared_memory *comm_base = cl_info->pcc_comm_addr; - void *comm_space = (void *)(comm_base + 1); + void __iomem *comm_space = cl_info->pcc_comm_addr + + sizeof(struct acpi_pcct_shared_memory); struct hccs_fw_inner_head *fw_inner_head; struct acpi_pcct_shared_memory tmp = {0}; u16 comm_space_size; @@ -212,7 +213,7 @@ static int hccs_pcc_cmd_send(struct hccs_dev *hdev, u8 cmd, tmp.command = cmd; /* Clear cmd complete bit */ tmp.status = 0; - memcpy_toio(comm_base, (void *)&tmp, + memcpy_toio(cl_info->pcc_comm_addr, (void *)&tmp, sizeof(struct acpi_pcct_shared_memory)); /* Copy the message to the PCC comm space */ diff --git a/drivers/soc/hisilicon/kunpeng_hccs.h b/drivers/soc/hisilicon/kunpeng_hccs.h index 9d71fb78443f..6012d2776028 100644 --- a/drivers/soc/hisilicon/kunpeng_hccs.h +++ b/drivers/soc/hisilicon/kunpeng_hccs.h @@ -50,7 +50,7 @@ struct hccs_mbox_client_info { struct mbox_chan *mbox_chan; struct pcc_mbox_chan *pcc_chan; u64 deadline_us; - void *pcc_comm_addr; + void __iomem *pcc_comm_addr; }; struct hccs_dev { |