mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Anton Vorontsov <cbouatmailru@gmail.com>
Cc: Pali Rohar <pali.rohar@gmail.com>,
	Rodolfo Giometti <giometti@linux.it>,
	Grazvydas Ignotas <notasas@gmail.com>,
	linux-kernel@vger.kernel.org,
	Lars-Peter Clausen <lars@metafoo.de>
Subject: [PATCH v3 13/16] bq27x00: Give more specific reports on battery status
Date: Tue, 22 Feb 2011 07:37:58 +0100	[thread overview]
Message-ID: <1298356681-8317-14-git-send-email-lars@metafoo.de> (raw)
In-Reply-To: <1298356681-8317-1-git-send-email-lars@metafoo.de>

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>
Acked-by: Rodolfo Giometti <giometti@linux.it>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
---
 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 0e99d02..003be5f 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 */
@@ -365,8 +366,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


  parent reply	other threads:[~2011-02-22  6:42 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-22  6:37 [PATCH v3 00/16] bq27x00: New Properties, fixes, bq27000 support Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 01/16] power_supply: Ignore -ENODATA errors when generating uevents Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 02/16] power_suply: Initialize changed_work before calling device_add Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 03/16] bq27x00: Add type property Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 04/16] bq27x00: Improve temperature property precession Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 05/16] bq27x00: Fix CURRENT_NOW property Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 06/16] bq27x00: Return -ENODEV for properties if the battery is not present Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 07/16] bq27x00: Prepare code for addition of bq27000 platform driver Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 08/16] bq27x00: Add bq27000 support Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 09/16] bq27x00: Cache battery registers Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 10/16] bq27x00: Poll battery state Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 11/16] bq27x00: Add new properties Lars-Peter Clausen
2011-02-22  6:37 ` [PATCH v3 12/16] bq27x00: Add MODULE_DEVICE_TABLE Lars-Peter Clausen
2011-02-22  6:37 ` Lars-Peter Clausen [this message]
2011-02-22  6:37 ` [PATCH v3 14/16] bq27x00: Minor cleanups Lars-Peter Clausen
2011-02-22  6:38 ` [PATCH v3 15/16] bq27x00: Cleanup bq27x00_i2c_read Lars-Peter Clausen
2011-02-22  6:38 ` [PATCH v3 16/16] bq27x00: Use single i2c_transfer call for property read Lars-Peter Clausen
2011-02-22  9:45 ` [PATCH v3 00/16] bq27x00: New Properties, fixes, bq27000 support Anton Vorontsov
2011-02-22 10:07   ` Lars-Peter Clausen
2011-02-28 14:38 ` Anton Vorontsov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1298356681-8317-14-git-send-email-lars@metafoo.de \
    --to=lars@metafoo.de \
    --cc=cbouatmailru@gmail.com \
    --cc=giometti@linux.it \
    --cc=linux-kernel@vger.kernel.org \
    --cc=notasas@gmail.com \
    --cc=pali.rohar@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome