mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
firmware: arm_scpi: silence sparse warnings
At several positions in the code sparse complains about incorrect access to __iomem annotated memory. Fix this and make sparse happy. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
This commit is contained in:
parent
48bee74a35
commit
430594c1c7
@ -405,19 +405,20 @@ static void scpi_process_cmd(struct scpi_chan *ch, u32 cmd)
|
|||||||
unsigned int len;
|
unsigned int len;
|
||||||
|
|
||||||
if (scpi_info->is_legacy) {
|
if (scpi_info->is_legacy) {
|
||||||
struct legacy_scpi_shared_mem *mem = ch->rx_payload;
|
struct legacy_scpi_shared_mem __iomem *mem =
|
||||||
|
ch->rx_payload;
|
||||||
|
|
||||||
/* RX Length is not replied by the legacy Firmware */
|
/* RX Length is not replied by the legacy Firmware */
|
||||||
len = match->rx_len;
|
len = match->rx_len;
|
||||||
|
|
||||||
match->status = le32_to_cpu(mem->status);
|
match->status = ioread32(&mem->status);
|
||||||
memcpy_fromio(match->rx_buf, mem->payload, len);
|
memcpy_fromio(match->rx_buf, mem->payload, len);
|
||||||
} else {
|
} else {
|
||||||
struct scpi_shared_mem *mem = ch->rx_payload;
|
struct scpi_shared_mem __iomem *mem = ch->rx_payload;
|
||||||
|
|
||||||
len = min(match->rx_len, CMD_SIZE(cmd));
|
len = min(match->rx_len, CMD_SIZE(cmd));
|
||||||
|
|
||||||
match->status = le32_to_cpu(mem->status);
|
match->status = ioread32(&mem->status);
|
||||||
memcpy_fromio(match->rx_buf, mem->payload, len);
|
memcpy_fromio(match->rx_buf, mem->payload, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -431,11 +432,11 @@ static void scpi_process_cmd(struct scpi_chan *ch, u32 cmd)
|
|||||||
static void scpi_handle_remote_msg(struct mbox_client *c, void *msg)
|
static void scpi_handle_remote_msg(struct mbox_client *c, void *msg)
|
||||||
{
|
{
|
||||||
struct scpi_chan *ch = container_of(c, struct scpi_chan, cl);
|
struct scpi_chan *ch = container_of(c, struct scpi_chan, cl);
|
||||||
struct scpi_shared_mem *mem = ch->rx_payload;
|
struct scpi_shared_mem __iomem *mem = ch->rx_payload;
|
||||||
u32 cmd = 0;
|
u32 cmd = 0;
|
||||||
|
|
||||||
if (!scpi_info->is_legacy)
|
if (!scpi_info->is_legacy)
|
||||||
cmd = le32_to_cpu(mem->command);
|
cmd = ioread32(&mem->command);
|
||||||
|
|
||||||
scpi_process_cmd(ch, cmd);
|
scpi_process_cmd(ch, cmd);
|
||||||
}
|
}
|
||||||
@ -445,7 +446,7 @@ static void scpi_tx_prepare(struct mbox_client *c, void *msg)
|
|||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct scpi_xfer *t = msg;
|
struct scpi_xfer *t = msg;
|
||||||
struct scpi_chan *ch = container_of(c, struct scpi_chan, cl);
|
struct scpi_chan *ch = container_of(c, struct scpi_chan, cl);
|
||||||
struct scpi_shared_mem *mem = ch->tx_payload;
|
struct scpi_shared_mem __iomem *mem = ch->tx_payload;
|
||||||
|
|
||||||
if (t->tx_buf) {
|
if (t->tx_buf) {
|
||||||
if (scpi_info->is_legacy)
|
if (scpi_info->is_legacy)
|
||||||
@ -464,7 +465,7 @@ static void scpi_tx_prepare(struct mbox_client *c, void *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!scpi_info->is_legacy)
|
if (!scpi_info->is_legacy)
|
||||||
mem->command = cpu_to_le32(t->cmd);
|
iowrite32(t->cmd, &mem->command);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct scpi_xfer *get_scpi_xfer(struct scpi_chan *ch)
|
static struct scpi_xfer *get_scpi_xfer(struct scpi_chan *ch)
|
||||||
|
Loading…
Reference in New Issue
Block a user