summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPetro Karashchenko <petro.karashchenko@gmail.com>2022-01-28 10:13:23 +0300
committerAnup Patel <anup@brainfault.org>2022-02-04 08:34:19 +0300
commit6ad8917b7e27e5e80fb9268492b9111b17ed2024 (patch)
treed8af3fafb149bdcc42b7d8905940b846b135fdfc /lib
parent5d53b55aa77ffeefd4012445dfa6ad3535e1ff2c (diff)
downloadopensbi-6ad8917b7e27e5e80fb9268492b9111b17ed2024.tar.xz
lib: fix compilation when strings.h is included
In a systems that provide strings.h and it is included together with sbi_bitops.h the compilation error appears. The ffs() and fls() are provided by strings.h Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com> Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/sbi/sbi_bitops.c10
-rw-r--r--lib/sbi/sbi_hart.c8
-rw-r--r--lib/sbi/sbi_pmu.c6
-rw-r--r--lib/utils/timer/aclint_mtimer.c2
4 files changed, 13 insertions, 13 deletions
diff --git a/lib/sbi/sbi_bitops.c b/lib/sbi/sbi_bitops.c
index de9d045..becea91 100644
--- a/lib/sbi/sbi_bitops.c
+++ b/lib/sbi/sbi_bitops.c
@@ -39,7 +39,7 @@ unsigned long find_first_bit(const unsigned long *addr,
if (tmp == 0UL) /* Are any bits set? */
return result + size; /* Nope. */
found:
- return result + __ffs(tmp);
+ return result + sbi_ffs(tmp);
}
/**
@@ -69,7 +69,7 @@ unsigned long find_first_zero_bit(const unsigned long *addr,
if (tmp == ~0UL) /* Are any bits zero? */
return result + size; /* Nope. */
found:
- return result + ffz(tmp);
+ return result + sbi_ffz(tmp);
}
/**
@@ -100,7 +100,7 @@ unsigned long find_last_bit(const unsigned long *addr,
tmp = addr[--words];
if (tmp) {
found:
- return words * BITS_PER_LONG + __fls(tmp);
+ return words * BITS_PER_LONG + sbi_fls(tmp);
}
}
@@ -150,7 +150,7 @@ found_first:
if (tmp == 0UL) /* Are any bits set? */
return result + size; /* Nope. */
found_middle:
- return result + __ffs(tmp);
+ return result + sbi_ffs(tmp);
}
/**
@@ -196,5 +196,5 @@ found_first:
if (tmp == ~0UL) /* Are any bits zero? */
return result + size; /* Nope. */
found_middle:
- return result + ffz(tmp);
+ return result + sbi_ffz(tmp);
}
diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c
index 0a65175..36908b1 100644
--- a/lib/sbi/sbi_hart.c
+++ b/lib/sbi/sbi_hart.c
@@ -386,7 +386,7 @@ static int hart_pmu_get_allowed_bits(void)
if (trap.cause)
return 0;
}
- num_bits = __fls(val) + 1;
+ num_bits = sbi_fls(val) + 1;
#if __riscv_xlen == 32
csr_write_allowed(CSR_MHPMCOUNTER3H, (ulong)&trap, val);
if (!trap.cause) {
@@ -394,7 +394,7 @@ static int hart_pmu_get_allowed_bits(void)
if (trap.cause)
return num_bits;
}
- num_bits += __fls(val) + 1;
+ num_bits += sbi_fls(val) + 1;
#endif
@@ -457,8 +457,8 @@ static void hart_detect_features(struct sbi_scratch *scratch)
*/
val = hart_pmp_get_allowed_addr();
if (val) {
- hfeatures->pmp_gran = 1 << (__ffs(val) + 2);
- hfeatures->pmp_addr_bits = __fls(val) + 1;
+ hfeatures->pmp_gran = 1 << (sbi_ffs(val) + 2);
+ hfeatures->pmp_addr_bits = sbi_fls(val) + 1;
/* Detect number of PMP regions. At least PMPADDR0 should be implemented*/
__check_csr_64(CSR_PMPADDR0, 0, val, pmp_count, __pmp_skip);
}
diff --git a/lib/sbi/sbi_pmu.c b/lib/sbi/sbi_pmu.c
index a209c8e..7ea0ca5 100644
--- a/lib/sbi/sbi_pmu.c
+++ b/lib/sbi/sbi_pmu.c
@@ -347,7 +347,7 @@ int sbi_pmu_ctr_start(unsigned long cbase, unsigned long cmask,
int ret = SBI_EINVAL;
bool bUpdate = FALSE;
- if (__fls(ctr_mask) >= total_ctrs)
+ if (sbi_fls(ctr_mask) >= total_ctrs)
return ret;
if (flags & SBI_PMU_START_FLAG_SET_INIT_VALUE)
@@ -421,7 +421,7 @@ int sbi_pmu_ctr_stop(unsigned long cbase, unsigned long cmask,
uint32_t event_code;
unsigned long ctr_mask = cmask << cbase;
- if (__fls(ctr_mask) >= total_ctrs)
+ if (sbi_fls(ctr_mask) >= total_ctrs)
return SBI_EINVAL;
for_each_set_bit_from(cbase, &ctr_mask, total_ctrs) {
@@ -614,7 +614,7 @@ int sbi_pmu_ctr_cfg_match(unsigned long cidx_base, unsigned long cidx_mask,
unsigned long tmp = cidx_mask << cidx_base;
/* Do a basic sanity check of counter base & mask */
- if (__fls(tmp) >= total_ctrs || event_type >= SBI_PMU_EVENT_TYPE_MAX)
+ if (sbi_fls(tmp) >= total_ctrs || event_type >= SBI_PMU_EVENT_TYPE_MAX)
return SBI_EINVAL;
if (flags & SBI_PMU_CFG_FLAG_SKIP_MATCH) {
diff --git a/lib/utils/timer/aclint_mtimer.c b/lib/utils/timer/aclint_mtimer.c
index 2532b63..a957b1c 100644
--- a/lib/utils/timer/aclint_mtimer.c
+++ b/lib/utils/timer/aclint_mtimer.c
@@ -154,7 +154,7 @@ static int aclint_mtimer_add_regions(unsigned long addr, unsigned long size)
while (pos < end) {
rsize = pos & (MTIMER_ADD_REGION_ALIGN - 1);
if (rsize)
- rsize = 1UL << __ffs(pos);
+ rsize = 1UL << sbi_ffs(pos);
else
rsize = ((end - pos) < MTIMER_ADD_REGION_ALIGN) ?
(end - pos) : MTIMER_ADD_REGION_ALIGN;