Thread (42 messages) 42 messages, 7 authors, 22d ago

Re: [PATCH net-next 07/10] net: phy: switch to using class_find_device_by_fwnode()

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2026-03-23 18:40:21
Also in: driver-core, linux-fpga, linux-leds, linux-phy, linux-spi, lkml

On Mon, Mar 23, 2026 at 11:33:36AM -0700, Dmitry Torokhov wrote:
On Mon, Mar 23, 2026 at 08:59:52AM +0000, Russell King (Oracle) wrote:
quoted
On Sun, Mar 22, 2026 at 10:17:15PM -0700, Dmitry Torokhov wrote:
quoted
On Mon, Mar 23, 2026 at 03:54:09AM +0100, Andrew Lunn wrote:
quoted
quoted
-	d = class_find_device_by_of_node(&mdio_bus_class, mdio_bus_np);
+	d = class_find_device_by_fwnode(&mdio_bus_class,
+					of_fwnode_handle(mdio_bus_np));
When you look at this, why is it better?
I think we should move as much as possible towards firmware-agnostic
APIs and use fwnode_handle instead of device_node or software_node or
ACPI companion. To discourage this I think we better remove
firmware-specific APIs where we have firmware-agnostic ones and
eventually clean up drivers that use OF- or ACPI-specific APIs.
Basically, no. This is wrong.

It may sound like a good goal, but there's an underlying issue. This
goal assumes that the firmware description in OF and ACPI are
indentical.
If they are different then drivers will make allowance for this, like
I2C core or SPI core does. But most of the modern drivers use
firmware-agnostic APIs (device_property_*()).
What is appropriate is up to the standards bodies responsible for
the firmware. ACPI has a separate body, and we can't just dump
the structure we use for networking into ACPI. So no, you can't
just switch to firmware-agnostic APIs for networking.

For infrastructure where we lookup stuff by some kind of firmware
node, I have no problem with converting that to fwnode APIs,
because that doesn't transfer the DT description into other
firmwares without prior agreement of the appropriate firmware
standards bodies.

This is not "foreign territory" - ACPI in general doesn't want to
describe e.g. the individual components of a network card, unlike
DT.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help