Re: [PATCH] power: introduce Charger-Manager

From: Rafael J. Wysocki
Date: Thu Jul 07 2011 - 17:17:44 EST


On Thursday, June 30, 2011, MyungJoo Ham wrote:
> Charger Manager provides in-kernel battery charger management that
> requires temperature monitoring during both normal and suspend-to-RAM states
> and where each battery may have multiple chargers attached and the userland
> wants to look at the aggregated information of the multiple chargers.
>
> For the discussions about the need for in-suspend monitoring, please
> refer to the discussions of suspend-again in PM:
> v1 https://lists.linux-foundation.org/pipermail/linux-pm/2011-April/031052.html
> v2 https://lists.linux-foundation.org/pipermail/linux-pm/2011-April/031111.html
> v3 https://lists.linux-foundation.org/pipermail/linux-pm/2011-May/031267.html
> v4 https://lists.linux-foundation.org/pipermail/linux-pm/2011-May/031357.html
> v5 (last, applied) https://lists.linux-foundation.org/pipermail/linux-pm/2011-June/031561.html
>
> To see the usage example, please refer to:
> http://git.infradead.org/users/kmpark/linux-2.6-samsung/shortlog/refs/heads/charger-manager
> In this git branch, a test code for Exynos4-NURI is shown.
>
> Charger Manager is a platform_driver with power-supply-class entries.
> An instance of Charger Manager (a platform-device created with
> Charger-Manager) represents a battery with chargers. If there are multiple
> batteries with their own chargers acting independently in a system,
> the system may need multiple instances of Charger Manager.
>
> Charger Manager glues multiple charger-related frameworks (regulators of
> chargers, power-supply-class from chargers and fuel-gauge, RTC,
> suspend-again, ...) together to provide aggregated information and
> transparent battery monitoring to userspace.
>
> Because battery health monitoring should be done even when suspended,
> it needs to wake up and suspend periodically. Thus, userspace battery
> monitoring may incur too much overhead; every device and task is waked
> up periodically. Charger Manager uses suspend-again (in next PM) to provide
> in-suspend monitoring. Multiple chargers (e.g., USB, wireless, and solar
> panels) may be included as pairs of a regulator and a power-supply-class
> per charger. Charger Manager provides power-supply-class aggregating
> information from multiple chargers and a fuel-gauge and UEVENT notifying
> status changes. Multiple instances of Charger Manager enable multiple
> batteries.
>
> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>

I have tried to review this patch, but it is _huge_. Is there any reasonable
way to split it into a series of smaller patches that would be easier to
comprehend?

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