Enhancements to the ALSA code for HD audio codecs, a V4L/DVB driver for the Mantis TV chip, drivers for MSI laptops and drivers for newer AMD CPUs are just some of the improvements to Linux hardware support. Android drivers have now been escorted from the staging area, while Ramzswap (formerly Compcache) framework for compressing RAM has been added.

Linux Torvalds, as of the end of last week, has now released Linux 2.6.33-rc8, the eighth pre-release version of Linux kernel 2.6.33. The release announcement indicates that he expects it to be the last pre-release version, suggesting that the next kernel version from the main development tree is likely to see the light of day late this week or early next. It is not, however, unknown for Torvalds to slip out another version despite pronouncements to the contrary, pushing back the final kernel release by three to seven days.

The description of drivers and driver infrastructure-related changes which follows completes our reporting on the major changes in Linux 2.6.33 in our "Coming in 2.6.33" series. Parts one, two, three and four of the series looked at changes in network support, file systems, the storage subsystem, graphics hardware, architecture, tracing and virtualisation and the drivers residing in these areas of the kernel.

Audio and video

According to an e-mail from Takashi Iwai in which he summarises the most important changes in 2.6.33, this time round the number of changes was not quite as high as in 2.6.31 or 2.6.32. He highlights the code for supporting HD audio codecs, which is now stabilising, although this has nonetheless seen a number of changes. He also considers support for Intel HDMI audio codecs and code for addressing numerous VIA HD audio codecs worthy of mention – codec names and links to these and other commits can be found in the 'Minor Gems' section in the second half of this article. The latter also lists a number of system-specific quirks, for various motherboards either sold separately or used in PCs and laptops, which have been merged by kernel developers. The kernel hackers have removed the OSS audio drivers for Ensoniq SoundScape hardware.

Of the more than ten thousand commits undertaken in the main development tree since the release of Linux 2.6.32, more than 330 are located in the audio subsystem. While the V4L/DVB subsystem easily beats this, with more than 600 major or minor changes. Subsystem maintainer Mauro Carvalho Chehab highlights some of the key changes in his main git pull request. New drivers include the new pac7302 and stv0680 Gscpa sub-drivers for webcam chips from a range of manufacturers. The infrastructure for addressing infra-red receivers for remote controls has seen some major changes. The Mantis driver, which supports a chip-set used in various TV cards, was merged just prior to the release of the fifth pre-release version.

Laptops, input devices and hardware monitoring

The msi-wmi driver, which should allow the function keys for changing sound volume and brightness on some MSI laptops to work under Linux, has been merged into the kernel. The classmate-laptop driver for Intel's Classmate PCs is another new arrival. Kernel hackers have also revamped various audio support-related components of the driver for IBM and Lenovo Thinkpad laptops (1, 2, 3).

Kernel developers have added support for Wacom's single and multi touch LCD ISDv4 tablets with ID codes 9F, E2 and E3 to the Wacom driver. Developers have improved support for devices such as Dell Latitude E6x00 series laptops, which include both touchpads and trackpoints from ALPS. The ALPS driver code now offers better support for the touchpads with 4-directional buttons, occasionally found on Acer laptops.

The k10temp driver, newly merged into the kernel, is able to read temperature sensors in various recent AMD chips. Because many CPUs deliver erroneous figures, the code only works after entering a special parameter given in the documentation. The via-cputemp driver is another new arrival and returns temperature sensor data from recent VIA CPUs.

USB and FireWire

A driver, developed largely by Nokia, for the OMAP 34xx processor's USB EHCI controller has been merged into the USB subsystem. Various additional changes in the USB subsystem can be found in the links listed in the second half of this article and in the USB subsystem maintainer's git pull request.

Via a git pull request and changes in the help text displayed during kernel configuration, Stefan Richter, maintainer of the Linux FireWire code, is advising distributions to move to the new Juju FireWire stack. Details on the required steps can be found in the Linux FireWire developer wiki, which also lists a number of further corrections and enhancements to the Linux 2.6.33 FireWire code.

Staging

As mentioned in the first part of the "Coming in 2.6.33" series, kernel developers have merged the rtl8192u driver (easily confused with the rtl8192e and rtl8192su drivers incorporated in earlier kernel versions into the staging area for unfinished and 'dodgy' drivers) into the staging area. The rtl8187se driver has been renamed to make way for a future fit and proper Linux driver with the same name.

There have also been big changes to the staging drivers for newer Ralink WLAN chips, with, for example, the rt3090 driver removed due to the fact that its functionality is now fulfilled by the rt2860 staging driver. The latter is based on a driver developed by Ralink itself and released under the GPL, which the company has recently updated. A number of the recent changes have now been incorporated into the staging driver.

The Ramzswap framework (formerly Compcache) has also found its way into the staging area. This stores data stored on a virtual swap device in compressed form in RAM for greater efficiency. Background information on the technology can be found in the Ramzswap documentation and in an LWN.net article from last May. Also new is code to support the B.A.T.M.A.N. (Better Approach To Mobile Ad-Hoc Networking) protocol, which enables the creation of ad-hoc mesh networks. Details can be found at open-mesh.org.

As anticipated, code for distributed storage (DST) and various drivers for Google's Android have been removed from the staging area, as no-one has been looking after the code. As previously reported, staging maintainer Greg Kroah-Hartman has commented on the Android drivers situation in a blog post

A second blog entry by Kroah-Hartman gives an overview and background of further changes in the staging area and threatens other drivers with impending ejection. The latter include drivers for supporting Hyper-V, due to the fact that "The developers again seem to have disappeared, this is getting old". Kroah-Hartman previously threatened to eject these drivers for the very same reason back in September, but the developers then reappeared. History looks to be repeating itself and the risk of ejection appears to have receded for now at least.

Minor gems

Many further minor, but by no means insignificant, changes can be found in the list below, which contains the commit headers referring to the respective change. Like many of the references in the text above, the links point to the relevant commit in the web front end of the Git branch for the kernel sources maintained by Linus Torvalds at kernel.org. The commit comments and the patches themselves provide extensive further information on the respective changes.

Audio

Asoc

FireWire

EDAC/HW-Monitoring/I2C

Input

Notebooks

USB

Staging:

V4L/DVB

Various Drivers

Latecomers

The previous five parts of the Kernel Log mini series have already given a detailed overview of the many changes in of the Linux kernel. All of the major enhancements have already been mentioned there, as they entered the main development branch during the first phase of the development cycle. But some small, usually not quite as important changes that fall in the "minor gems" section, were late entries to the kernel – for completeness, we have included these changes in the following list.

One of the latecomers was the "Firmware download driver" ath3k for Atheros Bluetooth chips. Some others – including TCP_NODELAY-Support for CIFS, a new Mount Option for BTRFS and performance improvements for CFQ – can be found via following list:

Filesystems

Graphics

Network

Storage

USB

Latecomers(2)

Part four of the "Coming in 2.6.33" Kernel Log mini series on architecture and virtualisation was missing a few links in the "Minor gems" section:

For other articles on 2.6.33 and links to the rest of the "Coming in 2.6.33 " series, see The H's Kernel Log - 2.6.33 Tracking page. New editions of Kernel Logs are also mentioned on Identi.ca and Twitter via "@kernellog2". The Kernel Log author also posts updates about various topics on Identi.ca and Twitter via "@kernellogauthor".

(thl)

(crve)