Try to see what requests are being made...
:
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
sudo insmod dummy_battery.ko start_capacity=82 discharge_rate=1
|
sudo insmod test_battery.ko start_capacity=82 discharge_rate=1
|
||||||
|
|
||||||
ls -l /sys/class/power_supply/dummy-battery
|
ls -l /sys/class/power_supply/test_battery
|
||||||
cat /sys/class/power_supply/dummy-battery/uevent
|
cat /sys/class/power_supply/test_battery/uevent
|
||||||
cat /sys/class/power_supply/dummy-battery/capacity
|
cat /sys/class/power_supply/test_battery/capacity
|
||||||
cat /sys/class/power_supply/dummy-battery/status
|
cat /sys/class/power_supply/test_battery/status
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
sudo rmmod dummy_battery
|
sudo rmmod test_power
|
||||||
|
|||||||
@@ -25,6 +25,88 @@ enum test_power_id {
|
|||||||
TEST_POWER_NUM,
|
TEST_POWER_NUM,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
//
|
||||||
|
char *enumNames[] = {
|
||||||
|
"POWER_SUPPLY_PROP_STATUS",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_TYPE",
|
||||||
|
"POWER_SUPPLY_PROP_HEALTH",
|
||||||
|
"POWER_SUPPLY_PROP_PRESENT",
|
||||||
|
"POWER_SUPPLY_PROP_ONLINE",
|
||||||
|
"POWER_SUPPLY_PROP_AUTHENTIC",
|
||||||
|
"POWER_SUPPLY_PROP_TECHNOLOGY",
|
||||||
|
"POWER_SUPPLY_PROP_CYCLE_COUNT",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_MIN",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_NOW",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_AVG",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_OCV",
|
||||||
|
"POWER_SUPPLY_PROP_VOLTAGE_BOOT",
|
||||||
|
"POWER_SUPPLY_PROP_CURRENT_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_CURRENT_NOW",
|
||||||
|
"POWER_SUPPLY_PROP_CURRENT_AVG",
|
||||||
|
"POWER_SUPPLY_PROP_CURRENT_BOOT",
|
||||||
|
"POWER_SUPPLY_PROP_POWER_NOW",
|
||||||
|
"POWER_SUPPLY_PROP_POWER_AVG",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_FULL",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_EMPTY",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_NOW",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_AVG",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_COUNTER",
|
||||||
|
"POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT",
|
||||||
|
"POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE",
|
||||||
|
"POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD", /* in percents! */
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD", /* in percents! */
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR",
|
||||||
|
"POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT",
|
||||||
|
"POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT",
|
||||||
|
"POWER_SUPPLY_PROP_INPUT_POWER_LIMIT",
|
||||||
|
"POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN",
|
||||||
|
"POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN",
|
||||||
|
"POWER_SUPPLY_PROP_ENERGY_FULL",
|
||||||
|
"POWER_SUPPLY_PROP_ENERGY_EMPTY",
|
||||||
|
"POWER_SUPPLY_PROP_ENERGY_NOW",
|
||||||
|
"POWER_SUPPLY_PROP_ENERGY_AVG",
|
||||||
|
"POWER_SUPPLY_PROP_CAPACITY", /* in percents! */
|
||||||
|
"POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN", /* in percents! */
|
||||||
|
"POWER_SUPPLY_PROP_CAPACITY_ALERT_MAX", /* in percents! */
|
||||||
|
"POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN", /* in percents! */
|
||||||
|
"POWER_SUPPLY_PROP_CAPACITY_LEVEL",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP_MIN",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP_ALERT_MIN",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP_ALERT_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP_AMBIENT",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN",
|
||||||
|
"POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX",
|
||||||
|
"POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW",
|
||||||
|
"POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG",
|
||||||
|
"POWER_SUPPLY_PROP_TIME_TO_FULL_NOW",
|
||||||
|
"POWER_SUPPLY_PROP_TIME_TO_FULL_AVG",
|
||||||
|
"POWER_SUPPLY_PROP_TYPE", /* use power_supply.type instead */
|
||||||
|
"POWER_SUPPLY_PROP_USB_TYPE",
|
||||||
|
"POWER_SUPPLY_PROP_SCOPE",
|
||||||
|
"POWER_SUPPLY_PROP_PRECHARGE_CURRENT",
|
||||||
|
"POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT",
|
||||||
|
"POWER_SUPPLY_PROP_CALIBRATE",
|
||||||
|
"POWER_SUPPLY_PROP_MANUFACTURE_YEAR",
|
||||||
|
"POWER_SUPPLY_PROP_MANUFACTURE_MONTH",
|
||||||
|
"POWER_SUPPLY_PROP_MANUFACTURE_DAY",
|
||||||
|
"POWER_SUPPLY_PROP_MODEL_NAME",
|
||||||
|
"POWER_SUPPLY_PROP_MANUFACTURER",
|
||||||
|
"POWER_SUPPLY_PROP_SERIAL_NUMBER",
|
||||||
|
};
|
||||||
|
//
|
||||||
|
//
|
||||||
#define BLKDRV_NAME "battery"
|
#define BLKDRV_NAME "battery"
|
||||||
#define FMT_PREFIX ": %s[%d] "
|
#define FMT_PREFIX ": %s[%d] "
|
||||||
#define DEBUG_INFO( fmt, arg...) printk( KERN_INFO BLKDRV_NAME FMT_PREFIX fmt, __func__, __LINE__, ##arg )
|
#define DEBUG_INFO( fmt, arg...) printk( KERN_INFO BLKDRV_NAME FMT_PREFIX fmt, __func__, __LINE__, ##arg )
|
||||||
@@ -35,7 +117,7 @@ static int battery_status = POWER_SUPPLY_STATUS_DISCHARGING;
|
|||||||
static int battery_health = POWER_SUPPLY_HEALTH_GOOD;
|
static int battery_health = POWER_SUPPLY_HEALTH_GOOD;
|
||||||
static int battery_present = 1; /* true */
|
static int battery_present = 1; /* true */
|
||||||
static int battery_technology = POWER_SUPPLY_TECHNOLOGY_LION;
|
static int battery_technology = POWER_SUPPLY_TECHNOLOGY_LION;
|
||||||
static int battery_capacity = 50;
|
static int battery_capacity = 100;
|
||||||
static int battery_voltage = 3300;
|
static int battery_voltage = 3300;
|
||||||
static int battery_charge_counter = -1000;
|
static int battery_charge_counter = -1000;
|
||||||
static int battery_current = -1600;
|
static int battery_current = -1600;
|
||||||
@@ -78,8 +160,6 @@ static int test_power_get_battery_property(struct power_supply *psy,
|
|||||||
enum power_supply_property psp,
|
enum power_supply_property psp,
|
||||||
union power_supply_propval *val)
|
union power_supply_propval *val)
|
||||||
{
|
{
|
||||||
DEBUG_INFO( "psp = %d", psp );
|
|
||||||
|
|
||||||
switch (psp) {
|
switch (psp) {
|
||||||
case POWER_SUPPLY_PROP_MODEL_NAME:
|
case POWER_SUPPLY_PROP_MODEL_NAME:
|
||||||
val->strval = "Test battery";
|
val->strval = "Test battery";
|
||||||
@@ -141,6 +221,18 @@ static int test_power_get_battery_property(struct power_supply *psy,
|
|||||||
__func__);
|
__func__);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch( psp ){
|
||||||
|
case POWER_SUPPLY_PROP_MODEL_NAME:
|
||||||
|
case POWER_SUPPLY_PROP_MANUFACTURER:
|
||||||
|
case POWER_SUPPLY_PROP_SERIAL_NUMBER:
|
||||||
|
DEBUG_INFO( "%s -> %s", enumNames[psp],val->strval );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
DEBUG_INFO( "%s -> %d", enumNames[psp],val->intval );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user