static int wm831x_bat_get_prop(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) { struct wm831x_power *wm831x_power = dev_get_drvdata(psy->dev->parent); struct wm831x *wm831x = wm831x_power->wm831x; int ret = 0; switch (psp) { case POWER_SUPPLY_PROP_STATUS: ret = wm831x_bat_check_status(wm831x, &val->intval); break; case POWER_SUPPLY_PROP_ONLINE: ret = wm831x_power_check_online(wm831x, WM831X_PWR_SRC_BATT, val); break; case POWER_SUPPLY_PROP_VOLTAGE_NOW: ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_BATT, val); break; case POWER_SUPPLY_PROP_HEALTH: ret = wm831x_bat_check_health(wm831x, &val->intval); break; case POWER_SUPPLY_PROP_CHARGE_TYPE: ret = wm831x_bat_check_type(wm831x, &val->intval); break; default: ret = -EINVAL; break; } return ret; }
static int wm831x_bat_get_prop(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) { struct wm831x_power *wm831x_power = dev_get_drvdata(psy->dev->parent); struct wm831x *wm831x = wm831x_power->wm831x; int ret = 0; switch (psp) { case POWER_SUPPLY_PROP_STATUS: ret = wm831x_bat_check_status(wm831x, &val->intval); //val->intval = wm831x_power->batt_info.status; break; case POWER_SUPPLY_PROP_PRESENT: //case POWER_SUPPLY_PROP_ONLINE: //ret = wm831x_power_check_online(wm831x, WM831X_PWR_SRC_BATT, val); val->intval = wm831x_power->batt_info.online; break; case POWER_SUPPLY_PROP_VOLTAGE_NOW: //ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_BATT, val); val->intval = wm831x_power->batt_info.voltage;//uV break; case POWER_SUPPLY_PROP_HEALTH: //ret = wm831x_bat_check_health(wm831x, &val->intval); val->intval = wm831x_power->batt_info.health; break; case POWER_SUPPLY_PROP_CHARGE_TYPE: ret = wm831x_bat_check_type(wm831x, &val->intval); break; case POWER_SUPPLY_PROP_CAPACITY: //ret = wm831x_power_read_voltage(wm831x, WM831X_AUX_BATT, val); //wm831x_batt_vol_level(wm831x_power, val->intval, &level); //val->intval = level; val->intval = wm831x_power->batt_info.level; break; case POWER_SUPPLY_PROP_TEMP: val->intval = 0; break; case POWER_SUPPLY_PROP_TECHNOLOGY: val->intval = POWER_SUPPLY_TECHNOLOGY_LION; break; default: ret = -EINVAL; break; } return ret; }