All of lore.kernel.org
 help / color / mirror / Atom feed
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 3/9] net: phy: add devm/of_phy_package_join helper
Date: Thu, 1 Feb 2024 17:48:26 +0100	[thread overview]
Message-ID: <65bbcb5e.050a0220.52fda.0654@mx.google.com> (raw)
In-Reply-To: <170680562826.4979.15332968112575820833@kwain>

On Thu, Feb 01, 2024 at 05:40:28PM +0100, Antoine Tenart wrote:
> Quoting Christian Marangi (2024-02-01 16:17:29)
> > +/**
> > + * of_phy_package_join - join a common PHY group in PHY package
> > + * @phydev: target phy_device struct
> > + * @priv_size: if non-zero allocate this amount of bytes for private data
> > + *
> > + * This is a variant of phy_package_join for PHY package defined in DT.
> > + *
> > + * The parent node of the @phydev is checked as a valid PHY package node
> > + * structure (by matching the node name "ethernet-phy-package") and the
> > + * base_addr for the PHY package is passed to phy_package_join.
> > + *
> > + * With this configuration the shared struct will also have the np value
> > + * filled to use additional DT defined properties in PHY specific
> > + * probe_once and config_init_once PHY package OPs.
> > + *
> > + * Returns < 1 on error, 0 on success. Esp. calling phy_package_join()
> 
> So, < 0 on error ?
> 
> > +int of_phy_package_join(struct phy_device *phydev, size_t priv_size)
> > +{
> > +       struct device_node *node = phydev->mdio.dev.of_node;
> > +       struct device_node *package_node;
> > +       u32 base_addr;
> > +       int ret;
> > +
> > +       if (!node)
> > +               return -EINVAL;
> > +
> > +       package_node = of_get_parent(node);
> 
> Is the node put on package leave?
>

Didn't read the get_parent was incrementing the refcount... Will update
the leave accordingly!

> > +       if (!package_node)
> > +               return -EINVAL;
> > +
> > +       if (!of_node_name_eq(package_node, "ethernet-phy-package")
> 
> of_put_node? + below.
> 
> > +               return -EINVAL;
> > +
> > +       if (of_property_read_u32(package_node, "reg", &base_addr))
> > +               return -EINVAL;
> > +
> > +       ret = phy_package_join(phydev, base_addr, priv_size);
> > +       if (ret)
> > +               return ret;
> > +
> > +       phydev->shared->np = package_node;
> 
> Just looked quickly, looks like ->np is uninitialized in the !of join
> case.
> 

Correct, I will update the non of variant to inizialize ->np to NULL.
(in theory we alloc every struct as zero so it should not be a problem
but you are right with being safe on this.)

Thanks!

> > +
> > +       return 0;
> > +}
> > +EXPORT_SYMBOL_GPL(of_phy_package_join);

-- 
	Ansuel

  reply	other threads:[~2024-02-01 16:48 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
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 [this message]
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=65bbcb5e.050a0220.52fda.0654@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.