Re: [RFC PATCH 1/2] sbs-battery: add forced instantiation from device tree

From: Mark Rutland
Date: Thu Sep 25 2014 - 05:28:05 EST

On Wed, Sep 24, 2014 at 07:59:34PM +0100, Frans Klaver wrote:
> On Wed, Sep 24, 2014 at 04:34:32PM +0100, Mark Rutland wrote:
> > On Wed, Sep 24, 2014 at 04:14:48PM +0100, Frans Klaver wrote:
> > > On Wed, Sep 24, 2014 at 03:38:49PM +0100, Mark Rutland wrote:
> > > > On Wed, Sep 24, 2014 at 03:22:22PM +0100, Frans Klaver wrote:
> > > > You mention that there's a GPIO that can be used to detect the battery
> > > > presence. Why can't the driver always probe and then on check for the
> > > > presence of the battery dynamically using that GPIO? That should cover
> > > > both cases.
> > >
> > > I would say that this was the case before [1] was done. The GPIO is
> > > optional and if not configured, the presence or absence of the battery
> > > is detected by checking a status register much like probe() currently
> > > does. It seems all cases were covered before that patch. If you worry
> > > about speed, you should use the GPIO. I wonder if we might be able to
> > > revert [1] without doing much harm.
> >
> > But reverting that would re-introduce the lag on some systems, no? Given
> > the wording of the original commit I would guess that the GPIO wasn't
> > available. Perhaps Olof or Anton can enlighten us?
> It probably would yes. The battery_detect gpio was last touched in 2011, the
> probe check was added somewhere in 2012.

We can't revert it unless we know doing so won't reintroduce the
problem. From the above it sounds like we can't revert it.

> We could keep it as a compile option.


> > In the cases where a GPIO is available, I think we should be able to be
> > less pessimistic. Is a GPIO available in your case?
> We don't have the battery_detect pin available. Incidentally, a bit of
> lag reading out the battery is not a problem for us.

So now we're back at sqaure one. The hardware is likely identical in the
your case and the care-about-lag case. Whether or not you care about lag
is a property of the user rather than the HW, so I don't think that
belongs in the dt.

It would be interesting to know what the lag was adversely affecting.
Perhaps there's another way around this.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at