[PATCH v5 0/2] ledtrig-tty: add additional tty state evaluation

From: Florian Eckert
Date: Mon Oct 23 2023 - 05:42:43 EST


Changes in v5:
==============
- Update commit message as request by greg k-h, to make the commit message
more generic and not focusing on my use case [1]. Thanks for that.
- Removing PATCH v4 1/3 from previous set. This has been already applied to
tty-testing [2] by greg k-h.
- As requested by greq k-h. I have also made the following changes to
PATCH v4 3/3 [3].
* Add a comment to the enum that this is already used for bit evaluation and
sysfs read and write.
* Renaming the variable 'unsigned long mode' to 'unsigned long ttytrigger'
in the ledtrig_tty_data structure to make it clearer that the selected
triggers are stored there.
* Using sysfs_emit() function to dump the requestd ttytrigger to userland.
* Also using the kstrtobool() function to write the selected ttytrigger
via the sysfs. This values are booleans.
- I also removed the function ledtrig_tty_evaluate() from my last patchset.
PATCH v4 3/3 [3]. The new API tty_get_tiocm() function is only called once
now and checked for each ttytrigger bit. Previously this function was
called for each bit, which is not necessary.

Links:
[1] https://lore.kernel.org/linux-leds/2023102115-stock-scrambled-f7d5@gregkh/
[2] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git/commit/?h=tty-testing&id=838eb763c3e939a8de8d4c55a17ddcce737685c1
[3] https://lore.kernel.org/linux-leds/20231019112809.881730-4-fe@xxxxxxxxxx/

Changes in v4:
==============
v4: https://lore.kernel.org/linux-leds/20231019112809.881730-1-fe@xxxxxxxxxx/
- Merging patch 3/4 into patch number 4/4 from previous series, because
it fixes a problem that does not exist upstream. This was a note from
the build robot regarding my change that I added with previous series.
This change was never upstream and therefore this is not relevant.
- Update the commit message of patch 1/3 of this series, that this commit
also changes the 'ndashes' to simple dashes. There were no changes, so
I add the 'Reviewed-by' that the commit received before.
- With this patchset version I have reworked my implementation for the
evaluation of the additional line state, so that this changes becomes
smaller. As basis I have used the staged commits from Christian Marangi
that makes this changes to the netdev trigger. This has already been
applied to 'for-leds-next-next' by Lee Jones. I adapted this to the
tty trigger.
Convert device attr to macro:
https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git/commit/drivers/leds/trigger?h=for-leds-next-next&id=509412749002f4bac4c29f2012fff90c08d8afca
Unify sysfs and state handling:
https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git/commit/drivers/leds/trigger?h=for-leds-next-next&id=0fd93ac8582627bee9a3c824489f302dff722881

Changes in v3:
==============
v3: https://lore.kernel.org/linux-leds/20231016071332.597654-1-fe@xxxxxxxxxx/
- Add missing 'kernel test robot' information to the commit message.
- Additional information added to the commit message

Changes in v2:
==============
v2: https://lore.kernel.org/linux-leds/20230928132632.200263-1-fe@xxxxxxxxxx/
- rename new function from tty_get_mget() to tty_get_tiocm() as
requested by 'Jiri Slaby'.
- As suggested by 'Jiri Slaby', fixed tabs in function documentation
throughout the file '/drivers/tty/tty_io.c' in a separate commit.
- Move the variable definition to the top in function
'ledtrig_tty_work()'.
This was reported by the 'kernel test robot' after my change in v1.
- Also set the 'max_brightness' to 'blink_brightness' if no
'blink_brightness' was set. This fixes a problem at startup when the
brightness is still set to 0 and only 'line_*' is evaluated. I looked
in the netdev trigger and that's exactly how it's done there.

Changes in v1:
==============
v1: https://lore.kernel.org/linux-leds/20230926093607.59536-1-fe@xxxxxxxxxx/
This is a follow-up patchset, based on the mailing list discussion from
March 2023 based on the old patchset v8 [1]. I have changed, the LED
trigger handling via the sysfs interfaces as suggested by Uwe Kleine-König.
Links:
[1] https://lore.kernel.org/linux-leds/20230306094113.273988-1-fe@xxxxxxxxxx/

Florian Eckert (2):
tty: add new helper function tty_get_tiocm
leds: ledtrig-tty: add new line mode evaluation

.../ABI/testing/sysfs-class-led-trigger-tty | 54 +++++
drivers/leds/trigger/ledtrig-tty.c | 187 ++++++++++++++++--
drivers/tty/tty_io.c | 28 ++-
include/linux/tty.h | 1 +
4 files changed, 253 insertions(+), 17 deletions(-)

--
2.30.2