I was going through the presentation1 about the new ABI of the GPIO Character device, presumably merged in v5.9 of the linux.

I installed a new version of raspberry os, (uname: Linux raspberrypi 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l GNU/Linux) but unfortunately found out there is still ABI v1 only inside /usr/include/linux/gpio.h.

Is there any information available when we can expect the new ABI to be part of the raspberry os?


1 Answer 1


Strange. I am using version 2 of the /dev/gpiochip API on my recently updated Pis (mainly because API 2 has broken API 1).

Version 2 of the gpiochip API is present in all the Pis I have recently updated (32 and 64 bit).

For instance my Pi3B+

uname -a
Linux pi3bp 5.10.17-v7+ #1421 SMP Thu May 27 13:59:01 BST 2021 armv7l GNU/Linux

A fragment of /usr/include/linux/gpio.h

#define GPIO_V2_LINES_MAX 64

 * The maximum number of configuration attributes associated with a line
 * request.

 * enum gpio_v2_line_flag - &struct gpio_v2_line_attribute.flags values
 * @GPIO_V2_LINE_FLAG_USED: line is not available for request
 * @GPIO_V2_LINE_FLAG_ACTIVE_LOW: line active state is physical low
 * @GPIO_V2_LINE_FLAG_INPUT: line is an input
 * @GPIO_V2_LINE_FLAG_OUTPUT: line is an output
 * @GPIO_V2_LINE_FLAG_EDGE_RISING: line detects rising (inactive to active)
 * edges
 * @GPIO_V2_LINE_FLAG_EDGE_FALLING: line detects falling (active to
 * inactive) edges

I suggest you update your Pi, perhaps with:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoremove
  • Yeah, strangely, that helped. I even had corrupted package apt package file. Anyway solved now. Thanks!
    – Quest
    Commented Aug 27, 2021 at 18:08
  • on the unrelevant note, do you, by any chance, know where I could find the datasheet for the PLLs registers description?
    – Quest
    Commented Aug 29, 2021 at 15:41
  • What do you mean by PLLs registers?
    – joan
    Commented Aug 29, 2021 at 16:33
  • I am looking for a register description of A2W_PLL*_CTRL, A2W_PLL*_ANA0, A2W_PLL*_FRAC and so on.. to determine a frequency of PLL*_per clock sources.
    – Quest
    Commented Aug 29, 2021 at 16:52
  • No idea. Search shows elinux.org/The_Undocumented_Pi#Clocks I don't touch the PLLs and have never studied them.
    – joan
    Commented Aug 29, 2021 at 17:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.