linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: Andrew Lunn <andrew@lunn.ch>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Florian Fainelli <f.fainelli@gmail.com>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	"David S . Miller" <davem@davemloft.net>,
	Vladimir Oltean <vladimir.oltean@nxp.com>
Subject: Re: [RFC PATCH net-next 1/3] net: phy: add concept of shared storage for PHYs
Date: Tue, 21 Apr 2020 21:08:40 +0200	[thread overview]
Message-ID: <47bdeaf298a09f20ad6631db13df37d2@walle.cc> (raw)
In-Reply-To: <20200421155031.GE933345@lunn.ch>

Am 2020-04-21 17:50, schrieb Andrew Lunn:
> On Tue, Apr 21, 2020 at 05:25:19PM +0200, Michael Walle wrote:
>> Am 2020-04-21 01:26, schrieb Michael Walle:
>> > +
>> > +/* Represents a shared structure between different phydev's in the same
>> > + * package, for example a quad PHY. See phy_package_join() and
>> > + * phy_package_leave().
>> > + */
>> > +struct phy_package_shared {
>> > +	int addr;
>> > +	refcount_t refcnt;
>> > +	unsigned long flags;
>> > +
>> > +	/* private data pointer */
>> > +	/* note that this pointer is shared between different phydevs and
>> > +	 * the user has to take care of appropriate locking.
>> > +	 */
>> > +	void *priv;
>> 
>> btw. how should a driver actually use this? I mean, it can allocate
>> memory if its still NULL but when will it be freed again. Do we need
>> a callback? Is there something better than a callback?
> 
> Good point. phy_package_join() should take a size_t and do the
> allocation. phy_package_leave() would then free it.
> 
> But since we don't have a user at the moment, maybe leave it out.

Speaking of it. Does anyone have an idea how I could create the hwmon
device without the PHY device? At the moment it is attached to the
first PHY device and is removed when the PHY is removed, although
there might be still other PHYs in this package. Its unlikely to
happen though, but if someone has a good idea how to handle that,
I'd give it a try.

-michael

  reply	other threads:[~2020-04-21 19:08 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-20 23:26 [RFC PATCH net-next 1/3] net: phy: add concept of shared storage for PHYs Michael Walle
2020-04-20 23:26 ` [RFC PATCH net-next 2/3] net: phy: bcm54140: use phy_package_shared Michael Walle
2020-04-20 23:26 ` [RFC PATCH net-next 3/3] net: phy: mscc: " Michael Walle
2020-04-23 12:27   ` Vladimir Oltean
2020-04-21 14:34 ` [RFC PATCH net-next 1/3] net: phy: add concept of shared storage for PHYs Andrew Lunn
2020-04-21 14:43   ` Russell King - ARM Linux admin
2020-04-21 14:52     ` Andrew Lunn
2020-04-21 15:20       ` Michael Walle
2020-04-21 15:25 ` Michael Walle
2020-04-21 15:50   ` Andrew Lunn
2020-04-21 19:08     ` Michael Walle [this message]
2020-04-21 19:30       ` Andrew Lunn
2020-04-21 19:38         ` Russell King - ARM Linux admin
2020-04-21 21:19         ` Michael Walle

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=47bdeaf298a09f20ad6631db13df37d2@walle.cc \
    --to=michael@walle.cc \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=vladimir.oltean@nxp.com \
    /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;
as well as URLs for NNTP newsgroup(s).