From the version 4.8, the Linux kernel introduces a new user space API based on character devices for managing and controlling GPIOs ( General-Purpose Input/Output). This post presents the basic of the new interface as well as a simple tutorial/example to demonstrate how to use the new API to control GPIOs.
The hardware used in the tutorial is the Raspberry Pi 3B but the code is generic and can be used on any embedded hardware.