Subject: Re: [RFC PATCH net-next 12/24] of: phy: Only register a phy device for phys

From: Andrew Lunn <[email-masked]>
Date: Mon, 4 Jan 2016 22:04:51 +0100

On Mon, Jan 04, 2016 at 12:01:04PM -0800, Florian Fainelli wrote:
> On 04/01/16 09:36, Andrew Lunn wrote:
> > We will soon support devices other than phys on the mdio bus. Look at
> > a child's compatibility string to determine if it is a phy, before
> > registering a phy device.
> > 
> > Signed-off-by: Andrew Lunn <[email-masked]>
> > ---
> 
> [snip]
> 
> > +	if (of_get_phy_id(child, &phy_id) != -EINVAL)
> > +		return true;
> > +
> > +	if (of_device_is_compatible(child, "ethernet-phy-ieee802.3-c45"))
> > +		return true;
> 
> Is there a particular reason not to check for
> "ethernet-phy-ieee802.3-c22 here?

Humm interesting. Didn't even know it was a valid compatible string.
Also, Linux does not know it is a valid compatible string:

~/linux$ grep -r "ethernet-phy-ieee802.3-c22" ./drivers
~/linux$

It is however used in a number of DT files and is documented in
Documentation/devicetree/bindings/net/phy.txt.

I will add it here as well.
 
> > +
> > +	if (!of_find_property(child, "compatible", NULL))
> > +		return true;
> 
> That seems reasonable, we should probably make the compatible string for
> PHY Device Tree nodes not an optional property anymore though, but
> that's for a separate change and topic.

Yes, printing a warning here would be good.

     Andrew