gpiochip_add...ge_with_pins(9)
β¨ gpiochip_add_pin_range_with_pins(9) β¨
okay so bestie, welcome to the Kernel API Manual β sit down, grab a strawberry drink, because we're talking about gpiochip_add...ge_with_pins(9) and honestly? It's giving "niche but iconic" π
π NAME π
gpiochip_add_pin_range_with_pins β add a range for GPIO <-> pin mapping π¦
πΈ SYNOPSIS πΈ
int gpiochip_add_pin_range_with_pins (struct gpio_chip *gc , const char
*pinctl_name , unsigned int gpio_offset , unsigned int pin_offset ,
unsigned int const *pins , unsigned int npins );
π ARGUMENTS π
gcβ the gpiochip you're adding the range for π«Άpinctl_nameβ thedev_nameof the pin controller we're mapping to, no capgpio_offsetβ the start offset in the currentgpio_chipnumber space βpin_offsetβ the start offset in the pin controller number spacepinsβ the list of non consecutive pins to accumulate in this range (if notNULL,pin_offsetis ignored by pinctrl core π yes literally ignored)npinsβ the number of pins from the offset of each pin space (GPIO and pin controller) to accumulate in this range
π¦ DESCRIPTION π¦
Okay so real talk: calling this function directly from a DeviceTree-supported pinctrl driver is DEPRECATED π Like, straight up deprecated, not "deprecated but it's fine" deprecated.
Please see Section 2.1 of Documentation/devicetree/bindings/gpio/gpio.txt on how to bind pinctrl and gpio drivers via the "gpio-ranges" property. That's the way, bestie β read the docs, slay π
ngl if you're out here hand-calling this from a DT-supported driver, the vibe check says: deprecation. README.txt energy. Go look at "gpio-ranges" instead π
π₯ RETURN π₯
0 on success, or a negative errno on failure. Periodt. β¨
π SEE ALSO π
Kernel file ./drivers/gpio/gpiolib.c β and honestly the whole friend group is here, so let me introduce 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),gpiochip_find_base_unlocked(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_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 that's the whole page, bestie πβ¨ππ¦πΈπ
this little love letter lives in ./drivers/gpio, dated October 2026 β gpiochip_add...ge_with_pins(9), no cap, iykyk π«Άβ
π¦ 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