Commit 02e8df6d authored by Huisong Li's avatar Huisong Li
Browse files

soc: kunpeng_hccs: fix some sparse warnings about incorrect type

mainline inclusion
from mainline-v6.6-rc1
commit 7d661283
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I81QY0
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.6-rc1&id=7d6612834d176a1343aea4b2f01efa94f1cea68f



--------------------------------

This patch fixes some sparse warnings about incorrect type.
The address about PCC communication space should use '__iomem' tag.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308151142.dH5Muhva-lkp@intel.com/


Fixes: 886bdf9c ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: default avatarHuisong Li <lihuisong@huawei.com>
Link: https://lore.kernel.org/r/20230816073706.33297-1-lihuisong@huawei.com


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent aee5d333
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -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 @@ static int hccs_register_pcc_channel(struct hccs_dev *hdev)
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 */
+1 −1
Original line number Diff line number Diff line
@@ -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 {