set_consumer_device_supply(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… set_consumer_device_supply(9) ✨

okay so bestie, welcome to the Kernel API Manual β€” yeah, the Kernel API Manual, we're doing kernel stuff today and honestly? iconic. this page is all about set_consumer_device_supply(9) and the way it just binds things together. let's get into it πŸŽ€


🌸 NAME 🌸

set_consumer_device_supply β€” literally binds a regulator to a symbolic supply. that's the whole vibe. simple, elegant, slay πŸ’…


✨ SYNOPSIS ✨

int set_consumer_device_supply (struct regulator_dev *rdev , const char
*consumer_dev_name , const char *supply );

yep, it returns an int. it takes three things. no cap, that's the whole signature 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

okay so the three besties you're passing in:

  • rdev β€” the regulator source. this is the origin point, the main character energy of the whole call πŸ‘‘
  • consumer_dev_name β€” the dev_name string for the device supply this applies to. so like, who is this supply for πŸŽ€
  • supply β€” the symbolic name for the supply. the cute little nickname, basically ⭐

🌈 DESCRIPTION 🌈

so here's what's happening: this lets platform initialisation code map physical regulator sources to symbolic names for supplies, for use by devices. lowkey a matchmaking service for hardware πŸ’–

and the whole point? devices should use these symbolic names to request regulators β€” which means you avoid the need to provide board-specific regulator names as platform data. no hardcoded board names in your platform data, we simply don't do that anymore 🧚✨


πŸ”₯ RETURN πŸ”₯

  • 0 on success πŸŽ‰
  • or a negative error number on failure 😭

that's it, that's the return contract, fr fr.


πŸ“ SEE ALSO πŸ“

everything below lives in the kernel file ./drivers/regulator/core.c β€” go read it, iykwim πŸ‘€

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), 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)

that's the whole friend group, periodt πŸ’œ


tiny reminder bestie 🫢 β€” the return is 0 on success or a negative error number on failure. don't be out here assuming positives mean anything nice, ok? πŸ™ˆ

πŸŽ€ and that's the page πŸŽ€

this lil beauty ships out of the ./drivers/regulator directory and it's stamped October 2026 β€” so bestie, it's from the future and it's still serving. mwah πŸ’‹βœ¨πŸŒΈ

πŸ“¦ where this page comes from