Re: [PATCH] battery: Fix charge_now returned by broken batteries

From: Henrique de Moraes Holschuh
Date: Sat Oct 10 2009 - 17:54:21 EST


On Sat, 10 Oct 2009, Pavel Machek wrote:
> > >> In "broken" batteries (is it broken finally? or is it expected
> > >> behaviour?) like mine the old problem will be corrected, as it was
> > >> only present in the charged state.
> > >
> > > I believe you better work around this in userspace... or agree that
> > >>100% charge is possible.
> >
> > I agree that >100% charge is possible while charging (because that
> > would mean the battery is over the last charged level); however, what
> > does it mean when charged?
>
> Well, maybe the battery only updates full_charge_capacity during
> powerdown or when the moon is full or something? (IOW you may be
> breaking already working machines).
>
> > In any case, my laptop's battery is not charging over 100% its
> > original capacity anyway, just reporting a wrong value.
>
> True. But I do not think you are fixing it properly. Maybe ask for
> fixed BIOS?
>
> Or perhaps add quirk based on DMI or something?

FIW, I do think we should attempt to fix situations that are always wrong,
we have a long history of doing that, and it doesn't make sense to send to
userspace stuff that we _know_ to be crap.

The problem is that to, e.g., fix last_full_capacity, you need to be able to
trust your reports of battery state (needs to be idle or discharging), and
current capacity.

So it ends up needing to be quirk-based, as different broken crap will fail
in conflicting ways, so you can't fix them all in one sweep, you'll just
make it worse. And the _one_ thing we must never do is to make it worse for
the hardware/firmware that gets it right...

I agree with Pavel, can you make it quirk-based?

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
--
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/