Messages in this thread | | | Date | Tue, 21 Apr 2020 23:19:48 +0200 | From | Michael Walle <> | Subject | Re: [RFC PATCH net-next 1/3] net: phy: add concept of shared storage for PHYs |
| |
Am 2020-04-21 21:30, schrieb Andrew Lunn: >> 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. > > There is a somewhat similar problem with Marvell Ethernet switches and > their internal PHYs. The PHYs are the same as the discrete PHYs, and > the usual Marvell PHY driver is used. But there is only one > temperature sensor for the whole switch, and it is mapped into all the > PHYs. So we end up creating multiple hwmon devices for the one > temperature sensor, one per PHY. > > You could take the same approach here. Each PHY exposes a hwmon > device? > > Looking at > static struct device * > __hwmon_device_register(struct device *dev, const char *name, void > *drvdata, > const struct hwmon_chip_info *chip, > const struct attribute_group **groups) > > I think it is O.K. to pass dev as NULL. You don't have to associate it > to a device. So you could create the hwmon device as part of package > initialisation and put it into shared->priv.
I actually tried that before writing my mail. Have a look at commit 59df4f4e8e0b ("hwmon: (core) check parent dev != NULL when chip != NULL")
and the corresponding discussion here: https://patchwork.kernel.org/patch/10381759/
And if I'd had to choose, I'd prefer having one hwmon device on the first PHY (with its drawback) rather than having it four times.
-michael
| |