As with every kernel version, a large number of changes were made in Linux 3.0 to remedy problems with hardware that produces flawed data or does not comply with specifications. One such example is a quirk in the i915 DRM/KMS driver for Intel. A patch will allow the GNOME shell in GNOME 3 to work on the ASUS EeeBox PC EB1007; the author of the patch says it did not work up to now because the ASUS PC tells the operating system that it, like a notebook, has an "internal" display connected to it via LVDS.
Another example of special treatment is a commit that remedies flaws in the interaction with the Corsair Padlock v2 USB stick and the Feiya SD/SDHC card reader. Called "quirks", such cases of special treatment are quite often needed for AC97 and HD audio codecs, which generally handle audio output on PCs, to work properly. A number of such patches are listed at the end of this article in the section entitled "Little pearls." The module parameters for audio drivers explained in the kernel and ALSA documentation can enable such quirks individually. If your hardware only works properly when such parameters have been used, you should send information about your system and the parameters needed to the kernel/ALSA developers, who can then come up with a quirk and integrate it in the kernel so that you and everyone else using your hardware can get along without manual configuration.
It wasn't until the sixth release candidate that the kernel hackers made the greatest change in the storage area: the isci driver for the SAS controller in Intel's C600 server and workstation chipset, which is to be released in the next few months (see 1). Torvalds was not sure whether he wanted to put the driver into the development cycle at such a late point. He did so anyway, partly because the driver code stands alone and therefore cannot cause any errors that previous kernels did not display. Another innovation is the FC-FC4 provider tcm_fc, which allows for operation as FCoE (Fibre Channel over Ethernet) target along with some other components improved in the process.
The mvsas driver now supports Marvell's 88SE9445 and 88SE9485 chips; the pata_marvell driver supports the 88SE91A0 and 88SE91A4 components. Unused SATA ports can now be completely switched off to reduce power consumption. The Emulex LightPulse Fibre Channel SCSI driver (lpfc) offers control functions for SR-IOV (Single-Root I/O Virtualisation), which is interesting for virtualisation. The kernel documentation includes explanations of sysfs files, which can be used to read out information about discard, which is interesting for SSDs and network storage with thin provisioning.
- The XHCI driver for USB 3.0 reportedly now supports the EHCI/XHCI Port switching function in Panther Point chipsets, which are part of the Ivy Bridge processors that Intel will probably launch at the beginning of next year (1, 2).
- The k10temp driver in Linux 3.0 can address AMD's 15H (codename "Bulldozer") processor family, which will probably go on sale in late summer or autumn. The new driver fam15h_power provides interfaces for the provision of information about the power consumption of Bulldozer CPUs.
- The kernel hackers have moved the functions previously offered by the pkgtemp driver to read out temperature sensors in recent Intel CPUs into the coretemp driver (1, 2).
- The media subsystem now offers basic functions for DVB-T2 hardware (1, 2) and includes a driver for Sony's CXD2820R DVB-T2 chip. The media subsystem includes a driver for the Micronas DRXD DVB-T tuner used by various vendors (see 1, 2). A driver for Microsoft's Kinect has also been added. In his two main git-pull requests, Mauro Carvalho Chehab, who maintains the media subsystem, mentions a few other innovations (1, 2).
- The kernel's audio drivers developed as part of the Alsa now include one for the Digigram Lola PCIe soundcard and another for Apple's iSight microphone. Alsa developer Takashi Iwai mentions some other changes in his main git-pull request.
- The Hid-Multitouch driver now also supports more than a dozen other touchscreens; for details, see the section entitled "Minor Gems" on the next page.