forked from Mirrors/opensbi
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:

committed by
Anup Patel

parent
fb688d9e9d
commit
5d025eb235
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user