Re: [PATCH net-next] of: of_mdio: Check if MDIO bus controller is available
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2016-04-28 23:14:46
Also in:
linux-devicetree, lkml
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2016-04-28 23:14:46
Also in:
linux-devicetree, lkml
On 28/04/16 15:12, Andrew Lunn wrote:
On Thu, Apr 28, 2016 at 02:55:10PM -0700, Florian Fainelli wrote:quoted
Add a check whether the 'struct device_node' pointer passed to of_mdiobus_register() is an available (aka enabled) node in the Device Tree. Rationale for doing this are cases where an Ethernet MAC provides a MDIO bus controller and node, and an additional Ethernet MAC might be connecting its PHY/switches to that first MDIO bus controller, while still embedding one internally which is therefore marked as "disabled". Instead of sprinkling checks like these in callers of of_mdiobus_register(), do this in a central location.I think this discussion has shown there is no documented best practices for MDIO bus drivers and how PHYs nodes are placed within device tree. Maybe you could document the generic MDIO binding, both as integrated into a MAC device node, and as a separate device?
Fair enough, I will submit something after re-spining this patch to use -ENODEV, which I agree is a better return code. Did you want me to remove that blurb from the commit message? -- Florian