summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Wilson <evan@oliodevices.com>2016-08-29 16:35:03 -0700
committerEvan Wilson <evan@oliodevices.com>2016-08-29 16:35:56 -0700
commitb508eb5014ec933bbcdc1ad555091ee73848e526 (patch)
tree8a43756b889c86d2719287efd16a42222431b0b1
parent7e962382f41bf0fd50ae4d8231639d01a7bd2247 (diff)
downloadolio-linux-3.10-android-3.10-bringup.tar.xz
olio-linux-3.10-android-3.10-bringup.zip
power: test_power: Adding temperature as an option for the test power driverandroid-3.10-bringup
Also setting the default value to 2% and charging Change-Id: Ia9ad71dd9c03b952c25ffe7ac3ca7d936e674be7
-rw-r--r--drivers/power/test_power.c32
1 files changed, 28 insertions, 4 deletions
diff --git a/drivers/power/test_power.c b/drivers/power/test_power.c
index 0152f35dca5..54b4728d5ae 100644
--- a/drivers/power/test_power.c
+++ b/drivers/power/test_power.c
@@ -23,12 +23,13 @@
static int ac_online = 1;
static int usb_online = 1;
-static int battery_status = POWER_SUPPLY_STATUS_DISCHARGING;
+static int battery_status = POWER_SUPPLY_STATUS_CHARGING;
static int battery_health = POWER_SUPPLY_HEALTH_GOOD;
static int battery_present = 1; /* true */
static int battery_technology = POWER_SUPPLY_TECHNOLOGY_LION;
-static int battery_capacity = 50;
-static int battery_voltage = 3300;
+static int battery_capacity = 2;
+static int battery_voltage = 3700;
+static int battery_temp = 250;
static bool module_initialized;
@@ -105,7 +106,7 @@ static int test_power_get_battery_property(struct power_supply *psy,
val->intval = 3600;
break;
case POWER_SUPPLY_PROP_TEMP:
- val->intval = 26;
+ val->intval = battery_temp;
break;
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
val->intval = battery_voltage;
@@ -422,6 +423,20 @@ static int param_set_battery_voltage(const char *key,
#define param_get_battery_voltage param_get_int
+static int param_set_battery_temp(const char *key,
+ const struct kernel_param *kp)
+{
+ int tmp;
+ if (1 != sscanf(key, "%d", &tmp))
+ return -EINVAL;
+
+ battery_temp = tmp;
+ signal_power_supply_changed(&test_power_supplies[1]);
+ return 0;
+}
+
+#define param_get_battery_temp param_get_int
+
static struct kernel_param_ops param_ops_ac_online = {
.set = param_set_ac_online,
.get = param_get_ac_online,
@@ -462,6 +477,11 @@ static struct kernel_param_ops param_ops_battery_voltage = {
.get = param_get_battery_voltage,
};
+static struct kernel_param_ops param_ops_battery_temp = {
+ .set = param_set_battery_temp,
+ .get = param_get_battery_temp,
+};
+
#define param_check_ac_online(name, p) __param_check(name, p, void);
#define param_check_usb_online(name, p) __param_check(name, p, void);
#define param_check_battery_status(name, p) __param_check(name, p, void);
@@ -470,6 +490,7 @@ static struct kernel_param_ops param_ops_battery_voltage = {
#define param_check_battery_health(name, p) __param_check(name, p, void);
#define param_check_battery_capacity(name, p) __param_check(name, p, void);
#define param_check_battery_voltage(name, p) __param_check(name, p, void);
+#define param_check_battery_temp(name, p) __param_check(name, p, void);
module_param(ac_online, ac_online, 0644);
@@ -500,6 +521,9 @@ MODULE_PARM_DESC(battery_capacity, "battery capacity (percentage)");
module_param(battery_voltage, battery_voltage, 0644);
MODULE_PARM_DESC(battery_voltage, "battery voltage (millivolts)");
+module_param(battery_temp, battery_temp, 0644);
+MODULE_PARM_DESC(battery_temp, "battery temp (tenths of degress celcius)");
+
MODULE_DESCRIPTION("Power supply driver for testing");
MODULE_AUTHOR("Anton Vorontsov <cbouatmailru@gmail.com>");
MODULE_LICENSE("GPL");