Linux 2.6.34 has been released on 16 May, 2010.
Summary: This version adds two new filesystem, the distributed filesystem Ceph and LogFS, a filesystem for flash devices. Other features are a driver for almost-native KVM network performance, the VMware ballon driver, the "kprobes jump" optimization for dynamic probes, new perf features (the "perf lock" tool, cross-platform analysis support), support for GPU switching, several Btrfs improvements, RCU lockdep, Generalized TTL Security Mechanism (RFC 5082) and private VLAN proxy arp (RFC 3069) support, asynchronous suspend/resume, several new drivers and many other small improvements.
Contents
-
Prominent features (the cool stuff)
- Ceph filesystem
- LogFS
- Vhost net: fast KVM networking
- Btrfs updates
- Kprobes jump optimization
- perf improvements, perf lock
- RCU lockdep
- Generalized TTL Security Mechanism and private VLAN proxy arp support
- Asynchronous suspend/resume
- GPU switching
- Preliminary Radeon Evergreen (Radeon HD 5xxx)
- VMware ballon driver
- Various core changes
- Filesystems
- Networking
- Cgroups
- Tracing/Profiling
- Crypto
- Virtualization
- Block
- Security
- Architecture-specific changes
- Drivers
1. Prominent features (the cool stuff)
1.1. Ceph filesystem
Linux-mag article: Ceph: The Distributed File System Creature from the Object Lagoon
IBM Developerworks article: Ceph: A Linux petabyte-scale distributed file system
LWN article: The Ceph filesystem
Ceph is a distributed network filesystem. It is built from the ground up to seamlessly and gracefully scale from gigabytes to petabytes and beyond. Scalability is considered in terms of workload as well as total storage. Ceph is designed to handle workloads in which tens thousands of clients or more simultaneously access the same file, or write to the same directory–usage scenarios that bring typical enterprise storage systems to their knees.
Some of the key features that make Ceph different from existing file systems:
- Seamless scaling: A Ceph filesystem can be seamlessly expanded by simply adding storage nodes (OSDs), and proactively migrates data onto new devices in order to maintain a balanced distribution of data.
- Strong reliability and fast recovery: All data in Ceph is replicated across multiple OSDs. If any OSD fails, data is automatically re-replicated to other devices.
- Adaptive MDS: The Ceph metadata server (MDS) is designed to dynamically adapt its behavior to the current workload. As the size and popularity of the file system hierarchy changes over time, that hierarchy is dynamically redistributed among available metadata servers in order to balance load and most effectively use server resources. Similarly, if thousands of clients suddenly access a single file or directory, that metadata is dynamically replicated across multiple servers to distribute the workload.
Project web site: ceph.newdream.net
Code: (code)
1.2. LogFS
Recommended LWN article: LogFS
LogFS is a filesystem designed for storage devices based on flash memory (SDD hard disks, USB sticks, etc). It is aimed to scale efficiently to large devices. In comparison to JFFS2, it offers significantly faster mount times and potentially less RAM usage. In its current state it is still experimental.
Project web site: www.logfs.org
Code: (commit)
1.3. Vhost net: fast KVM networking
vhost net is a kernel-level backend for virtio networking. The main motivation for vhost is to reduce virtualization overhead for virtio-net by moving the task of converting virtio descriptors to skbs and back from qemu userspace to the vhost net driver. For virtio-net this means removing up to 4 system calls per packet: vm exit for kick, reentry for kick, iothread wakeup for packet, interrupt injection for packet. This was shown to reduce latency by a factor of 5, and improve bandwidth to almost-native performance. Existing virtio net code is used in guests without modification.
Project web site: http://www.linux-kvm.org/page/VhostNet
Code: (commit)
1.4. Btrfs updates
- In this version, Btrfs has the ability to change which subvolume or snapshot is mounted by default. For a while, Btrfs had a "mount -o subvol" option, which mounts into a subvolume instead of using the default root. The new ioctl allows you to set this once with "btrfs subvolume set-default" and have it used as the new default for every mount (without any mount options), until you change it again. This feature is part of snapshot assisted distro upgrades, where you can take a snapshot of your distro, update it to a beta version, and revert back the default root to the old tree if you want to go back to the old, stable version. Support for such functionality has already been added to the Yum package manager when the "yum-plugin-fs-snapshot" package is installed. This plugin takes snapshots and modifies the GRUB configuration files to show different boot options for each snapshot (note that recent versions of LVM also support changing which snapshot is the default root, so you also can use this feature in LVM/Ext4 systems)
But the ioctl also sets an incompat bit on the super block because the developers ended up doing it differently than they had planned in the disk format. People would end up with a big surprise if they mounted with 2.6.33 and got one directory tree but mounted with 2.6.32 and got another, so an incompat bit is flip when the ioctl is run. The incompat bit is only set if you run the set-default ioctl. Code: (commit), (commit), (commit)
- A new userspace utility has been created, it's a command called "btrfs". This tool replaces the old utilities.
A ioctl has been added to list all the subvolumes on the filesystem (command "btrfs subvolume list"). This makes use of a new interface that runs tree searches from userland, which will be used for incremental backups in later btrfs-progs releases. There's a userspace utility to list files recently modified (command "btrfs subvolume find-new") Ioctl code: (commit)
The math for df has been changed a little to better reflect space available for data, and factors in duplication for raid and single spindle dup. Also, a a space info ioctl has been added, which shows (command "btrfs filesystem df") how much space is tied up in metadata, and shows the raid level used for metadata/data. Code: (commit), (commit)
The defrag code has added the ability to compress a single file on demand and defrag only a range of bytes in the file. Code: (commit)
- When snapshots are taken, Btrfs now waits for all the delayed allocation extents to hit the disk first.
1.5. Kprobes jump optimization
Recommended LWN article: Minimizing instrumentation impacts
Kprobes is an old feature (merged in Linux 2.6.9) that allows to gather information from any routine in the kernel at runtime. It is the internal system that Systemtap uses to insert probes at a random point of the kernel. The current system used to implement Kprobes (in x86) is a a breakpoint. At the instruction address, a "int 3" instruction is inserted, and when the code path hits it, the exception handler is called and kprobes recollects all the information needed.
This system works very well and it's quite efficient, but it can be improved. This version adds an experimental feature to improve it. In 2.6.34, a probe can use optionally in many (but not all, and no preempt support for now) places a simple jump, which is much faster. Usually, a kprobe hit takes 0.5 to 1.0 microseconds to process. On the other hand, a jump optimized probe hit takes less than 0.1 microseconds.
Code: (commit 1, 2, 3, 4, 5, 6, 7, 8)
1.6. perf improvements, perf lock
The perf tool and the tracing subsystem adds
perf lock: analyzes lock statistics Code: (commit)
Cross platform analysis support. The data recollected by perf can be analyzed in another system in a different architecture. A command has been added (command "perf archive") to archive in a .tar.bz2 file all the object files needed to do an analysis of a perf record, so an user can send it to someone who can interpret the data correctly. Code: (commit 1, 2, 3, 4, 5)
Add new "perf buildid-cache" command to manage build-id cache Code: (commit)
Python scripting engine, allow to process trace data with a Python script (commit), (commit), (commit)
1.7. RCU lockdep
Recommended LWN article: Lockdep-RCU
RCU is a scalable locking scheme used in many parts of the Linux tree. Its use is extending all over the tree, but its correct use needs manual checking. This version brings lockdep-style checking to rcu_dereference()
Code: (commit)
1.8. Generalized TTL Security Mechanism and private VLAN proxy arp support
Linux adds router denial-of-service prevention
This version adds support for Generalized TTL Security Mechanism (GTSM), RFC 5082. It is a lightweight security measure against forged packets causing DoS attacks using BGP packets (commit)
This version also adds support for private VLAN proxy arp support (RFC 3069) (commit)
1.9. Asynchronous suspend/resume
Recommended LWN article: Redesigning asynchronous suspend/resume
The power management code has been modified to allow asynchronous suspend/resume, allowing drivers to do device suspend/resume in parallel, which improves the time used to suspend/resume devices quite a lot. In this version, PCI, USB and SCSI devices do asynchronous suspend/resume by default.
Code: (commit 1, 2, 2, 3, 4, 5, 6
1.10. GPU switching
Some laptops have two GPUs, a low-power and inefficient GPU and a high-power and powerful GPU. Users should be able to switch to one or another at runtime. In this version, Linux adds support for this feature. You need to restart X, though.
Code: (commit)
1.11. Preliminary Radeon Evergreen (Radeon HD 5xxx)
This version adds preliminary support for Radeon Evergreen (Radeon HD 5xxx). It isn't ready for users (no acceleration at all), but it's progressing.
Code: (commit)
1.12. VMware ballon driver
This is a standalone version of VMware Balloon driver. Ballooning is a technique that allows hypervisor dynamically limit the amount of memory available to the guest (with guest cooperation). This driver will only activate if host is VMware.
Code: (commit)
2. Various core changes
vmscan: Factor out page reference checks (help workloads with large amounts of shortly used file mappings, like rtorrent hashing a file or git when dealing with loose objects) (commit)
Change anon_vma linking to fix multi-process server scalability issue (commit)
Count swap usage in /proc/PID/smaps (commit)
Add NOFOLLOW flag to umount(2) (commit)
ptrace: Add support for generic PTRACE_GETREGSET/PTRACE_SETREGSET (commit)
readahead: introduce FMODE_RANDOM for POSIX_FADV_RANDOM (commit)
PM: Add sysfs switch for disabling device run-time PM (commit)
PCI: support for PCI PME wake-up (commit), PCIe PME root port service driver (commit)
memory-hotplug: create /sys/firmware/memmap entry for new memory (commit)
elf coredump: add extended numbering support (commit)
failslab: add ability to filter slab caches (commit)
CPUFREQ: Processor Clocking Control interface driver (commit)
3. Filesystems
- XFS
- Exofs
- GFS2
- Squashfs
- FAT
Add support for large disks (commit)
4. Networking
Add a mac-vlan based tap driver (commit)
SCTP Transport Loadbalancing Support (commit)
packet: Add GSO/csum offload support. (commit), kill CONFIG_PACKET_MMAP. (commit)
9p: Add multi channel support. (commit), add 9P2000.u and 9P2010.L protocol support (commit), (commit), (commit)
xfrm: Introduce basic mark infrastructure (commit), (commit), (commit), (commit), (commit), (commit), (commit)
Phonet: zero-copy aligned GPRS RX (commit), zero-copy GPRS TX (commit)
Add MSG_WAITFORONE flag to recvmmsg (commit)
llc: add support for LLC_OPT_PKTINFO (commit), add support for SO_BINDTODEVICE (commit)
ethtool: Introduce n-tuple filter programming support (commit)
bridge: add core IGMP snooping support (commit)
- Netfilter
nf_conntrack_sip: add T.38 FAX support (commit), add TCP support (commit)
nf_conntrack: support conntrack templates (commit), add support for "conntrack zones" (commit)
nf_nat_sip: add TCP support (commit)
ctnetlink: add zone support (commit)
ebtables: add CONFIG_COMPAT support (commit)
xtables: add CT target (commit)
5. Cgroups
Make cgroup subsystems loadable modules (commit), (commit), (commit), (commit)
Implement eventfd-based generic API for notifications about changing status of a cgroup (commit), (commit)
memcg: add interface to move charge at task migration (commit), (commit), (commit), (commit), (commit), (commit),
memcg: implement memory thresholds and send notifications when it crosses using the new notification api (commit)
6. Tracing/Profiling
Add lazy line matching support (commit)
Use elfutils-libdw for analyzing debuginfo (commit)
Add multiple event support (commit)
Support tracepoint glob matching (commit)
Enable Nehalem-EX support (commit)
AMD event scheduling (commit)
Implement intel core solo/duo support (commit)
Implement Intel Westmere support (commit)
7. Crypto
gcm - Add RFC4543 wrapper for GCM (commit)
pcrypt - Add pcrypt crypto parallelization wrapper (commit)
8. Virtualization
Initial HYPER-V emulation (commit), (commit), (commit), (commit)
Bump maximum vcpu count to 64 (commit)
Enable PCI multiple-segments for pass-through device (commit)
PPC: Add support for FPU/Altivec/VSX (commit)
VMX: Enable EPT 1GB page support (commit)
x86 emulator: Add Virtual-8086 mode of emulation (commit)
virtio: Add memory statistics reporting to the balloon driver (V4) (commit), add block topology support (commit)
9. Block
drbd: --dry-run option for drbdsetup net ( drbdadm -- --dry-run connect <res> ) (commit)
Added in stricter no merge semantics for I/O (improves performance a tiny bit) (commit)
cfq-iosched: rethink seeky detection for SSDs (commit), rework seeky detection (commit)
10. Security
SElinux: allow MLS->non-MLS and vice versa upon policy reload (commit)
TOMOYO: Add garbage collector. (commit)
11. Architecture-specific changes
- x86
- ARM
Add support for Samsung S5P6440 board (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit) ,(commit)
Add Samsung S5P6442 board support(commit), (commit), (commit), (commit), (commit), (commit), (commit)
Add Samsung S5PV210/S5PC110 board support (commit), (commit), (commit), (commit), (commit), (commit), (commit)
AT91: Add support for Atmel AT572D940HF processor (commit), (commit)
Add support for Nuvoton NUC93X(commit)
Add Renesas SH-Mobile ARM platforms (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit)
mx31moboard: support for the smartbot baseboard (commit)
mxc: Add support for the Babbage board (i.MX5) (commit), (commit), (commit)
SMDK6410: Add initial support for WM1192-EV1 PMIC board (commit)
Use generic infrastructure for early params (commit)
OMAP4: Add L2 Cache support (commit)
Add support for EP9315 based Snapper CL15 board (commit)
Kirkwood: add LaCie Internet Space v2 support (commit), combine support for openrd base/client support (commit)
ep93xx: Add support for Simplemachines Sim.One board (commit)
mmp: add support for Marvell MMP2 (commit), support jasper development board (commit)
MV78xx0: Support for Buffalo WXL (Terastation Duo) (commit)
Orion: Add Buffalo Linkstation LS-HGL support (commit)
pxa: add support for Embedian MXM-8x10 (commit), add platform support (commit)
S3C64XX: Add I2S resources in platform code (commit), add S3C64XX RTC platform driver (commit), add S3C64XX support to the generic Samsung ADC driver (commit)
SAMSUNG: Add core clock implementation for clksrc based clocks (commit)
mx25: add NAND support (commit)
Add COH 901 318 DMA driver platform config for U300 (commit)
OMAP3: Add support for flash on 3430SDP board (commit), add support for flash on IGEP v2 board (commit), introduce 3630 DPLL4 HSDivider changes (commit), introduce DPLL4 Jtype (commit), cm-t35: add DSS2 display support (commit)
OMAP: DSS2: Add Sharp LQ043T1DG01 panel driver (commit), add Toppoly TDO35S panel (commit), (commit), add TPO TD043MTEA1 panel (commit)
NUC900 LCD Controller Driver (commit)
davinci: add power management support (commit)
- PowerPC
- SH
Abstracted SH-4A UBC support on hw-breakpoint core. (commit)
Add support for LZO-compressed kernels. (commit)
Definitions for 3-level page table layout (commit)
kmemleak support. (commit)
mach-sdk7786: heartbeat support. (commit)
Move over to dynamically allocated FPU context. (commit)
Preliminary SDK7786 board support. (commit)
Support PCI domains. (commit)
- Blackfin
Add support for cpufreq on SMP systems (commit)
Initial XIP support (commit)
SMP: add PM/CPU hotplug support (commit)
SMP: make core timers per-cpu clock events for HRT (commit)
Initial regset support (commit)
Initial tracehook support (commit)
tcm-bf518: new board port (commit)
bf527-ezkit: add support for V2.1 boards (commit)
- S390
qeth: HiperSockets Network Traffic Analyzer (commit)
Add support for compressed kernels (commit)
dasd: automatic recognition of read-only devices (commit)
zfcpdump: remove cross arch dump support (commit)
- SPARC
- Microblaze
- MIPS
Two-level pagetables for 64-bit kernels with 64KB pages. (commit)
Preliminary VDSO (commit)
Optimize spinlocks. (commit)
Implement Read Inhibit/eXecute Inhibit (commit)
Alchemy: Extended DB1200 board support. (commit), XXS1500 PCMCIA driver rewrite (commit)
BCM63xx: Add DWVS0 board (commit), add the RTA1025W-16 BCM6348-based board to supported boards. (commit)
Add driver for Cavium OCTEON I2C ports. (commit)
PCMCIA: New socket driver for Au1000 demoboards. (commit)
Alchemy: DB1200 AC97+I2S audio support. (commit)
- M68k
IA64: Remove COMPAT_IA32 support (commit)
12. Drivers
12.1. Graphics
- i915
- Nouveau
- Radeon
Add asic hook for dma copy to r200 cards. (commit)
Add new RS880 pci id (commit)
Add support for hw i2c on r1xx-r5xx (commit)
Add support for square microtiles on r3xx-r5xx (commit)
r600/r700 command stream checker (commit)
Add dynamic engine reclocking (commit)
Enable ACPI powermanagement mode on radeon gpus. (commit)
agp/intel: Add support for Sandybridge. (commit)
vgaarb: Add user selectability of the number of GPUS in a system (commit)
viafb: support color depth 15 and 30 (commit)
12.2. Storage
- SATA/PATA
pata_atiixp: enable parallel scan (commit)
pata_efar: Enable parallel scanning (commit)
pata_via: Add VIA VX900 support (commit)
ata_piix: IDE Mode SATA patch for Intel Cougar Point DeviceIDs (commit)
via82cxxx: add support for VT6415 PCIE PATA IDE Host Controller (commit), add support for vt8261 and future chips (commit)
ahci: AHCI and RAID mode SATA patch for Intel Cougar Point DeviceIDs (commit), implement SATA AHCI FIS-based switching support (commit)
- SCSI
be2iscsi: Adding support for BE3 (commit)
hpsa: Allow multiple command completions per interrupt. (commit), add pci ids for storageworks 1210m, remove p400, p800, p700m (commit)
ipr: adds PCI ID definitions for new adapters (commit)
lpfc: Added management for LP21000 through BSG. (commit), SLI enhancements to support new hardware. (commit), restore MSI-X/MSI support (commit)
mpt2sas: Added raid transport support (commit)
qla2xxx: Add BSG support for FC ELS/CT passthrough and vendor commands. (commit), add firmware ETS burst support. (commit), enhance EEH support and enable AER support. (commit)
12.3. Network
Intel(R) 82599 Virtual Function Ethernet support (commit), 1, 2, 3, 4, 5)
Add cxgb4 driver for Chelsio T4-based gigabit and 10Gb Ethernet devices (commit), (commit), (commit), (commit), (commit), (commit)
qlcnic: Qlogic ethernet driver for CNA devices (commit)
Add Aeroflex Gaisler 10/100/1G Ethernet MAC driver (commit)
Add Micrel KSZ8841/2 PCI Ethernet driver (commit)
smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver (commit)
ixgbe: Add SR-IOV support (commit 1, 2, 3, 4, 5, add support for the new ethtool n-tuple programming interface (commit)
mwl8k: basic AP interface support (commit), enable multi-BSS AP operation (commit), implement AP firmware station database maintenance (commit), add a pci-id (commit)
igb: Add support for 82576 ET2 Quad Port Server Adapter (commit), add support for device reset interrupt (commit), add support for wake-on-link (commit), support for VF configuration tools (commit)
sh_sir: Add SuperH IrDA driver (commit)
IGEPv2: Added WIFI support (commit)
wl1251: add U-APSD support (commit), implement WMM (commit), (commit)
wl1271: Add rudimentary ad-hoc support (commit), implement WMM (commit), implement chipset boot retry (commit), add testmode support (commit)
iwlwifi: add continuous uCode event log capability (commit)
rt73usb: add WLI-U2-H54HP (commit)
libertas: add Station and AdHoc mode support (commit), make mesh configurable (commit)
be2net: implements ethtool function to read eeprom data. (commit)
enic: feature add: add ethtool -c/C support (commit)
fs_enet: Add support for MPC512x to fs_enet driver (commit)
MCS7830 USB-Ether: add Rx error support (commit)
qlge: Add watchdog timer. (commit)
Delete isa-skeleton net driver (commit)
RDMA: cxgb3: Doorbell overflow avoidance and recovery (commit), nes: Add support for KR device id 0x0110 (commit)
ar9170usb: add Sphairon Homelink 1202 USB ID (commit)
ath9k: add support for 802.11n bonded out AR2427 (commit)
atl1c: Add support for Atheros AR8152 and AR8152 (commit)
can: add support for CAN interface cards based on the PLX90xx PCI bridge (commit), add support for the MPC512x processor (commit)
CAPI: Dynamically register minor devices (commit)
12.4. Input
Add driver for TWL4030 vibrator device (commit)
Add imx-keypad driver to support the IMX Keypad Port (commit)
usbtouchscreen: add NEXIO (or iNexio) support (commit)
Add support for ADP5587 devices (commit)
ads7846: add support for AD7843 parts (commit)
gamecon: add rumble support for N64 pads (commit)
Mac button emulation - implement as an input filter (commit)
Implement input filters (commit)
gpio-keys: add support for disabling gpios through sysfs (commit)
12.5. USB
Implement autosuspend (commit)
cdc_acm: Add support for pbLua console port (commit)
convert to the runtime PM framework (commit)
cp210x: Add 81E8 (Zephyr Bioharness) (commit)
ehci-fsl: Add power management support (commit)
gadget: introduce g_nokia gadget driver (commit)
musb: Add context save and restore support (commit)
MXC: Add i.MX21 specific USB host controller driver. (commit)
OHCI: DA8xx/OMAP-L1x glue layer (commit)
option: add Longcheer/Longsung vendor ID (commit)
pl2303: initial TIOCGSERIAL support (commit)
qcaux: driver for auxiliary serial ports on Qualcomm devices (commit)
serial: add support for serial port on the moschip 7715 (commit), add support for ViVOtech ViVOpay devices. (commit)
vstusb.c: removal of driver for Vernier Software & Technology, Inc., devices and spectrometers (commit)
Remove the berry_charge driver (commit)
Remove unsupported usb gadget drivers (commit)
12.6. Sound
HDA: Add ALC269VB support (commit),add ALC670 codec support (commit), add/fix ALC269 FSC and Quanta models (commit), add Macmini 3,1 support (commit), add support for IDT 92HD88 family codecs (commit), add support for Lenovo IdeaPad U150 (commit), add support for Medion WIM2160 (commit), add support for more the 8 streams (commit), add support for Toshiba Satellite M300 (commit), add support of ALC665 (commit), configure XO-1.5 microphones at capture time (commit), new Intel HDA controller (commit), support NVIDIA MCP89 and GT21x hdmi audio (commit), support OLPC XO-1.5 DC input (commit)
Add Edirol UA-101 support (commit)
virtuoso: add Xonar DS support (commit)
Add support for Macbook Air 2,1 internal speaker (commit)
USB MIDI support for Access Music VirusTI (commit)
jazz16: Add support for Media Vision Jazz16 chipset (commit)
ua101: add Edirol UA-1000 support (commit)
dt019x: merge into the als100 driver (commit)
- ASoC
AC97: S3C: Add controller driver (commit)
AC97: SMDK: Add wm9713 machine driver (commit)
Add a new imx-ssi sound driver (commit)
add a WM8978 codec driver (commit)
Add DA7210 codec device support for ALSA (commit)
add DAI and platform / DMA drivers for SH SIU (commit)
Add FSI-DA7210 sound support for SuperH (commit)
Add initial WM8955 CODEC driver (commit)
add support for the sh7722 Migo-R board (commit)
Add WM2000 driver (commit)
Add WM8912 DAC support (commit)
Add WM8994 CODEC driver (commit)
Initial WM8904 CODEC driver (commit)
OMAP4: Add McPDM platform driver (commit)
OMAP4: Add support for McPDM (commit)
pandora: Add DAC regulator support (commit)
Remove old i.MX driver code (commit)
12.7. V4L/DVB
Add Prof 7500 DVB-S2 USB card (commit)
gspca - benq: New subdriver for camera 04a5:3035. (commit)
gspca_sn9c2028: New gspca subdriver (commit)
gspca_cpai1: New gspca subdriver for CPIA CPiA version 1 cams (commit)
Add driver for Telegent tlg2300 (commit)
AZ6027: Initial import of the driver (commit)
gspca - sonixj: Add sensor adcm1700 and webcam 0c45:614a. (commit)
em28xx: add PAL support for VBI (commit)
Add Support for DVBWorld DVB-S2 PCI 2004D card (commit)
Add support for SMT7020 to cx88 (commit)
af9015: support for DigitalNow TinyTwin v2 (commit), support for Leadtek WinFast DTV2000DS (commit)
cx18: add cx18-alsa module to Makefile (commit)
em28xx: add Dikom DK300 hybrid USB tuner (commit)
gspca_mr97310a: add support for the Sakar 1638x CyberPix (commit)
m920x: Add support for Pinnacle PCTV310e card (commit)
mfd: Add support for the timberdale FPGA (commit)
ngene: Initial check-in (commit)
radio: Add radio-timb (commit)
radio: add support for SAA7706H Car Radio DSP (commit)
vpfe ISIF HW module(commit)
12.8. Staging
Add Broadcom Crystal HD driver (commit)
Add dt3155 driver (commit)
udlfb: add dynamic modeset support (commit), improved rendering performance (commit)
vme: add ca91cx42 dma support (commit), add ca91cx42 rmw support (commit), add location monitor support for ca91cx42 (commit), enable drivers to handle more than one bridge (commit), VMIVME-7805 board support (commit)
sm7xx: remove the buggy 2D acceleration support (commit)
Octeon Ethernet: Convert to NAPI. (commit)
p9auth: remove driver from tree (commit)
altpciechdma: remove driver (commit)
mimio: remove the mimio driver (commit)
remove the b3dfg driver (commit)
12.9. HWMON
Add driver for ADT7411 voltage and temperature sensor (commit)
Driver for Andigilog aSC7621 family monitoring chips (commit)
applesmc: Add iMac9,1 and MacBookPro2,2 support (commit)
it87: Add support for beep on alarm (commit), add support for old automatic fan speed control (commit)
lm90: Add SMBus alert support (commit), add support for the Winbond/Nuvoton W83L771AWG/ASG (commit)
w83793: Add watchdog functionality (commit)
Remove the deprecated adt7473 driver (commit)
12.10. HID
Add a device driver for the Apple Magic Mouse. (commit)
Add driver for the Logitech Flight System G940 (commit)
Add pressure support for the Stantum multitouch panel (commit)
Add RGT Clutch Wheel clutch device id (commit)
Add support for Acer T230H multitouch (commit)
Add support for Ortek WKB-2000 (commit)
Add support for Pixart Imaging Optical Touch Screen (commit)
Add support for Stantum multitouch panel (commit)
Enable Sixaxis controller over Bluetooth (commit)
Support for 3M multitouch panel (commit)
12.11. RTC
Add MPC5121 Real time clock driver (commit)
Enable rtc in max8925 (commit)
AM3517: Enable RTC driver support for AM3517EVM (commit)
12.12. Serial
8250_pci: add support for MCS9865 / SYBA 6x Serial Port Card (commit)
12.13. I2C
Add SMBus alert support (commit)
Add support for Ux500/Nomadik I2C controller (commit)
Add support for Xilinx XPS IIC Bus Interface (commit)
i2c-i801: Add Intel Cougar Point device IDs (commit)
i2c-mpc: add support for the MPC512x processors from Freescale (commit)
i2c-parport: Add SMBus alert support (commit)
i2c-parport-light: Add SMBus alert support (commit)
12.14. Various
UIO: Add a driver for Hilscher netX-based fieldbus cards (commit)
UIO: Remove SMX Cryptengine driver (commit)
spi: Add Freescale/Motorola Coldfire QSPI driver (commit)
spi: Add SPI master driver for DaVinci/DA8xx (commit)
Regulator: Add max8925 support (commit), add voltage selection capability to mc13783 regulators v2 . (commit), add WM8994 regulator support (commit), enable max8649 regulator driver (commit)
pps: LinuxPPS clients support (commit), serial clients support (commit)
power_supply: bq27x00: add BQ27500 support (commit), enable power supply of max8925 (commit)
mfd: Add HTCPLD driver (commit)
mfd: Add initial WM8994 support (commit)
mfd: Add WM8994 register definitions (commit)
mfd: Initial max8925 support (commit)
mfd: Support 88pm8606 in 860x driver (commit)
Memory-mapped dw_spi driver (commit)
leds: Add Dell Business Class Netbook LED driver (commit)
hwrng: nomadik - Add hardware RNG driver (commit)
gpio: add driver for MAX7300 I2C GPIO extender (commit)
gpio: add Intel SCH GPIO controller driver (commit)
gpio: introduce it8761e_gpio driver for IT8761E Super I/O chip (commit)
gpiolib: Add support for WM8350 GPIO controller (commit)
dma: Add MPC512x DMA driver (commit)
eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops (commit)
edac: e752x: add dram scrubbing support (commit)
compal-laptop: Add support for known Compal made Dell laptops (commit)
backlight: Add Epson L4F00242T03 LCD driver (commit), enable max8925 backlight (commit)
12.15. MTD
Remove no longer used OMAP flash map (commit)
12.16. WATCHDOG
ep93xx: implemented watchdog timer driver for TS-72xx SBCs (commit)