[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f297cb3c07554ef55d3040329978f8d4@walle.cc>
Date: Tue, 21 Apr 2020 17:20:22 +0200
From: Michael Walle <michael@...le.cc>
To: Andrew Lunn <andrew@...n.ch>
Cc: Russell King - ARM Linux admin <linux@...linux.org.uk>,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Vladimir Oltean <vladimir.oltean@....com>
Subject: Re: [RFC PATCH net-next 1/3] net: phy: add concept of shared storage
for PHYs
Am 2020-04-21 16:52, schrieb Andrew Lunn:
> On Tue, Apr 21, 2020 at 03:43:02PM +0100, Russell King - ARM Linux
> admin wrote:
>> On Tue, Apr 21, 2020 at 04:34:55PM +0200, Andrew Lunn wrote:
>> > > +static inline bool phy_package_init_once(struct phy_device *phydev)
>> > > +{
>> > > + struct phy_package_shared *shared = phydev->shared;
>> > > +
>> > > + if (!shared)
>> > > + return false;
>> > > +
>> > > + return !test_and_set_bit(PHY_SHARED_F_INIT_DONE, &shared->flags);
>> > > +}
>> >
>> > I need to look at how you actually use this, but i wonder if this is
>> > sufficient. Can two PHYs probe at the same time? Could we have one PHY
>> > be busy setting up the global init, and the other thinks the global
>> > setup is complete?
So with Russells answer below, this should be clarified and the
test_and_set_bit() is enough correct?
>> > Do we want a comment like: 'Returns true when the
>> > global package initialization is either under way or complete'?
I've forgot the whole annotation here.
>> IIRC, probe locking in the driver model is by per-driver locks, so
>> any particular driver won't probe more than one device at a time.
-michael
Powered by blists - more mailing lists