Re: [PATCH 17/57] power: ab8500_bm: Added support for BATT_OVV
From: Anton Vorontsov
Date: Wed Sep 26 2012 - 23:38:53 EST
On Tue, Sep 25, 2012 at 10:12:14AM -0600, mathieu.poirier@xxxxxxxxxx wrote:
> From: Hakan Berg <hakan.berg@xxxxxxxxxxxxxx>
>
> Add support for the battery over-voltage situation
>
> Signed-off-by: Hakan Berg <hakan.berg@xxxxxxxxxxxxxx>
> Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
> Reviewed-by: Karl KOMIEROWSKI <karl.komierowski@xxxxxxxxxxxxxx>
> ---
> drivers/power/ab8500_fg.c | 32 ++++++++++++++++----------------
> 1 files changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c
> index c4d9307..8507254 100644
> --- a/drivers/power/ab8500_fg.c
> +++ b/drivers/power/ab8500_fg.c
> @@ -1842,24 +1842,26 @@ static void ab8500_fg_check_hw_failure_work(struct work_struct *work)
> * If we have had a battery over-voltage situation,
> * check ovv-bit to see if it should be reset.
> */
> - if (di->flags.bat_ovv) {
> - ret = abx500_get_register_interruptible(di->dev,
> - AB8500_CHARGER, AB8500_CH_STAT_REG,
> - ®_value);
> - if (ret < 0) {
> - dev_err(di->dev, "%s ab8500 read failed\n", __func__);
> - return;
> - }
> - if ((reg_value & BATT_OVV) != BATT_OVV) {
> - dev_dbg(di->dev, "Battery recovered from OVV\n");
> - di->flags.bat_ovv = false;
> + ret = abx500_get_register_interruptible(di->dev,
> + AB8500_CHARGER, AB8500_CH_STAT_REG,
> + ®_value);
> + if (ret < 0) {
> + dev_err(di->dev, "%s ab8500 read failed\n", __func__);
> + return;
> + }
> + if ((reg_value & BATT_OVV) == BATT_OVV) {
> + if (!di->flags.bat_ovv) {
> + dev_dbg(di->dev, "Battery OVV\n");
> + di->flags.bat_ovv = true;
> power_supply_changed(&di->fg_psy);
> - return;
> }
> -
> /* Not yet recovered from ovv, reschedule this test */
> queue_delayed_work(di->fg_wq, &di->fg_check_hw_failure_work,
> - round_jiffies(HZ));
> + HZ);
Why this change? I.e. round_jiffies(HZ) -> HZ?
Yes, it seems like round_jiffies(HZ) is not needed since HZ itself is a
full second.. But the change itself does not belong to this patch.
> + } else {
> + dev_dbg(di->dev, "Battery recovered from OVV\n");
> + di->flags.bat_ovv = false;
> + power_supply_changed(&di->fg_psy);
> }
> }
>
> @@ -2039,8 +2041,6 @@ static irqreturn_t ab8500_fg_batt_ovv_handler(int irq, void *_di)
> struct ab8500_fg *di = _di;
>
> dev_dbg(di->dev, "Battery OVV\n");
> - di->flags.bat_ovv = true;
> - power_supply_changed(&di->fg_psy);
>
> /* Schedule a new HW failure check */
> queue_delayed_work(di->fg_wq, &di->fg_check_hw_failure_work, 0);
> --
> 1.7.5.4
--
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/