rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER
@ 2025-11-06  2:40 Alexandre Courbot
  2025-11-06  2:40 ` [PATCH v3 1/3] " Alexandre Courbot
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Alexandre Courbot @ 2025-11-06  2:40 UTC (permalink / raw)
  To: Luis Chamberlain, Russ Weight, Danilo Krummrich,
	Greg Kroah-Hartman, Rafael J. Wysocki, Alice Ryhl, David Airlie,
	Simona Vetter, Andrew Lunn, Heiner Kallweit, Russell King,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
	Björn Roy Baron, Benno Lossin, Andreas Hindborg,
	Trevor Gross, FUJITA Tomonori
  Cc: linux-kernel, nouveau, dri-devel, netdev, rust-for-linux,
	Alexandre Courbot

I have noticed that build fails when doing the following:

- Start with the x86 defconfig,
- Using nconfig, enable `RUST` and `DRM_NOVA`,
- Start building.

The problem is that `RUST_FW_LOADER_ABSTRACTIONS` remains unselected,
despite it being a dependency of `NOVA_CORE`. This seems to happen
because `DRM_NOVA` selects `NOVA_CORE`.

Fix this by making `RUST_FW_LOADER_ABSTRACTIONS` select `FW_LOADER`, and
by transition make all users of `RUST_FW_LOADER_ABSTRACTIONS` (so far,
nova-core and net/phy) select it as well.

`FW_LOADER` is more often selected than depended on, so this seems to
make sense generally speaking.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
Changes in v3:
- Remove `=y` in select statement of RUST_FW_LOADER_ABSTRACTIONS.
- Link to v2: https://lore.kernel.org/r/20251105-b4-select-rust-fw-v2-0-156d9014ed3b@nvidia.com

Changes in v2:
- Split into 3 patches.
- Link to v1: https://lore.kernel.org/r/20251104-b4-select-rust-fw-v1-1-afea175dba22@nvidia.com

---
Alexandre Courbot (3):
      firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER
      gpu: nova-core: select RUST_FW_LOADER_ABSTRACTIONS
      net: phy: select RUST_FW_LOADER_ABSTRACTIONS

 drivers/base/firmware_loader/Kconfig | 2 +-
 drivers/gpu/nova-core/Kconfig        | 2 +-
 drivers/net/phy/Kconfig              | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
---
base-commit: ade19c5060dfa39b84a9475a4a6b05e2a8a2b3ac
change-id: 20251104-b4-select-rust-fw-aeb1e46bcee9

Best regards,
-- 
Alexandre Courbot <acourbot@nvidia.com>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v3 1/3] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER
  2025-11-06  2:40 [PATCH v3 0/3] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER Alexandre Courbot
@ 2025-11-06  2:40 ` Alexandre Courbot
  2025-11-06  2:40 ` [PATCH v3 2/3] gpu: nova-core: select RUST_FW_LOADER_ABSTRACTIONS Alexandre Courbot
  2025-11-06  2:40 ` [PATCH v3 3/3] net: phy: " Alexandre Courbot
  2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Courbot @ 2025-11-06  2:40 UTC (permalink / raw)
  To: Luis Chamberlain, Russ Weight, Danilo Krummrich,
	Greg Kroah-Hartman, Rafael J. Wysocki, Alice Ryhl, David Airlie,
	Simona Vetter, Andrew Lunn, Heiner Kallweit, Russell King,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
	Björn Roy Baron, Benno Lossin, Andreas Hindborg,
	Trevor Gross, FUJITA Tomonori
  Cc: linux-kernel, nouveau, dri-devel, netdev, rust-for-linux,
	Alexandre Courbot

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..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
 	help
 	  This enables the Rust abstractions for the firmware loader API.
 

-- 
2.51.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v3 2/3] gpu: nova-core: select RUST_FW_LOADER_ABSTRACTIONS
  2025-11-06  2:40 [PATCH v3 0/3] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER Alexandre Courbot
  2025-11-06  2:40 ` [PATCH v3 1/3] " Alexandre Courbot
@ 2025-11-06  2:40 ` Alexandre Courbot
  2025-11-06  2:40 ` [PATCH v3 3/3] net: phy: " Alexandre Courbot
  2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Courbot @ 2025-11-06  2:40 UTC (permalink / raw)
  To: Luis Chamberlain, Russ Weight, Danilo Krummrich,
	Greg Kroah-Hartman, Rafael J. Wysocki, Alice Ryhl, David Airlie,
	Simona Vetter, Andrew Lunn, Heiner Kallweit, Russell King,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
	Björn Roy Baron, Benno Lossin, Andreas Hindborg,
	Trevor Gross, FUJITA Tomonori
  Cc: linux-kernel, nouveau, dri-devel, netdev, rust-for-linux,
	Alexandre Courbot

RUST_FW_LOADER_ABSTRACTIONS was depended on by NOVA_CORE, but NOVA_CORE
is selected by DRM_NOVA. This creates a situation where, if DRM_NOVA is
selected, NOVA_CORE gets enabled but not RUST_FW_LOADER_ABSTRACTIONS,
which results in a build error.

Since the firmware loader is an implementation detail of the driver, it
should be enabled along with it, so change the "depends on" to a
"select".

Fixes: 54e6baf123fd ("gpu: nova-core: add initial driver stub")
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
 drivers/gpu/nova-core/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/nova-core/Kconfig b/drivers/gpu/nova-core/Kconfig
index 20d3e6d0d796..527920f9c4d3 100644
--- a/drivers/gpu/nova-core/Kconfig
+++ b/drivers/gpu/nova-core/Kconfig
@@ -3,7 +3,7 @@ config NOVA_CORE
 	depends on 64BIT
 	depends on PCI
 	depends on RUST
-	depends on RUST_FW_LOADER_ABSTRACTIONS
+	select RUST_FW_LOADER_ABSTRACTIONS
 	select AUXILIARY_BUS
 	default n
 	help

-- 
2.51.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v3 3/3] net: phy: select RUST_FW_LOADER_ABSTRACTIONS
  2025-11-06  2:40 [PATCH v3 0/3] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER Alexandre Courbot
  2025-11-06  2:40 ` [PATCH v3 1/3] " Alexandre Courbot
  2025-11-06  2:40 ` [PATCH v3 2/3] gpu: nova-core: select RUST_FW_LOADER_ABSTRACTIONS Alexandre Courbot
@ 2025-11-06  2:40 ` Alexandre Courbot
  2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Courbot @ 2025-11-06  2:40 UTC (permalink / raw)
  To: Luis Chamberlain, Russ Weight, Danilo Krummrich,
	Greg Kroah-Hartman, Rafael J. Wysocki, Alice Ryhl, David Airlie,
	Simona Vetter, Andrew Lunn, Heiner Kallweit, Russell King,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
	Björn Roy Baron, Benno Lossin, Andreas Hindborg,
	Trevor Gross, FUJITA Tomonori
  Cc: linux-kernel, nouveau, dri-devel, netdev, rust-for-linux,
	Alexandre Courbot

The use of firmware_loader is an implementations detail of the driver,
so it should be enabled along with it. The non-Rust option FW_LOADER is
typically selected rather than depended on, let's make the Rust
abstraction behave the same.

Fixes: fd3eaad826da ("net: phy: add Applied Micro QT2025 PHY driver")
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
 drivers/net/phy/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 98700d069191..d4987fc6b26c 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -132,7 +132,7 @@ config ADIN1100_PHY
 config AMCC_QT2025_PHY
 	tristate "AMCC QT2025 PHY"
 	depends on RUST_PHYLIB_ABSTRACTIONS
-	depends on RUST_FW_LOADER_ABSTRACTIONS
+	select RUST_FW_LOADER_ABSTRACTIONS
 	help
 	  Adds support for the Applied Micro Circuits Corporation QT2025 PHY.
 

-- 
2.51.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-11-06  2:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-06  2:40 [PATCH v3 0/3] firmware_loader: make RUST_FW_LOADER_ABSTRACTIONS select FW_LOADER Alexandre Courbot
2025-11-06  2:40 ` [PATCH v3 1/3] " Alexandre Courbot
2025-11-06  2:40 ` [PATCH v3 2/3] gpu: nova-core: select RUST_FW_LOADER_ABSTRACTIONS Alexandre Courbot
2025-11-06  2:40 ` [PATCH v3 3/3] net: phy: " Alexandre Courbot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).