Kernel Log: Coming in 2.6.35 (Part 5) - Drivers
by Thorsten Leemhuis
Expanded support for USB 3.0, a new subsystem for the use of infra-red remote controls, and an EDAC driver for Nehalem processors are just a few of the many new or improved drivers.
In the release email on the sixth beta version of Linux 2.6.35, Torvalds indicated that it could be the last beta for this kernel version, so it's probable that the final of 2.6.35 will be released in the next few days.
In this issue, Part 5, The Kernel Log mini-series "Coming in 2.6.35" closes with a description of the changes concerning drivers for hardware components, which have not yet been discussed. Part 1 of the mini-series dealt with changes pertaining to graphics hardware and Part 2 concerned storage hardware and file systems. Part 3 talked about network infrastructure and drivers and Part 4, about architecture, infrastructure, tracing and virtualisation.
USB, FireWire
The kernel's older FireWire Stack, often called "IEEE1394", will probably be dropped in 2.6.37. At that point, the Juju FireWire Stack integrated in 2.6.22 will handle sole control of the FireWire hardware since the Maintainer FireWire subsystem in version 2.6.33 made some changes to entice distributions to switch to the new FireWire stack.
The xHCI USB driver has supported data transmission since 2.6.35 for the "Bulk Endpoint Streams" implemented in USB 3.0. They are required for some of the patches still being developed to add support for the USB Attached SCSI protocol (UASP) to the kernel's USB storage driver so it can improve traffic rates for USB 3.0 drives. A gadget driver that emulates an HID device is also new, as is the FunctionFS framework that allows a USB gadget device to be attached so that data can be transported from userspace to the USB host via the gadget device (such as 1, 2). The function is used, for instance, with the new f_uvc driver that passes on video data to the host via USB.
Audio, V4L / DVB
The ALSA project's sound drivers for the kernel 2.6.35 have also been updated to the level of ALSA version 1.0.23. New too is the snd-asihpi driver for ASI sound cards from AudioScience. There have also been major changes to the code that supports USB audio – a number of them from the support implemented in 2.6.34 for version 2.0 of the USB audio specification (such as 1, 2, 3, 4, 5, 6); For an overview of other changes in audio drivers and the most important changes in the ASoC (ALSA System on Chip) subsystem, see Takashi Iwai’s main Git-Pull-Request.
A new "Remote Controller Subsystem" mainly produced by V4L / DVB maintainer Mauro Carvalho Chehab is intended to pave the way for better support of infra-red controls (such as 1, 2, 3, 4, 5). Up to now, most distributions have provided Lirc for this purpose, but it unfortunately it does not fulfil the quality requirements of kernel developers and may someday work with the new subsystem in a different form.
An LWN.net article from last December sheds light on the situation.
Staging
The V4L / DVB maintainer also brought the tm6000 driver along for Trident's TM5600 / TM6000 TV Master chips for staging (such as 1, to do) to replace drivers that no longer fulfil the kernel developers' quality standards or have caused major problems. The tm6000 driver for Terratec's Cinergy Hybrid XE and Hauppauge's WinTV HVR 900H/WinTV seems to be in this category because Mauro Carvalho Chehab does not exactly have good things to say about it in his Git-Pull-Request.
Apropos staging, a frame buffer driver for XGI's XG20, XG21, XG40, XG42, Z7, Z9 and Z11 graphics chips has also been added, as has a WAN driver for the WanPMC-CxT1E1 card, a driver for Intel's Restricted Access Region (RAR) Handler and a third V4L driver for DT3155 chips. The arlan, strip and wavelan drivers are no longer maintained at all and are not especially suitable for the rest of the kernel, so they were removed; they supported chips from the early days of Wireless LAN and are probably not widely used.