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

Randy Dunlap rdunlap at infradead.org
Fri Sep 1 17:47:15 PDT 2023


Hi,
Thanks for your help.

On 9/1/23 14:12, Lad, Prabhakar wrote:
> Hi Randy,
> 
> On Fri, Sep 1, 2023 at 9:27 PM Randy Dunlap <rdunlap at infradead.org> wrote:
>>
>> Hi,
>>
>> On 9/1/23 04:03, Prabhakar wrote:
>>> From: Lad Prabhakar <prabhakar.mahadev-lad.rj at bp.renesas.com>
>>>
>>> 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 at intel.com>
>>> Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
>>> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj at bp.renesas.com>
>>> ---
>>>  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.
>>
> 
> You need to apply patch [1] aswell.
> 
> [1] https://patchwork.kernel.org/project/linux-riscv/patch/20230901110936.313171-1-prabhakar.mahadev-lad.rj@bp.renesas.com/

I tested the failing builds that I had - after applying all 4 patches only,
not each patch separately.

If that is satisfactory, you can add
Tested-by: Randy Dunlap <rdunlap at infradead.org>

Thanks.
-- 
~Randy



More information about the linux-riscv mailing list