Thread (7 messages) flat view 7 messages, 3 authors, 2021-08-18

Re: [PATCH v1 2/2] of: property: fw_devlink: Add support for "phy-handle" property

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-08-14 15:23:08
Also in: linux-devicetree, lkml

Hi Saravana
Hi Andrew,
Also there
are so many phy related properties that my head is spinning. Is there a
"phy" property (which is different from "phys") that treated exactly as
"phy-handle"?
Sorry, i don't understand your question.
+	/*
+	 * Device tree nodes pointed to by phy-handle never have struct devices
+	 * created for them even if they have a "compatible" property. So
+	 * return the parent node pointer.
+	 */
We have a classic bus with devices on it. The bus master is registers
with linux using one of the mdiobus_register() calls. That then
enumerates the bus, looking at the 32 possible address on the bus,
using mdiobus_scan. It then gets a little complex, due to
history.

Originally, the only thing you could have on an MDIO bus was a
PHY. But devices on MDIO busses are more generic, and Linux gained
support for Ethernet switches on an MDIO bus, and there are a few
other sort device. So to keep the PHY API untouched, but to add these
extra devices, we added the generic struct mdio_device which
represents any sort of device on an MDIO bus. This has a struct device
embedded in it.

When we scan the bus and find a PHY, a struct phy_device is created,
which has an embedded struct mdio_device. The struct device in that is
then registered with the driver core.

So a phy-handle does point to a device, but you need to do an object
orientated style look at the base class to find it.

	   Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help