Hello Pavel, Am Samstag, 19. September 2020, 11:44:18 CEST schrieb Pavel Machek: > > Since commit 141f15c66d94 ("leds: pwm: remove header") that platform > > interface is not usable from outside and there seems to be no in tree > > user anymore. All in-tree users of the leds-pwm driver seem to use DT > > currently. Getting rid of the old platform interface will allow the > > leds-pwm driver to switch over from 'devm_led_classdev_register()' to > > 'devm_led_classdev_register_ext()' later. > > > > @@ -61,6 +56,7 @@ static int led_pwm_set(struct led_classdev *led_cdev, > > > > return pwm_apply_state(led_dat->pwm, &led_dat->pwmstate); > > > > } > > > > +__attribute__((nonnull)) > > > > static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv, > > > > struct led_pwm *led, struct fwnode_handle *fwnode) > > > > { > > This normally goes elsewhere -- right? I'd expect: > > > static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv, > struct led_pwm *led, struct fwnode_handle *fwnode) > __attribute__((nonnull)) I found both variants in kernel code. I can live with both variants and have no strong preference. My initial intention to add it was to get a compiler warning in case someone does not pass a fwnode here, e.g. when using that old platform_data approach (which is supposed to be removed with this patch). You might call it a self check on my own changes. I can also drop that attribute if you don't want that kind of stuff in linux-leds. Greets Alex