From: Florian Fainelli <f.fainelli@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>,
Bogdan Purcareata <bogdan.purcareata@nxp.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] net: phy: Update get_phy_c45_ids for Cortina PHYs
Date: Tue, 23 May 2017 11:12:01 -0700 [thread overview]
Message-ID: <8768d0f5-6226-b3e0-b741-f742ff5ffee3@gmail.com> (raw)
In-Reply-To: <20170523165554.GB24029@lunn.ch>
On 05/23/2017 09:55 AM, Andrew Lunn wrote:
>> The patches mentioned in the commit message add _some_ support for
>> the Cortina PHYs - mainly checking for devices at additional
>> locations. Once they are found, the phy IDs must be read from custom
>> locations.
>
> As a general principle, we don't add hacks in generic code to handle
> broken devices. We add generic mechanisms to work around the
> brokenness.
>
> In this case, by using ethernet-phy-id in the device tree, we are
> saying, this PHYs probing is totally borked, but we know it is there,
> at this address. Just load the driver.
>
> Please try to make ethernet-phy-id work.
What Andrew is suggesting is to leverage the code in
drivers/of/of_mdio.c which does the following:
is_c45 = of_device_is_compatible(child,
"ethernet-phy-ieee802.3-c45");
if (!is_c45 && !of_get_phy_id(child, &phy_id))
phy = phy_device_create(mdio, addr, phy_id, 0, NULL);
else
phy = get_phy_device(mdio, addr, is_c45);
if (IS_ERR(phy))
return;
If you know the PHY ID, and you did put it in the PHY node's compatible
string (in the format that of_get_phy_id() expects it to, and you also
did not add "ethernet-phy-ieee802.3-c45") then the PHY library will
directly create the PHY device, with the designated ID, at the specific
address.
While this works for clause 22 PHYs, I don't know if it also does for
clause 45 PHYs, but as Andrew is suggesting, I would be more inclined
into making this scheme work for all types (22 or 45) PHYs, rather than
hacking the core code that tries to identify devices in packages.
Can you give it a spin?
--
Florian
next prev parent reply other threads:[~2017-05-23 18:12 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-23 15:53 [PATCH 0/2] net: phy: Support managed Cortina phys Bogdan Purcareata
2017-05-23 15:53 ` [PATCH 1/2] net: phy: Update get_phy_c45_ids for Cortina PHYs Bogdan Purcareata
2017-05-23 16:03 ` Andrew Lunn
2017-05-23 16:32 ` Bogdan Purcareata
2017-05-23 16:55 ` Andrew Lunn
2017-05-23 18:12 ` Florian Fainelli [this message]
2017-05-24 6:05 ` Bogdan Purcareata
2017-05-23 15:53 ` [PATCH 2/2] drivers: phy: Add Cortina CS4340 driver Bogdan Purcareata
2017-05-23 15:57 ` Andrew Lunn
2017-05-23 16:32 ` Bogdan Purcareata
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8768d0f5-6226-b3e0-b741-f742ff5ffee3@gmail.com \
--to=f.fainelli@gmail.com \
--cc=andrew@lunn.ch \
--cc=bogdan.purcareata@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®