Re: [PATCH] riscv: Kconfig.errata: Add dependency for RISCV_SBI in ERRATA_ANDES config

From: Randy Dunlap
Date: Fri Sep 01 2023 - 16:27:38 EST


Hi,

On 9/1/23 04:03, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
>
> Andes errata uses sbi_ecalll() which is only available if RISCV_SBI is
> enabled. So add an dependency for RISCV_SBI in ERRATA_ANDES config to
> avoid any build failures.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@xxxxxxxxx/
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
> ---
> arch/riscv/Kconfig.errata | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/Kconfig.errata b/arch/riscv/Kconfig.errata
> index bee5d838763b..566bcefeab50 100644
> --- a/arch/riscv/Kconfig.errata
> +++ b/arch/riscv/Kconfig.errata
> @@ -2,7 +2,7 @@ menu "CPU errata selection"
>
> config ERRATA_ANDES
> bool "Andes AX45MP errata"
> - depends on RISCV_ALTERNATIVE
> + depends on RISCV_ALTERNATIVE && RISCV_SBI
> help
> All Andes errata Kconfig depend on this Kconfig. Disabling
> this Kconfig will disable all Andes errata. Please say "Y"


I'm still seeing build warnings/errors after applying all 3 RISC-V
Kconfig patches from today (2023 SEP 01).

WARNING: unmet direct dependencies detected for ERRATA_ANDES
Depends on [n]: RISCV_ALTERNATIVE [=y] && RISCV_SBI [=n]
Selected by [y]:
- ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y]

../arch/riscv/errata/andes/errata.c: In function 'ax45mp_iocp_sw_workaround':
../arch/riscv/errata/andes/errata.c:29:23: error: storage size of 'ret' isn't known
29 | struct sbiret ret;
| ^~~
../arch/riscv/errata/andes/errata.c:35:15: error: implicit declaration of function 'sbi_ecall' [-Werror=implicit-function-declaration]
35 | ret = sbi_ecall(ANDESTECH_SBI_EXT_ANDES, ANDES_SBI_EXT_IOCP_SW_WORKAROUND,
| ^~~~~~~~~
../arch/riscv/errata/andes/errata.c:29:23: warning: unused variable 'ret' [-Wunused-variable]
29 | struct sbiret ret;
| ^~~

ARCH_R9A07G043 in drivers/soc/renesas/Kconfig selects ERRATA_ANDES and
ERRATA_ANDES_CMO even though RISCV_SBI is not set/enabled.

--
~Randy