diff options
author | Milo(Woogyom) Kim <milo.kim@ti.com> | 2013-02-05 18:57:36 +0900 |
---|---|---|
committer | Bryan Wu <cooloney@gmail.com> | 2013-02-06 15:59:27 -0800 |
commit | ffbdccdbbaee814963a09d25b1cc598cfe131366 (patch) | |
tree | ed487c6e89fb106fd7de798d166ee4342efac85e /drivers/leds/leds-lp55xx-common.c | |
parent | e3a700d8aae190e09fb06abe0ddd2e172a682508 (diff) |
leds-lp55xx: use lp55xx common init function - post int
LP5521/5523 chip configuration is replaced with lp55xx common function,
lp55xx_post_init_device().
Name change:
lp5521/5523_configure() to lp5521/5523_post_init_device()
These are called in init function.
Register access function
Argument type is changed from 'i2c_client' to 'lp55xx_chip'.
Use exported R/W functions of lp55xx common driver.
Temporary variables in lp5521/5523_init_device()
These functions will be removed but temporary variables are needed for
blocking build warnings - incompatible pointer.
Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Bryan Wu <cooloney@gmail.com>
Diffstat (limited to 'drivers/leds/leds-lp55xx-common.c')
-rw-r--r-- | drivers/leds/leds-lp55xx-common.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/leds/leds-lp55xx-common.c b/drivers/leds/leds-lp55xx-common.c index 6fede0b9671..74beb363b78 100644 --- a/drivers/leds/leds-lp55xx-common.c +++ b/drivers/leds/leds-lp55xx-common.c @@ -53,6 +53,16 @@ static int lp55xx_detect_device(struct lp55xx_chip *chip) return 0; } +static int lp55xx_post_init_device(struct lp55xx_chip *chip) +{ + struct lp55xx_device_config *cfg = chip->cfg; + + if (!cfg->post_init_device) + return 0; + + return cfg->post_init_device(chip); +} + int lp55xx_write(struct lp55xx_chip *chip, u8 reg, u8 val) { return i2c_smbus_write_byte_data(chip->cl, reg, val); @@ -132,6 +142,11 @@ int lp55xx_init_device(struct lp55xx_chip *chip) goto err; } + /* chip specific initialization */ + ret = lp55xx_post_init_device(chip); + + return 0; + err: return ret; } |