STRUCT AB8500_CHARGE_CURR_MAXIMIZATION(9)
π NAME π
okay so bestie, welcome to the Kernel API Manual (section 9, we love a numbered girlie β¨) β this page is all about struct ab8500_charge_curr_maximization, which is literally just the charger maximization parameters. that's it. that's the vibe. she holds the numbers that let the charger figure out how hard it's allowed to go π«Ά
πΈ SYNOPSIS πΈ
struct ab8500_charge_curr_maximization {
int original_iset_ua;
int current_iset_ua;
int condition_cnt;
int max_current_ua;
int wait_cnt;
u8 level;
};
no cap, that's the whole struct. six little fields of main character energy π
π Members π
original_iset_uaβ the charger current before anybody optimized/maximised it, i.e. the non optimized/maximised charger current. the "before" pic, if u will πΈcurrent_iset_uaβ the charging current being used at this exact moment. right now. live. not a drill πcondition_cntβ the number of iterations it takes before a new charger current gets set. she's counting down, okay, let her cook πmax_current_uaβ the maximum charger current. the ceiling. the limit. the "don't test me" number π₯wait_cntβ lowkey the most thoughtful field tbh π this one exists to avoid too fast current step down in case the charger voltage collapses, so we insert this delay between step down. safety queen behavior, we stan π§levelβ tells you in how many steps the charging current has been increased. little ladder of progress, iykyk π
π¦ SEE ALSO π¦
okay this list is LONG but every single one of these is iconic and you're gonna read all of them, no skipping π start with the kernel file ./drivers/power/supply/ab8500_chargalg.c and then:
struct ab8500_chargalg(9)ab8500_chargalg_safety_timer_expired(9)ab8500_chargalg_maintenance_timer_expired(9)ab8500_chargalg_state_to(9)ab8500_chargalg_check_charger_connection(9)ab8500_chargalg_start_safety_timer(9)ab8500_chargalg_stop_safety_timer(9)ab8500_chargalg_start_maintenance_timer(9)ab8500_chargalg_stop_maintenance_timer(9)ab8500_chargalg_kick_watchdog(9)ab8500_chargalg_ac_en(9)ab8500_chargalg_usb_en(9)ab8500_chargalg_update_chg_curr(9)ab8500_chargalg_stop_charging(9)ab8500_chargalg_hold_charging(9)ab8500_chargalg_start_charging(9)ab8500_chargalg_check_temp(9)ab8500_chargalg_check_charger_voltage(9)ab8500_chargalg_end_of_charge(9)ab8500_chargalg_chg_curr_maxim(9)ab8500_chargalg_external_power_changed(9)ab8500_chargalg_time_to_restart(9)ab8500_chargalg_algorithm(9)ab8500_chargalg_periodic_work(9)ab8500_chargalg_wd_work(9)ab8500_chargalg_work(9)ab8500_chargalg_get_property(9)
ngl bestie, that's 27 entries and i counted them for you so you don't have to π you're welcome π
and that's the page!! π this lil slice of the manual lives over in ./drivers/power/supply and it's dated October 2026 β yes, future girlie behavior fr fr β so go forth, read your charger structs, and remember: the page title is literally struct ab850...maximization(9) because even manpage headers gotta abbreviate sometimes π bye bestie, slay ur kernel dev era ππ
π¦ 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