Message ID | 20220409225317.14332-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RISC-V: cpuidle: fix Kconfig select for RISCV_SBI_CPUIDLE | expand |
On Sun, Apr 10, 2022 at 4:23 AM Randy Dunlap <rdunlap@infradead.org> wrote: > > There can be lots of build errors when building cpuidle-riscv-sbi.o. > They are all caused by a kconfig problem with this warning: > > WARNING: unmet direct dependencies detected for RISCV_SBI_CPUIDLE > Depends on [n]: CPU_IDLE [=y] && RISCV [=y] && RISCV_SBI [=n] > Selected by [y]: > - SOC_VIRT [=y] && CPU_IDLE [=y] > > so make the 'select' of RISCV_SBI_CPUIDLE also depend on RISCV_SBI. > > Fixes: c5179ef1ca0c ("RISC-V: Enable RISC-V SBI CPU Idle driver for QEMU virt machine") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: kernel test robot <lkp@intel.com> > Cc: Anup Patel <anup.patel@wdc.com> > Cc: Anup Patel <apatel@ventanamicro.com> > Cc: Anup Patel <anup@brainfault.org> > Cc: Palmer Dabbelt <palmer@rivosinc.com> > Cc: linux-pm@vger.kernel.org > Cc: linux-riscv@lists.infradead.org > Cc: Paul Walmsley <paul.walmsley@sifive.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Cc: Albert Ou <aou@eecs.berkeley.edu> Looks good to me. Reviewed-by: Anup Patel <anup@brainfault.org> Regards, Anup > --- > arch/riscv/Kconfig.socs | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/arch/riscv/Kconfig.socs > +++ b/arch/riscv/Kconfig.socs > @@ -38,7 +38,7 @@ config SOC_VIRT > select SIFIVE_PLIC > select PM_GENERIC_DOMAINS if PM > select PM_GENERIC_DOMAINS_OF if PM && OF > - select RISCV_SBI_CPUIDLE if CPU_IDLE > + select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI > help > This enables support for QEMU Virt Machine. >
On Sat, 09 Apr 2022 15:53:17 PDT (-0700), rdunlap@infradead.org wrote: > There can be lots of build errors when building cpuidle-riscv-sbi.o. > They are all caused by a kconfig problem with this warning: > > WARNING: unmet direct dependencies detected for RISCV_SBI_CPUIDLE > Depends on [n]: CPU_IDLE [=y] && RISCV [=y] && RISCV_SBI [=n] > Selected by [y]: > - SOC_VIRT [=y] && CPU_IDLE [=y] > > so make the 'select' of RISCV_SBI_CPUIDLE also depend on RISCV_SBI. > > Fixes: c5179ef1ca0c ("RISC-V: Enable RISC-V SBI CPU Idle driver for QEMU virt machine") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: kernel test robot <lkp@intel.com> > Cc: Anup Patel <anup.patel@wdc.com> > Cc: Anup Patel <apatel@ventanamicro.com> > Cc: Anup Patel <anup@brainfault.org> > Cc: Palmer Dabbelt <palmer@rivosinc.com> > Cc: linux-pm@vger.kernel.org > Cc: linux-riscv@lists.infradead.org > Cc: Paul Walmsley <paul.walmsley@sifive.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Cc: Albert Ou <aou@eecs.berkeley.edu> > --- > arch/riscv/Kconfig.socs | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/arch/riscv/Kconfig.socs > +++ b/arch/riscv/Kconfig.socs > @@ -38,7 +38,7 @@ config SOC_VIRT > select SIFIVE_PLIC > select PM_GENERIC_DOMAINS if PM > select PM_GENERIC_DOMAINS_OF if PM && OF > - select RISCV_SBI_CPUIDLE if CPU_IDLE > + select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI > help > This enables support for QEMU Virt Machine. Sorry to be slow here, I seem to remember having written this before but I must have just gotted pulled into something else. IMO the real bug here is that Kconfig.socs is poorly designed: I misunderstood how select works at the time, we should really clean all this up (or maybe just remove it entirely?) so we don't have to duplicate all these dependencies. That's a bigger project, though so this is on fixes -- it's way better to have the build work. Thanks!
--- a/arch/riscv/Kconfig.socs +++ b/arch/riscv/Kconfig.socs @@ -38,7 +38,7 @@ config SOC_VIRT select SIFIVE_PLIC select PM_GENERIC_DOMAINS if PM select PM_GENERIC_DOMAINS_OF if PM && OF - select RISCV_SBI_CPUIDLE if CPU_IDLE + select RISCV_SBI_CPUIDLE if CPU_IDLE && RISCV_SBI help This enables support for QEMU Virt Machine.
There can be lots of build errors when building cpuidle-riscv-sbi.o. They are all caused by a kconfig problem with this warning: WARNING: unmet direct dependencies detected for RISCV_SBI_CPUIDLE Depends on [n]: CPU_IDLE [=y] && RISCV [=y] && RISCV_SBI [=n] Selected by [y]: - SOC_VIRT [=y] && CPU_IDLE [=y] so make the 'select' of RISCV_SBI_CPUIDLE also depend on RISCV_SBI. Fixes: c5179ef1ca0c ("RISC-V: Enable RISC-V SBI CPU Idle driver for QEMU virt machine") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: kernel test robot <lkp@intel.com> Cc: Anup Patel <anup.patel@wdc.com> Cc: Anup Patel <apatel@ventanamicro.com> Cc: Anup Patel <anup@brainfault.org> Cc: Palmer Dabbelt <palmer@rivosinc.com> Cc: linux-pm@vger.kernel.org Cc: linux-riscv@lists.infradead.org Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Albert Ou <aou@eecs.berkeley.edu> --- arch/riscv/Kconfig.socs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)