The Linux kernel 4.15, which was released by Linus Torvalds on January 28, contains several interesting contributions by us: We’ve developed drivers for industrial analog and digital I/O chips that are built into Revolution Pi products and were previously unsupported by Linux.
In particular:
- New driver for the digital input chip MAX31913 with extended temperature range, protection against electromagnetic interference and detection of overheating and undervoltage:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpio/gpio-max3191x.c
- New driver for the analog output chip TI DAC082S085 with extended temperature range:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/dac/ti-dac082s085.c - Extension of an existing driver by support for the analog input chip MCP3550 with high precision and extended temperature range:
https://git.kernel.org/linus/c1375d671a35 - Extension of the GPIO core by parallel readout of multiple digital inputs to enable performant access to the MAX31913:
https://git.kernel.org/linus/eec1d566cdf9
The drivers allow access to the I/O chips either via piControl or the generic programming interfaces of the Linux kernel. Users are thus afforded maximum flexibility when developing their projects.
By upstreaming the drivers into the mainline Linux kernel, users are liberated from having to use a special kernel on their Revolution Pi devices. That’s a significant advantage over so-called out-of-tree drivers. Such drivers usually only work with one particular kernel version and every new kernel version requires painstaking forward porting because the kernel-internal interfaces are refactored continually. If a manufacturer neglects this porting effort, users are forced to employ older kernel versions and are vulnerable to security issues found in them.