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()
1233 struct charger_desc *desc = cm->desc; in charger_manager_register_extcon() local
1239 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_register_extcon()
1240 charger = &desc->charger_regulators[i]; in charger_manager_register_extcon()
1309 struct charger_desc *desc = cm->desc; in charger_externally_control_store() local
1326 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_externally_control_store()
1327 if (&desc->charger_regulators[i] != charger && in charger_externally_control_store()
1328 !desc->charger_regulators[i].externally_control) { in charger_externally_control_store()
1370 struct charger_desc *desc = cm->desc; in charger_manager_register_sysfs() local
1379 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_register_sysfs()
1380 charger = &desc->charger_regulators[i]; in charger_manager_register_sysfs()
1417 if (!desc->charger_regulators[i].externally_control || in charger_manager_register_sysfs()
1447 struct charger_desc *desc = cm->desc; in cm_init_thermal_data() local
1459 cm->desc->measure_battery_temp = true; in cm_init_thermal_data()
1462 if (ret && desc->thermal_zone) { in cm_init_thermal_data()
1464 thermal_zone_get_zone_by_name(desc->thermal_zone); in cm_init_thermal_data()
1472 cm->desc->measure_battery_temp = true; in cm_init_thermal_data()
1476 if (cm->desc->measure_battery_temp) { in cm_init_thermal_data()
1478 if (!desc->temp_max) in cm_init_thermal_data()
1479 desc->temp_max = CM_DEFAULT_CHARGE_TEMP_MAX; in cm_init_thermal_data()
1480 if (!desc->temp_diff) in cm_init_thermal_data()
1481 desc->temp_diff = CM_DEFAULT_RECHARGE_TEMP_DIFF; in cm_init_thermal_data()
1496 struct charger_desc *desc; in of_cm_parse_desc() local
1502 desc = devm_kzalloc(dev, sizeof(*desc), GFP_KERNEL); in of_cm_parse_desc()
1503 if (!desc) in of_cm_parse_desc()
1506 of_property_read_string(np, "cm-name", &desc->psy_name); in of_cm_parse_desc()
1509 desc->polling_mode = poll_mode; in of_cm_parse_desc()
1512 &desc->polling_interval_ms); in of_cm_parse_desc()
1515 &desc->fullbatt_vchkdrop_ms); in of_cm_parse_desc()
1517 &desc->fullbatt_vchkdrop_uV); in of_cm_parse_desc()
1518 of_property_read_u32(np, "cm-fullbatt-voltage", &desc->fullbatt_uV); in of_cm_parse_desc()
1519 of_property_read_u32(np, "cm-fullbatt-soc", &desc->fullbatt_soc); in of_cm_parse_desc()
1521 &desc->fullbatt_full_capacity); in of_cm_parse_desc()
1524 desc->battery_present = battery_stat; in of_cm_parse_desc()
1530 desc->psy_charger_stat = devm_kzalloc(dev, sizeof(char *) in of_cm_parse_desc()
1532 if (desc->psy_charger_stat) { in of_cm_parse_desc()
1536 i, &desc->psy_charger_stat[i]); in of_cm_parse_desc()
1542 of_property_read_string(np, "cm-fuel-gauge", &desc->psy_fuel_gauge); in of_cm_parse_desc()
1544 of_property_read_string(np, "cm-thermal-zone", &desc->thermal_zone); in of_cm_parse_desc()
1546 of_property_read_u32(np, "cm-battery-cold", &desc->temp_min); in of_cm_parse_desc()
1548 desc->temp_min *= -1; in of_cm_parse_desc()
1549 of_property_read_u32(np, "cm-battery-hot", &desc->temp_max); in of_cm_parse_desc()
1550 of_property_read_u32(np, "cm-battery-temp-diff", &desc->temp_diff); in of_cm_parse_desc()
1553 &desc->charging_max_duration_ms); in of_cm_parse_desc()
1555 &desc->discharging_max_duration_ms); in of_cm_parse_desc()
1558 desc->num_charger_regulators = of_get_child_count(np); in of_cm_parse_desc()
1559 if (desc->num_charger_regulators) { in of_cm_parse_desc()
1564 * desc->num_charger_regulators, in of_cm_parse_desc()
1569 desc->charger_regulators = chg_regs; in of_cm_parse_desc()
1607 return desc; in of_cm_parse_desc()
1625 struct charger_desc *desc = cm_get_drv_data(pdev); in charger_manager_probe() local
1633 if (IS_ERR(desc)) { in charger_manager_probe()
1645 cm->desc = desc; in charger_manager_probe()
1658 if (desc->fullbatt_uV == 0) { in charger_manager_probe()
1661 if (!desc->fullbatt_vchkdrop_ms || !desc->fullbatt_vchkdrop_uV) { in charger_manager_probe()
1663 desc->fullbatt_vchkdrop_ms = 0; in charger_manager_probe()
1664 desc->fullbatt_vchkdrop_uV = 0; in charger_manager_probe()
1666 if (desc->fullbatt_soc == 0) { in charger_manager_probe()
1669 if (desc->fullbatt_full_capacity == 0) { in charger_manager_probe()
1673 if (!desc->charger_regulators || desc->num_charger_regulators < 1) { in charger_manager_probe()
1678 if (!desc->psy_charger_stat || !desc->psy_charger_stat[0]) { in charger_manager_probe()
1683 if (!desc->psy_fuel_gauge) { in charger_manager_probe()
1689 while (desc->psy_charger_stat[i]) in charger_manager_probe()
1693 for (i = 0; desc->psy_charger_stat[i]; i++) { in charger_manager_probe()
1696 psy = power_supply_get_by_name(desc->psy_charger_stat[i]); in charger_manager_probe()
1699 desc->psy_charger_stat[i]); in charger_manager_probe()
1705 if (desc->polling_interval_ms == 0 || in charger_manager_probe()
1706 msecs_to_jiffies(desc->polling_interval_ms) <= CM_JIFFIES_SMALL) { in charger_manager_probe()
1711 if (!desc->charging_max_duration_ms || in charger_manager_probe()
1712 !desc->discharging_max_duration_ms) { in charger_manager_probe()
1714 desc->charging_max_duration_ms = 0; in charger_manager_probe()
1715 desc->discharging_max_duration_ms = 0; in charger_manager_probe()
1722 if (!desc->psy_name) in charger_manager_probe()
1725 strncpy(cm->psy_name_buf, desc->psy_name, PSY_NAME_MAX); in charger_manager_probe()
1742 fuel_gauge = power_supply_get_by_name(desc->psy_fuel_gauge); in charger_manager_probe()
1745 desc->psy_fuel_gauge); in charger_manager_probe()
1765 cm->desc->measure_battery_temp = false; in charger_manager_probe()
1818 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_probe()
1821 charger = &desc->charger_regulators[i]; in charger_manager_probe()
1826 for (i = 0; i < desc->num_charger_regulators; i++) { in charger_manager_probe()
1829 charger = &desc->charger_regulators[i]; in charger_manager_probe()
1837 regulator_put(desc->charger_regulators[i].consumer); in charger_manager_probe()
1848 struct charger_desc *desc = cm->desc; in charger_manager_remove() local
1860 for (i = 0 ; i < desc->num_charger_regulators ; i++) { in charger_manager_remove()
1862 = &desc->charger_regulators[i]; in charger_manager_remove()
1869 for (i = 0 ; i < desc->num_charger_regulators ; i++) in charger_manager_remove()
1870 regulator_put(desc->charger_regulators[i].consumer); in charger_manager_remove()
2030 for (i = 0; cm->desc->psy_charger_stat[i]; i++) { in find_power_supply()
2031 if (!strcmp(psy->desc->name, cm->desc->psy_charger_stat[i])) { in find_power_supply()