Merge branch 'rgb-multicolor' into 'main'

fbd-dev-led-multicolor: Ignore LEDs that don't have three values

See merge request agx/feedbackd!176
This commit is contained in:
Guido Günther
2025-04-30 08:52:36 +00:00
2 changed files with 25 additions and 0 deletions
@@ -0,0 +1,18 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Example to use the Framework Laptop 13's power button LED as
# status LED for feedbackd.
#
# To use:
#
# ```
# cp 90-framework-laptop-feedbackd.rules /etc/udev/rules.d/90-framework-laptop-feedbackd.rules
# sudo udevadm trigger --subsystem-match=leds --action=change
# killall feedbackd
# ```
ACTION=="remove", GOTO="fbd_fw_end"
SUBSYSTEM=="leds", DEVPATH=="*/chromeos:white:power", ENV{FEEDBACKD_TYPE}="led", RUN{builtin}+="kmod load ledtrig-pattern", RUN+="/usr/libexec/fbd-ledctrl -p %S%p -t pattern -G feedbackd"
LABEL="fbd_fw_end"
+7
View File
@@ -57,6 +57,13 @@ fbd_dev_led_multicolor_probe (FbdDevLed *led, GError **error)
return FALSE; return FALSE;
} }
if (g_strv_length ((GStrv)index) != 3) {
g_set_error (error,
G_FILE_ERROR, G_FILE_ERROR_FAILED,
"%s is no multicolor RGB LED", name);
return FALSE;
}
max_brightness = g_udev_device_get_sysfs_attr_as_int (dev, LED_MAX_BRIGHTNESS_ATTR); max_brightness = g_udev_device_get_sysfs_attr_as_int (dev, LED_MAX_BRIGHTNESS_ATTR);
if (!max_brightness) { if (!max_brightness) {
g_set_error (error, g_set_error (error,