From: Hans de Goede <hdegoede@redhat.com>
To: "Darren Hart" <dvhart@infradead.org>,
"Matthew Garrett" <mjg59@srcf.ucam.org>,
"Pali Rohár" <pali.rohar@gmail.com>,
"Henrique de Moraes Holschuh" <ibm-acpi@hmh.eng.br>,
"Richard Purdie" <rpurdie@rpsys.net>,
"Jacek Anaszewski" <j.anaszewski@samsung.com>
Cc: ibm-acpi-devel@lists.sourceforge.net,
platform-driver-x86@vger.kernel.org, linux-leds@vger.kernel.org,
Hans de Goede <hdegoede@redhat.com>
Subject: [PATCH v5 3/6] leds: triggers: Add support for read-only triggers
Date: Thu, 17 Nov 2016 23:24:38 +0100 [thread overview]
Message-ID: <20161117222441.31464-3-hdegoede@redhat.com> (raw)
In-Reply-To: <20161117222441.31464-1-hdegoede@redhat.com>
In some cases an LED is controlled through a hardwired (taken care of
in firmware outside of the kernels control) trigger.
Add an LED_TRIGGER_READ_ONLY flag for this and disallow user-space
changing the trigger when this flag is set.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v5:
-This is a new patch in v5 of this patch-set
---
drivers/leds/led-class.c | 2 +-
drivers/leds/led-triggers.c | 5 +++++
include/linux/leds.h | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
index 326ee6e..56f32cc 100644
--- a/drivers/leds/led-class.c
+++ b/drivers/leds/led-class.c
@@ -54,7 +54,7 @@ static ssize_t brightness_store(struct device *dev,
if (ret)
goto unlock;
- if (state == LED_OFF)
+ if (state == LED_OFF && !(led_cdev->flags & LED_TRIGGER_READ_ONLY))
led_trigger_remove(led_cdev);
led_set_brightness(led_cdev, state);
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index d2ed9c2..9669104 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -37,6 +37,11 @@ ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
struct led_trigger *trig;
int ret = count;
+ if (led_cdev->flags & LED_TRIGGER_READ_ONLY) {
+ dev_err(led_cdev->dev, "Error this led triggers is hardwired and cannot be changed\n");
+ return -EINVAL;
+ }
+
mutex_lock(&led_cdev->led_access);
if (led_sysfs_is_disabled(led_cdev)) {
diff --git a/include/linux/leds.h b/include/linux/leds.h
index 870b8c2..e076b74 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -47,6 +47,7 @@ struct led_classdev {
#define LED_DEV_CAP_FLASH (1 << 18)
#define LED_HW_PLUGGABLE (1 << 19)
#define LED_PANIC_INDICATOR (1 << 20)
+#define LED_TRIGGER_READ_ONLY (1 << 21)
/* set_brightness_work / blink_timer flags, atomic, private. */
unsigned long work_flags;
--
2.9.3
next prev parent reply other threads:[~2016-11-17 22:24 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-17 22:24 [PATCH v5 1/6] leds: triggers: Add current_brightness trigger parameter Hans de Goede
2016-11-17 22:24 ` [PATCH v5 2/6] leds: triggers: Add a keyboard backlight trigger Hans de Goede
2016-11-18 8:55 ` Jacek Anaszewski
[not found] ` <af5a6b68-310d-85ec-16db-5c9036f38ba5-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-11-18 9:07 ` Hans de Goede
2016-11-18 16:03 ` Jacek Anaszewski
2016-11-18 18:47 ` Hans de Goede
2016-11-19 15:44 ` Jacek Anaszewski
2016-11-20 15:05 ` Pali Rohár
2016-11-20 16:21 ` Pavel Machek
2016-11-20 18:48 ` Hans de Goede
[not found] ` <acd1691b-56be-c902-feff-7ecf38ea102a-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-11-20 19:45 ` Pali Rohár
2016-11-21 10:24 ` Jacek Anaszewski
2016-11-21 10:42 ` Hans de Goede
2016-11-21 11:24 ` Jacek Anaszewski
2016-11-21 11:56 ` Hans de Goede
2016-11-21 13:29 ` Jacek Anaszewski
2016-11-22 14:58 ` Pali Rohár
2016-11-22 15:20 ` [ibm-acpi-devel] " Glenn Golden
2016-11-23 11:01 ` Jacek Anaszewski
2016-11-24 9:15 ` Pali Rohár
2016-11-24 9:21 ` Hans de Goede
2016-11-24 14:21 ` Jacek Anaszewski
2016-11-24 14:26 ` Pali Rohár
2016-11-24 15:32 ` Jacek Anaszewski
[not found] ` <50225a88-b928-c61b-bf6f-6c85fb6a9082-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-11-24 15:36 ` Pali Rohár
2016-11-24 16:21 ` Jacek Anaszewski
2016-11-24 16:51 ` Pali Rohár
2016-11-24 21:35 ` Jacek Anaszewski
[not found] ` <5238be1f-d669-07e6-c796-5bc0126cb456-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-11-24 21:45 ` Pali Rohár
2016-11-25 8:33 ` Jacek Anaszewski
2016-11-25 10:01 ` Pavel Machek
2016-11-25 10:25 ` Jacek Anaszewski
[not found] ` <e32e3d6c-5d6d-c882-21d9-8028c8311b0b-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-11-25 11:05 ` Pavel Machek
2016-11-25 11:19 ` Jacek Anaszewski
[not found] ` <2367b9a7-68f7-2038-0d3a-a9561055b4f6-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-11-25 14:49 ` Pavel Machek
2016-11-25 15:55 ` Jacek Anaszewski
2016-11-25 20:40 ` Pavel Machek
2016-11-25 22:28 ` Jacek Anaszewski
2016-12-21 18:49 ` Pavel Machek
2016-12-23 21:55 ` Jacek Anaszewski
2017-01-13 19:17 ` Darren Hart
2017-01-15 10:54 ` Hans de Goede
2017-01-15 12:25 ` Henrique de Moraes Holschuh
2017-01-15 15:05 ` Hans de Goede
2017-01-24 12:32 ` Pavel Machek
2017-01-24 22:56 ` Jacek Anaszewski
2017-01-25 13:12 ` Hans de Goede
2016-11-25 11:14 ` Hans de Goede
2016-11-25 11:26 ` Pali Rohár
2016-11-25 12:05 ` Pavel Machek
2016-11-25 15:46 ` Jacek Anaszewski
2016-12-01 14:08 ` Jacek Anaszewski
2016-11-25 9:56 ` Pavel Machek
2016-11-25 9:51 ` Pavel Machek
2016-11-21 11:41 ` Pavel Machek
2016-11-21 13:29 ` Jacek Anaszewski
2016-11-25 9:29 ` Pavel Machek
2016-11-21 8:35 ` Jacek Anaszewski
2016-11-21 9:31 ` Hans de Goede
2016-11-21 10:12 ` Pali Rohár
2016-11-21 10:16 ` Hans de Goede
2016-11-25 10:07 ` Pavel Machek
2016-11-17 22:24 ` Hans de Goede [this message]
2016-11-18 8:52 ` [PATCH v5 3/6] leds: triggers: Add support for read-only triggers Jacek Anaszewski
2016-11-18 9:04 ` Hans de Goede
2016-11-18 10:49 ` Jacek Anaszewski
2016-11-18 11:01 ` Hans de Goede
2016-11-17 22:24 ` [PATCH v5 4/6] platform: x86: thinkpad: Call led kbd_backlight trigger on kbd brightness change Hans de Goede
2016-11-17 22:24 ` [PATCH v5 5/6] platform: x86: dell-laptop: Set keyboard backlight led device default trigger Hans de Goede
2016-11-17 22:24 ` [PATCH v5 6/6] platform: x86: dell-wmi: Call led kbd_backlight trigger on kbd brightness change Hans de Goede
2016-11-20 14:59 ` [PATCH v5 1/6] leds: triggers: Add current_brightness trigger parameter Pali Rohár
2016-11-20 18:45 ` Hans de Goede
2016-11-20 19:40 ` Pali Rohár
2016-11-20 22:12 ` Pavel Machek
2016-11-20 23:07 ` Pali Rohár
2016-11-20 23:48 ` Pavel Machek
2016-11-21 10:02 ` Pali Rohár
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=20161117222441.31464-3-hdegoede@redhat.com \
--to=hdegoede@redhat.com \
--cc=dvhart@infradead.org \
--cc=ibm-acpi-devel@lists.sourceforge.net \
--cc=ibm-acpi@hmh.eng.br \
--cc=j.anaszewski@samsung.com \
--cc=linux-leds@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=pali.rohar@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rpurdie@rpsys.net \
/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).