Messages in this thread Patch in this message | | | From | David Heidelberg <> | Subject | [PATCH 2/9] power: supply: smb347-charger: Add delay before getting IRQSTAT | Date | Sun, 29 Mar 2020 18:15:45 +0200 |
| |
This delay-fix is picked up from downstream driver, we measured that 25 - 35 ms delay ensure that we get required data.
Tested on SMB347 on Nexus 7 2012. Otherwise IRQSTAT_E fails to provide correct information.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: David Heidelberg <david@ixit.cz> --- drivers/power/supply/smb347-charger.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/power/supply/smb347-charger.c b/drivers/power/supply/smb347-charger.c index d102921b3ab2..f99026d81f2a 100644 --- a/drivers/power/supply/smb347-charger.c +++ b/drivers/power/supply/smb347-charger.c @@ -8,6 +8,7 @@ * Mika Westerberg <mika.westerberg@linux.intel.com> */ +#include <linux/delay.h> #include <linux/err.h> #include <linux/gpio.h> #include <linux/kernel.h> @@ -708,6 +709,9 @@ static irqreturn_t smb347_interrupt(int irq, void *data) bool handled = false; int ret; + /* SMB347 it needs at least 20ms for setting IRQSTAT_E_*IN_UV_IRQ */ + usleep_range(25000, 35000); + ret = regmap_read(smb->regmap, STAT_C, &stat_c); if (ret < 0) { dev_warn(smb->dev, "reading STAT_C failed\n"); -- 2.25.0
| |