From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH v2] power: bq24190_charger: Limit over/under voltage fault logging Date: Sun, 26 Mar 2017 13:04:01 +0200 Message-ID: References: <20170325112419.25120-1-liam@networkimprov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mx1.redhat.com ([209.132.183.28]:35902 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751403AbdCZLEU (ORCPT ); Sun, 26 Mar 2017 07:04:20 -0400 In-Reply-To: Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Liam Breck Cc: Sebastian Reichel , linux-pm@vger.kernel.org, Tony Lindgren , Liam Breck Hi, On 26-03-17 12:56, Liam Breck wrote: > On Sun, Mar 26, 2017 at 1:44 AM, Hans de Goede wrote: >> Hi, >> >> >> On 25-03-17 12:24, Liam Breck wrote: >>> >>> From: Liam Breck >>> >>> If the charger is unplugged before the battery is full we may >>> see an over/under voltage fault. Ignore this rather then emitting >>> a message or uevent. >>> >>> This fixes messages like these getting logged on charger unplug + replug: >>> bq24190-charger 15-006b: Fault: boost 0, charge 1, battery 0, ntc 0 >>> bq24190-charger 15-006b: Fault: boost 0, charge 0, battery 0, ntc 0 >>> >>> Cc: Tony Lindgren >>> Cc: Hans de Goede >>> Signed-off-by: Liam Breck >>> --- >>> v2: Don't hide clearance of other more urgent faults, or produce >>> a uevent for this superficial fault. >>> >>> drivers/power/supply/bq24190_charger.c | 7 ++++++- >>> 1 file changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/power/supply/bq24190_charger.c >>> b/drivers/power/supply/bq24190_charger.c >>> index 897491d..de1c54f 100644 >>> --- a/drivers/power/supply/bq24190_charger.c >>> +++ b/drivers/power/supply/bq24190_charger.c >>> @@ -1256,8 +1256,13 @@ static void bq24190_check_status(struct >>> bq24190_dev_info *bdi) >>> } >>> } while (f_reg && ++i < 2); >>> >>> + /* ignore over/under voltage fault after disconnect */ >>> + if (f_reg == (1 << BQ24190_REG_F_CHRG_FAULT_SHIFT) && >>> + !(ss_reg & BQ24190_REG_SS_PG_STAT_MASK)) >>> + f_reg = 0; >>> + >>> if (f_reg != bdi->f_reg) { >>> - dev_info(bdi->dev, >>> + dev_warn(bdi->dev, >>> "Fault: boost %d, charge %d, battery %d, ntc >>> %d\n", >>> !!(f_reg & BQ24190_REG_F_BOOST_FAULT_MASK), >>> !!(f_reg & BQ24190_REG_F_CHRG_FAULT_MASK), >>> >> >> You're now once again logging a warning when all faults clear, > > By design; I want to know when any serious fault clears. > > The under-voltage fault on disconnect will not trigger a cleared msg, > because the orig error is not recorded in bdi->f_reg. Ok fine by me. Regards, Hans > >> I believe this should now be: >> >> if (freg) >> dev_warn(bdi->dev, >> "Fault: boost %d, charge %d, battery %d, ntc >> %d\n", >> !!(f_reg & BQ24190_REG_F_BOOST_FAULT_MASK), >> !!(f_reg & BQ24190_REG_F_CHRG_FAULT_MASK), >> >> Regards, >> >> Hans >> >> >>