Lines Matching refs:desc
95 switch (cm->desc->battery_present) { in is_batt_present()
102 psy = power_supply_get_by_name(cm->desc->psy_fuel_gauge); in is_batt_present()
113 for (i = 0; cm->desc->psy_charger_stat[i]; i++) { in is_batt_present()
115 cm->desc->psy_charger_stat[i]); in is_batt_present()
118 cm->desc->psy_charger_stat[i]); in is_batt_present()
152 for (i = 0; cm->desc->psy_charger_stat[i]; i++) { in is_ext_pwr_online()
153 psy = power_supply_get_by_name(cm->desc->psy_charger_stat[i]); in is_ext_pwr_online()
156 cm->desc->psy_charger_stat[i]); in is_ext_pwr_online()
186 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge); in get_batt_uV()
216 for (i = 0; cm->desc->psy_charger_stat[i]; i++) { in is_charging()
223 psy = power_supply_get_by_name(cm->desc->psy_charger_stat[i]); in is_charging()
226 cm->desc->psy_charger_stat[i]); in is_charging()
235 cm->desc->psy_charger_stat[i]); in is_charging()
253 cm->desc->psy_charger_stat[i]); in is_charging()
275 struct charger_desc *desc = cm->desc; in is_full_charged() local
286 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge); in is_full_charged()
290 if (desc->fullbatt_full_capacity > 0) { in is_full_charged()
296 if (!ret && val.intval > desc->fullbatt_full_capacity) { in is_full_charged()
303 if (desc->fullbatt_uV > 0) { in is_full_charged()
305 if (!ret && uV >= desc->fullbatt_uV) { in is_full_charged()
312 if (desc->fullbatt_soc > 0) { in is_full_charged()
317 if (!ret && val.intval >= desc->fullbatt_soc) { in is_full_charged()
334 switch (cm->desc->polling_mode) { in is_polling_required()
345 cm->desc->polling_mode); in is_polling_required()
364 struct charger_desc *desc = cm->desc; in try_charger_enable() local
381 for (i = 0 ; i < desc->num_charger_regulators ; i++) { in try_charger_enable()
382 if (desc->charger_regulators[i].externally_control) in try_charger_enable()
385 err = regulator_enable(desc->charger_regulators[i].consumer); in try_charger_enable()
388 desc->charger_regulators[i].regulator_name); in try_charger_enable()
399 for (i = 0 ; i < desc->num_charger_regulators ; i++) { in try_charger_enable()
400 if (desc->charger_regulators[i].externally_control) in try_charger_enable()
403 err = regulator_disable(desc->charger_regulators[i].consumer); in try_charger_enable()
406 desc->charger_regulators[i].regulator_name); in try_charger_enable()
414 for (i = 0; i < desc->num_charger_regulators; i++) { in try_charger_enable()
416 desc->charger_regulators[i].consumer)) { in try_charger_enable()
418 desc->charger_regulators[i].consumer); in try_charger_enable()
420 desc->charger_regulators[i].regulator_name); in try_charger_enable()
520 struct charger_desc *desc = cm->desc; in fullbatt_vchk() local
526 if (!desc->fullbatt_vchkdrop_uV || !desc->fullbatt_vchkdrop_ms) in fullbatt_vchk()
535 diff = desc->fullbatt_uV - batt_uV; in fullbatt_vchk()
541 if (diff > desc->fullbatt_vchkdrop_uV) { in fullbatt_vchk()
559 struct charger_desc *desc = cm->desc; in check_charging_duration() local
564 if (!desc->charging_max_duration_ms && in check_charging_duration()
565 !desc->discharging_max_duration_ms) in check_charging_duration()
571 if (duration > desc->charging_max_duration_ms) { in check_charging_duration()
573 desc->charging_max_duration_ms); in check_charging_duration()
581 if (duration > desc->charging_max_duration_ms && in check_charging_duration()
584 desc->discharging_max_duration_ms); in check_charging_duration()
600 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge); in cm_get_battery_temperature_by_psy()
617 if (!cm->desc->measure_battery_temp) in cm_get_battery_temperature()
638 struct charger_desc *desc = cm->desc; in cm_check_thermal_status() local
653 upper_limit = desc->temp_max; in cm_check_thermal_status()
654 lower_limit = desc->temp_min; in cm_check_thermal_status()
657 upper_limit -= desc->temp_diff; in cm_check_thermal_status()
658 lower_limit += desc->temp_diff; in cm_check_thermal_status()
771 if (is_polling_required(cm) && cm->desc->polling_interval_ms) { in _setup_polling()
774 if (min > cm->desc->polling_interval_ms) in _setup_polling()
775 min = cm->desc->polling_interval_ms; in _setup_polling()
830 struct charger_desc *desc = cm->desc; in fullbatt_handler() local
832 if (!desc->fullbatt_vchkdrop_uV || !desc->fullbatt_vchkdrop_ms) in fullbatt_handler()
839 msecs_to_jiffies(desc->fullbatt_vchkdrop_ms)); in fullbatt_handler()
841 desc->fullbatt_vchkdrop_ms); in fullbatt_handler()
879 if (is_polling_required(cm) && cm->desc->polling_interval_ms) in misc_event_handler()
889 struct charger_desc *desc = cm->desc; in charger_get_property() local
921 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge); in charger_get_property()
939 fuel_gauge = power_supply_get_by_name(cm->desc->psy_fuel_gauge); in charger_get_property()
972 if (desc->fullbatt_uV > 0 && uV >= desc->fullbatt_uV && in charger_get_property()
995 cm->desc->psy_fuel_gauge); in charger_get_property()
1093 if (cm->desc->polling_interval_ms == 0) in cm_setup_timer()
1095 CM_MIN_VALID(wakeup_ms, cm->desc->polling_interval_ms); in cm_setup_timer()
1232 struct charger_desc *desc = cm->desc; in charger_manager_register_extcon() local
1238 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_register_extcon()
1239 charger = &desc->charger_regulators[i]; in charger_manager_register_extcon()
1307 struct charger_desc *desc = cm->desc; in charger_externally_control_store() local
1324 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_externally_control_store()
1325 if (&desc->charger_regulators[i] != charger && in charger_externally_control_store()
1326 !desc->charger_regulators[i].externally_control) { in charger_externally_control_store()
1368 struct charger_desc *desc = cm->desc; in charger_manager_register_sysfs() local
1377 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_register_sysfs()
1378 charger = &desc->charger_regulators[i]; in charger_manager_register_sysfs()
1414 if (!desc->charger_regulators[i].externally_control || in charger_manager_register_sysfs()
1441 struct charger_desc *desc = cm->desc; in cm_init_thermal_data() local
1453 cm->desc->measure_battery_temp = true; in cm_init_thermal_data()
1456 if (ret && desc->thermal_zone) { in cm_init_thermal_data()
1458 thermal_zone_get_zone_by_name(desc->thermal_zone); in cm_init_thermal_data()
1466 cm->desc->measure_battery_temp = true; in cm_init_thermal_data()
1470 if (cm->desc->measure_battery_temp) { in cm_init_thermal_data()
1472 if (!desc->temp_max) in cm_init_thermal_data()
1473 desc->temp_max = CM_DEFAULT_CHARGE_TEMP_MAX; in cm_init_thermal_data()
1474 if (!desc->temp_diff) in cm_init_thermal_data()
1475 desc->temp_diff = CM_DEFAULT_RECHARGE_TEMP_DIFF; in cm_init_thermal_data()
1490 struct charger_desc *desc; in of_cm_parse_desc() local
1496 desc = devm_kzalloc(dev, sizeof(*desc), GFP_KERNEL); in of_cm_parse_desc()
1497 if (!desc) in of_cm_parse_desc()
1500 of_property_read_string(np, "cm-name", &desc->psy_name); in of_cm_parse_desc()
1503 desc->polling_mode = poll_mode; in of_cm_parse_desc()
1506 &desc->polling_interval_ms); in of_cm_parse_desc()
1509 &desc->fullbatt_vchkdrop_ms); in of_cm_parse_desc()
1511 &desc->fullbatt_vchkdrop_uV); in of_cm_parse_desc()
1512 of_property_read_u32(np, "cm-fullbatt-voltage", &desc->fullbatt_uV); in of_cm_parse_desc()
1513 of_property_read_u32(np, "cm-fullbatt-soc", &desc->fullbatt_soc); in of_cm_parse_desc()
1515 &desc->fullbatt_full_capacity); in of_cm_parse_desc()
1518 desc->battery_present = battery_stat; in of_cm_parse_desc()
1524 desc->psy_charger_stat = devm_kzalloc(dev, sizeof(char *) in of_cm_parse_desc()
1526 if (desc->psy_charger_stat) { in of_cm_parse_desc()
1530 i, &desc->psy_charger_stat[i]); in of_cm_parse_desc()
1536 of_property_read_string(np, "cm-fuel-gauge", &desc->psy_fuel_gauge); in of_cm_parse_desc()
1538 of_property_read_string(np, "cm-thermal-zone", &desc->thermal_zone); in of_cm_parse_desc()
1540 of_property_read_u32(np, "cm-battery-cold", &desc->temp_min); in of_cm_parse_desc()
1542 desc->temp_min *= -1; in of_cm_parse_desc()
1543 of_property_read_u32(np, "cm-battery-hot", &desc->temp_max); in of_cm_parse_desc()
1544 of_property_read_u32(np, "cm-battery-temp-diff", &desc->temp_diff); in of_cm_parse_desc()
1547 &desc->charging_max_duration_ms); in of_cm_parse_desc()
1549 &desc->discharging_max_duration_ms); in of_cm_parse_desc()
1552 desc->num_charger_regulators = of_get_child_count(np); in of_cm_parse_desc()
1553 if (desc->num_charger_regulators) { in of_cm_parse_desc()
1558 * desc->num_charger_regulators, in of_cm_parse_desc()
1563 desc->charger_regulators = chg_regs; in of_cm_parse_desc()
1603 return desc; in of_cm_parse_desc()
1621 struct charger_desc *desc = cm_get_drv_data(pdev); in charger_manager_probe() local
1629 if (IS_ERR(desc)) { in charger_manager_probe()
1631 return PTR_ERR(desc); in charger_manager_probe()
1640 cm->desc = desc; in charger_manager_probe()
1655 if (desc->fullbatt_uV == 0) { in charger_manager_probe()
1658 if (!desc->fullbatt_vchkdrop_ms || !desc->fullbatt_vchkdrop_uV) { in charger_manager_probe()
1660 desc->fullbatt_vchkdrop_ms = 0; in charger_manager_probe()
1661 desc->fullbatt_vchkdrop_uV = 0; in charger_manager_probe()
1663 if (desc->fullbatt_soc == 0) { in charger_manager_probe()
1666 if (desc->fullbatt_full_capacity == 0) { in charger_manager_probe()
1670 if (!desc->charger_regulators || desc->num_charger_regulators < 1) { in charger_manager_probe()
1675 if (!desc->psy_charger_stat || !desc->psy_charger_stat[0]) { in charger_manager_probe()
1680 if (!desc->psy_fuel_gauge) { in charger_manager_probe()
1686 while (desc->psy_charger_stat[i]) in charger_manager_probe()
1690 for (i = 0; desc->psy_charger_stat[i]; i++) { in charger_manager_probe()
1693 psy = power_supply_get_by_name(desc->psy_charger_stat[i]); in charger_manager_probe()
1696 desc->psy_charger_stat[i]); in charger_manager_probe()
1702 if (desc->polling_interval_ms == 0 || in charger_manager_probe()
1703 msecs_to_jiffies(desc->polling_interval_ms) <= CM_JIFFIES_SMALL) { in charger_manager_probe()
1708 if (!desc->charging_max_duration_ms || in charger_manager_probe()
1709 !desc->discharging_max_duration_ms) { in charger_manager_probe()
1711 desc->charging_max_duration_ms = 0; in charger_manager_probe()
1712 desc->discharging_max_duration_ms = 0; in charger_manager_probe()
1719 if (!desc->psy_name) in charger_manager_probe()
1722 strncpy(cm->psy_name_buf, desc->psy_name, PSY_NAME_MAX); in charger_manager_probe()
1739 fuel_gauge = power_supply_get_by_name(desc->psy_fuel_gauge); in charger_manager_probe()
1742 desc->psy_fuel_gauge); in charger_manager_probe()
1762 cm->desc->measure_battery_temp = false; in charger_manager_probe()
1816 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_probe()
1819 charger = &desc->charger_regulators[i]; in charger_manager_probe()
1824 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_probe()
1827 charger = &desc->charger_regulators[i]; in charger_manager_probe()
1835 regulator_put(desc->charger_regulators[i].consumer); in charger_manager_probe()
1846 struct charger_desc *desc = cm->desc; in charger_manager_remove() local
1858 for (i = 0 ; i < desc->num_charger_regulators ; i++) { in charger_manager_remove()
1860 = &desc->charger_regulators[i]; in charger_manager_remove()
1867 for (i = 0 ; i < desc->num_charger_regulators ; i++) in charger_manager_remove()
1868 regulator_put(desc->charger_regulators[i].consumer); in charger_manager_remove()
2032 if (match_string(cm->desc->psy_charger_stat, -1, in cm_notify_event()
2033 psy->desc->name) >= 0) { in cm_notify_event()