lkml.org 
[lkml]   [2011]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 11/14] POWER: bq27x00: Give more specific reports on battery status
On Sun, Feb 06, 2011 at 01:48:08AM +0100, Lars-Peter Clausen wrote:
> The current code only reports whether the battery is charging or discharging.
> But the battery also reports whether it is fully charged, furthermore by look at
> if the battery is supplied we can tell whether it is discharging or not
> charging.
>
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> ---
> drivers/power/bq27x00_battery.c | 7 ++++++-
> 1 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/power/bq27x00_battery.c b/drivers/power/bq27x00_battery.c
> index 7540364..961238f 100644
> --- a/drivers/power/bq27x00_battery.c
> +++ b/drivers/power/bq27x00_battery.c
> @@ -54,6 +54,7 @@
> #define BQ27000_REG_RSOC 0x0B /* Relative State-of-Charge */
> #define BQ27000_REG_ILMD 0x76 /* Initial last measured discharge */
> #define BQ27000_FLAG_CHGS BIT(7)
> +#define BQ27000_FLAG_FC BIT(5)
>
> #define BQ27500_REG_SOC 0x2c
> #define BQ27500_REG_DCAP 0x3C /* Design capacity */
> @@ -395,8 +396,12 @@ static int bq27x00_battery_status(struct bq27x00_device_info *di,
> else
> status = POWER_SUPPLY_STATUS_CHARGING;
> } else {
> - if (di->cache.flags & BQ27000_FLAG_CHGS)
> + if (di->cache.flags & BQ27000_FLAG_FC)
> + status = POWER_SUPPLY_STATUS_FULL;
> + else if (di->cache.flags & BQ27000_FLAG_CHGS)
> status = POWER_SUPPLY_STATUS_CHARGING;
> + else if (power_supply_am_i_supplied(&di->bat))
> + status = POWER_SUPPLY_STATUS_NOT_CHARGING;
> else
> status = POWER_SUPPLY_STATUS_DISCHARGING;
> }
> --
> 1.7.2.3
>

Acked-by: Rodolfo Giometti <giometti@linux.it>

--

GNU/Linux Solutions e-mail: giometti@enneenne.com
Linux Device Driver giometti@linux.it
Embedded Systems phone: +39 349 2432127
UNIX programming skype: rodolfo.giometti
Freelance ICT Italia - Consulente ICT Italia - www.consulenti-ict.it


\
 
 \ /
  Last update: 2011-02-06 17:41    [from the cache]
©2003-2011 Jasper Spaans