Re: [PATCH] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER

Danilo Krummrich
2025-11-04T14:48:17Z

On Tue Nov 4, 2025 at 3:35 PM CET, Greg Kroah-Hartman wrote:
> On Tue, Nov 04, 2025 at 11:04:49PM +0900, Alexandre Courbot wrote:
>> diff --git a/drivers/base/firmware_loader/Kconfig b/drivers/base/firmware_loader/Kconfig
>> index 752b9a9bea03..15eff8a4b505 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
>
> Please no, select should almost never be used, it causes hard-to-debug
> issues.

I agree that select can be very annoying at times, but in this case it seems to
be the correct thing to do?

For instance for something like:

config MY_DRIVER
depends on PCI
depends on DRM
select AUXILIARY_BUS
select FW_LOADER

In this case MY_DRIVER is only available if PCI and DRM is enabled, which makes
sense, there is no reason to show users PCI and DRM drivers if both are
disabled.

However, for things like AUXILIARY_BUS and FW_LOADER, I'd argue that they are
implementation details of the driver and should be selected if the driver is
selected.

Otherwise, wouldn't we expect users to know implementation details of drivers
before being able to select them?