This is a patch series to add RGB support for ASUS laptops. The laptops with this RGB tend to be the TUF series of gamer laptops. The first step is initial bringup of support using the multicolor LED API. These types of keyboards implement a slightly more complex interface than just RGB control however - they also have modes with can be static LED, blinking, rainbow, color cycles, and more. They also have some custom animations that can play depending on device state, such as suspended playing a fancy colour cycle, or playing a "wave" animation. Two of the patches add support for these features. The last patch adds documentation in: Documentation/ABI/testing/sysfs-platform-asus-wmi Some notes: - this patch series obsoletes the previous RGB patches by myself - it is not possible to add attribute groups to multicolor LED as they get overwritten by `led_multicolor_groups` in `led_classdev_multicolor_register_ext`. - the methods for RGB control do not provide a way to fetch exisiting state, so these methods are WO. - There is an existing `asus::kbd_backlight`, this provides a 4-step brightness to the RGB (off,low,med,high) individually to multicolor. I was unsure of the effect of adding a similar path so have used the `asus::multicolour::kbd_backlight` name to be clear about purpose. If the `asus::kbd_backlight` is off, then no RGB is shown at all.\ I'm hopeful that this patch series addresses all previous feedback related to the obsoleted patches. Luke D. Jones (5): asus-wmi: Add basic support for TUF laptop keyboard RGB asus-wmi: Add support for TUF laptop keyboard RGB mode control asus-wmi: Add support for TUF laptop keyboard states asus-wmi: Document many of the undocumented API asus-wmi: Convert all attr _show to use sysfs_emit .../ABI/testing/sysfs-platform-asus-wmi | 50 ++++ drivers/platform/x86/asus-wmi.c | 263 +++++++++++++++++- include/linux/platform_data/x86/asus-wmi.h | 5 + 3 files changed, 311 insertions(+), 7 deletions(-) -- 2.37.1