Lines Matching refs:desc

102 	switch (cm->desc->battery_present) {
109 psy = power_supply_get_by_name(cm->desc->psy_fuel_gauge);
120 for (i = 0; cm->desc->psy_charger_stat[i]; i++) {
122 cm->desc->psy_charger_stat[i]);
125 cm->desc->psy_charger_stat[i]);
159 for (i = 0; cm->desc->psy_charger_stat[i]; i++) {
160 psy = power_supply_get_by_name(cm->desc->psy_charger_stat[i]);
163 cm->desc->psy_charger_stat[i]);
193 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge);
223 for (i = 0; cm->desc->psy_charger_stat[i]; i++) {
230 psy = power_supply_get_by_name(cm->desc->psy_charger_stat[i]);
233 cm->desc->psy_charger_stat[i]);
242 cm->desc->psy_charger_stat[i]);
260 cm->desc->psy_charger_stat[i]);
282 struct charger_desc *desc = cm->desc;
293 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge);
298 if (desc->fullbatt_uV > 0) {
303 && desc->fullbatt_vchkdrop_uV)
304 uV += desc->fullbatt_vchkdrop_uV;
305 if (uV >= desc->fullbatt_uV)
310 if (desc->fullbatt_full_capacity > 0) {
316 if (!ret && val.intval > desc->fullbatt_full_capacity) {
323 if (desc->fullbatt_soc > 0) {
328 if (!ret && val.intval >= desc->fullbatt_soc) {
345 switch (cm->desc->polling_mode) {
356 cm->desc->polling_mode);
375 struct charger_desc *desc = cm->desc;
392 for (i = 0 ; i < desc->num_charger_regulators ; i++) {
393 if (desc->charger_regulators[i].externally_control)
396 err = regulator_enable(desc->charger_regulators[i].consumer);
399 desc->charger_regulators[i].regulator_name);
410 for (i = 0 ; i < desc->num_charger_regulators ; i++) {
411 if (desc->charger_regulators[i].externally_control)
414 err = regulator_disable(desc->charger_regulators[i].consumer);
417 desc->charger_regulators[i].regulator_name);
425 for (i = 0; i < desc->num_charger_regulators; i++) {
427 desc->charger_regulators[i].consumer)) {
429 desc->charger_regulators[i].consumer);
431 desc->charger_regulators[i].regulator_name);
454 struct charger_desc *desc = cm->desc;
459 if (!desc->charging_max_duration_ms &&
460 !desc->discharging_max_duration_ms)
466 if (duration > desc->charging_max_duration_ms) {
468 desc->charging_max_duration_ms);
474 if (duration > desc->discharging_max_duration_ms) {
476 desc->discharging_max_duration_ms);
490 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge);
507 if (!cm->desc->measure_battery_temp)
528 struct charger_desc *desc = cm->desc;
543 upper_limit = desc->temp_max;
544 lower_limit = desc->temp_min;
547 upper_limit -= desc->temp_diff;
548 lower_limit += desc->temp_diff;
658 if (is_polling_required(cm) && cm->desc->polling_interval_ms) {
661 if (min > cm->desc->polling_interval_ms)
662 min = cm->desc->polling_interval_ms;
716 struct charger_desc *desc = cm->desc;
743 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge);
760 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge);
784 * the battery voltage values and the thresholds given as desc
793 if (desc->fullbatt_uV > 0 && uV >= desc->fullbatt_uV &&
808 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge);
876 if (cm->desc->polling_interval_ms == 0)
878 CM_MIN_VALID(wakeup_ms, cm->desc->polling_interval_ms);
1030 struct charger_desc *desc = cm->desc;
1037 for (i = 0; i < desc->num_charger_regulators; i++) {
1038 charger = &desc->charger_regulators[i];
1111 struct charger_desc *desc = cm->desc;
1128 for (i = 0; i < desc->num_charger_regulators; i++) {
1129 if (&desc->charger_regulators[i] != charger &&
1130 !desc->charger_regulators[i].externally_control) {
1172 struct charger_desc *desc = cm->desc;
1179 for (i = 0; i < desc->num_charger_regulators; i++) {
1180 charger = &desc->charger_regulators[i];
1193 desc->sysfs_groups[i] = &charger->attr_grp;
1214 if (!desc->charger_regulators[i].externally_control ||
1235 struct charger_desc *desc = cm->desc;
1246 cm->desc->measure_battery_temp = true;
1249 if (ret && desc->thermal_zone) {
1251 thermal_zone_get_zone_by_name(desc->thermal_zone);
1258 cm->desc->measure_battery_temp = true;
1262 if (cm->desc->measure_battery_temp) {
1264 if (!desc->temp_max)
1265 desc->temp_max = CM_DEFAULT_CHARGE_TEMP_MAX;
1266 if (!desc->temp_diff)
1267 desc->temp_diff = CM_DEFAULT_RECHARGE_TEMP_DIFF;
1283 struct charger_desc *desc;
1289 desc = devm_kzalloc(dev, sizeof(*desc), GFP_KERNEL);
1290 if (!desc)
1293 of_property_read_string(np, "cm-name", &desc->psy_name);
1296 desc->polling_mode = poll_mode;
1299 &desc->polling_interval_ms);
1302 &desc->fullbatt_vchkdrop_uV);
1303 of_property_read_u32(np, "cm-fullbatt-voltage", &desc->fullbatt_uV);
1304 of_property_read_u32(np, "cm-fullbatt-soc", &desc->fullbatt_soc);
1306 &desc->fullbatt_full_capacity);
1309 desc->battery_present = battery_stat;
1317 desc->psy_charger_stat = devm_kcalloc(dev,
1321 if (!desc->psy_charger_stat)
1326 i, &desc->psy_charger_stat[i]);
1329 of_property_read_string(np, "cm-fuel-gauge", &desc->psy_fuel_gauge);
1331 of_property_read_string(np, "cm-thermal-zone", &desc->thermal_zone);
1333 of_property_read_u32(np, "cm-battery-cold", &desc->temp_min);
1335 desc->temp_min *= -1;
1336 of_property_read_u32(np, "cm-battery-hot", &desc->temp_max);
1337 of_property_read_u32(np, "cm-battery-temp-diff", &desc->temp_diff);
1340 &desc->charging_max_duration_ms);
1342 &desc->discharging_max_duration_ms);
1345 desc->num_charger_regulators = of_get_child_count(np);
1346 if (desc->num_charger_regulators) {
1351 desc->num_charger_regulators,
1357 desc->charger_regulators = chg_regs;
1359 desc->sysfs_groups = devm_kcalloc(dev,
1360 desc->num_charger_regulators + 1,
1361 sizeof(*desc->sysfs_groups),
1363 if (!desc->sysfs_groups)
1405 return desc;
1423 struct charger_desc *desc = cm_get_drv_data(pdev);
1432 if (IS_ERR(desc)) {
1433 dev_err(&pdev->dev, "No platform data (desc) found\n");
1434 return PTR_ERR(desc);
1443 cm->desc = desc;
1458 if (desc->fullbatt_uV == 0) {
1461 if (!desc->fullbatt_vchkdrop_uV) {
1463 desc->fullbatt_vchkdrop_uV = 0;
1465 if (desc->fullbatt_soc == 0) {
1468 if (desc->fullbatt_full_capacity == 0) {
1472 if (!desc->charger_regulators || desc->num_charger_regulators < 1) {
1477 if (!desc->psy_charger_stat || !desc->psy_charger_stat[0]) {
1482 if (!desc->psy_fuel_gauge) {
1488 for (i = 0; desc->psy_charger_stat[i]; i++) {
1491 psy = power_supply_get_by_name(desc->psy_charger_stat[i]);
1494 desc->psy_charger_stat[i]);
1500 if (cm->desc->polling_mode != CM_POLL_DISABLE &&
1501 (desc->polling_interval_ms == 0 ||
1502 msecs_to_jiffies(desc->polling_interval_ms) <= CM_JIFFIES_SMALL)) {
1507 if (!desc->charging_max_duration_ms ||
1508 !desc->discharging_max_duration_ms) {
1510 desc->charging_max_duration_ms = 0;
1511 desc->discharging_max_duration_ms = 0;
1518 if (!desc->psy_name)
1522 strscpy(cm->psy_name_buf, desc->psy_name,
1540 fuel_gauge = power_supply_get_by_name(desc->psy_fuel_gauge);
1543 desc->psy_fuel_gauge);
1569 cm->desc->measure_battery_temp = false;
1583 psy_cfg.attr_grp = desc->sysfs_groups;
1625 for (i = 0; i < desc->num_charger_regulators; i++)
1626 regulator_put(desc->charger_regulators[i].consumer);
1636 struct charger_desc *desc = cm->desc;
1647 for (i = 0 ; i < desc->num_charger_regulators ; i++)
1648 regulator_put(desc->charger_regulators[i].consumer);