ab8500_fg_c...acity_limits(9)
π ab8500_fg_check_capacity_limits π
okay bestie, so this is a page straight out of the Kernel API Manual, section 9 β yes, the kernel one, the one with all the battery drama π¦. Strap in, it's short and sweet and honestly kind of iconic.
β¨ NAME β¨
ab8500_fg_check_capacity_limits β check if capacity has changed π
πΈ SYNOPSIS πΈ
void ab8500_fg_check_capacity_limits (struct ab8500_fg *di , bool init
);
like. that's the whole thing. that's the function. slay π
π ARGUMENTS π
diβ pointer to theab8500_fgstructure. yep, the fuel gauge struct itself, we love a pointer moment π«Άinitβ abool, and it literally means "capacity is allowed to go up in init mode". so during init, the capacity is permitted to, like, climb. growth era β¨π
π DESCRIPTION π
So what does it actually do? It checks whether the capacity β or the capacity limit β has changed, and then it notifies the system about it using the power_supply framework. that's it. that's the whole vibe check ππ
no cap, it's giving "small function, big responsibility". main character energy fr fr π
just so we're clear: it checks and notifies. it does not, like, invent new capacity out of nowhere. don't come for me π
π¦ SEE ALSO π¦
Everything below is straight from the kernel file ./drivers/power/supply/ab8500_fg.c, plus the struct ab8500_fg_interrupts(9) and the whole friend group. go read them, they're all linked, it's a whole ecosystem πβ
ab8500_fg_interrupts(9)ab8500_fg(9)β note: this one is a structab8500_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_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)
like. that's the entire extended universe right there ππ₯
okay that's the page!! and for the cute sign-off: this little gem lives in ./drivers/power/supply, it's dated October 2026, and it's printing out of the same Kernel API Manual as everything else. go forth and check those capacity limits, bestie πππ
π¦ 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