regulator_ena_gpio_ctrl(9)
okay bestie, welcome to the regulator_ena_gpio_ctrl(9) page from the Kernel API Manual π«Ά this one is literally about balancing the enable_count of each GPIO and actual GPIO pin control, and it's giving very specific energy. let's go π
π NAME π
regulator_ena_gpio_ctrl β balance enable_count of each GPIO and actual GPIO pin control. no cap, that's the whole name vibe. π
β¨ SYNOPSIS β¨
int regulator_ena_gpio_ctrl (struct regulator_dev *rdev , bool enable );
so you're calling it with a struct regulator_dev *rdev and a bool enable, and it hands you back an int. iconic signature tbh. π
π ARGUMENTS π
rdevβ theregulator_devstructure. that's the main character here. πenableβ enable GPIO at initial use? yep, that's the question it's asking. π¦
π¦ DESCRIPTION π¦
here's the lowkey important part, bestie: GPIO is enabled in case of initial use. (enable_count is 0) and GPIO is disabled when it is not shared any more. (enable_count <= 1). that's the whole behavior, no extra lore. β¨
πΈ RETURN πΈ
0 on success or a negative error number on failure. simple, clean, fr fr. π«Ά
π₯ SEE ALSO π₯
Kernel file ./drivers/regulator/core.c and the whole bestie squad of references:
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_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)
okay that's the whole page, mwah π β source/version: ./drivers/regulator, date: October 2026, and the page is regulator_ena_gpio_ctrl(9). bye bestie, go balance those GPIOs 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