diff --git a/examples/90-framework-laptop-feedbackd.rules b/examples/90-framework-laptop-feedbackd.rules new file mode 100644 index 0000000..978e9ce --- /dev/null +++ b/examples/90-framework-laptop-feedbackd.rules @@ -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" diff --git a/src/fbd-dev-led-multicolor.c b/src/fbd-dev-led-multicolor.c index 287f200..47a55fb 100644 --- a/src/fbd-dev-led-multicolor.c +++ b/src/fbd-dev-led-multicolor.c @@ -57,6 +57,13 @@ fbd_dev_led_multicolor_probe (FbdDevLed *led, GError **error) 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); if (!max_brightness) { g_set_error (error,