[PATCH 2/5] power: supply: bd71828: Fix current direction
Matti Vaittinen <[email protected]>
| Newsgroups | org.kernel.vger.linux-pm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <22c6816204b3f2a8b50df8171e384937822d195b.1786356145.git.mazziesaccount@gmail.com> |
From: Matti Vaittinen <[email protected]> Both the current and the average current registers contain same 'direction' -bit to denote the direction of the current. The code reading these registers incorrectly caches the direction read from the first register, and uses it also for the second. Fix this by initializing the direction bit for both register reads. Signed-off-by: Matti Vaittinen <[email protected]> Fixes: 5bff79dad20a ("power: supply: Add bd718(15/28/78) charger driver") --- drivers/power/supply/bd71828-power.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/power/supply/bd71828-power.c b/drivers/power/supply/bd71828-power.c index e1ae5fe52e1d..9927a7e8934a 100644 --- a/drivers/power/supply/bd71828-power.c +++ b/drivers/power/supply/bd71828-power.c @@ -192,12 +192,13 @@ static int bd71828_get_current_ds_adc(struct bd71828_power *pwr, int *curr, int { __be16 tmp_curr; char *tmp = (char *)&tmp_curr; - int dir = 1; int regs[] = { pwr->regs->ibat, pwr->regs->ibat_avg }; int *vals[] = { curr, curr_avg }; int ret, i; - for (dir = 1, i = 0; i < ARRAY_SIZE(regs); i++) { + for (i = 0; i < ARRAY_SIZE(regs); i++) { + int dir = 1; + ret = regmap_bulk_read(pwr->regmap, regs[i], &tmp_curr, sizeof(tmp_curr)); if (ret) -- 2.55.0
signature.asc
(application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEIx+f8wZb28fLKEhTeFA3/03aocUFAmp5o0MACgkQeFA3/03a ocUZFgf/Zg6Rh9shYDmlINQupUAFf/r5pvtrAmiz8MuDkHk06olBAEcBtAlXxDSF wp9aeNxH2IP2DN7Wd88y6zZX3RAR7opoy1cg8T5kG+c8nAFUGikFRIIITmcOiJU2 TkL8ClovN+cGXPTxB2IP9QaIfeaROlsgci8O1NoHy5ntQt9u8qi+u/DDmiLeZApx GsebcxWxqMBWQ4XZK74ZBeoEOh5Q/hcYq+uNloHoRx26dcUxH1I08IL+jtYJIFRJ cqQK9lsYnovYy3soSr9rNHd60tyNys8sLwVAToC7kfYq5yHP1N2vhqoxOJow0VHF 98tURUYxXlDozOi51BQMXZfasDd1+w== =5BC8 -----END PGP SIGNATURE-----