regulator_set_current_limit(9)
π regulator_set_current_limit β the kernel API manual, bestie edition π
So this one is a page from the Kernel API Manual (section 9, kernel-flavored, obviously) and it's literally all about regulator_set_current_limit, iykyk β‘
β¨ NAME β¨
regulator_set_current_limit β sets the regulator's output current limit, no cap π
πΈ SYNOPSIS πΈ
int regulator_set_current_limit (struct regulator *regulator , int
min_uA , int max_uA );
π¦ ARGUMENTS π¦
regulatorβ the regulator source, your main character here πmin_uAβ the minimum supported current, in uAmax_uAβ the maximum supported current, in uA
π DESCRIPTION π
Okay so what this does: it sets the current sink to the desired output current. And the vibe check on when you can call it? Any regulator state, periodt. IOW, the regulator can be disabled or enabled, doesn't matter, it's giving flexibility β¨
Now here's the cute part β timing. If the regulator is enabled, the current changes to the new value immediately. If the regulator is disabled, then it'll output at the new current whenever it gets enabled. Lowkey elegant π«Ά
π NOTE π
Bestie, listen β regulator system constraints must be set for this regulator before you call this function. If you don't? The call fails. Not me warning you twice π
β RETURN β
0 on success, or a negative error number on failure. That's it, that's the whole return π
π SEE ALSO π
The kernel file is ./drivers/regulator/core.c, and here's the whole entourage, fr fr:
regulator_lock_nested(9)regulator_lock(9)regulator_unlock(9)regulator_lock_two(9)regulator_unlock_two(9)regulator_unlock_dependent(9)regulator_lock_dependent(9)set_machine_constraints(9)regulator_event_work_fn(9)regulator_event_forward_notifier(9)register_regulator_event_forwarding(9)set_supply(9)set_consumer_device_supply(9)regulator_dev_lookup(9)_regulator_get_common(9)regulator_get(9)regulator_get_exclusive(9)regulator_get_optional(9)regulator_put(9)regulator_register_supply_alias(9)regulator_unregister_supply_alias(9)regulator_bulk_register_supply_alias(9)regulator_bulk_unregister_supply_alias(9)regulator_ena_gpio_ctrl(9)_regulator_check_status_enabled(9)_regulator_handle_consumer_enable(9)_regulator_handle_consumer_disable(9)regulator_enable(9)regulator_disable(9)regulator_force_disable(9)regulator_disable_deferred(9)regulator_is_enabled(9)regulator_count_voltages(9)regulator_list_voltage(9)regulator_get_regmap(9)regulator_get_hardware_vsel_register(9)regulator_list_hardware_vsel(9)regulator_hardware_enable(9)regulator_get_linear_step(9)regulator_is_supported_voltage(9)regulator_set_voltage(9)regulator_set_voltage_time(9)regulator_set_voltage_time_sel(9)regulator_sync_voltage(9)regulator_get_voltage(9)regulator_get_current_limit(9)regulator_get_unclaimed_power_budget(9)regulator_request_power_budget(9)regulator_free_power_budget(9)regulator_set_mode(9)regulator_get_mode(9)regulator_get_error_flags(9)regulator_set_load(9)regulator_allow_bypass(9)regulator_register_notifier(9)regulator_unregister_notifier(9)regulator_bulk_get(9)regulator_bulk_enable(9)regulator_bulk_disable(9)regulator_bulk_force_disable(9)regulator_bulk_free(9)regulator_handle_critical(9)regulator_notifier_call_chain(9)regulator_mode_to_status(9)regulator_register(9)regulator_unregister(9)regulator_suspend(9)regulator_has_full_constraints(9)rdev_get_drvdata(9)regulator_get_drvdata(9)regulator_set_drvdata(9)rdev_get_id(9)
Okay that's the whole page, mwah π This little beauty lives in ./drivers/regulator and it's stamped October 2026 β go forth and set those current limits responsibly, bestie π§π
π¦ 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