set_machine_constraints(9)
set_machine_constraints(9) π
from the Kernel API Manual β okay so bestie, this is the page for set_machine_constraints, and it's literally the regulator-constraints setup moment β¨
π NAME π
set_machine_constraints β sets regulator constraints
β¨ SYNOPSIS β¨
int set_machine_constraints (struct regulator_dev *rdev , bool is_locked
);
πΈ ARGUMENTS πΈ
rdevβ regulator source. yes that's the struct, main character energy πis_lockedβ whether or not this is called with locks held already. lock vibe check π«Ά
π¦ DESCRIPTION π¦
okay so this allows platform initialisation code to define and constrain regulator circuits β think valid voltage/current ranges, etc. π
NOTE: Constraints must be set by platform code in order for some regulator operations to proceed, i.e.set_voltage,set_current_limit,set_mode. like, must must, no cap β some operations literally won't proceed without it ππ₯
β RETURN β
0 on success or a negative error number on failure. periodt π
π SEE ALSO π
Kernel file ./drivers/regulator/core.c β and the whole regulator friend group is right here:
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)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_set_current_limit(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)
ok that's the whole page, bestie π source/version ./drivers/regulator, October 2026, set_machine_constraints(9) β byeee π«Άβ¨
π¦ 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