lib: fix pointer of type 'void *' used in arithmetic

Using "void *" in arithmetic causes errors with strict compiler settings:
"error: pointer of type 'void *' used in arithmetic [-Werror=pointer-arith]"

Avoid these by calculating on "char *" where 1-byte data size is assumed.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
Reviewed-by: Dong Du <Dd_nirvana@sjtu.edu.cn>
Reviewed-by: Xiang W <wxjstz@126.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Jukka Laitinen
2022-01-19 11:20:17 +02:00
committed by Anup Patel
parent fb688d9e9d
commit 5d025eb235
13 changed files with 27 additions and 27 deletions

View File

@@ -23,7 +23,7 @@
static void plic_set_priority(struct plic_data *plic, u32 source, u32 val)
{
volatile void *plic_priority = (void *)plic->addr +
volatile void *plic_priority = (char *)plic->addr +
PLIC_PRIORITY_BASE + 4 * source;
writel(val, plic_priority);
}
@@ -35,19 +35,19 @@ void plic_set_thresh(struct plic_data *plic, u32 cntxid, u32 val)
if (!plic)
return;
plic_thresh = (void *)plic->addr +
plic_thresh = (char *)plic->addr +
PLIC_CONTEXT_BASE + PLIC_CONTEXT_STRIDE * cntxid;
writel(val, plic_thresh);
}
void plic_set_ie(struct plic_data *plic, u32 cntxid, u32 word_index, u32 val)
{
volatile void *plic_ie;
volatile char *plic_ie;
if (!plic)
return;
plic_ie = (void *)plic->addr +
plic_ie = (char *)plic->addr +
PLIC_ENABLE_BASE + PLIC_ENABLE_STRIDE * cntxid;
writel(val, plic_ie + word_index * 4);
}