Re: [net-next PATCH v4 0/3] leds: trigger: netdev: add additional modes

From: Lee Jones
Date: Mon Jun 19 2023 - 06:41:05 EST


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 [李琼斯]