On Sat, 17 Jun 2023, Christian Marangi wrote: > This is a continue of [1]. It was decided to take a more gradual > approach to implement LEDs support for switch and phy starting with > basic support and then implementing the hw control part when we have all > the prereq done. > > This should be the final part for the netdev trigger. > I added net-next tag and added netdev mailing list since I was informed > that this should be merged with netdev branch. > > We collect some info around and we found a good set of modes that are > common in almost all the PHY and Switch. > > These modes are: > - Modes for dedicated link speed(10, 100, 1000 mbps). Additional mode > can be added later following this example. > - Modes for half and full duplex. > > The original idea was to add hw control only modes. > While the concept makes sense in practice it would results in lots of > additional code and extra check to make sure we are setting correct modes. > > With the suggestion from Andrew it was pointed out that using the ethtool > APIs we can actually get the current link speed and duplex and this > effectively removed the problem of having hw control only modes since we > can fallback to software. > > Since these modes are supported by software, we can skip providing an > user for this in the LED driver to support hw control for these new modes > (that will come right after this is merged) and prevent this to be another > multi subsystem series. > > For link speed and duplex we use ethtool APIs. > > To call ethtool APIs, rtnl lock is needed but this can be skipped on > handling netdev events as the lock is already held. > > [1] https://lore.kernel.org/lkml/20230216013230.22978-1-ansuelsmth@xxxxxxxxx/ > > Changes v4: > - Add net-next tag > - Add additional patch to expose hw_control via sysfs > - CC netdev mailing list > Changes v3: > - Add Andrew review tag > - Use SPEED_UNKNOWN to init link_speed > - Fix using HALF_DUPLEX as duplex init and use DUPLEX_UNKNOWN instead > Changes v2: > - Drop ACTIVITY patch as it can be handled internally in the LED driver > - Reduce duplicate code and move the link state to a dedicated helper > > Christian Marangi (3): > leds: trigger: netdev: add additional specific link speed mode > leds: trigger: netdev: add additional specific link duplex mode > leds: trigger: netdev: expose hw_control status via sysfs > > drivers/leds/trigger/ledtrig-netdev.c | 114 +++++++++++++++++++++++--- > include/linux/leds.h | 5 ++ > 2 files changed, 109 insertions(+), 10 deletions(-) Seeing as we're on -rc7 already, any reason why we shouldn't hold off and simply apply these against LEDs once v6.5 is released? -- Lee Jones [李琼斯]