Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

leds: add led-class attribute-group support

Allow led-class devices to be created with optional attribute groups.

This is needed in order to allow led drivers to create custom device
attributes in a race-free manner.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Bryan Wu <cooloney@gmail.com>

authored by

Johan Hovold and committed by
Bryan Wu
d0d480cc a497c3ba

+5 -2
+3 -2
drivers/leds/led-class.c
··· 210 210 */ 211 211 int led_classdev_register(struct device *parent, struct led_classdev *led_cdev) 212 212 { 213 - led_cdev->dev = device_create(leds_class, parent, 0, led_cdev, 214 - "%s", led_cdev->name); 213 + led_cdev->dev = device_create_with_groups(leds_class, parent, 0, 214 + led_cdev, led_cdev->groups, 215 + "%s", led_cdev->name); 215 216 if (IS_ERR(led_cdev->dev)) 216 217 return PTR_ERR(led_cdev->dev); 217 218
+2
include/linux/leds.h
··· 63 63 unsigned long *delay_off); 64 64 65 65 struct device *dev; 66 + const struct attribute_group **groups; 67 + 66 68 struct list_head node; /* LED Device list */ 67 69 const char *default_trigger; /* Trigger to use */ 68 70