ab8500_fg_a..._discharging(9)
π
ab8500_fg_algorithm_discharging β Kernel API Manual β¨
okay so bestie, welcome to the ab8500_fg_a..._discharging(9) page, the full name is ab8500_fg_algorithm_discharging and it's a whole vibe, let's get into it π«Ά
πΈ NAME πΈ
ab8500_fg_algorithm_discharging β the FG algorithm for when you're discharging, aka the battery-is-draining era ππ
β¨ SYNOPSIS β¨
void ab8500_fg_algorithm_discharging (struct ab8500_fg *di );
that's it. that's the whole signature. no return value, she just does things π
π ARGUMENTS π
diβ pointer to theab8500_fgstructure π literally the main character of this function, everything goes through her.
π¦ DESCRIPTION π¦
Battery capacity calculation state machine for when we're discharging πͺ«β¨
like, when the battery is going down instead of up, this is the state machine that handles the capacity math. that's the whole thing, no cap. lowkey iconic that it's this simple π
π SEE ALSO π
Kernel file ./drivers/power/supply/ab8500_fg.c β go read her, she's the source of truth π
and the whole friend group π:
struct ab8500_fg_interrupts(9)struct ab8500_fg(9)ab8500_fg_get(9)ab8500_fg_is_low_curr(9)ab8500_fg_add_cap_sample(9)ab8500_fg_clear_cap_samples(9)ab8500_fg_fill_cap_sample(9)ab8500_fg_coulomb_counter(9)ab8500_fg_inst_curr_start(9)ab8500_fg_inst_curr_started(9)ab8500_fg_inst_curr_done(9)ab8500_fg_inst_curr_finalize(9)ab8500_fg_inst_curr_blocking(9)ab8500_fg_acc_cur_work(9)ab8500_fg_bat_voltage(9)ab8500_fg_volt_to_capacity(9)ab8500_fg_uncomp_volt_to_capacity(9)ab8500_fg_battery_resistance(9)ab8500_load_comp_fg_bat_voltage(9)ab8500_fg_load_comp_volt_to_capacity(9)ab8500_fg_convert_mah_to_permille(9)ab8500_fg_convert_permille_to_mah(9)ab8500_fg_convert_mah_to_uwh(9)ab8500_fg_calc_cap_charging(9)ab8500_fg_calc_cap_discharge_voltage(9)ab8500_fg_calc_cap_discharge_fg(9)ab8500_fg_capacity_level(9)ab8500_fg_calculate_scaled_capacity(9)ab8500_fg_update_cap_scalers(9)ab8500_fg_check_capacity_limits(9)ab8500_fg_algorithm_charging(9)ab8500_fg_algorithm_calibrate(9)ab8500_fg_algorithm(9)ab8500_fg_periodic_work(9)ab8500_fg_check_hw_failure_work(9)ab8500_fg_low_bat_work(9)ab8500_fg_battok_calc(9)ab8500_fg_battok_init_hw_register(9)ab8500_fg_instant_work(9)ab8500_fg_cc_data_end_handler(9)ab8500_fg_cc_int_calib_handler(9)ab8500_fg_cc_convend_handler(9)ab8500_fg_batt_ovv_handler(9)ab8500_fg_lowbatf_handler(9)ab8500_fg_get_property(9)ab8500_fg_init_hw_registers(9)ab8500_fg_external_power_changed(9)ab8500_fg_reinit_work(9)ab8500_fg_sysfs_exit(9)ab8500_fg_sysfs_init(9)
bestie if you're gonna touch any of these, like, read the source first fr fr. iykyk π
and that's the page!! π this cutie lives over in ./drivers/power/supply, the manual is ab8500_fg_a..._discharging(9), and it was dated October 2026. slay, go read your kernel source, ily, bye π¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms