regulator_dev_lookup(9)
π regulator_dev_lookup(9) π
okay bestie, welcome to the Kernel API Manual page for regulator_dev_lookup. This one is lowkey iconic: it looks up a regulator device, and it has rules about refcounts. Letβs get into it. β¨
π NAME π
regulator_dev_lookup β lookup a regulator device. π
β¨ SYNOPSIS β¨
struct regulator_dev * regulator_dev_lookup (struct device *dev , const
char *supply );
π«Ά ARGUMENTS π«Ά
devβ device for regulator "consumer". like, the device thatβs being all consumer-y about its regulator. πsupplyβ Supply name or regulator ID. thatβs the thing youβre looking up, bestie.
π RETURN π
pointer to struct regulator_dev or ERR_PTR encoded negative error number. π
πΈ DESCRIPTION πΈ
okay so if it succeeds, it returns a struct regulator_dev that corresponds to the name supply and with the embedded struct device refcount incremented by one. π₯
and listen: that refcount must be dropped by calling put_device. do not forget, bestie, thatβs the whole vibe check. π
on failure, one of these ERR_PTR encoded values is returned:
-ENODEVβ if lookup fails permanently. π-EPROBE_DEFERβ if lookup could succeed in the future. β
π SEE ALSO π
Kernel file: ./drivers/regulator/core.c
the whole regulator squad is here, no cap:
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_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)
xoxo, bestie π this page is from source/version ./drivers/regulator, and the date is October 2026. go look up those regulators and remember the put_device, 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