ab8500_fg_b..._hw_register(9)
π ab8500_fg_battok_init_hw_register β from the Kernel API Manual, bestie β¨
okay so this is a page straight out of the Kernel API Manual, and it's about one tiny little function living inside the AB8500 fuel gauge driver. Short page, but honestly? Iconic. Let's get into it π«Ά
πΈ NAME πΈ
ab8500_fg_battok_init_hw_register β init battok levels π
That's it. That's the whole job. It sets up the battok levels, periodt.
β¨ SYNOPSIS β¨
int ab8500_fg_battok_init_hw_register (struct ab8500_fg *di );
so it returns an int (iykyk, that's the classic "did it work or not" situation π) and it takes exactly one pointer. no cap.
π ARGUMENTS π
diβ pointer to theab8500_fgstructure. that's your one and only input, bestie. just a pointer to the ab8500_fg struct, living its main character life π
π¦ SEE ALSO π¦
okay this is the part where the page goes absolutely off. the source of all this is the kernel file:
./drivers/power/supply/ab8500_fg.c
and here's the full friend group β all of these are (9) kernel API refs, and yes, I'm listing every single one because we do NOT leave anyone out π
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_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_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β¦ the whole fuel gauge extended universe, fr fr π
lowkey a reminder: this page is only about init-ing the battok levels. everything else? go read its own page, bestie π§
and that's the whole vibe check done β¨ this one came from the source tree at ./drivers/power/supply, dated October 2026 β slay, go touch some registers π
π
π¦ 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