gpiochip_unlock_as_irq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ gpiochip_unlock_as_irq(9) πŸŽ€

okay bestie, welcome to this page from the Kernel API Manual πŸ’– it's giving tiny function, very specific job energy, and honestly? iconic. If a GPIO was locked as an IRQ and now it needs to be released, this is the little function that handles it ✨.

🌸 NAME 🌸

gpiochip_unlock_as_irq β€” unlock a GPIO used as IRQ πŸ’…

✨ SYNOPSIS ✨

void gpiochip_unlock_as_irq (struct gpio_chip *gc , unsigned int offset
);

🫢 ARGUMENTS 🫢

  • gc β€” the chip the GPIO to lock belongs to. That's the chip in question, bestie 🫢
  • offset β€” the offset of the GPIO to lock as IRQ. It's literally the offset, no cap πŸ’…

πŸ’– DESCRIPTION πŸ’–

This is used directly by GPIO drivers that want to indicate that a certain GPIO is no longer used exclusively for IRQ. So the driver is basically saying "bestie, this line is not IRQ-exclusive anymore", and this is the direct call it uses πŸ”₯. That's the whole vibe: unlock the IRQ use, periodt.

🌈 SEE ALSO 🌈

Kernel file ./drivers/gpio/gpiolib.c is where the lore lives, and the full SEE ALSO roll call is: 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_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), 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).


okay that's the whole page, bestie πŸ’– this came from the ./drivers/gpio source/version corner, dated October 2026 β€” gpiochip_unlock_as_irq(9) signing off πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from