summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattis fjallstrom <mattis@acm.org>2015-12-23 01:14:51 -0800
committermattis fjallstrom <mattis@acm.org>2015-12-23 01:14:51 -0800
commit486838fccd35bd69a7e319a531cc313ad2a2b73e (patch)
tree0fab5f90daf7ab0c6f1cd32526f1bb76f78b7999
parentd5e9b490da6d4444025a9315a89ad6d8ec70f50b (diff)
downloadolio-linux-3.10-486838fccd35bd69a7e319a531cc313ad2a2b73e.tar.xz
olio-linux-3.10-486838fccd35bd69a7e319a531cc313ad2a2b73e.zip
Disabled charging changes for now.
Change-Id: Idf75be99fc1db64d63a4a98a9f26f4e27ab968a0
-rw-r--r--drivers/power/bq27x00_battery.c21
-rw-r--r--drivers/staging/triune/ts81001.c4
2 files changed, 20 insertions, 5 deletions
diff --git a/drivers/power/bq27x00_battery.c b/drivers/power/bq27x00_battery.c
index e0ab81f4cc3..144e36bf07d 100644
--- a/drivers/power/bq27x00_battery.c
+++ b/drivers/power/bq27x00_battery.c
@@ -438,6 +438,8 @@ module_param(poll_interval, uint, 0644);
MODULE_PARM_DESC(poll_interval, "battery poll interval in seconds - " \
"0 disables polling");
+static volatile int mA_now;
+
/*
* Forward Declarations
*/
@@ -978,7 +980,7 @@ static void bq27x00_update(struct bq27x00_device_info *di)
cache.flags = bq27xxx_read(di, BQ27XXX_REG_FLAGS, !is_bq27500);
- printk ("Cache flags read from bq is 0x%x\n", cache.flags);
+ olio_debug ("Cache flags read from bq is 0x%x\n", cache.flags);
if (cache.flags >= 0) {
if (is_bq27200 && (cache.flags & BQ27200_FLAG_CI)) {
@@ -1195,11 +1197,13 @@ static int bq27x00_battery_current(struct bq27x00_device_info *di,
#ifdef CONFIG_OLIO_TS81001
-static int bq27x00_charger_status(struct bq27x00_device_info *di) {
+static int bq27x00_charger_status(struct bq27x00_device_info *di,
+ union power_supply_propval *val) {
struct device * bq = di->dev;
struct bq27x00_platform_data * pdata = bq->platform_data;
struct ts81001 * ts81001;
ts81001_state_t state;
+ int curr;
olio_debug("entered\n");
@@ -1212,12 +1216,22 @@ static int bq27x00_charger_status(struct bq27x00_device_info *di) {
olio_debug("Got client data for dev %s\n", dev_name(ts81001->dev));
+#if 0
+ /* Test 1 */
if(di->cache.flags & BQ27XXX_FLAG_FC) {
ts81001->ops->request_charge(ts81001, 100);
} else {
ts81001->ops->request_charge(ts81001, 390);
}
+ /* Test 2 */
+ printk ("OLIO %s mA_now == %d \n", __FUNCTION__, mA_now);
+
+ if (mA_now < 0) {
+ ts81001->ops->request_charge(ts81001, 100);
+ }
+#endif
+
state = ts81001->ops->get_status(ts81001);
olio_debug("Got status\n");
@@ -1257,7 +1271,7 @@ static int bq27x00_battery_status(struct bq27x00_device_info *di,
status = POWER_SUPPLY_STATUS_DISCHARGING;
} else {
#ifdef CONFIG_OLIO_TS81001
- status = bq27x00_charger_status (di);
+ status = bq27x00_charger_status (di, val);
if(status == POWER_SUPPLY_STATUS_CHARGING &&
di->cache.flags & BQ27XXX_FLAG_FC) {
@@ -1371,6 +1385,7 @@ static int bq27x00_battery_get_property(struct power_supply *psy,
break;
case POWER_SUPPLY_PROP_CURRENT_NOW:
ret = bq27x00_battery_current(di, val);
+ mA_now = val->intval;
break;
case POWER_SUPPLY_PROP_CAPACITY:
ret = bq27x00_simple_value(di->cache.capacity, val);
diff --git a/drivers/staging/triune/ts81001.c b/drivers/staging/triune/ts81001.c
index d5046af4545..b5ad6cadc49 100644
--- a/drivers/staging/triune/ts81001.c
+++ b/drivers/staging/triune/ts81001.c
@@ -180,8 +180,8 @@ static int ts81001_request_charge (struct ts81001 * ts, u16 mA) {
data[0] = mA & 0x00ff;
data[1] = (mA & 0xff00) >> 8;
- olio_debug ("entered, requested current = lb:0x%x, hb:0x%x\n",
- data[0], data[1]);
+ printk ("OLIO %s entered, requested current = lb:0x%x, hb:0x%x\n",
+ __FUNCTION__, data[0], data[1]);
for (i = 0; i < retries; i++) {
err = ts81001_write_i2c_blk(ts->client,