-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 15/10/2013 15:56, Pali Rohár wrote: > On Wednesday 02 October 2013 12:24:22 Alexandre Belloni wrote: >> As per the datasheets, maximum battery regulation voltage is >> 4440mV. >> >> The formula is (voltage - offset) / step, so the maximum value >> is: (4440 - 3500) / 20 = 47 >> >> Signed-off-by: Alexandre Belloni >> <alexandre.bell...@free-electrons.com> --- >> drivers/power/bq2415x_charger.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/power/bq2415x_charger.c >> b/drivers/power/bq2415x_charger.c index 0727f92..0aa643e >> 100644 >> --- a/drivers/power/bq2415x_charger.c >> +++ b/drivers/power/bq2415x_charger.c >> @@ -607,7 +607,7 @@ static int >> bq2415x_set_battery_regulation_voltage(struct bq2415x_device >> *bq, >> >> if (val < 0) >> val = 0; >> - else if (val > 94) /* FIXME: Max is 94 or 122 ? Set max >> value ? */ + else if (val > 47) >> return -EINVAL; >> >> return bq2415x_i2c_write_mask(bq, BQ2415X_REG_VOLTAGE, val, > > Right, max is 47 (101111) and not 94 (1011110). But if you set > all six registers to 1 then you get 63 (111111) and not 122. > > I do not know from where I got above bad values, but you should > add comment to code that according to datasheet max value is > 4440mV (101111) and not 4760mV (111111). > You probably missed the division by 2. BTW, I much prefer int val = (mV - 3500) / 20; which is clearer: offset is 3500mV and step is 20mV. I find your calculation quite weird ;)
I'll send V2 with a comment then. Thank you for your review. - -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBCAAGBQJSXVcWAAoJEKbNnwlvZCyzfiUQAKkLAbJlnQpNx+CG+tIzb36Q 3/hRTHMb+/Mrr0Db90OPqmJoItVH5WRsf/sRo+6990C95/PNdraM2a/Tibkz+3iD rww0I01a73w3LBW5tWyN8kj/0iAQFX6h1fzv6dmeAvwZqTk/w7mfm5jv1fjcPYXI UkTlPSBbH91YnTG9fqVjgpAYxVC64/eGJPMR6sfMnQ/zOWrX7ihGSEbEt8t4s4cX ouwT5hHu2MmP5WY5IQKJ92+jx4nJsmtuI6HXEQwYPTnCUE8UbQHyezORTQB3cA7H k0n1ha2SdwMqRkJGxr2T+NFTv1NCD5p72k34kWJPIeF7aFs51i8OiGUskPSBDK89 G9+8zxiD+8dK4B6RqXkq297AgRaNJm9+Ju30r2lrI/NhHocEWsWai+K0L2TF2Oag 4iEdwoQ9BHapcM4jVp2Ik5Oxg7I3909xR0rfWzCGvASPEZseXtgZWYsxZdGy/mZT +hYaQYmOwV16FWxP+vSMWQPqW477E0q773j8ArnDx4gSta6+FTxfFeMYOFwF3leQ FltSuDsKxVtip3Rzg77nbMdx6yTkWPvVgWH72grxSYaNYjQY2+pWhTXYOo2hZYzv Ljr24qvYfzPiMpzMBFZDrm8SZ9LTKHsuKaLgLPTiHrJi+jS9aRK8avgYYNyyiVRP 60UKJwXam6LOq9/qW0eb =n54z -----END PGP SIGNATURE----- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/