leds: spi-byte: Use devm_led_classdev_register_ext()
[linux-2.6-block.git] / drivers / leds / leds-spi-byte.c
index 9d91f21842f2b5568976bfa968a50a0f08c72c98..96296db5f410dec9cc04e5b6b3ca91221bd82623 100644 (file)
@@ -83,7 +83,7 @@ static int spi_byte_probe(struct spi_device *spi)
        struct device_node *child;
        struct device *dev = &spi->dev;
        struct spi_byte_led *led;
-       const char *name = "leds-spi-byte::";
+       struct led_init_data init_data = {};
        const char *state;
        int ret;
 
@@ -97,12 +97,9 @@ static int spi_byte_probe(struct spi_device *spi)
        if (!led)
                return -ENOMEM;
 
-       of_property_read_string(child, "label", &name);
-       strscpy(led->name, name, sizeof(led->name));
        led->spi = spi;
        mutex_init(&led->mutex);
        led->cdef = device_get_match_data(dev);
-       led->ldev.name = led->name;
        led->ldev.brightness = LED_OFF;
        led->ldev.max_brightness = led->cdef->max_value - led->cdef->off_value;
        led->ldev.brightness_set_blocking = spi_byte_brightness_set_blocking;
@@ -120,7 +117,11 @@ static int spi_byte_probe(struct spi_device *spi)
        spi_byte_brightness_set_blocking(&led->ldev,
                                         led->ldev.brightness);
 
-       ret = devm_led_classdev_register(&spi->dev, &led->ldev);
+       init_data.fwnode = of_fwnode_handle(child);
+       init_data.devicename = "leds-spi-byte";
+       init_data.default_label = ":";
+
+       ret = devm_led_classdev_register_ext(&spi->dev, &led->ldev, &init_data);
        if (ret) {
                mutex_destroy(&led->mutex);
                return ret;