New GPIO interface for linux user space (GPIO character device API and libgpiod)
Since linux 4.8 the GPIO sysfs interface is deprecated. Due to its many drawbacks and bad design decisions a new user space interface has been implemented in the form of the GPIO character device which is now the preferred method of interaction with GPIOs which can't otherwise be serviced by a kernel driver. The character device brings in many new interesting features such as: polling for line events, finding GPIO chips and lines by name, changing & reading the values of multiple lines with a single ioctl (one context switch) and many more.
In this presentation Bartosz will showcase the new features of the GPIO UAPI, discuss the current state of libgpiod (user space tools for using the character device providing a C library, set of user space tools and C++ & Python bindings) and tell you why it's beneficial to switch to the new interface.
Embedded Software Engineer
Bartosz Golaszewski has over 8 years of engineering experience in the embedded systems domain ranging from low-level, real-time operating systems, through the linux kernel to user-space programs and libraries. He has worked on international projects in a broad range of
fields: bleeding edge consumer electronics, high availability systems and military applications. He has contributed significant changes to several open-source projects including the linux kernel, busybox, buildroot, sigrok and many others. Bartosz maintains libgpiod - a C library for interacting with the GPIO character device for linux - and contributes regularly to the core GPIO kernel code.