From: Christian Marangi <ansuelsmth@gmail.com>
To: Tom Rini <trini@konsulko.com>,
Joe Hershberger <joe.hershberger@ni.com>,
Ramon Fried <rfried.dev@gmail.com>,
Christian Marangi <ansuelsmth@gmail.com>,
Dario Binacchi <dario.binacchi@amarulasolutions.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Arseniy Krasnov <avkrasnov@salutedevices.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Dmitry Dunaev <dunaev@tecon.ru>, Simon Glass <sjg@chromium.org>,
Devarsh Thakkar <devarsht@ti.com>, Bin Meng <bmeng.cn@gmail.com>,
Nikhil M Jain <n-jain1@ti.com>,
Shiji Yang <yangshiji66@outlook.com>,
Raymond Mao <raymond.mao@linaro.org>,
Leo Yu-Chi Liang <ycliang@andestech.com>,
Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
Doug Zobel <douglas.zobel@climate.com>,
u-boot@lists.denx.de, John Crispin <john@phrozen.org>
Subject: [PATCH v4 0/9] misc: introduce STATUS LED activity function
Date: Thu, 20 Jun 2024 01:03:18 +0200 [thread overview]
Message-ID: <20240619230400.8459-1-ansuelsmth@gmail.com> (raw)
This series expand the STATUS LED framework with a new color
and a big new feature. One thing that many device need is a way
to communicate to the user that the device is actually doing
something.
This is especially useful for recovery steps where an
user (for example) insert an USB drive, keep a button pressed
and the device autorecover.
There is currently no way to signal the user externally that
the bootloader is processing/recoverying aside from setting
a LED on.
A solid LED on is not enough and won't actually signal any
kind of progress.
Solution is the good old blinking LED but uboot doesn't
suggest (and support) interrupts and almost all the LED
are usually GPIO LED that doesn't support HW blink.
To fix this and handle the problem of device not supporting
HW blink, expand the STATUS LED framework with new API.
We introduce a new config LED_STATUS_ACTIVITY, that similar
to the RED, GREEN and others, takes the LED ID set in
the LED_STATUS config and is used as the global LED for activity
operations.
We add status_led_activity_start/stop() used to turn the
activity LED on and register a cyclic to make it blink.
LED will continue to blink until _stop() is called.
Function that will start some kind of action will first call
_start() and then at the end will call stop().
If (on the broken implementation) a _start() is called before
calling a _stop(), the Cyclic is first unregister and is
registered again.
Support for this is initially added to the tftp, mtd and ubi
command.
This also contains a big fixup for the gpio_led driver that
currently deviates from the Documentation and make the
coloured status led feature unusable.
(world tested with the azure pipeline)
Changes v4:
- Rebase on top of next
- Rework for cyclic changes on next
- Fix compilation error
- Fix compilation warning due to missing header
Changes v3:
- Add log on Status LED error conditions
Changes v2:
- Add Documentation conversion
- Rework to Cyclic and simplify implementation
Christian Marangi (9):
misc: gpio_led: fix broken coloured LED status functions
led: status_led: add support for white LED colour
led: status_led: add function to toggle a status LED
led: status_led: add warning when an invalid Status LED ID is used
led: status_led: add new activity LED config and functions
tftp: implement support for LED status activity
mtd: implement support for LED status activity
ubi: implement support for LED status activity
doc: convert README.LED to .rst documentation
cmd/legacy_led.c | 6 +
cmd/mtd.c | 19 ++++
cmd/ubi.c | 15 ++-
common/board_f.c | 2 +
doc/README.LED | 77 -------------
doc/api/index.rst | 1 +
doc/api/status_led.rst | 35 ++++++
drivers/led/Kconfig | 30 +++++
drivers/misc/gpio_led.c | 41 +++++--
drivers/misc/status_led.c | 75 ++++++++++++-
include/status_led.h | 231 +++++++++++++++++++++++++++++++++++++-
net/tftp.c | 7 ++
12 files changed, 440 insertions(+), 99 deletions(-)
delete mode 100644 doc/README.LED
create mode 100644 doc/api/status_led.rst
--
2.43.0
next reply other threads:[~2024-06-20 1:31 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-19 23:03 Christian Marangi [this message]
2024-06-19 23:03 ` [PATCH v4 1/9] misc: gpio_led: fix broken coloured LED status functions Christian Marangi
2024-06-19 23:03 ` [PATCH v4 2/9] led: status_led: add support for white LED colour Christian Marangi
2024-06-19 23:03 ` [PATCH v4 3/9] led: status_led: add function to toggle a status LED Christian Marangi
2024-06-19 23:03 ` [PATCH v4 4/9] led: status_led: add warning when an invalid Status LED ID is used Christian Marangi
2024-06-20 17:31 ` Peter Robinson
2024-06-19 23:03 ` [PATCH v4 5/9] led: status_led: add new activity LED config and functions Christian Marangi
2024-06-19 23:03 ` [PATCH v4 6/9] tftp: implement support for LED status activity Christian Marangi
2024-06-19 23:03 ` [PATCH v4 7/9] mtd: " Christian Marangi
2024-06-19 23:03 ` [PATCH v4 8/9] ubi: " Christian Marangi
2024-06-19 23:03 ` [PATCH v4 9/9] doc: convert README.LED to .rst documentation Christian Marangi
2024-06-20 6:13 ` Heinrich Schuchardt
2024-06-20 4:37 ` Christian Marangi
2024-06-20 17:11 ` Heinrich Schuchardt
2024-06-20 6:34 ` [PATCH v4 0/9] misc: introduce STATUS LED activity function Heinrich Schuchardt
2024-06-20 4:29 ` Christian Marangi
2024-06-20 16:55 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240619230400.8459-1-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=avkrasnov@salutedevices.com \
--cc=bmeng.cn@gmail.com \
--cc=dario.binacchi@amarulasolutions.com \
--cc=devarsht@ti.com \
--cc=douglas.zobel@climate.com \
--cc=dunaev@tecon.ru \
--cc=joe.hershberger@ni.com \
--cc=john@phrozen.org \
--cc=miquel.raynal@bootlin.com \
--cc=n-jain1@ti.com \
--cc=rasmus.villemoes@prevas.dk \
--cc=raymond.mao@linaro.org \
--cc=rfried.dev@gmail.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
--cc=yangshiji66@outlook.com \
--cc=ycliang@andestech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox