Anton,

> Hm. So Myungjoo thinks that some of the features are compatible. Which do
> you guys think are not compatible? Is this because charger manager does
> everything using a regulator framework? That is, quoting you:
> 
>   "The challenge I see in implementing the above requirements in charger
>    manager is, some of the above requirements are not supported by
>    the regulator framework."
> 
> So, maybe the part of the solution would be enhancing the regulators
> framework?..

I think modifying the regulator framework will not give a cleaner solution. The 
charger has more properties than  that can be handled by a regulator framework 
(Like controlling the charger path, CC and CV etc. ). Also wanted to make the 
charger algorithm event based. So keeping it with power_supply subsystem gives 
more flexibility to handle events. For example battery temperature change, 
voltage change, charger/battery status change etc  can be easily hooked to the 
power_supply_changed_work.

> 
> > The outcome of all the above changes would be that, a set of charging
> algorithms would be available in the mainline and chargers can make use of
> the algorithms without making much modifications to the charger driver
> code. Also this would give a standard framework for monitoring and
> controlling battery charging.
> 
> The idea of plug-in charging algorithms sounds great. So that we could
> choose the algo based on the battery type, charger type etc.
> This is awesome. But do you think you really need a new subsystem for that?
> And if so, will it complement charger manager, compete or substitute it?

The idea is to enhance the power_supply subsystem to plugin charging 
algorithms. It is not a substitute solution for charger-manager. 
> 
> I would have no problem with complementary subsystem, or just
> evolutionary/incrementally changing the charger-manger (this is surely
> preferred). If you think there is no way for incrementally modifying charger-
> manager for your needs, and you want a "from scratch" solution, this is also
> doable but following requirements are must-have:
> 
> 1. You can prove (on technical merits) that your new charger manager
>    is a complete superset of the old one, and adds some vital features
>    not available before (and these would be hard to implement in
>    terms of the old subsystem);
> 2. You'll have a defined roadmap to convert all charger-manager
>    users to a new subsystem (preferably w/ patches ready).
> 

The new solution is not intended to replace the charger-manager framework. So I 
think the charger-manager users can continue to use the charger-manager without 
any change.

> From the past experience, I can tell you that modifying an existing subsystem
> is a much easier way. :-) And the biggest advantage of the current code is
> that it is already well-tested, and incremental changes are easy to bisect.
> 

I agree to your point. We wanted to make use of the power_supply subsystem 
features as much as possible rather than having a completely new subsystem.

Thanks
-jtc
N�����r��y����b�X��ǧv�^�)޺{.n�+����{����zX����ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?�����&�)ߢf��^jǫy�m��@A�a���
0��h���i

Reply via email to