From: Christian Marangi <ansuelsmth@gmail.com>
To: Antoine Tenart <atenart@kernel.org>
Cc: Andrew Lunn <andrew@lunn.ch>,
Bjorn Andersson <andersson@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Frank Rowand <frowand.list@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Jakub Kicinski <kuba@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Paolo Abeni <pabeni@redhat.com>, Rob Herring <robh+dt@kernel.org>,
Robert Marko <robert.marko@sartura.hr>,
Russell King <linux@armlinux.org.uk>,
devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [net-next PATCH v5 2/9] net: phy: add support for scanning PHY in PHY packages nodes
Date: Thu, 1 Feb 2024 18:20:10 +0100 [thread overview]
Message-ID: <65bbd2ce.050a0220.5ff09.69d5@mx.google.com> (raw)
In-Reply-To: <170680473689.4979.1991415008659281513@kwain>
On Thu, Feb 01, 2024 at 05:25:36PM +0100, Antoine Tenart wrote:
> Quoting Christian Marangi (2024-02-01 16:17:28)
> >
> > +static int __of_mdiobus_parse_phys(struct mii_bus *mdio, struct device_node *np,
> > + int base_addr, bool *scanphys)
> > +{
> > + struct device_node *child;
> > + int addr, rc = 0;
> > +
> > + /* Loop over the child nodes and register a phy_device for each phy */
> > + for_each_available_child_of_node(np, child) {
> > + if (of_node_name_eq(child, "ethernet-phy-package")) {
> > + rc = of_property_read_u32(child, "reg", &addr);
> > + if (rc)
> > + goto exit;
>
> This means a PHY package node w/o a reg property will prevent all other
> PHYs in the same parent node to be found?
>
Since this is something new, would it be a problem to make it mandatory
to define a reg? (And return error if we find something? Or print a
warn?)
> > +
> > + rc = __of_mdiobus_parse_phys(mdio, child, addr, scanphys);
>
> You might want to save passing scanphys down, PHYs w/o a reg property in
> a PHY package won't be "auto scanned" later.
>
I might be confused by this, but isn't this already done? (passing
scanphys in each recursive call so we can set it to true if needed?)
Also I think the scanphys should be skipped for the PHY package
(assuming we make reg mandatory, it would be an error condition and
should not be handled?)
> > diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
> > index afbad1ad8683..7737d0101d7b 100644
> > --- a/drivers/net/phy/mdio_bus.c
> > +++ b/drivers/net/phy/mdio_bus.c
> > @@ -459,20 +459,33 @@ EXPORT_SYMBOL(of_mdio_find_bus);
> > * found, set the of_node pointer for the mdio device. This allows
> > * auto-probed phy devices to be supplied with information passed in
> > * via DT.
> > + * If a PHY package is found, PHY is searched also there.
> > */
> > -static void of_mdiobus_link_mdiodev(struct mii_bus *bus,
> > - struct mdio_device *mdiodev)
> > +static int of_mdiobus_find_phy(struct device *dev, struct mdio_device *mdiodev,
> > + struct device_node *np, int base_addr)
> > {
> > - struct device *dev = &mdiodev->dev;
> > struct device_node *child;
> >
> > - if (dev->of_node || !bus->dev.of_node)
> > - return;
> > + for_each_available_child_of_node(np, child) {
> > + int addr, ret;
> >
> > - for_each_available_child_of_node(bus->dev.of_node, child) {
> > - int addr;
> > + if (of_node_name_eq(child, "ethernet-phy-package")) {
> > + ret = of_property_read_u32(child, "reg", &addr);
> > + if (ret)
> > + return ret;
>
> of_node_put
--
Ansuel
next prev parent reply other threads:[~2024-02-01 17:20 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-01 15:17 [net-next PATCH v5 0/9] net: phy: Introduce PHY Package concept Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 1/9] dt-bindings: net: document ethernet PHY package nodes Christian Marangi
2024-02-02 20:52 ` Rob Herring
2024-02-02 20:58 ` Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 2/9] net: phy: add support for scanning PHY in PHY packages nodes Christian Marangi
2024-02-01 16:25 ` Antoine Tenart
2024-02-01 17:20 ` Christian Marangi [this message]
2024-02-02 1:02 ` Andrew Lunn
2024-02-02 10:05 ` Antoine Tenart
2024-02-01 15:17 ` [net-next PATCH v5 3/9] net: phy: add devm/of_phy_package_join helper Christian Marangi
2024-02-01 16:40 ` Antoine Tenart
2024-02-01 16:48 ` Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 4/9] net: phy: qcom: move more function to shared library Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 5/9] dt-bindings: net: add QCA807x PHY defines Christian Marangi
2024-02-02 7:41 ` Krzysztof Kozlowski
2024-02-02 15:19 ` Christian Marangi
2024-02-02 16:58 ` Conor Dooley
2024-02-02 17:03 ` Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 6/9] dt-bindings: net: Document Qcom QCA807x PHY package Christian Marangi
2024-02-02 1:16 ` Andrew Lunn
2024-02-02 7:45 ` Krzysztof Kozlowski
2024-02-02 15:12 ` Christian Marangi
2024-02-02 20:39 ` Rob Herring
2024-02-02 20:47 ` Christian Marangi
2024-02-02 20:45 ` Rob Herring
2024-02-02 21:50 ` Andrew Lunn
2024-02-01 15:17 ` [net-next PATCH v5 7/9] net: phy: qcom: add support for QCA807x PHY Family Christian Marangi
2024-02-02 1:35 ` Andrew Lunn
2024-02-02 17:44 ` Christian Marangi
2024-02-03 16:25 ` Andrew Lunn
2024-02-03 16:28 ` Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 8/9] net: phy: qcom: generalize some qca808x LED functions Christian Marangi
2024-02-02 1:38 ` Andrew Lunn
2024-02-01 15:17 ` [net-next PATCH v5 9/9] net: phy: qca807x: add support for configurable LED Christian Marangi
2024-02-02 1:43 ` Andrew Lunn
2024-02-02 16:40 ` Christian Marangi
2024-02-02 17:04 ` Russell King (Oracle)
2024-02-02 17:07 ` Christian Marangi
2024-02-02 17:08 ` Andrew Lunn
2024-02-02 17:13 ` Christian Marangi
2024-02-02 17:30 ` Russell King (Oracle)
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=65bbd2ce.050a0220.5ff09.69d5@mx.google.com \
--to=ansuelsmth@gmail.com \
--cc=andersson@kernel.org \
--cc=andrew@lunn.ch \
--cc=atenart@kernel.org \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=frowand.list@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robert.marko@sartura.hr \
--cc=robh+dt@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.