Re: [PATCH 2/2] power_supply: Add support for TI BQ25890 charger chip

From: Krzysztof Kozlowski
Date: Tue May 19 2015 - 06:03:50 EST


2015-05-19 18:14 GMT+09:00 Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx>:
> Hi Krzysztof,
>
> On Tue, May 19, 2015 at 05:40:25PM +0900, Krzysztof Kozlowski wrote:
>> > +
>> > +static int bq25890_chip_reset(struct bq25890_device *bq)
>> > +{
>> > + int ret;
>> > +
>> > + ret = bq25890_field_write(bq, F_REG_RST, 1);
>> > + if (ret < 0)
>> > + return ret;
>> > +
>> > + do {
>> > + ret = bq25890_field_read(bq, F_REG_RST);
>> > + if (ret < 0)
>> > + return ret;
>> > +
>> > + usleep_range(5, 10);
>> > + } while (ret == 1);
>>
>> Is it possible to loop here indefinetely?
> According to specifications, this field is "Reset to 0 after register
> reset is completed", so I'm trusting the chip will behave as advertised!
> :) We could implement a safety mechanism to avoid looping in case the
> chip misbehaves but I don't think it's worth it. What do you think?

I just prefer to use some retry counter because it would be better to
fail the reset instead of being stuck here. The chip may behave
correctly but still a bug could exist in the driver. The retry counter
won't be much complicated here also. But I do not insist so if you
really think it is not worth it then I am fine.

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/