diff options
| author | Evan Wilson <evan@oliodevices.com> | 2016-08-29 16:35:03 -0700 |
|---|---|---|
| committer | Evan Wilson <evan@oliodevices.com> | 2016-08-29 16:35:56 -0700 |
| commit | b508eb5014ec933bbcdc1ad555091ee73848e526 (patch) | |
| tree | 8a43756b889c86d2719287efd16a42222431b0b1 | |
| parent | 7e962382f41bf0fd50ae4d8231639d01a7bd2247 (diff) | |
| download | olio-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.c | 32 |
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"); |