_regulator_...sumer_enable(9)
β¨ NAME β¨
okay bestie, meet _regulator_handle_consumer_enable β the little helper that handles that a consumer enabled. This one comes straight from the Kernel API Manual, and it is giving very much βbehind-the-scenes refcount main characterβ energy. π
πΈ SYNOPSIS πΈ
int _regulator_handle_consumer_enable (struct regulator *regulator );
π ARGUMENTS π
regulatorβ regulator source. Thatβs the regulator source, periodt. π
π DESCRIPTION π
okay so some things on a regulator consumer β like the contribution towards total load on the regulator β only have an effect when the consumer wants the regulator enabled. The original explains it with two consumers of the same regulator, and the numbers are a whole journey:
consumer A: set_load(100); => total load = 0
consumer A: regulator_enable; => total load = 100
consumer B: set_load(1000); => total load = 100
consumer B: regulator_enable; => total load = 1100
consumer A: regulator_disable; => total_load = 1000
This function β together with _regulator_handle_consumer_disable β is responsible for keeping track of the refcount for a given regulator consumer and applying / unapplying these things. no cap, thatβs the whole vibe. π¦
π₯ RETURN π₯
0 on success or negative error number on failure. Thatβs it. slay. β¨
π SEE ALSO π
The whole extended universe is rooted in the kernel file ./drivers/regulator/core.c, and the tag list is genuinely giving group project, 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_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)
π thatβs the whole page, bestie β the footer says source/version ./drivers/regulator and date October 2026, and honestly? iconic. π
π¦ 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