lkml.org 
[lkml]   [2022]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 08/11] leds: pca955x: Get rid of custom led_init_default_state_get()
    Date
    LED core provides a helper to parse default state from firmware node.
    Use it instead of custom implementation.

    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    ---
    drivers/leds/leds-pca955x.c | 26 ++++++--------------------
    1 file changed, 6 insertions(+), 20 deletions(-)

    diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
    index 81aaf21212d7..8dca6f99e699 100644
    --- a/drivers/leds/leds-pca955x.c
    +++ b/drivers/leds/leds-pca955x.c
    @@ -130,7 +130,7 @@ struct pca955x_led {
    struct led_classdev led_cdev;
    int led_num; /* 0 .. 15 potentially */
    u32 type;
    - int default_state;
    + enum led_default_state default_state;
    struct fwnode_handle *fwnode;
    };

    @@ -443,7 +443,6 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip)
    return ERR_PTR(-ENOMEM);

    device_for_each_child_node(&client->dev, child) {
    - const char *state;
    u32 reg;
    int res;

    @@ -454,19 +453,9 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip)
    led = &pdata->leds[reg];
    led->type = PCA955X_TYPE_LED;
    led->fwnode = child;
    - fwnode_property_read_u32(child, "type", &led->type);
    + led->default_state = led_init_default_state_get(child);

    - if (!fwnode_property_read_string(child, "default-state",
    - &state)) {
    - if (!strcmp(state, "keep"))
    - led->default_state = LEDS_GPIO_DEFSTATE_KEEP;
    - else if (!strcmp(state, "on"))
    - led->default_state = LEDS_GPIO_DEFSTATE_ON;
    - else
    - led->default_state = LEDS_GPIO_DEFSTATE_OFF;
    - } else {
    - led->default_state = LEDS_GPIO_DEFSTATE_OFF;
    - }
    + fwnode_property_read_u32(child, "type", &led->type);
    }

    pdata->num_leds = chip->bits;
    @@ -578,13 +567,11 @@ static int pca955x_probe(struct i2c_client *client)
    led->brightness_set_blocking = pca955x_led_set;
    led->brightness_get = pca955x_led_get;

    - if (pdata->leds[i].default_state ==
    - LEDS_GPIO_DEFSTATE_OFF) {
    + if (pdata->leds[i].default_state == LEDS_DEFSTATE_OFF) {
    err = pca955x_led_set(led, LED_OFF);
    if (err)
    return err;
    - } else if (pdata->leds[i].default_state ==
    - LEDS_GPIO_DEFSTATE_ON) {
    + } else if (pdata->leds[i].default_state == LEDS_DEFSTATE_ON) {
    err = pca955x_led_set(led, LED_FULL);
    if (err)
    return err;
    @@ -623,8 +610,7 @@ static int pca955x_probe(struct i2c_client *client)
    * brightness to see if it's using PWM1. If so, PWM1
    * should not be written below.
    */
    - if (pdata->leds[i].default_state ==
    - LEDS_GPIO_DEFSTATE_KEEP) {
    + if (pdata->leds[i].default_state == LEDS_DEFSTATE_KEEP) {
    if (led->brightness != LED_FULL &&
    led->brightness != LED_OFF &&
    led->brightness != LED_HALF)
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-08-05 17:53    [W:4.873 / U:0.396 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site