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

From: Frans Klaver
Date: Thu Sep 25 2014 - 05:32:54 EST


On Thu, Sep 25, 2014 at 11:27 AM, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> 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.
>
> Perhaps.
>
>> > 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.

Exactly. I can imagine this really being a problem if the i2c bus
already has a lot of priority traffic.

Frans
--
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/