Kernel Log: Coming in 2.6.38 (Part 6) - Drivers
Thorsten Leemhuis
The HD audio driver can now run without interrupts, letting processors sleep for longer. There are new drivers for touchscreens and multi-touch panels. More fingers will be detected by the Synaptic touchpad driver from 2.6.38 onwards.
All the parts in this Kernel Log mini-series can be found by referring to the 2.6.38 tracking page.
On Monday night (7 March), Linus Torvalds published the eighth pre-release of Linux 2.6.38. In the announcement he wrote that it would have been okay for him to release this as the final 2.6.38 â but said that, "I'm going to be partially unreachable for several days next week, so I felt there was no point in opening the merge window yet."
With 2.6.38 approaching completion, the Kernel Log series is likewise concluding its report on new features in 2.6.38. This final part of the 'Coming in 2.6.38' series looks at drivers from areas not yet addressed. Parts one and three of the series looked at the code dealing with graphics hardware and network communication. Parts two and four were concerned with file systems and storage. Architecture code, virtualisation and infrastructure were the subject of the fifth article in the series.
Audio
From 2.6.38, the kernel's audio code can, where supported by the Alsa sound driver used, operate without periodic interrupts. The only driver to support this feature for now is the 'hda_intel' driver, which, despite its name, also works with AMD and NVIDIA HDA hardware. Together with the latest PulseAudio versions, which use timer-based scheduling, this reduces the number of system interrupts, which, in the best case, allows the CPU to remain in a sleep state for longer. Pulseaudio developer Lennart Poettering is quoted in the commit comments with the words: "This patch looks very interesting and desirable. This is something have long been waiting for."
In 2.6.38, the oxygen driver is able to address Asus' Xonar DG; the Intel HDA driver mentioned above also now supports some HDA chips emulated by VMware products. As ever, the kernel and Alsa hackers have added dozens of quirks which theoretically allow system or vendor-specific special parameters to be applied automatically. These quirks, which can also be activated via module options, are required for correct functioning of audio hardware on many systems. One such quirk is a change to the driver for a Conexant HDA chip. It ensures that the SPDIF outputs and microphone input on ASUS A52J and U50F series laptops work correctly. Links at the end of this article lead to numerous further quirks for Acer, Dell, HP, Lenovo, Samsung and Sony hardware. Takashi Iwai lists further audio driver-related changes in his main git pull request.
Media
Kernel developers have removed the compatibility code for first generation Video4Linux (1, 2). Userspace applications which rely on V4L1 can access video hardware via libv4l1, which has drivers that use the current second generation of the V4L-API. Kernel hackers have also removed the cpia and stradis drivers which require V4L1 and are probably now barely used; no-one seems to have objected to their relegation to the staging area some months ago. The same fate looks to await dabusb, se401 and usbvideo in 2.6.39 â they have also been relegated to the staging area in the course of the current development cycle.
There is a new mb86a20s driver for the eponymous Fujitsu chip, a demodulator for ISDB-T/ISDB-Tsb, which is used in Japan and in the process of being adopted in South America. The media subsystem now uses the abbreviation RC (remote controller) in place of IR (infrared) for the still relatively new remote control code (e.g. 1, 2, 3). Developers have removed the lirc_i2c driver because the ir-kbd-i2c driver offers the same functionality. Media subsystem maintainer Mauro Carvalho Chehab gives an overview of further changes to the media subsystem, which encompasses radio and TV hardware and remote controllers, in the most significant of his git pull requests for 2.6.38.
Staging
There have once more been many and major changes in the staging area, used primarily for drivers containing code which is not yet up to the quality standards required by its developers or kernel hackers. These include a driver for RMI4 and TM1217 touchscreen controllers from Synaptics which has found its way into 2.6.38.
Also finding its way into the staging area is the Discretix SEP driver for the Security Processor integrated into some Intel chips intended for use in mobile internet devices and embedded systems. The staging area also sees the arrival of 33 drivers for various industrial I/O (IIO) chips. There have also been changes to Wi-Fi staging drivers, previously described in the third part of the "Coming in 2.6.38" series.