regulator_get_exclusive(9)
π NAME π
regulator_get_exclusive β obtain exclusive access to a regulator. Slay, that's the whole name. π
β¨ SYNOPSIS β¨
struct regulator * regulator_get_exclusive (struct device *dev , const char *id );
π«Ά ARGUMENTS π«Ά
devβ device for regulator "consumer", bestie. That's the one asking for the regulator.idβ Supply name or regulator ID. The way that this can be either one is lowkey important, iykyk. π¦
π DESCRIPTION π
Okay so the whole point: while you're holding this reference, other consumers will be unable to obtain this regulator, and the use count for the regulator will be initialised to reflect the current state of the regulator. No cap, it's giving exclusive main character energy. π
This is intended for use by consumers which cannot tolerate shared use of the regulator β such as those which need to force the regulator off for correct operation of the hardware they are controlling. Like, they literally cannot share, and that's valid. Periodt. π₯
Use of supply names configured via set_consumer_device_supply is strongly encouraged. It is recommended that the supply name used should match the name used for the supply and/or the relevant device pins in the datasheet. Fr fr, do that. πβ¨
π RETURN π
Vibe check: you get a pointer to a struct regulator corresponding to the regulator producer, or an ERR_PTR encoded negative error number. That's the return situation, bestie. π«Άπ
π₯ SEE ALSO π₯
Kernel file ./drivers/regulator/core.c, plus this whole iconic crew:
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_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)
With love from the Kernel API Manual, source/version ./drivers/regulator, dated October 2026 β page: regulator_get_exclusive(9) πβ¨
π¦ 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