On Sun, Mar 24, 2024 at 5:02 PM Kate Hsuan <hpa@xxxxxxxxxx> wrote: > > From: Hans de Goede <hdegoede@xxxxxxxxxx> > > Add a new led_mc_set_brightness() function for in kernel color/brightness > changing of multi-color LEDs. > > led-class-multicolor can be build as a module and led_mc_set_brightness() > will have builtin callers, so put led_mc_set_brightness() inside led-core the builtin > instead, just like how led_set_brightness() is part of the core and not > of the led-class object. > > This also adds a new LED_MULTI_COLOR led_classdev flag to allow > led_mc_set_brightness() to verify that it is operating on a multi-color > LED classdev, avoiding casting the passed in LED classdev to a multi-color > LED classdev, when it actually is not a multi-color LED. ... > +/* > + * This is a led-core function because just like led_set_brightness() > + * it is used in kernel by e.g. triggers. in the kernel > + */ ... > + if (!(led_cdev->flags & LED_MULTI_COLOR)) { > + dev_err_once(led_cdev->dev, "%s: error not a multi-color LED\n", __func__); Not sure how __func__ helps here. > + return; > + } > + > + mcled_cdev = lcdev_to_mccdev(led_cdev); > + if (num_colors != mcled_cdev->num_colors) { > + dev_err_once(led_cdev->dev, "%s: error num_colors mismatch %d != %d\n", Should be '...%u != %u...'. > + __func__, num_colors, mcled_cdev->num_colors); Ditto about __func__. > + return; > + } -- With Best Regards, Andy Shevchenko