_regulator_get_common(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ _regulator_get_common(9) πŸŽ€

okay so bestie, this is a page from the Kernel API Manual and it's all about the shared plumbing behind regulator requests πŸ’… like, the common code that every regulator request eventually runs through. it's not the flashy main character of the regulator subsystem, it's the stage crew, and honestly? we stan 🫢


✨ NAME ✨

_regulator_get_common β€” the common code for regulator requests πŸ”₯ (yes that's literally the name, she does exactly what it says on the tin)


🌸 SYNOPSIS 🌸

struct regulator * _regulator_get_common (struct regulator_dev *rdev ,
struct device *dev , const char *id , enum regulator_get_type get_type
);

πŸ¦‹ ARGUMENTS πŸ¦‹

  • rdev β€” a regulator device pointer, the kind you get back from *regulator_dev_lookup. heads up: its reference count is expected to have been incremented already, so don't come in here with a cold, un-incremented refcount, that's not the vibe πŸ’€
  • dev β€” the device used for dev_printk messages. she's the one who does the talking when something needs to be logged πŸ“’
  • id β€” the supply name or regulator ID πŸŽ€
  • get_type β€” an enum regulator_get_type value that corresponds to the type of request you're making ✨

πŸ’– RETURN πŸ’–

a pointer to struct regulator corresponding to rdev, or an ERR_PTR encoded error 😭 (so like, check it properly, bestie, don't just raw-dog the pointer)


πŸ‘‘ DESCRIPTION πŸ‘‘

this function should be chained with *regulator_dev_lookup functions. that's the whole deal β€” she's a link in the chain, not a solo act 🧚


🌈 SEE ALSO 🌈

kernel file ./drivers/regulator/core.c πŸ‘€

and the whole extended friend group, 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(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) πŸ¦‹


ngl this one is tiny but she's load-bearing. skip the refcount increment on rdev and the vibes will be immaculate right up until they are not πŸ’€

and that's the whole page, bestie, you ate that πŸ“ mwah πŸ’œ β€” this cutie lives in ./drivers/regulator, dated October 2026, and it's the _regulator_get_common(9) page, periodt πŸ‘‘

πŸ“¦ where this page comes from