lkml.org 
[lkml]   [2020]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v25 10/16] leds: lp55xx: Convert LED class registration to devm_*
    Date
    Convert the LED class registration calls to the LED devm_*
    registration calls.

    Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Signed-off-by: Dan Murphy <dmurphy@ti.com>
    ---
    drivers/leds/leds-lp5521.c | 9 +++------
    drivers/leds/leds-lp5523.c | 9 +++------
    drivers/leds/leds-lp5562.c | 9 +++------
    drivers/leds/leds-lp55xx-common.c | 15 +--------------
    drivers/leds/leds-lp55xx-common.h | 2 --
    drivers/leds/leds-lp8501.c | 9 +++------
    6 files changed, 13 insertions(+), 40 deletions(-)

    diff --git a/drivers/leds/leds-lp5521.c b/drivers/leds/leds-lp5521.c
    index 6f0272249dc8..6d2163c0f625 100644
    --- a/drivers/leds/leds-lp5521.c
    +++ b/drivers/leds/leds-lp5521.c
    @@ -541,19 +541,17 @@ static int lp5521_probe(struct i2c_client *client,

    ret = lp55xx_register_leds(led, chip);
    if (ret)
    - goto err_register_leds;
    + goto err_out;

    ret = lp55xx_register_sysfs(chip);
    if (ret) {
    dev_err(&client->dev, "registering sysfs failed\n");
    - goto err_register_sysfs;
    + goto err_out;
    }

    return 0;

    -err_register_sysfs:
    - lp55xx_unregister_leds(led, chip);
    -err_register_leds:
    +err_out:
    lp55xx_deinit_device(chip);
    err_init:
    return ret;
    @@ -566,7 +564,6 @@ static int lp5521_remove(struct i2c_client *client)

    lp5521_stop_all_engines(chip);
    lp55xx_unregister_sysfs(chip);
    - lp55xx_unregister_leds(led, chip);
    lp55xx_deinit_device(chip);

    return 0;
    diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c
    index d0b931a136b9..15e7051392f5 100644
    --- a/drivers/leds/leds-lp5523.c
    +++ b/drivers/leds/leds-lp5523.c
    @@ -908,19 +908,17 @@ static int lp5523_probe(struct i2c_client *client,

    ret = lp55xx_register_leds(led, chip);
    if (ret)
    - goto err_register_leds;
    + goto err_out;

    ret = lp55xx_register_sysfs(chip);
    if (ret) {
    dev_err(&client->dev, "registering sysfs failed\n");
    - goto err_register_sysfs;
    + goto err_out;
    }

    return 0;

    -err_register_sysfs:
    - lp55xx_unregister_leds(led, chip);
    -err_register_leds:
    +err_out:
    lp55xx_deinit_device(chip);
    err_init:
    return ret;
    @@ -933,7 +931,6 @@ static int lp5523_remove(struct i2c_client *client)

    lp5523_stop_all_engines(chip);
    lp55xx_unregister_sysfs(chip);
    - lp55xx_unregister_leds(led, chip);
    lp55xx_deinit_device(chip);

    return 0;
    diff --git a/drivers/leds/leds-lp5562.c b/drivers/leds/leds-lp5562.c
    index edb57c42e8b1..1c94422408b0 100644
    --- a/drivers/leds/leds-lp5562.c
    +++ b/drivers/leds/leds-lp5562.c
    @@ -554,19 +554,17 @@ static int lp5562_probe(struct i2c_client *client,

    ret = lp55xx_register_leds(led, chip);
    if (ret)
    - goto err_register_leds;
    + goto err_out;

    ret = lp55xx_register_sysfs(chip);
    if (ret) {
    dev_err(&client->dev, "registering sysfs failed\n");
    - goto err_register_sysfs;
    + goto err_out;
    }

    return 0;

    -err_register_sysfs:
    - lp55xx_unregister_leds(led, chip);
    -err_register_leds:
    +err_out:
    lp55xx_deinit_device(chip);
    err_init:
    return ret;
    @@ -580,7 +578,6 @@ static int lp5562_remove(struct i2c_client *client)
    lp5562_stop_engine(chip);

    lp55xx_unregister_sysfs(chip);
    - lp55xx_unregister_leds(led, chip);
    lp55xx_deinit_device(chip);

    return 0;
    diff --git a/drivers/leds/leds-lp55xx-common.c b/drivers/leds/leds-lp55xx-common.c
    index 44ced02b49f9..882ef39e4965 100644
    --- a/drivers/leds/leds-lp55xx-common.c
    +++ b/drivers/leds/leds-lp55xx-common.c
    @@ -181,7 +181,7 @@ static int lp55xx_init_led(struct lp55xx_led *led,
    led->cdev.name = name;
    }

    - ret = led_classdev_register(dev, &led->cdev);
    + ret = devm_led_classdev_register(dev, &led->cdev);
    if (ret) {
    dev_err(dev, "led register err: %d\n", ret);
    return ret;
    @@ -490,23 +490,10 @@ int lp55xx_register_leds(struct lp55xx_led *led, struct lp55xx_chip *chip)
    return 0;

    err_init_led:
    - lp55xx_unregister_leds(led, chip);
    return ret;
    }
    EXPORT_SYMBOL_GPL(lp55xx_register_leds);

    -void lp55xx_unregister_leds(struct lp55xx_led *led, struct lp55xx_chip *chip)
    -{
    - int i;
    - struct lp55xx_led *each;
    -
    - for (i = 0; i < chip->num_leds; i++) {
    - each = led + i;
    - led_classdev_unregister(&each->cdev);
    - }
    -}
    -EXPORT_SYMBOL_GPL(lp55xx_unregister_leds);
    -
    int lp55xx_register_sysfs(struct lp55xx_chip *chip)
    {
    struct device *dev = &chip->cl->dev;
    diff --git a/drivers/leds/leds-lp55xx-common.h b/drivers/leds/leds-lp55xx-common.h
    index 783ed5103ce5..b9b1041e8143 100644
    --- a/drivers/leds/leds-lp55xx-common.h
    +++ b/drivers/leds/leds-lp55xx-common.h
    @@ -189,8 +189,6 @@ extern void lp55xx_deinit_device(struct lp55xx_chip *chip);
    /* common LED class device functions */
    extern int lp55xx_register_leds(struct lp55xx_led *led,
    struct lp55xx_chip *chip);
    -extern void lp55xx_unregister_leds(struct lp55xx_led *led,
    - struct lp55xx_chip *chip);

    /* common device attributes functions */
    extern int lp55xx_register_sysfs(struct lp55xx_chip *chip);
    diff --git a/drivers/leds/leds-lp8501.c b/drivers/leds/leds-lp8501.c
    index 2638dbf0e8ac..a58019cdb8c3 100644
    --- a/drivers/leds/leds-lp8501.c
    +++ b/drivers/leds/leds-lp8501.c
    @@ -344,19 +344,17 @@ static int lp8501_probe(struct i2c_client *client,

    ret = lp55xx_register_leds(led, chip);
    if (ret)
    - goto err_register_leds;
    + goto err_out;

    ret = lp55xx_register_sysfs(chip);
    if (ret) {
    dev_err(&client->dev, "registering sysfs failed\n");
    - goto err_register_sysfs;
    + goto err_out;
    }

    return 0;

    -err_register_sysfs:
    - lp55xx_unregister_leds(led, chip);
    -err_register_leds:
    +err_out:
    lp55xx_deinit_device(chip);
    err_init:
    return ret;
    @@ -369,7 +367,6 @@ static int lp8501_remove(struct i2c_client *client)

    lp8501_stop_engine(chip);
    lp55xx_unregister_sysfs(chip);
    - lp55xx_unregister_leds(led, chip);
    lp55xx_deinit_device(chip);

    return 0;
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-05-26 18:48    [W:4.470 / U:0.220 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site