Wed, Mar 06, 2024 at 10:58:00AM +0800, Kate Hsuan kirjoitti: > There is a KTD2026 LED controller to manage the indicator LED for Xiaomi > pad2. The ACPI for it is not properly made so the kernel can't get > a correct description of it. > > This work add a description for this RGB LED controller and also set a > trigger to indicate the chaging event (bq27520-0-charging). When it is > charging, the indicator LED will be turn on. Ilpo, Kate, please consider the following remarks. ... > #include <linux/gpio/machine.h> > #include <linux/input.h> > #include <linux/platform_device.h> + Blank line? > +#include <dt-bindings/leds/common.h> Not sure where to place this, some drivers put it the first, some after linux/*. ... > +/* main fwnode for ktd2026 */ > +static const struct software_node ktd2026_node = { No name? > +}; > + > +static const struct property_entry ktd2026_rgb_led_props[] = { > + PROPERTY_ENTRY_U32("reg", 0), > + PROPERTY_ENTRY_U32("color", LED_COLOR_ID_RGB), > + PROPERTY_ENTRY_STRING("function", "indicator"), > + PROPERTY_ENTRY_STRING("linux,default-trigger", > + "bq27520-0-charging"), It's less than 80, why not on a single line? > + Redundant blank line. > + { } > +}; ... > +/* B */ B for red?! > +static const struct property_entry ktd2026_red_led_props[] = { > + PROPERTY_ENTRY_U32("reg", 0), > + PROPERTY_ENTRY_U32("color", LED_COLOR_ID_BLUE), > + { } > +}; ... > +/* R */ R for blue?! > +static const struct property_entry ktd2026_blue_led_props[] = { > + PROPERTY_ENTRY_U32("reg", 2), > + PROPERTY_ENTRY_U32("color", LED_COLOR_ID_RED), > + { } > +}; ... > +static int __init xiaomi_mipad2_init(void) > +{ > + return software_node_register_node_group(ktd2026_node_group); > +} > + > +static void xiaomi_mipad2_exit(void) Don't you want to have __exit here? > +{ > + software_node_unregister_node_group(ktd2026_node_group); > +} -- With Best Regards, Andy Shevchenko