lkml.org 
[lkml]   [2019]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 14/26] leds: lm3692x: Use generic support for composing LED names
    Date
    Switch to using generic LED support for composing LED class
    device name.

    At this occassion remove initialization of struct led_classdev's
    dev->of_node property in the driver, since now it will be taken from
    fwnode assigned to struct led_init_data and passed to the new
    devm_led_classdev_register_ext() API.

    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
    Cc: Dan Murphy <dmurphy@ti.com>
    ---
    drivers/leds/leds-lm3692x.c | 22 ++++++----------------
    1 file changed, 6 insertions(+), 16 deletions(-)

    diff --git a/drivers/leds/leds-lm3692x.c b/drivers/leds/leds-lm3692x.c
    index 4f413a7c5f05..f25ac6a98125 100644
    --- a/drivers/leds/leds-lm3692x.c
    +++ b/drivers/leds/leds-lm3692x.c
    @@ -13,7 +13,6 @@
    #include <linux/regmap.h>
    #include <linux/regulator/consumer.h>
    #include <linux/slab.h>
    -#include <uapi/linux/uleds.h>

    #define LM36922_MODEL 0
    #define LM36923_MODEL 1
    @@ -103,7 +102,6 @@
    * @regmap - Devices register map
    * @enable_gpio - VDDIO/EN gpio to enable communication interface
    * @regulator - LED supply regulator pointer
    - * @label - LED label
    * @led_enable - LED sync to be enabled
    * @model_id - Current device model ID enumerated
    */
    @@ -114,7 +112,6 @@ struct lm3692x_led {
    struct regmap *regmap;
    struct gpio_desc *enable_gpio;
    struct regulator *regulator;
    - char label[LED_MAX_NAME_SIZE];
    int led_enable;
    int model_id;
    };
    @@ -325,7 +322,7 @@ static int lm3692x_init(struct lm3692x_led *led)
    static int lm3692x_probe_dt(struct lm3692x_led *led)
    {
    struct fwnode_handle *child = NULL;
    - const char *name;
    + struct led_init_data init_data;
    int ret;

    led->enable_gpio = devm_gpiod_get_optional(&led->client->dev,
    @@ -350,30 +347,23 @@ static int lm3692x_probe_dt(struct lm3692x_led *led)
    fwnode_property_read_string(child, "linux,default-trigger",
    &led->led_dev.default_trigger);

    - ret = fwnode_property_read_string(child, "label", &name);
    - if (ret)
    - snprintf(led->label, sizeof(led->label),
    - "%s::", led->client->name);
    - else
    - snprintf(led->label, sizeof(led->label),
    - "%s:%s", led->client->name, name);
    -
    ret = fwnode_property_read_u32(child, "reg", &led->led_enable);
    if (ret) {
    dev_err(&led->client->dev, "reg DT property missing\n");
    return ret;
    }

    - led->led_dev.name = led->label;
    + init_data.fwnode = child;
    + init_data.devicename = led->client->name;
    + init_data.default_label = ":";

    - ret = devm_led_classdev_register(&led->client->dev, &led->led_dev);
    + ret = devm_led_classdev_register_ext(&led->client->dev, &led->led_dev,
    + &init_data);
    if (ret) {
    dev_err(&led->client->dev, "led register err: %d\n", ret);
    return ret;
    }

    - led->led_dev.dev->of_node = to_of_node(child);
    -
    return 0;
    }

    --
    2.11.0
    \
     
     \ /
      Last update: 2019-04-17 22:58    [W:6.458 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site