summaryrefslogtreecommitdiffstats
path: root/drivers/leds
diff options
context:
space:
mode:
authorGeorge Stark <gnstark@salutedevices.com>2023-11-25 23:05:14 +0300
committerLee Jones <lee@kernel.org>2023-12-13 11:28:58 +0000
commitd883a5ab2f345c2adca781901731795ab94886fb (patch)
tree5a5148b736986a33359c37dd373d051f11990c87 /drivers/leds
parentaa4ed49f42400b503690fd3184d93eee0d765a88 (diff)
downloadlinux-stable-d883a5ab2f345c2adca781901731795ab94886fb.tar.gz
linux-stable-d883a5ab2f345c2adca781901731795ab94886fb.tar.bz2
linux-stable-d883a5ab2f345c2adca781901731795ab94886fb.zip
leds: aw200xx: Add delay after software reset
According to the datasheets of AW200xx devices, the software reset takes at least 1ms. Therefore, it is required to add a delay after the reset before issuing commands to the device. Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com> Link: https://lore.kernel.org/r/20231125200519.1750-7-ddrokosov@salutedevices.com Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'drivers/leds')
-rw-r--r--drivers/leds/leds-aw200xx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/leds/leds-aw200xx.c b/drivers/leds/leds-aw200xx.c
index 1756b012a0b7..d4877722eb56 100644
--- a/drivers/leds/leds-aw200xx.c
+++ b/drivers/leds/leds-aw200xx.c
@@ -321,6 +321,9 @@ static int aw200xx_chip_reset(const struct aw200xx *const chip)
if (ret)
return ret;
+ /* According to the datasheet software reset takes at least 1ms */
+ fsleep(1000);
+
regcache_mark_dirty(chip->regmap);
return regmap_write(chip->regmap, AW200XX_REG_FCD, AW200XX_FCD_CLEAR);
}