Re: [PATCH v2 2/3] bq2415x_charger: Use power_supply notifier for automode

From: ÐÐÐÐÐÐ ÐÐÐÐÑÑÐÐ
Date: Mon Nov 25 2013 - 13:32:54 EST


>-------- ÐÑÐÐÐÐÐÐÐÐ ÐÐÑÐÐ --------
>ÐÑ: Sebastian Reichel
>ÐÑÐÐÑÐÐ: Re: [PATCH v2 2/3] bq2415x_charger: Use power_supply notifier for
automode
>ÐÐ: ÐÐÐÐÐÐ ÐÐÐÐÑÑÐÐ
>ÐÐÐÑÐÑÐÐÐ ÐÐ: ÐÐÐÐÐÐÐÐÐÐ, 2013, ÐÐÐÐÐÑÐ 25 19:14:21 EET
>
>
>On Mon, Nov 25, 2013 at 07:01:54PM +0200, ÐÐÐÐÐÐ ÐÐÐÐÑÑÐÐ wrote:
>>> Now.. Imagine phone left in car in charger (on sun). Likely
>>> temperature will reach high values, kernel is charging, dsme will
>>> reboot the system, but kernel will start charging again, dsme will
>>> reboot again, ...
>>>
>>> And it is not only high temperatures that are problem for li-ion
>>> charging; battery should not be fast charged below 5C and should not
>>> be charged below 0C. (Again, both are likely to happen if you leave
>>> your phone in car).
>>>
>>> AFAICT, we should simply disable charging below 5C or above 45C.
>>
>> AFAIK dsme will not restart it, but power it off, so the above
>> scenario won't happen.
>
>Just assume what happens, when dsme does not start (e.g. system boot
>hangs).
>
>If everything is controlled from userspace, charger would not start
>(-> safe!). If everything is controlled by the kernel, temperature
>safety checks are taken (-> safe!). But in the currently proposed
>variant: No safety checks.
>
>-- Sebastian
>
>

Hmm, you have a point here :)

So, AIUI there are 2 options:

1. charger driver polls the battery driver every n (60?) seconds.
2. battery driver sends PSY_EVENT_PROP_CHANGED on every degree up or
down

In both cases if the temperature is outside of the safe margins, the
charging should be stopped.

2 seems more generic to me, but as rx51-battery is missing the
functionality to send events on temperature change, I guess 1 will
be easier to implement.

And I think there should be some method (sysfs entry?, /dev/bqxxx
opened?) to tell the charger driver to stop polling the battery
driver once (and if) the userspace has started to take care of the
battery temperature - makes no sense to duplicate the checks IMO.

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