I've been reworking the bq2429x kernel driver in order to improve charging behavior. Once this is mature enough, I will begin reworking the bq27xx driver as well to fix some bugs. I would appreciate some feedback if possible during the progress. I have been working on this with hns but am making a mailing list thread per his request.
What's done: - refactor driver to improve conciseness and prepare style for eventual mainline submission - improve charge state and charge type logic - inform power_supply subsystem when charge type changes - remove some properties reporting false values (was previously based on guessing)
To do: - reimplement OTG support - implement dtb support for input current limit, input voltage limit, minimum system voltage, fast charge current limit, precharge/term limit, and charge voltage limit
There are currently some issues with my access to the letux kernel, so I can't submit an official patch yet. You can see my work by viewing the following merge request on the PyraOS fork (which will soon be phased out once my access to Letux is repaired).
https://dev.pyra-handheld.com/kernel/pyra-kernel/merge_requests/3