ab8500_fg_get_property(9)
β¨ ab8500_fg_get_property(9) β¨
okay so bestie, welcome to the Kernel API Manual π
this one's all about ab8500_fg_get_property(9) and honestly it's giving "tiny function, big battery energy" πβ¨
π NAME π
ab8500_fg_get_property β get the fg properties π
πΈ SYNOPSIS πΈ
int ab8500_fg_get_property (struct power_supply *psy , enum
power_supply_property psp , union power_supply_propval *val );
like, three args, one int coming back at you, no cap π«Ά
π¦ ARGUMENTS π¦
psyβ pointer to thepower_supplystructure. this is the main character of the struct world πpspβ pointer to thepower_supply_propertystructure. yeah, the property one, iykykvalβ pointer to thepower_supply_propvalunion. this is where the good stuff lands π«
π DESCRIPTION π
so the way that this works: this function gets called when an application tries to get the fg properties by reading the sysfs files. literally just somebody peeking through sysfs and this bad boy answers the door π
here's the whole menu of what it can hand back, and ngl this part ate:
voltage_nowβ battery voltage β‘current_nowβ battery instant currentcurrent_avgβ battery average currentcharge_full_designβ capacity where battery is considered full πcharge_nowβ battery capacity in nAhcapacityβ capacity in percent π―capacity_levelβ capacity level
returns error code in case of failure, else0on success. so0= slay, anything else = something's off π
π SEE ALSO π
kernel file ./drivers/power/supply/ab8500_fg.c β that's the source of truth bestie, go read it π
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_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_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)
and that's the whole vibe check bestie, you're officially fg-fluent π§ββοΈ
π cute little sign-off: this page lives in ./drivers/power/supply and it's dated October 2026 β periodt. 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