From 6f20bcdb7b234fae03b28175a6a3e0d1ae44dc90 Mon Sep 17 00:00:00 2001 From: Michael Grzeschik Date: Wed, 14 Dec 2016 13:52:52 +0100 Subject: [PATCH] da9053: reset FAULTLOG after read The driver has to reset the FAULTLOG register after every read by writing the value back. In the current case the FALUTLOG register keep its value over every software reset and will only reset on power-off. This drives the reset-source value unreliable. Signed-off-by: Michael Grzeschik Signed-off-by: Sascha Hauer --- drivers/mfd/da9053.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/mfd/da9053.c b/drivers/mfd/da9053.c index 250c0556e..ccee9d6dd 100644 --- a/drivers/mfd/da9053.c +++ b/drivers/mfd/da9053.c @@ -240,6 +240,10 @@ static void da9053_detect_reset_source(struct da9053_priv *da9053) priority = of_get_reset_source_priority(da9053->dev->device_node); reset_source_set_priority(type, priority); + + ret = da9053_reg_write(da9053, DA9053_FAULTLOG_REG, val); + if (ret < 0) + return; } static void __noreturn da9053_force_system_reset(struct restart_handler *rst)