ab8500_fg_u..._to_capacity(9)
β¨ ab8500_fg_uncomp_volt_to_capacity(9) β¨
okay so bestie, welcome to the Kernel API Manual π this one's a little function from the kernel's power supply corner and she's honestly doing the most important job: telling you how much battery you have left, purely from voltage, no load-compensation drama. let's get into it π«Ά
πΈ NAME πΈ
ab8500_fg_uncomp_volt_to_capacity β the uncompensated-voltage-based capacity girlie πβ¨
π SYNOPSIS π
int ab8500_fg_uncomp_volt_to_capacity (struct ab8500_fg *di );
like, that's the whole signature. one argument, one int back. slay π
π ARGUMENTS π
diβ pointer to theab8500_fgstructure. literally just the fuel gauge's whole personality in one struct, iykyk.
π¦ DESCRIPTION π¦
so what does she actually do? she returns battery capacity based on battery voltage β but here's the tea: that voltage is not compensated for the voltage drop due to the load. no cap. π«
so like, the load is out here dragging the voltage down and this function is just reading the raw voltage and giving you a capacity anyway. it's the "no thoughts, head empty" version of capacity calculation and honestly? iconic. π
π₯ SEE ALSO π₯
all the other ab8500_fg besties (the whole group chat, fr fr) live in the kernel file ./drivers/power/supply/ab8500_fg.c π
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_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_discharging(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)
that's the whole roster, no skips, we don't do that here π
π the cute sign-off π
this little beauty comes from ./drivers/power/supply, dated October 2026 β so yeah, she's from the future bestie, we don't question it π§ββοΈβ¨ go read your battery voltage, stay uncompensated, and remember: the load is lying to you ππ
π¦ 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