ab8500_fg_up..._cap_scalers(9)
π ab8500_fg_update_cap_scalers(9) β like, the whole manual, bestie π
okay so you found the page for ab8500_fg_update_cap_scalers(9) in the Kernel API Manual and honestly? slay. this is the fuel-gauge girlie who keeps your battery's capacity numbers from acting brand new every time your phone changes its mind about whether it's charging or dying. let's get into it π«Ά
β¨ NAME β¨
ab8500_fg_update_cap_scalers β capacity scaling, periodt. this is the function whose whole personality is keeping the capacity scalers correct π
πΈ SYNOPSIS πΈ
void ab8500_fg_update_cap_scalers (struct ab8500_fg *di );
that's it. that's the whole vibe check. it returns void (nothing, nada, zero β she doesn't do returns) and takes exactly one argument, no cap π
π¦ ARGUMENTS π¦
diβ pointer to theab8500_fgstructure π lowkey the most important girl in the room. nodi, no scalers, no capacity. it's giving "main character energy" fr fr
π₯ DESCRIPTION π₯
okay so here's the tea β β you call this function when the state changes from charge <-> discharge, and its whole job is to update the capacity scalers. that's the description. the entire description. not me expecting a whole essay and getting a haiku π
so like, when your battery flips between "charging bestie π" and "discharging, we're dying π", this is the girl you ring up so the scalers get refreshed. icon behavior, no notes β¨
π SEE ALSO π
the way this see-also list goes on for paragraphs β she ate and left no crumbs π everything below is exactly what the page points you at, in the original order, so you can go read the whole family:
Kernel file ./drivers/power/supply/ab8500_fg.cstruct 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_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)
like, go off, read all of them, iykyk π§
π real talk though: this page tells you when to call it (charge <-> discharge state change) and what it does (updates the capacity scalers). that's the whole canon. don't be out here inventing lore.
and that's the page, bestie π brought to you from ./drivers/power/supply, dated October 2026 β yes, the future, she's ahead of her time β love that for us. mwah π
π¦ 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