Merge branch 'pm-devfreq'
[deliverable/linux.git] / drivers / leds / leds-lp5562.c
index 0360c59dbdc91b122d0d08273c48203e6755ca6b..b75333803a63776608acf7e5810c118123c6e166 100644 (file)
@@ -311,10 +311,8 @@ static int lp5562_post_init_device(struct lp55xx_chip *chip)
        return 0;
 }
 
-static void lp5562_led_brightness_work(struct work_struct *work)
+static int lp5562_led_brightness(struct lp55xx_led *led)
 {
-       struct lp55xx_led *led = container_of(work, struct lp55xx_led,
-                                             brightness_work);
        struct lp55xx_chip *chip = led->chip;
        u8 addr[] = {
                LP5562_REG_R_PWM,
@@ -322,10 +320,13 @@ static void lp5562_led_brightness_work(struct work_struct *work)
                LP5562_REG_B_PWM,
                LP5562_REG_W_PWM,
        };
+       int ret;
 
        mutex_lock(&chip->lock);
-       lp55xx_write(chip, addr[led->chan_nr], led->brightness);
+       ret = lp55xx_write(chip, addr[led->chan_nr], led->brightness);
        mutex_unlock(&chip->lock);
+
+       return ret;
 }
 
 static void lp5562_write_program_memory(struct lp55xx_chip *chip,
@@ -503,7 +504,7 @@ static struct lp55xx_device_config lp5562_cfg = {
        },
        .post_init_device   = lp5562_post_init_device,
        .set_led_current    = lp5562_set_led_current,
-       .brightness_work_fn = lp5562_led_brightness_work,
+       .brightness_fn      = lp5562_led_brightness,
        .run_engine         = lp5562_run_engine,
        .firmware_cb        = lp5562_firmware_loaded,
        .dev_attr_group     = &lp5562_group,
This page took 0.034407 seconds and 5 git commands to generate.