[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4f3ff33f78472f547212f87f75a37b66@walle.cc>
Date: Sun, 19 Apr 2020 12:29:23 +0200
From: Michael Walle <michael@...le.cc>
To: Andrew Lunn <andrew@...n.ch>
Cc: linux-hwmon@...r.kernel.org, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, Jean Delvare <jdelvare@...e.com>,
Guenter Roeck <linux@...ck-us.net>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
"David S . Miller" <davem@...emloft.net>
Subject: Re: [PATCH net-next 3/3] net: phy: bcm54140: add hwmon support
Am 2020-04-17 23:28, schrieb Andrew Lunn:
> On Fri, Apr 17, 2020 at 11:08:56PM +0200, Michael Walle wrote:
>> Am 2020-04-17 22:13, schrieb Andrew Lunn:
>> > > Correct, and this function was actually stolen from there ;) This was
>> > > actually stolen from the mscc PHY ;)
>> >
>> > Which in itself indicates it is time to make it a helper :-)
>>
>> Sure, do you have any suggestions?
>
> mdiobus_get_phy() does the bit i was complaining about, the mdiobus
> internal knowledge.
But that doesn't address your other comment.
> There is also the question of locking. What happens if the PHY devices
> is unbound while you have an instance of its phydev?
Is there any lock one could take to avoid that?
> What happens if the base PHY is unbound? Are the three others then
> unusable?
In my case, this would mean the hwmon device is also removed. I don't
see any other way to do it right now. I guess it would be better to
have the hwmon device registered to some kind of parent device.
> I think we need to take a step back and look at how we handle quad
> PHYs in general. The VSC8584 has many of the same issues.
For the BCM54140 there are three different functions:
(1) PHY functions accessible by the PHYs own address (ie PHY
status/control)
(2) PHY functions but only accessible by the global registers (ie
interrupt enables per PHY of the shared interrupt pin)
(3) global functions (like sensors, global configuration)
(1) is already supported in the current PHY framework. (2) and (3)
need the "hack" which uses mdiobus_read/write() with the base
address.
-michael
Powered by blists - more mailing lists