ab8500_charger_usb_cv(9)
β¨ ab8500_charger_usb_cv β¨
okay bestie so this is a page straight out of the Kernel API Manual and it's all about one lil function that checks if the usb charger is living in CV mode π literally one job and it ate.
πΈ NAME πΈ
ab8500_charger_usb_cv β check if the usb charger is in CV mode π¦
π SYNOPSIS π
int ab8500_charger_usb_cv (struct ab8500_charger *di );
that's it. that's the whole vibe. one function, one argument, no drama π
π ARGUMENTS π
diβ pointer to theab8500_chargerstructure β¨ like, this is the charger struct you're handing over, no cap
π₯ DESCRIPTION π₯
Returns ac charger CV mode (on success) else error code π«Ά
that's the whole tea, honestly. success? you get the ac charger CV mode back. not success? you get an error code and you just gotta deal with it π
π SEE ALSO π
first up, the kernel file itself lives at ./drivers/power/supply/ab8500_charger.c β that's the main character of this whole story π
and then there's the extended universe, because this function did NOT come alone. the whole friend group, in order:
ab8500_charger_interrupts(9)struct ab8500_charger(9)ab8500_power_supply_changed(9)ab8500_charger_get_ac_voltage(9)ab8500_charger_ac_cv(9)ab8500_charger_get_vbus_voltage(9)ab8500_charger_get_usb_current(9)ab8500_charger_get_ac_current(9)ab8500_charger_detect_chargers(9)ab8500_charger_max_usb_curr(9)ab8500_charger_read_usb_type(9)ab8500_charger_detect_usb_type(9)ab8500_charger_get_usb_cur(9)ab8500_charger_check_continue_stepping(9)ab8500_charger_set_current(9)ab8500_charger_set_vbus_in_curr(9)ab8500_charger_set_main_in_curr(9)ab8500_charger_set_output_curr(9)ab8500_charger_led_en(9)ab8500_charger_ac_en(9)ab8500_charger_usb_en(9)ab8500_charger_usb_check_enable(9)ab8500_charger_ac_check_enable(9)ab8500_charger_watchdog_kick(9)ab8500_charger_update_charger_current(9)ab8500_charger_check_vbat_work(9)ab8500_charger_check_hw_failure_work(9)ab8500_charger_kick_watchdog_work(9)ab8500_charger_ac_work(9)ab8500_charger_detect_usb_type_work(9)ab8500_charger_usb_link_attach_work(9)ab8500_charger_usb_link_status_work(9)ab8500_charger_check_usbchargernotok_work(9)ab8500_charger_check_main_thermal_prot_work(9)ab8500_charger_check_usb_thermal_prot_work(9)ab8500_charger_mainchunplugdet_handler(9)ab8500_charger_mainchplugdet_handler(9)ab8500_charger_mainextchnotok_handler(9)ab8500_charger_mainchthprotr_handler(9)ab8500_charger_mainchthprotf_handler(9)ab8500_charger_vbusdetf_handler(9)ab8500_charger_vbusdetr_handler(9)ab8500_charger_usblinkstatus_handler(9)ab8500_charger_usbchthprotr_handler(9)ab8500_charger_usbchthprotf_handler(9)ab8500_charger_usbchargernotokr_handler(9)ab8500_charger_chwdexp_handler(9)ab8500_charger_vbuschdropend_handler(9)ab8500_charger_vbusovv_handler(9)ab8500_charger_ac_get_property(9)ab8500_charger_usb_get_property(9)ab8500_charger_init_hw_registers(9)
like. fifty-two of them. that's not a friend group, that's a whole festival lineup π€ iykyk
ngl if you're poking around the ab8500_charger crew, read the whole list β there's a handler for basically every possible charger emotion π
and that's the page!! π this lil masterpiece comes to you from ./drivers/power/supply, dated October 2026, and yeah β it's giving kernel documentation but make it adorable ππ¦π periodt.
π¦ 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