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 3/9] led: status_led: add function to toggle a status LED
Date: Thu, 20 Jun 2024 01:03:21 +0200 [thread overview]
Message-ID: <20240619230400.8459-4-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20240619230400.8459-1-ansuelsmth@gmail.com>
Add function to toggle a status LED by using the status LED ID reference
configs.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/misc/status_led.c | 28 +++++++++++++++++++++++-----
include/status_led.h | 1 +
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/drivers/misc/status_led.c b/drivers/misc/status_led.c
index 3b1baa4f840..2b904bfa9c2 100644
--- a/drivers/misc/status_led.c
+++ b/drivers/misc/status_led.c
@@ -103,17 +103,24 @@ void status_led_tick(ulong timestamp)
}
}
-void status_led_set(int led, int state)
+static led_dev_t *status_get_led_dev(int led)
{
- led_dev_t *ld;
-
if (led < 0 || led >= MAX_LED_DEV)
- return;
+ return NULL;
if (!status_led_init_done)
status_led_init();
- ld = &led_dev[led];
+ return &led_dev[led];
+}
+
+void status_led_set(int led, int state)
+{
+ led_dev_t *ld;
+
+ ld = status_get_led_dev(led);
+ if (!ld)
+ return;
ld->state = state;
if (state == CONFIG_LED_STATUS_BLINKING) {
@@ -122,3 +129,14 @@ void status_led_set(int led, int state)
}
__led_set (ld->mask, state);
}
+
+void status_led_toggle(int led)
+{
+ led_dev_t *ld;
+
+ ld = status_get_led_dev(led);
+ if (!ld)
+ return;
+
+ __led_toggle(ld->mask);
+}
diff --git a/include/status_led.h b/include/status_led.h
index 5ce4522b029..fe0c84fb4b4 100644
--- a/include/status_led.h
+++ b/include/status_led.h
@@ -38,6 +38,7 @@
void status_led_init(void);
void status_led_tick(unsigned long timestamp);
void status_led_set(int led, int state);
+void status_led_toggle(int led);
/***** MVS v1 **********************************************************/
#if (defined(CONFIG_MVS) && CONFIG_MVS < 2)
--
2.43.0
next prev parent reply other threads:[~2024-06-20 1:32 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-19 23:03 [PATCH v4 0/9] misc: introduce STATUS LED activity function Christian Marangi
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 ` Christian Marangi [this message]
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-4-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