From: Christian Marangi <ansuelsmth@gmail.com>
To: Jonathan Corbet <corbet@lwn.net>, Pavel Machek <pavel@ucw.cz>,
Lee Jones <lee@kernel.org>, Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Christian Marangi <ansuelsmth@gmail.com>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-leds@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH 01/11] leds: add binding for LEDs hw control
Date: Thu, 27 Apr 2023 02:15:31 +0200 [thread overview]
Message-ID: <20230427001541.18704-2-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20230427001541.18704-1-ansuelsmth@gmail.com>
Add an option to permit LED driver to declare support for a specific
trigger to use hw control and setup the LED to blink based on specific
provided modes.
Add binding for LEDs hw control. These functions will be used to activate
hardware control where a LED will use the provided flags, from an
unique defined supported trigger, to setup the LED to be driven by
hardware.
Deactivate hardware blink control by setting brightness to LED_OFF via
the brightness_set() callback.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
include/linux/leds.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/include/linux/leds.h b/include/linux/leds.h
index ba4861ec73d3..b3bd1cc8ace8 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -154,6 +154,26 @@ struct led_classdev {
/* LEDs that have private triggers have this set */
struct led_hw_trigger_type *trigger_type;
+
+ /* Unique trigger name supported by LED set in hw control mode */
+ const char *hw_control_trigger;
+ /*
+ * Activate hardware control, LED driver will use the provided flags
+ * from the supported trigger and setup the LED to be driven by hardware
+ * following the requested mode from the trigger flags.
+ * Deactivate hardware blink control by setting brightness to LED_OFF via
+ * the brightness_set() callback.
+ */
+ int (*hw_control_set)(struct led_classdev *led_cdev,
+ unsigned long flags);
+ /*
+ * Get from the LED driver the current mode that the LED is set in hw
+ * control mode and put them in flags.
+ * Trigger can use this to get the initial state of a LED already set in
+ * hardware blink control.
+ */
+ int (*hw_control_get)(struct led_classdev *led_cdev,
+ unsigned long *flags);
#endif
#ifdef CONFIG_LEDS_BRIGHTNESS_HW_CHANGED
--
2.39.2
next prev parent reply other threads:[~2023-04-27 0:19 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-27 0:15 [PATCH 00/11] leds: introduce new LED hw control APIs Christian Marangi
2023-04-27 0:15 ` Christian Marangi [this message]
2023-04-27 0:15 ` [PATCH 02/11] leds: add binding to check support for LED hw control Christian Marangi
2023-04-30 18:08 ` Andrew Lunn
2023-04-27 0:15 ` [PATCH 03/11] leds: add helper function to use trigger in hw blink mode Christian Marangi
2023-04-27 0:15 ` [PATCH 04/11] Documentation: leds: leds-class: Document new Hardware driven LEDs APIs Christian Marangi
2023-05-11 3:06 ` Bagas Sanjaya
2023-04-27 0:15 ` [PATCH 05/11] leds: trigger: netdev: introduce validating requested mode Christian Marangi
2023-04-30 22:42 ` Andrew Lunn
2023-04-27 0:15 ` [PATCH 06/11] leds: trigger: netdev: add knob to set hw control possible Christian Marangi
2023-04-27 0:15 ` [PATCH 07/11] leds: trigger: netdev: reject interval and device store for hw_control Christian Marangi
2023-05-08 11:31 ` Sascha Hauer
2023-04-27 0:15 ` [PATCH 08/11] leds: trigger: netdev: add support for LED hw control Christian Marangi
2023-04-30 17:55 ` Andrew Lunn
2023-05-02 16:00 ` Christian Marangi
2023-04-27 0:15 ` [PATCH 09/11] leds: trigger: netdev: init mode if hw control already active Christian Marangi
2023-04-27 0:15 ` [PATCH 10/11] leds: trigger: netdev: expose netdev trigger modes in linux include Christian Marangi
2023-04-27 0:15 ` [PATCH 11/11] net: dsa: qca8k: implement hw_control ops Christian Marangi
2023-05-08 12:25 ` [PATCH 00/11] leds: introduce new LED hw control APIs Sascha Hauer
2023-05-08 12:33 ` Christian Marangi
2023-05-08 12:52 ` Sascha Hauer
2023-05-08 13:11 ` Andrew Lunn
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=20230427001541.18704-2-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=andrew@lunn.ch \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=pavel@ucw.cz \
/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;
as well as URLs for NNTP newsgroup(s).