Re: [PATCH v7 2/2] trigger: ledtrig-tty: add additional modes

From: Uwe Kleine-König
Date: Mon Mar 06 2023 - 04:35:40 EST


On Wed, Feb 22, 2023 at 09:33:35AM +0100, Florian Eckert wrote:
> Add additional modes to trigger the selected LED.
> The following modes are supported:
>
> Tx/Rx: Flash LED on data transmission (default)
> CTS: DCE Ready to accept data from the DTE.
> DSR: DCE is ready to receive and send data.
> CAR: DCE is receiving a carrier from a remote DTE.
> RNG: DCE has detected an incoming ring signal.
>
> The mode can be changed for example with the following command:
> echo "CTS" > /sys/class/leds/<led>/mode
>
> This would turn on the LED, when the DTE(modem) signals the DCE that it
> is ready to accept data.
>
> Signed-off-by: Florian Eckert <fe@xxxxxxxxxx>
> ---
> .../ABI/testing/sysfs-class-led-trigger-tty | 17 ++
> drivers/leds/trigger/ledtrig-tty.c | 145 ++++++++++++++++--
> 2 files changed, 147 insertions(+), 15 deletions(-)
>
> diff --git a/Documentation/ABI/testing/sysfs-class-led-trigger-tty b/Documentation/ABI/testing/sysfs-class-led-trigger-tty
> index 2bf6b24e781b..1c28e6c61d19 100644
> --- a/Documentation/ABI/testing/sysfs-class-led-trigger-tty
> +++ b/Documentation/ABI/testing/sysfs-class-led-trigger-tty
> @@ -4,3 +4,20 @@ KernelVersion: 5.10
> Contact: linux-leds@xxxxxxxxxxxxxxx
> Description:
> Specifies the tty device name of the triggering tty
> +
> +What: /sys/class/leds/<led>/mode
> +Date: January 2023
> +KernelVersion: 6.3
> +Description:
> + Specifies the operating to trigger the LED.
> + The following operating modes are supported:
> +
> + * Tx/Rx: Flash LED on data transmission (default)
> + * CTS: DCE Ready to accept data from the DTE.
> + LED on if line is high.
> + * DSR: DCE is ready to receive and send data.
> + LED on if line is high.
> + * CAR: DCE has detected a carrier from a remote DTE.
> + LED on if line is high.
> + * RNG: DCE has detected an incoming ring signal.
> + LED on if line is high.

Something I (still) don't like about this approach is that you cannot
make the LED flash on TX only (or CAR and DSR). Something like:

led=/sys/class/leds/<led>/
echo 1 > $led/TX
echo 0 > $led/RX
echo 1 > $led/CAR

would be a more flexible and IMHO nicer interface. (Maybe with improved
file names.)

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |

Attachment: signature.asc
Description: PGP signature