Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 358607
b: refs/heads/master
c: a6e4679
h: refs/heads/master
i:
  358605: ab834aa
  358603: d95ef45
  358599: 24e6921
  358591: 4d67324
v: v3
  • Loading branch information
Milo(Woogyom) Kim authored and Bryan Wu committed Feb 6, 2013
1 parent 957bc61 commit 57df2ed
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 35 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0e2023463a3c9412728cb2c36c79aca0bb731cc8
refs/heads/master: a6e4679a09a0a2bcfa63074272fc9fb2a40f11ad
19 changes: 4 additions & 15 deletions trunk/drivers/leds/leds-lp5521.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,6 @@ static inline struct lp5521_chip *led_to_lp5521(struct lp5521_led *led)
leds[led->id]);
}

static void lp5521_led_brightness_work(struct work_struct *work);

static inline int lp5521_write(struct i2c_client *client, u8 reg, u8 value)
{
return i2c_smbus_write_byte_data(client, reg, value);
Expand Down Expand Up @@ -303,24 +301,14 @@ static int lp5521_run_selftest(struct lp5521_chip *chip, char *buf)
return 0;
}

static void lp5521_set_brightness(struct led_classdev *cdev,
enum led_brightness brightness)
{
struct lp5521_led *led = cdev_to_led(cdev);
led->brightness = (u8)brightness;
schedule_work(&led->brightness_work);
}

static void lp5521_led_brightness_work(struct work_struct *work)
{
struct lp5521_led *led = container_of(work,
struct lp5521_led,
struct lp55xx_led *led = container_of(work, struct lp55xx_led,
brightness_work);
struct lp5521_chip *chip = led_to_lp5521(led);
struct i2c_client *client = chip->client;
struct lp55xx_chip *chip = led->chip;

mutex_lock(&chip->lock);
lp5521_write(client, LP5521_REG_LED_PWM_BASE + led->chan_nr,
lp55xx_write(chip, LP5521_REG_LED_PWM_BASE + led->chan_nr,
led->brightness);
mutex_unlock(&chip->lock);
}
Expand Down Expand Up @@ -711,6 +699,7 @@ static struct lp55xx_device_config lp5521_cfg = {
},
.max_channel = LP5521_MAX_LEDS,
.post_init_device = lp5521_post_init_device,
.brightness_work_fn = lp5521_led_brightness_work,
};

static int lp5521_probe(struct i2c_client *client,
Expand Down
23 changes: 4 additions & 19 deletions trunk/drivers/leds/leds-lp5523.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,6 @@ static void lp5523_set_mode(struct lp5523_engine *engine, u8 mode);
static int lp5523_set_engine_mode(struct lp5523_engine *engine, u8 mode);
static int lp5523_load_program(struct lp5523_engine *engine, const u8 *pattern);

static void lp5523_led_brightness_work(struct work_struct *work);

static int lp5523_write(struct i2c_client *client, u8 reg, u8 value)
{
return i2c_smbus_write_byte_data(client, reg, value);
Expand Down Expand Up @@ -468,29 +466,15 @@ static ssize_t lp5523_selftest(struct device *dev,
return pos;
}

static void lp5523_set_brightness(struct led_classdev *cdev,
enum led_brightness brightness)
{
struct lp5523_led *led = cdev_to_led(cdev);

led->brightness = (u8)brightness;

schedule_work(&led->brightness_work);
}

static void lp5523_led_brightness_work(struct work_struct *work)
{
struct lp5523_led *led = container_of(work,
struct lp5523_led,
struct lp55xx_led *led = container_of(work, struct lp55xx_led,
brightness_work);
struct lp5523_chip *chip = led_to_lp5523(led);
struct i2c_client *client = chip->client;
struct lp55xx_chip *chip = led->chip;

mutex_lock(&chip->lock);

lp5523_write(client, LP5523_REG_LED_PWM_BASE + led->chan_nr,
lp55xx_write(chip, LP5523_REG_LED_PWM_BASE + led->chan_nr,
led->brightness);

mutex_unlock(&chip->lock);
}

Expand Down Expand Up @@ -795,6 +779,7 @@ static struct lp55xx_device_config lp5523_cfg = {
},
.max_channel = LP5523_MAX_LEDS,
.post_init_device = lp5523_post_init_device,
.brightness_work_fn = lp5523_led_brightness_work,
};

static int lp5523_probe(struct i2c_client *client,
Expand Down
9 changes: 9 additions & 0 deletions trunk/drivers/leds/leds-lp55xx-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@

#include "leds-lp55xx-common.h"

static struct lp55xx_led *cdev_to_lp55xx_led(struct led_classdev *cdev)
{
return container_of(cdev, struct lp55xx_led, cdev);
}

static void lp55xx_reset_device(struct lp55xx_chip *chip)
{
struct lp55xx_device_config *cfg = chip->cfg;
Expand Down Expand Up @@ -74,6 +79,10 @@ static struct attribute_group lp55xx_led_attr_group = {
static void lp55xx_set_brightness(struct led_classdev *cdev,
enum led_brightness brightness)
{
struct lp55xx_led *led = cdev_to_lp55xx_led(cdev);

led->brightness = (u8)brightness;
schedule_work(&led->brightness_work);
}

static int lp55xx_init_led(struct lp55xx_led *led,
Expand Down

0 comments on commit 57df2ed

Please sign in to comment.