regulator_bulk_disable(9)
π NAME π
regulator_bulk_disable β bestie, this one disables multiple regulator consumers in one go β¨
π SYNOPSIS π
int regulator_bulk_disable (int num_consumers , struct
regulator_bulk_data *consumers );
π¦ ARGUMENTS π¦
num_consumersβ the number of consumers. Literally just how many of them you're rolling with π«Άconsumersβ the consumer data; the clients are stored in here, that's where they live π
πΈ DESCRIPTION πΈ
Okay so this is a convenience API, and it does exactly what it says on the tin: it lets consumers disable multiple regulator clients inside a single API call π no cap, one call, all of them.
But here's the part you need to clock, bestie π β if any consumers cannot be disabled, then any others that were already disabled will be enabled again prior to return. It's giving "all or nothing," it's giving "we ride together or we don't ride at all." So nobody gets left in a half-disabled state. Periodt π
β RETURN β
0 on success, or a negative error number on failure. That's the vibe check π§
π₯ SEE ALSO π₯
The kernel file ./drivers/regulator/core.c and honestly the whole friend group π β
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_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_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)
and that's the whole page, bestie π this little cutie lives in ./drivers/regulator, it's part of the Kernel API Manual, and it was dated October 2026 β go forth and disable responsibly πβ¨π
π¦ 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