mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 18:23:53 +08:00
leds: triggers: send uevent when changing triggers
Some triggers create sysfs files when they are enabled. Send a uevent "change" notification whenever the trigger is changed to allow userspace processes such as udev to modify permissions on the new files. A change notification will also be sent during registration of led class devices or led triggers if the default trigger of an led class device is found. (bryan.wu@canonical.com: rename trigger to trig to fix the build error) Signed-off-by: Colin Cross <ccross@android.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
This commit is contained in:
parent
469eba0230
commit
52c47742f7
@ -102,6 +102,12 @@ EXPORT_SYMBOL_GPL(led_trigger_show);
|
|||||||
void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
|
void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
char *event = NULL;
|
||||||
|
char *envp[2];
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
name = trig ? trig->name : "none";
|
||||||
|
event = kasprintf(GFP_KERNEL, "TRIGGER=%s", name);
|
||||||
|
|
||||||
/* Remove any existing trigger */
|
/* Remove any existing trigger */
|
||||||
if (led_cdev->trigger) {
|
if (led_cdev->trigger) {
|
||||||
@ -124,6 +130,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
|
|||||||
if (trig->activate)
|
if (trig->activate)
|
||||||
trig->activate(led_cdev);
|
trig->activate(led_cdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (event) {
|
||||||
|
envp[0] = event;
|
||||||
|
envp[1] = NULL;
|
||||||
|
kobject_uevent_env(&led_cdev->dev->kobj, KOBJ_CHANGE, envp);
|
||||||
|
kfree(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(led_trigger_set);
|
EXPORT_SYMBOL_GPL(led_trigger_set);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user