aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds/leds-lp5523.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/leds/leds-lp5523.c')
-rw-r--r--drivers/leds/leds-lp5523.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c
index 4248d78cec37..0cc4ead2fd8b 100644
--- a/drivers/leds/leds-lp5523.c
+++ b/drivers/leds/leds-lp5523.c
@@ -203,13 +203,6 @@ static int lp5523_configure(struct i2c_client *client)
203 { 0x9c, 0x50, 0x9c, 0xd0, 0x9d, 0x80, 0xd8, 0x00, 0}, 203 { 0x9c, 0x50, 0x9c, 0xd0, 0x9d, 0x80, 0xd8, 0x00, 0},
204 }; 204 };
205 205
206 lp5523_write(client, LP5523_REG_RESET, 0xff);
207
208 usleep_range(10000, 20000); /*
209 * Exact value is not available. 10 - 20ms
210 * appears to be enough for reset.
211 */
212
213 ret |= lp5523_write(client, LP5523_REG_ENABLE, LP5523_ENABLE); 206 ret |= lp5523_write(client, LP5523_REG_ENABLE, LP5523_ENABLE);
214 /* Chip startup time is 500 us, 1 - 2 ms gives some margin */ 207 /* Chip startup time is 500 us, 1 - 2 ms gives some margin */
215 usleep_range(1000, 2000); 208 usleep_range(1000, 2000);
@@ -941,6 +934,11 @@ static int lp5523_probe(struct i2c_client *client,
941 usleep_range(1000, 2000); /* 500us abs min. */ 934 usleep_range(1000, 2000); /* 500us abs min. */
942 } 935 }
943 936
937 lp5523_write(client, LP5523_REG_RESET, 0xff);
938 usleep_range(10000, 20000); /*
939 * Exact value is not available. 10 - 20ms
940 * appears to be enough for reset.
941 */
944 ret = lp5523_detect(client); 942 ret = lp5523_detect(client);
945 if (ret) 943 if (ret)
946 goto fail2; 944 goto fail2;