gpiochip_find_base_unlocked(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… gpiochip_find_base_unlocked โ€” a vibe check on the kernel API manual โœจ

okay so bestie, welcome to gpiochip_find_base_unlocked(9) from the Kernel API Manual โ€” yes the whole title is the function name, we're not being subtle today ๐ŸŽ€ she's a kernel function, she's documented in ./drivers/gpio, and she has exactly one job. let's get into it ๐Ÿฆ‹


โœจ NAME โœจ

gpiochip_find_base_unlocked โ€” find a global GPIO number base ๐Ÿ”ข

like, that's it. that's the whole name. she finds the base. iconic behavior honestly ๐Ÿ‘‘


๐ŸŒธ SYNOPSIS ๐ŸŒธ

int gpiochip_find_base_unlocked (u16 ngpio );

one arg, u16, returns an int. short and sweet. main character energy fr fr ๐Ÿ’–


๐ŸŽ€ ARGUMENTS ๐ŸŽ€

  • ngpio โ€” the number of consecutive GPIOs you want numbered ๐Ÿงฎ like, how many in a row, bestie. that's the whole parameter. no notes.

๐Ÿ’œ DESCRIPTION ๐Ÿ’œ

so what she actually does: she finds and allocates a consecutive range of unsigned integers that represent the GPIOs on the system. basically she goes looking for a nice empty stretch of numbers and claims it for the gpios ๐Ÿซถ lowkey a real estate agent for integers.

โš ๏ธ now the part you actually need to hear: using this numberspace outside of gpiolib's internals is STRONGLY DISCOURAGED. I'm not being dramatic, the manpage literally yells it at you in all caps. drivers and consumers should NOT concern themselves with this numberspace. periodt. ๐Ÿ’…

like, stay in your lane, stay out of the global numberspace, let gpiolib handle her own business ๐Ÿ™ˆ this is an internal-facing function, iykyk.


๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

okay this list is long and honestly a little iconic โ€” like she brought her whole friend group ๐Ÿ˜ญ here's everyone:

gpio_to_desc(9), gpio_device_get_desc(9), desc_to_gpio(9), gpiod_hwgpio(9), gpiod_to_chip(9), gpiod_to_gpio_device(9), gpio_device_get_base(9), gpio_device_get_label(9), gpio_device_get_chip(9), gpiod_is_equal(9), gpiod_get_direction(9), gpiod_is_single_ended(9), gpiochip_query_valid_mask(9), gpiochip_get_data(9), gpiochip_remove(9), gpio_device_find(9), gpio_device_find_by_label(9), gpio_device_find_by_fwnode(9), gpio_device_get(9), gpio_device_put(9), gpio_device_to_device(9), gpiochip_set_hierarchical_irqchip(9), gpiochip_irq_domain_activate(9), gpiochip_irq_domain_deactivate(9), gpiochip_irq_map(9), gpiochip_add_irqchip(9), gpiochip_irqchip_remove(9), gpiochip_irqchip_add_domain(9), gpiochip_generic_request(9), gpiochip_generic_free(9), gpiochip_generic_config(9), gpiochip_add_pingroup_range(9), gpiochip_add_pin_range_with_pins(9), gpiochip_remove_pin_ranges(9), gpiochip_dup_line_label(9), gpiochip_request_own_desc(9), gpiochip_free_own_desc(9), gpio_set_debounce_timeout(9), gpiod_direction_input(9), gpiod_direction_output_raw(9), gpiod_direction_output(9), gpiod_enable_hw_timestamp_ns(9), gpiod_disable_hw_timestamp_ns(9), gpiod_set_config(9), gpiod_set_debounce(9), gpiod_set_transitory(9), gpiod_is_active_low(9), gpiod_toggle_active_low(9), gpiod_get_raw_value(9), gpiod_get_value(9), gpiod_get_raw_array_value(9), gpiod_get_array_value(9), gpiod_set_raw_value(9), gpiod_set_value_nocheck(9), gpiod_set_value(9), gpiod_set_raw_array_value(9), gpiod_set_array_value(9), gpiod_cansleep(9), gpiod_set_consumer_name(9), gpiod_is_shared(9), gpiod_to_irq(9), gpiochip_lock_as_irq(9), gpiochip_unlock_as_irq(9), gpiod_get_raw_value_cansleep(9), gpiod_get_value_cansleep(9), gpiod_get_raw_array_value_cansleep(9), gpiod_get_array_value_cansleep(9), gpiod_set_raw_value_cansleep(9), gpiod_set_value_cansleep(9), gpiod_set_raw_array_value_cansleep(9), gpiod_add_lookup_tables(9), gpiod_set_array_value_cansleep(9), gpiod_add_lookup_table(9), gpiod_remove_lookup_table(9), fwnode_gpiod_get_index(9), gpiod_count(9), gpiod_get(9), gpiod_get_optional(9), gpiod_configure_flags(9), gpiod_get_index(9), gpiod_get_index_optional(9), gpiod_hog(9), gpiochip_free_hogs(9), gpiod_get_array(9), gpiod_get_array_optional(9), gpiod_put(9), gpiod_put_array(9) ๐Ÿ”ฅ

and yeah โ€” there's a kernel file note too: ./drivers/gpio/gpiolib.c ๐Ÿงš that's where she lives, go say hi.


and that's the page, bestie!! ๐ŸŒˆ source file ./drivers/gpio, dated October 2026, manual page gpiochip_find_base_unlocked(9) โ€” mwah, go read the kernel source, ily, bye ๐Ÿ’–โญ๐Ÿ’…

๐Ÿ“ฆ where this page comes from