lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+V-a8tW9tWw=-fFHXSvYPeipd8+ADUuQj7DGuKP-xwDrdAbyQ@mail.gmail.com>
Date: Thu, 16 Oct 2025 12:43:46 +0100
From: "Lad, Prabhakar" <prabhakar.csengg@...il.com>
To: Marek Behún <kabel@...nel.org>
Cc: linux-leds@...r.kernel.org, netdev@...r.kernel.org, 
	Pavel Machek <pavel@....cz>, Dan Murphy <dmurphy@...com>, Russell King <linux@...linux.org.uk>, 
	Andrew Lunn <andrew@...n.ch>, Matthias Schiffer <matthias.schiffer@...tq-group.com>, 
	Jacek Anaszewski <jacek.anaszewski@...il.com>, 
	Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
Subject: Re: [PATCH leds v2 00/10] Add support for offloading netdev trigger
 to HW + example implementation for Turris Omnia

Hi Marek,

On Tue, Jun 1, 2021 at 1:53 AM Marek Behún <kabel@...nel.org> wrote:
>
> Hello,
>
> this is v2 of series adding support for offloading LED triggers to HW.
> The netdev trigger is the first user and leds-turris-omnia is the first
> example implementation.
>
> A video comparing SW (left LED) vs HW (right LED) netdev trigger on
> Omnia
>   https://secure.nic.cz/files/mbehun/omnia-wan-netdev-trig-offload.mp4
>
> Changes since v1:
> - changed typo in doc
> - the netdev trigger data structure now lives in
>   include/linux/ledtrig-netdev.h instead of ledtrig.h, as suggested by
>   Andrew. Also the structure is always defined, no guard against
>   CONFIG_LEDS_TRIGGER_NETDEV
> - we do not export netdev_led_trigger variable. The trigger_offload()
>   method can look at led_cdev->trigger->name to see which trigger it
>   should try to offload, i.e. compare the string to "netdev"
> - netdev trigger is being offloaded only if link is up, and at least one
>   of the rx, tx parameters are set. No need to offload otherwise
> - a patch is added that moves setting flag LED_UNREGISTERING in
>   led_classdev_unregister() before unsetting trigger. This makes it
>   possible for the trigger_offload() method to determine whether the
>   offloading is being disabled because the LED is being unregistered.
>   The driver may put the LED into HW triggering mode in this case, to
>   achieve behaviour as was before the driver was loaded
> - an example implementation for offloading the netdev trigger for the
>   WAN LED on Turris Omnia is added. LAN LEDs are not yet supported
>
> Changes since RFC:
> - split the patch adding HW offloading support to netdev trigger into
>   several separate patches (suggested by Pavel):
>   1. move trigger data structure to include/linux/ledtrig.h
>   2. support HW offloading
>   3. change spinlock to mutex
> - fixed bug where the .offloaded variable was not set to false when
>   offloading was disabled (suggested by Pavel)
> - removed the code saving one call to set_baseline_state() on the
>   NETDEV_CHANGE event. It is not needed, the trigger_offload() method
>   can handle this situation on its own (suggested by Pavel)
> - documentation now explicitly says that when offloading is being
>   disabled, the function must return 0 (no error) (suggested by Pavel)
>
> Marek Behún (10):
>   leds: trigger: netdev: don't explicitly zero kzalloced data
>   leds: trigger: add API for HW offloading of triggers
>   leds: trigger: netdev: move trigger data structure to global include
>     dir
>   leds: trigger: netdev: support HW offloading
>   leds: trigger: netdev: change spinlock to mutex
>   leds: core: inform trigger that it's deactivation is due to LED
>     removal
>   leds: turris-omnia: refactor sw mode setting code into separate
>     function
>   leds: turris-omnia: refactor brightness setting function
>   leds: turris-omnia: initialize each multicolor LED to white color
>   leds: turris-omnia: support offloading netdev trigger for WAN LED
>
Do you plan to progress with the above series anytime soon? If not I
want to give this patch [0] again a respin.

[0] https://lore.kernel.org/all/20210930125747.2511954-1-frieder@fris.de/

Cheers,
Prabhakar

>  Documentation/leds/leds-class.rst     |  22 ++
>  drivers/leds/Kconfig                  |   3 +
>  drivers/leds/led-class.c              |   4 +-
>  drivers/leds/led-triggers.c           |   1 +
>  drivers/leds/leds-turris-omnia.c      | 284 ++++++++++++++++++++++++--
>  drivers/leds/trigger/ledtrig-netdev.c |  56 ++---
>  include/linux/leds.h                  |  29 +++
>  include/linux/ledtrig-netdev.h        |  34 +++
>  8 files changed, 377 insertions(+), 56 deletions(-)
>  create mode 100644 include/linux/ledtrig-netdev.h
>
> --
> 2.26.3
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ