Re: [PATCH v6 09/10] power: supply: Support ROHM bd99954 charger

From: Vaittinen, Matti
Date: Wed Mar 25 2020 - 05:48:00 EST



On Tue, 2020-03-24 at 12:53 +0200, Matti Vaittinen wrote:
> Hello Andy,
>
> I do agree with most of the things you pointed out. I didn't comment
> them.
>
> On Tue, 2020-03-24 at 11:50 +0200, Andy Shevchenko wrote:
> > On Tue, Mar 24, 2020 at 10:32:19AM +0200, Matti Vaittinen wrote:
> > > The ROHM BD99954 is a Battery Management LSI for 1-4 cell
> > > Lithium-
> > > Ion
> > > secondary battery intended to be used in space-constraint
> > > equipment
> > > such
> > > as Low profile Notebook PC, Tablets and other applications.
> > > BD99954
> > > provides a Dual-source Battery Charger, two port BC1.2 detection
> > > and a
> > > Battery Monitor.
> >
> > > + do {
> > > + ret = regmap_field_read(bd-
> > > >rmap_fields[F_OTPLD_STATE],
> > > &state);
> > > + if (ret)
> > > + return ret;
> > > +
> > > + msleep(10);
> > > + } while (state == 0 && --rst_check_counter);
> >
> > regmap_read_poll_timeout() exists, but I see you use it for field.
> > Perhaps it's
> > a time to introduce similar helper for field polling.
> This series is again getting lengthy... I'll see if I add such an API
> in this series. I've learned that adding changes will increase the
> time
> it takes to push the series through. It might be more reviewer
> friendly
> to add it in own patch with limited review audience (as would be the
> patch 10/10 in this series). But I think your point is valid.

I took a peek at regmap_read_poll_timeout(). Nice API - and if we were
to create similar for fields, we should probably make behaviour
identical to regmap_read_poll_timeout(). I see
regmap_read_poll_timeout() is using hrtimers for timeout - which is
overkill for the BD99954 needs. I'd rather keep the msleep here.

Br,
Matti