The use of firmware_loader is an implementation detail of drivers rather
than a dependency. FW_LOADER is typically selected rather than depended
on; the Rust abstractions should do the same thing.
Fixes: de6582833db0 ("rust: add firmware abstractions")
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
drivers/base/firmware_loader/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/base/firmware_loader/Kconfig b/drivers/base/firmware_loader/Kconfig
index 752b9a9bea03..0e6c1343409e 100644
--- a/drivers/base/firmware_loader/Kconfig
+++ b/drivers/base/firmware_loader/Kconfig
@@ -38,7 +38,7 @@ config FW_LOADER_DEBUG
config RUST_FW_LOADER_ABSTRACTIONS
bool "Rust Firmware Loader abstractions"
depends on RUST
- depends on FW_LOADER=y
+ select FW_LOADER=y
help
This enables the Rust abstractions for the firmware loader API.
--
2.51.2
On Wed Nov 5, 2025 at 5:03 PM JST, Alexandre Courbot wrote:
> The use of firmware_loader is an implementation detail of drivers rather
> than a dependency. FW_LOADER is typically selected rather than depended
> on; the Rust abstractions should do the same thing.
>
> Fixes: de6582833db0 ("rust: add firmware abstractions")
> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
> ---
> drivers/base/firmware_loader/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/base/firmware_loader/Kconfig b/drivers/base/firmware_loader/Kconfig
> index 752b9a9bea03..0e6c1343409e 100644
> --- a/drivers/base/firmware_loader/Kconfig
> +++ b/drivers/base/firmware_loader/Kconfig
> @@ -38,7 +38,7 @@ config FW_LOADER_DEBUG
> config RUST_FW_LOADER_ABSTRACTIONS
> bool "Rust Firmware Loader abstractions"
> depends on RUST
> - depends on FW_LOADER=y
> + select FW_LOADER=y
Oops this should be `select FW_LOADER` only... respinning.
Hi Alexandre,
kernel test robot noticed the following build errors:
[auto build test ERROR on 6553a8f168fb7941ae73d39eccac64f3a2b9b399]
url: https://github.com/intel-lab-lkp/linux/commits/Alexandre-Courbot/firmware_loader-make-RUST_FW_LOADER_ABSTRACTIONS-select-FW_LOADER/20251105-160437
base: 6553a8f168fb7941ae73d39eccac64f3a2b9b399
patch link: https://lore.kernel.org/r/20251105-b4-select-rust-fw-v2-1-156d9014ed3b%40nvidia.com
patch subject: [PATCH v2 1/3] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER
config: x86_64-kexec (attached as .config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251106/202511060527.knZk5HZP-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511060527.knZk5HZP-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/base/firmware_loader/Kconfig:41: syntax error
drivers/base/firmware_loader/Kconfig:41: invalid statement
drivers/base/firmware_loader/Kconfig:42: invalid statement
drivers/base/firmware_loader/Kconfig:43:warning: ignoring unsupported character '.'
drivers/base/firmware_loader/Kconfig:43: unknown statement "This"
make[3]: *** [scripts/kconfig/Makefile:85: oldconfig] Error 1
make[2]: *** [Makefile:742: oldconfig] Error 2
make[1]: *** [Makefile:248: __sub-make] Error 2
make[1]: Target 'oldconfig' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target 'oldconfig' not remade because of errors.
--
>> drivers/base/firmware_loader/Kconfig:41: syntax error
drivers/base/firmware_loader/Kconfig:41: invalid statement
drivers/base/firmware_loader/Kconfig:42: invalid statement
drivers/base/firmware_loader/Kconfig:43:warning: ignoring unsupported character '.'
drivers/base/firmware_loader/Kconfig:43: unknown statement "This"
make[3]: *** [scripts/kconfig/Makefile:85: olddefconfig] Error 1
make[2]: *** [Makefile:742: olddefconfig] Error 2
make[1]: *** [Makefile:248: __sub-make] Error 2
make[1]: Target 'olddefconfig' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target 'olddefconfig' not remade because of errors.
vim +41 drivers/base/firmware_loader/Kconfig
3
4 config FW_LOADER
5 tristate "Firmware loading facility" if EXPERT
6 select CRYPTO_LIB_SHA256 if FW_LOADER_DEBUG
7 default y
8 help
9 This enables the firmware loading facility in the kernel. The kernel
10 will first look for built-in firmware, if it has any. Next, it will
11 look for the requested firmware in a series of filesystem paths:
12
13 o firmware_class path module parameter or kernel boot param
14 o /lib/firmware/updates/UTS_RELEASE
15 o /lib/firmware/updates
16 o /lib/firmware/UTS_RELEASE
17 o /lib/firmware
18
19 Enabling this feature only increases your kernel image by about
20 828 bytes, enable this option unless you are certain you don't
21 need firmware.
22
23 You typically want this built-in (=y) but you can also enable this
24 as a module, in which case the firmware_class module will be built.
25 You also want to be sure to enable this built-in if you are going to
26 enable built-in firmware (CONFIG_EXTRA_FIRMWARE).
27
28 config FW_LOADER_DEBUG
29 bool "Log filenames and checksums for loaded firmware"
30 depends on DYNAMIC_DEBUG
31 depends on FW_LOADER
32 default FW_LOADER
33 help
34 Select this option to use dynamic debug to log firmware filenames and
35 SHA256 checksums to the kernel log for each firmware file that is
36 loaded.
37
38 config RUST_FW_LOADER_ABSTRACTIONS
39 bool "Rust Firmware Loader abstractions"
40 depends on RUST
> 41 select FW_LOADER=y
42 help
43 This enables the Rust abstractions for the firmware loader API.
44
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
© 2016 - 2026 Red Hat, Inc.