Linux kernel version 2.6.26 Released 13 July 2008 (full SCM git log)
Summary: 2.6.26 adds support for read-only bind mounts, x86 PAT (Page Attribute Tables), PCI Express ASPM (Active State Power Management), ports of KVM to IA64, S390 and PPC, other KVM improvements including basic paravirtualization support, preliminary support of the future 802.11s wireless mesh standard, much improved webcam support thanks to a driver for UVC devices, a built-in memory tester, a kernel debugger, BDI statistics and parameters exposure in /sys/class/bdi, a new /proc/PID/mountinfo file for more accurate information about mounts, per-process securebits, device white-list for containers users, support for the OLPC, some new drivers and many small improvements
1. Important features (AKA: the cool stuff)
1.1. Read-only bind mounts
Recommended LWN article: "Read-only bind mounts"
Since 2.4.0 Linux has supported bind mounts. Bind mounts are a sort of directory symlinks that allow to share the contents of a directory in two different paths. For example, "mount --bind /foo /bar" will "bind" the contents of /foo not only to /foo, but also /bar. IOW, /foo and /bar would have the same content - and any modification in one directory is visible in the other. This has been useful for things like chroots or ftp/webservers, but until now, if /foo was writable, there was no way to stop /bar from being also writable.
In Linux 2.6.26, you can make those bind mounts read-only. If we made the bind mount in the previous example read-only, the contents of /foo would show up in /bar - but an application trying to modify a file in /bar will not be able to do it (/foo could continue being writable, of course). This has a number of uses. It allows chroots to have parts of filesystems writable. It's useful for containers because users may have root inside a container, but should not be allowed to write to some filesystems. It allows security enhancement by making sure that parts of your filesystem read-only (such as when you don't trust your FTP server), when you don't want to have entire new filesystems mounted, or when you want atime selectively updated.
(The current implementation does not allow to make a bind mount directly read-only: you need to make the bind mount first - mount --bind /foo /bar - and then remount the bind as ro - mount -o remount,ro /bar)
Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
1.2. KVM ported to IA64, PPC and S390
KVM, the virtualization solution included in Linux 2.6.20, has been rearchitected to give support to architectures other than x86: IA64 (Itanium), S390 and PPC
S390: (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
IA64: (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
PowerPC 440: (commit)
1.3. Improved webcam support
2.6.26 includes a driver that supports video input devices compliant with the USB Video Class specification. This means lots of currently manufactured webcams, and probably most of the future ones (commit)
1.4. Wireless mesh networking (802.11s) draft support
A year ago, in Linux 2.6.22, Linux included a new wireless stack. In 2.6.26 that stack is adding support for the draft of wireless mesh networking (802.11s), thanks to the open80211s project
Code: (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
1.5. x86 PAT support
PAT (Page Attribute Table) is a feature found in x86 processors that allows for setting the memory attribute at the page level granularity. PAT is complementary to the MTRR settings which allows for setting of memory types over physical address ranges. However, PAT is more flexible than MTRR due to its capability to set attributes at page level and also due to the fact that there are no hardware limitations on number of such attribute settings allowed. It's not a very new feature: the Linux support for this has been in the works for a long time: the current patches are evolved from ones started in 2006, and there're traces of preliminary patches in 2001. Probably because it's not a critical feature and MTRRs did the job.
Documentation (commit) Code: (commit)
1.6. Per-process securebits
Recommended LWN article: "Per-process securebits"
Filesystem capability support makes it possible to do away with (set)uid-0 based privilege and use capabilities instead. That is, with filesystem support for capabilities but without this present feature, it is (conceptually) possible to manage a system with capabilities alone and never need to obtain privilege via (set)uid-0. Of course, conceptually isn't quite the same as currently possible since few user applications, certainly not enough to run a viable system, are currently prepared to leverage capabilities to exercise privilege. Further, many applications exist that may never get upgraded in this way, and the kernel will continue to want to support their setuid-0 base privilege needs. Where pure-capability applications evolve and replace setuid-0 binaries, it is desirable that there be a mechanisms by which they can contain their privilege. In addition to leveraging the per-process bounding and inheritable sets, this should include suppressing the privilege of the uid-0 superuser from the process' tree of children. The feature added in 2.6.26 can be leveraged to suppress the privilege associated with (set)uid-0. This suppression requires CAP_SETPCAP to initiate, and only immediately affects the 'current' process (it is inherited through fork()/exec()). This reimplementation differs significantly from the historical support for securebits which was system-wide, unwieldy and which has ultimately withered to a dead relic in the source of the modern kernel.
Code: (commit)
1.7. KGDB
For many years Linux has not included a kernel debugger. Linus Torvalds vetoed them for years, for reasons that he explained quite well in a known email: "When things crash and you fsck and you didn't even get a clue about what went wrong, you get frustrated. Tough. There are two kinds of reactions to that: you start being careful, or you start whining about a kernel debugger [...] I happen to believe that not having a kernel debugger forces people to think about their problem on a different level than with a debugger. I think that without a debugger, you don't get into that mindset where you know how it behaves, and then you fix it from there. Without a debugger, you tend to think about problems another way. You want to understand things on a different _level_."
Despite of those objections, many people wanted a debugger and KGDB is finally going in. It's a remote debugger, it needs two machines. x86 and sparc machines are supported
Code: (commit 1, 2, 3, 4, 5, 6, 7, 8)
1.8. Device whitelist on cgroups
Recommended LWN article: "Device whitelist on cgroups"
This feature implements a functionality wanted by some virtualization users: The ability to control the access to devices in a per-container basis. A cgroup is used to track and enforce open and mknod restrictions on device files. More details can be found in the commit link.
Code: (commit)
1.9. Memtest
Memtest is a commonly used tool for checking your memory. In 2.6.26 Linux is including his own in-kernel memory tester. The goal is not to replace memtest, in fact this tester is much simpler and less capable than memtest, but it's handy to have a built-in memory tester on every kernel. It's enabled easily with the "memtest" boot parameter.
1.10. Export BDI attributes in sysfs
Linux 2.6.24 merged per-device dirty thresholds: The limits that the kernel put to the amount of memory that a process can "dirty" changed from being global to be per-device. 2.6.26 exposes a interface in /sys/class/bdi that allow to set several parameters. There's another set of read-only parameters that are exposet in debugfs (debug/bdi/<bdi>/stats)
Code: (commit 1, 2, 3, 4, 5, 6)
1.11. /proc/pid/mountinfo
The work being done these days in the VFS like per-process namespaces and such is obsoleting some things, like /proc/mounts (which is always a link to /proc/self/mounts). In its current form lacks important information and suffers some problems (see the code link). 2.6.26 introduces /proc/PID/mountinfo which addresses these deficiencies. Information about the information that can be found on these new files is explained in the commit links.
Code: (commit 1, 2, 3, 4, 5, 6, 7)
1.12. Generic semaphores
Since the introduction of mutexes, semaphores are no longer performance-critical, so the architecture-specific (and often asm-handcoded) implementation -that was needed when semaphores were really important for performance- has been reemplaced by a generic one written in C for maintainability, debuggability and extensibility. It removes 7365 LoC
Code: (commit)
2. Subsystems
2.1. Various
- CPU scheduler
- Core
ipc: implement sys_unshare(CLONE_SYSVSEM) (commit), refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC) (commit), force unshare(CLONE_SYSVSEM) when CLONE_NEWIPC (commit)
Removal of FUTEX_FD (commit)
Infrastructure to debug (dynamic) objects (commit), (commit)
make /dev/kmem a config option (commit)
sysrq: add show-backtrace-on-all-cpus function (commit)
sysfs: Allow removal of symlinks in the sysfs root (commit)
quota: quota core changes for quotaon on remount (commit)
ptrace: permit ptracing of /sbin/init (commit)
consoles: polling support, kgdboc (commit)
UIO: Implement a UIO interface for the SMX Cryptengine (commit)
- Memory management
fuse: support writable mmap (commit), implement perform_write. With fusexmp (a passthrough filesystem), large (1MB) writes into a backing tmpfs filesystem are sped up by almost 4 times (256MB/s vs 71MB/s). But it's disabled by default. (commit), (commit)
mempolicy: use MPOL_PREFERRED for system-wide default policy (commit), use MPOL_F_LOCAL to Indicate Preferred Local Policy (commit), support mpol=local tmpfs mount option (commit)
vmalloc: show vmalloced areas via /proc/vmallocinfo (commit), (commit)
slub: Make the order configurable for each slab cache (commit)
smaps: account swap entries (commit)
xip: support non-struct page backed memory (commit)
Cpuset hardwall flag: add a mem_hardwall flag to cpusets (commit)
- PCI
- Block
cfq-iosched: make io priorities inherit CPU scheduling class as well as nice (commit)
brd: modify ramdisk device to be able to manage partitions (commit)
loop: manage partitions in disk image (commit)
block: add large command support (commit)
NBD: allow nbd to be used locally (commit), add partition support (commit)
udf: Add read-only support for 2.50 UDF media (commit)
- MD
2.2. Filesystems
- EXT4
Barriers on by default (WARNING: It hurts performance to provide reliability that many people doesn't need. IOW: if you plan to benchmark ext4, try as well with barriers turned off) (commit)
Enable extent format for symlinks. (commit)
fdatasync should skip metadata writeout when overwriting (commit)
- EXT3
fdatasync should skip metadata writeout when overwriting (commit)
- GFS2
- OCFS2
- eCryptfs
- CIFS
- NFS
IPv6 support for NFS server export caches (commit)
- XFS
2.3. Networking
- wireless
mac80211: Support more HT (802.11n) features (commit 1, 2, 3, 4, 5, 6, 7, 8, 9)
mac80211: allow WDS mode (commit), allows driver to request a Phase 1 RX key (commit), use monitor configuration flags (commit), add cooked monitor mode support (commit), allow sending multicast frames through virtual ports (commit), enable IBSS merging (commit)
cfg80211 API for channels/bitrates, mac80211 and driver conversion (commit),
nl80211: export hardware bitrate/channel capabilities (commit), nl80211: Add monitor interface configuration flags (commit),
- NETFILTER
- IPV6
- TCP
TCP cubic v2.2 (commit)
- UDP
Netlink: Use generic LSM hook (commit)
Add compat support for getsockopt (MCAST_MSFILTER) (commit)
Syncookies: Add support for TCP options via timestamps. (commit)
2.4. Crypto
sha512: Hardware acceleration for s390 (commit)
sha384: Hardware acceleration for s390 (commit)
cts: Add CTS mode required for Kerberos AES support (commit)
Make the crypto subsystem fully modular (commit)
keys: add keyctl function to get a security label (commit)
keys: make the keyring quotas controllable through /proc/sys (commit)
2.5. Security
Introduce security= boot parameter (commit)
- Audit:
- SELinux
2.6. KVM
Add trace markers. Trace markers allow userspace to trace execution of a virtual machine in order to monitor its performance (commit), (commit)
paravirtualized clocksource: host part (commit), paravirtualized clocksource: guest part (commit)
VMX: Enable MSR Bitmap feature (commit), enable Virtual Processor Identification (VPID) (commit), EPT Feature Detection (commit), enable EPT feature for KVM (commit)
SVM: add detection of Nested Paging feature (commit), enable LBR virtualization (commit), add support for Nested Paging (commit)
Add TDP support to the KVM MMU (commit)
Increase vcpu count to 16 (commit)
Increase the number of user memory slots per vm (commit)
In kernel PIT model (commit)
x86: hardware task switching support (commit)
3. Architecture-specific changes
- x86
Lazy allocation of FPU struct: Only allocate the FPU area when the application actually uses FPU, i.e., in the first lazy FPU trap. This saves memory for non-fpu using apps. For example: on a test system after boot, there are around 300 processes, with only 17 using FPU.(commit), (commit)
Add One Laptop Per Child architecture support (commit)
Support for new UV apic (commit), (commit), (commit), (commit), (commit)
Allow gcc to optimize the kernel image's size by uninlining functions that have been marked 'inline' (commit), (commit)
Use ELF format in compressed images (commit)
Increase max physical memory size of 64-bit from 40 to 44 bit, in preparation for future chips that support larger physical memory sizes (commit)
Do kernel direct mapping at boot using GB pages (commit)
Add gbpages switches (commit)
Validation of the MMCONFIG table against the ACPI reserved motherboard resourcesvalidate against acpi motherboard resources (commit)
Add pci=check_enable_amd_mmconf and dmi check (commit)
x86_64: check and enable MMCONFIG for AMD Family 10h (commit), (commit)
Enable ACPI extended century handling for 32bit (commit)
Add support for nodes spanning other nodes (ACPI SRAT) (commit)
Increase the kernel text limit to 512 MB (commit)
Add code to dump the kernel page tables for visual inspection by kernel developers (commit)
apic: extended interrupt LVT support for AMD (commit)
rdc321x: remove watchdog file (commit)
Enhance DEBUG_RODATA support for hotplug and kprobes (commit) and alternatives (commit)
Centaur Isaiah processor to use sysenter in 64-bit compatibility mode rather than syscall (commit)
Move suspend wakeup code to C (commit)
x86: add prctl commands PR_GET_TSC and PR_SET_TSC (commit), (commit)
x86: introduce /dev/mem restrictions with a config option (commit)
- PPC
Add IRQSTACKS support on ppc32 (commit)
Stacktrace support for lockdep (commit)
irqtrace support for 64-bit powerpc (commit)
Add fast little-endian switch system call (commit)
Hypervisor-assisted Dump: The goal of hypervisor-assisted dump is to enable the dump of a crashed system, and to do so from a fully-reset system, and to minimize the total elapsed time until the system is back in production use. As compared to kdump or other strategies, hypervisor-assisted dump offers several strong, practical advantages, see more details in the links (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit)
4xx: Add 460EX PCIe support to 4xx pci driver (commit), add AMCC Canyonlands 460EX eval board support to platforms/44x (commit), add platform support for the AMCC Yosemite board (commit), add PPC4xx L2-cache support (440GX) (commit)
PS3: Sys-manager Wake-on-LAN support (commit), Gelic network driver Wake-on-LAN support (commit)
85xx: Emerson KSI8560 base support (commit), add support for relocatable kernel (and booting at non-zero) (commit)
86xx: Add support for Wind River SBC8641D board (commit), mpc8610_hpcd: add support for PCI Express x8 slot (commit)
bootwrapper: Add a firmware-independent simpleboot target. (commit)
celleb: Add support for PCI Express (commit)
Xilinx: boot support for Xilinx uart 16550. (commit), of_serial support for Xilinx uart 16550. (commit)
Add DIU platform code for MPC8610HPCD (commit)
mpc5200: add Phytec pcm030 board support (commit)
Hotplug memory remove notifications for powerpc (commit)
Update lmb data structures for hotplug memory add/remove (commit)
Remove mpc8272 ads (commit) and mpc885ads and mpc86x ads boards (commit) from arch/ppc, since there's a port in arch/powerpc
Make PowerPC LMB code generic so sparc64 can use it too (commit)
- ARM
Add initial sparsemem support (commit)
- AT91:
SAM9/CAP9 memory controller header (commit), SAM9/CAP9 system shutdown (commit), SAM9/CAP9 basic power-management (commit), SAM9/CAP9 reset reason (commit), add KB9260 (CAM60) board support (commit), add Olimex SAM9-L9260 board support (commit), add emQbit ECB_AT91 board support (commit), add SAM9 ClockSource / ClockEvents (commit)
Pass ECC controller to NAND driver (commit)
Adds support for YL9200 board (commit)
sa1100: add clock event support (commit)
ARMv7: Add support for the ThumbEE state saving/restoring (commit)
Add support for the CLK_POUT pin on PXA3xx CPUs (commit)
pxa: add keypad support for zylonite (commit) and for the littleton (commit)
Adds flash, udc, mci support for gumstix F boards (commit)
magician: enable external power supply (pda_power) driver (commit), enable flash VPP GPIO and build in MTD, physmap-flash and JFFS2 (commit), enable MMC support (commit), add LCD detection, LCD power switching, update pxafb settings (commit)
Add GPIO lib support to the EP93xx (commit)
Orion: Support the Buffalo Linkstation Pro/Live Platform (commit)
OMAP2: Add common clock framework for 24xx and 34xx (commit), add 34xx clock code (commit), new DPLL clock framework (commit), add 34xx clocks (commit)
Added cpufreq support for pxa27x CPU (commit)
Linux Thumb-2 support for user-space applications (commit)
Realview platform support (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit)
ns9xxx: prepare for adding support for Digi ns921x processors (commit)
atmel_tc library (commit), clocksource/clockevent code (commit)
- IA64
VIRT_CPU_ACCOUNTING (accurate cpu time accounting) (commit)
regset: 64-bit support (commit)
regset: 32-bit support (commit)
Multiple outstanding ptc.g instruction support (commit)
Kernel parameter for max number of concurrent global TLB purges (commit)
kprobes: kprobe-booster for ia64 (commit)
SGI Altix mmtimer: allow larger number of timers per node (commit)
- S390
Convert to SPARSEMEM & SPARSEMEM_VMEMMAP (commit)
System z large page support. (commit)
Guest page hinting_ Notification of unused pages to the hypervisor (commit)
Convert s390 to GENERIC_CLOCKEVENTS. (commit)
Vertical cpu management. (commit)
cpu topology support for s390. (commit)
zcrypt: add support for large random numbers (commit)
qdio (new feature): enhancing info-retrieval from QDIO-adapters (commit)
- SH
- MIPS
- Blackfin
Generic time and clock sources (commit)
Support for CPU_FREQ and NOHZ (commit)
EMAC Driver: Initial version of ethtool support (commit)
Blackfin char driver for Blackfin on-chip OTP memory (v3) (commit)
Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART (commit)
Add Blackfin on-chip SIR IrDA driver support (commit)
Add CPU and platform voltage scaling support (commit)
- XEN
- SPARC
- m68knommu
Add WilFire and WildfireMod board support (commit)
- AVR32
Generic clockevents support (commit)
4. Drivers
4.1. IDE/SATA
- IDE
Add warm-plug support for IDE devices (commit)
Mark "idebus=" kernel parameter as obsoleted (take 2) (commit)
Remove ide=reverse IDE core (commit)
Add "vlb|pci_clock=" parameter (commit)
Add "noacpi" / "acpigtf" / "acpionboot" parameters (commit)
Add "cdrom=" and "chs=" parameters (commit)
Add "nodma|noflush|noprobe|nowerr=" parameters (commit)
Add Intel SCH PATA driver (commit)
Add ide-4drives host driver (take 3) (commit)
gayle: add "doubler" parameter (commit)
Remove the broken ETRAX_IDE driver (commit)
- SATA
sata_inic162x: add cardbus support (commit)
libata: prefer hardreset (commit)
ata: SWNCQ should be enabled by default (commit)
Make SFF support optional (commit)
libata: make PMP support optional (commit)
sata_mv: disable hotplug for now (commit), enable NCQ on SOC (commit), add basic port multiplier support (commit)
sata_fsl: Fix broken driver, add port multiplier (PMP) support (commit)
4.2. Networking
ssb: add a new Gigabit Ethernet driver to the ssb core (commit)
Add new ctcm driver that reemplaces the old ctc one (commit), (commit)
New driver "sfc" for Solarstorm SFC4000 controller. (commit)
Driver for IXP4xx built-in Ethernet ports (commit)
Add support the Korina (IDT RC32434) Ethernet MAC (commit)
iwlwifi: Support the HT (802.11n) improvements (commit), (commit), (commit), (commit), add default WEP key host command (commit), add 1X HW WEP support (commit), add default WEP HW encryption (commit), use HW acceleration decryption by default (commit), hook iwlwifi with Linux rfkill (commit), add TX/RX statistics to driver (commit), add debugfs to iwl core (commit), enables HW TKIP encryption (commit), add led support (commit), enables RX TKIP decryption in HW (commit), remove IWL{4965,3945}_QOS (commit)
ath5k: Add RF2413 srev values (commit), add RF2413 initial settings (commit), identify RF2413 and deal with PHY_SPENDING (commit), more RF2413 stuff (commit), port to new bitrate/channel API (commit), use software encryption for now (commit)
pasemi_mac: jumbo frame support (commit), enable GSO by default (commit), basic ethtool support (commit), netpoll support (commit)
rt2x00: Add per-interface structure (commit), enable master and adhoc mode again (commit), enable LED class support for rt2500usb/rt73usb (commit)
e1000e: Add interrupt moderation run-time ethtool interface (commit), add support for BM PHYs on ICH9 (commit)
niu: Add support for Neptune FEM/NEM cards for C10 server blades (commit), add Support for Sun ATCA Blade Server. (commit)
gianfar: Support NAPI for TX Frames (commit)
ehea: Add DLPAR memory remove support (commit)
sfc: Add TSO support (commit)
b43: Add QOS support (commit), add HostFlags HI support (commit), use SSB block-I/O to do PIO (commit)
S2io: Multiqueue network device support implementation (commit), (commit), enable multi ring support (commit), added napi support when MSIX is enabled. (commit)
ixgbe: Introduce MSI-X queue vector code (commit), introduce Multiqueue TX (commit), add optional DCA infrastructure (commit), introduce adaptive interrupt moderation (commit)
uli526x: add support for netpoll (commit)
zd1211rw: support for mesh interface and beaconing (commit)
libertas: implement SSID scanning for SIOCSIWSCAN (commit)
ethtool: Add support for large eeproms (commit)
The scheduled bcm43xx removal (commit)
The scheduled ieee80211 softmac removal (commit)
The scheduled rc80211-simple.c removal (commit)
Remove obsolete driver sk98lin (commit)
Remove the obsolete xircom_tulip_cb driver (commit)
4.3. Graphics
intel_agp: Add support for Intel 4 series chipsets (commit)
i915: Add support for Intel series 4 chipsets (commit)
Add support for Radeon Mobility 9000 chipset (commit)
fb: add support for foreign endianness (commit)
pxafb: preliminary smart panel interface support (commit), (commit)
Driver for Freescale 8610 and 5121 DIU (commit)
intelfb: add support for the Intel Integrated Graphics Controller 965G/965GM (commit)
Add support for Blackfin/Linux logo for framebuffer console (commit)
4.4. Sound
hda-codec - Allow multiple SPDIF devices (commit), add SI HDMI codec support (commit), add support for the OQO Model 2 (commit), add support of Zepto laptops (commit), support RV7xx HDMI Audio (commit), add model=mobile for AD1884A & co (commit), add support of AD1883/1884A/1984A/1984B (commit), add model for cx20549 to support laptop HP530 (commit), add model for alc883 to support FUJITSU Pi2515 (commit), add support for Toshiba Equium L30 (commit), Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX (commit), support of Lenovo Thinkpad X300 (commit), add Quanta IL1 ALC267 model (commit), add support of AD1989A/AD1989B (commit), add model for alc262 to support Lenovo 3000 (commit), add model for ASUS P5K-E/WIFI-AP (commit), added support for Foxconn P35AX-S mainboard (commit), add drivers for the Texas Instruments OMAP processors (commit), add support of Medion RIM 2150 (commit), support IDT 92HD206 codec (commit)
ice1724 - Enable AK4114 support for Audiophile192 (commit)
ice1712: Added support for Delta1010E (newer revisions of Delta1010) (commit), added support for M-Audio Delta 66E (commit), add Terrasoniq TS88 support (commit)
Davinci ASoC support (commit)
intel8x0 - Add support of 8 channel sound (commit)
ASoC: WM9713 driver (commit)
Emagic Audiowerk 2 ALSA driver. (commit)
Add PC-speaker sound driver (commit)
oxygen: add monitor controls (commit)
virtuoso: add Xonar DX support (commit)
soc - Support PXA3xx AC97 (commit)
pxa2xx-ac97: Support PXA3xx AC97 (commit)
4.5. Input
Add support for WM97xx family touchscreens (commit)
WM97xx - add chip driver for WM9705 touchscreen (commit), add chip driver for WM9712 touchscreen (commit), add chip driver for WM97123 touchscreen (commit), add support for streaming mode on Mainstone (commit)
wacom: add support for Cintiq 20WSX (commit)
xpad: add support for wireless xbox360 controllers (commit)
Add PS/2 serio driver for AVR32 devices (commit)
aiptek: add support for Genius G-PEN 560 tablet (commit)
Add Zhen Hua driver (commit)
HID: force feedback driver for Logitech Rumblepad 2 (commit), Logitech diNovo Mini pad support (commit)
4.6. V4L/ DVB
V4L2 soc_camera driver for PXA270 (commit), (commit), (commit)
Add support for the MT9M001 camera (commit)
Add support for the MT9V022 camera (commit)
Add support for the ISL6405 dual LNB supply chip (commit)
Initial DVB-S support for MD8800 /CTX948 (commit)
cx23885: Add support for the Hauppauge HVR1400 (commit), add generic cx23417 hardware encoder support (commit)
Add mxl5505s driver for MaxiLinear 5505 chipsets (commit), basic digital support. (commit)
cx88: Add support for the Dvico PCI Nano (commit), add xc2028/3028 boards (commit), add support for tuner-xc3028 (commit)
saa7134: add support for the MSI TV@nywhere A/D v1.1 card (commit), add support for the Creatix CTX953_V.1.4.3 Hybrid (commit)
saa717x: add new audio/video decoder i2c driver (commit)
Support DVB-T tuning on the DViCO FusionHDTV DVB-T Pro (commit)
Add support for xc3028-based boards (commit)
ivtv: add support for Japanese variant of the Adaptec AVC-2410 (commit)
Add basic support for Prolink Pixelview MPEG 8000GT (commit)
bttv: added support for Kozumi KTV-01C card (commit)
Add support for Kworld ATSC 120 (commit)
CX24123: preparing support for CX24113 tuner (commit)
Added support for Terratec Cinergy T USB XXS (commit)
budget: Add support for Fujitsu Siemens DVB-T Activy Budget (commit)
Support for DVB-S demod PN1010 (clone of S5H1420) added (commit)
Added support for SkyStar2 rev2.7 and ITD1000 DVB-S tuner (commit)
em28xx-dvb: Add support for HVR950 (commit), add support for the HVR-900 (commit)
Add support for Hauppauge HVR950Q/HVR850/FusioHDTV7-USB (commit)
HVR950Q Hauppauge eeprom support (commit)
Adding support for the NXP TDA10048HN DVB OFDM demodulator (commit)
Add support for the Hauppauge HVR-1200 (commit)
pvrusb2-dvb: add DVB-T support for Hauppauge pvrusb2 model 73xxx (commit)
Add support for Beholder BeholdTV H6 (commit)
cx18: new driver for the Conexant CX23418 MPEG encoder chip (commit)
s5h1411: Adding support for this ATSC/QAM demodulator (commit)
4.7. SCSI
zfcp: Add trace records for recovery thread and its queues (commit), add traces for state changes. (commit), trace all triggers of error recovery activity (commit),register new recovery trace. (commit), remove obsolete erp_dbf trace (commit), add trace records for recovery actions. (commit)
qla2xxx: Add support for host supported speeds FC transport attribute. (commit), add FC-transport Asynchronous Event Notification support. (commit), add hardware trace-logging support. (commit), add Flash Descriptor Table layout support. (commit), add ISP84XX support. (commit), add midlayer target/device reset support. (commit)
iscsi: extended cdb support (commit), bidi support at the generic libiscsi level (commit), bidi support for iscsi_tcp (commit)
scsi_debug: support large non-fake virtual disk (commit)
gdth: convert to PCI hotplug API (commit)
st: add option to use SILI in variable block reads (commit)
megaraid_sas: Add the new controller(1078DE) support to the driver (commit)
m68k: new mac_esp scsi driver (commit)
bsg: add large command support (commit)
Add support for variable length extended commands (commit)
aacraid: Add Power Management support (commit)
Firmware: add iSCSI iBFT Support (commit)
4.8. WATCHDOG
Add a watchdog driver based on the CS5535/CS5536 MFGPT timers (commit)
Add ICH9DO into the iTCO_wdt.c driver (commit)
4.9. HWMON
thermal: add hwmon sysfs I/F (commit)
ibmaem: new driver for power/energy/temp meters in IBM System X hardware (commit)
i5k_amb: support Intel 5400 chipset (commit)
4.10. USB
ISP1760 HCD driver (commit)
pxa27x_udc driver (commit)
CDC WDM driver (commit)
Add Cypress c67x00 OTG controller core driver (commit), (commit), (commit)
Add HP hs2300 Broadband Wireless Module to sierra.c (commit)
Partial USB embedded host support (commit)
Add usb-serial spcp8x5 driver (commit)
r8a66597-hcd: Add support for SH7366 USB host (commit)
Add Zoom Telephonics Model 3095F V.92 USB Mini External modem to cdc-acm (commit)
Support for the ET502HS HDSPA modem (commit)
atmel_usba_udc: Add support for AT91CAP9 UDPHS (commit)
4.11. FireWire
release notes at linux1394-user
4.12. Infiniband
IPoIB: Use checksum offload support if available (commit), add LSO support (commit), add basic ethtool support (commit), support modifying IPoIB CQ event moderation (commit), handle 4K IB MTU for UD (datagram) mode (commit)
ipath: Enable 4KB MTU (commit), add code to support multiple link speeds and widths (commit), EEPROM support for 7220 devices, robustness improvements, cleanup (commit), add support for IBTA 1.2 Heartbeat (commit)
Add support for IBA7220 (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit), (commit)
mthca: Add checksum offload support (commit)
mlx4: Add checksum offload support (commit), add IPoIB LSO support to mlx4 (commit), (commit)
RDMA/cxgb3: Support peer-2-peer connection setup (commit)
4.13. ACPI and Power Management
ACPICA: Disassembler support for new ACPI tables (commit)
eeepc-laptop: add base driver (commit), add backlight (commit), add hwmon fan control (commit)
thinkpad-acpi: add sysfs led class support for thinklight (v3.1) (commit), add sysfs led class support to thinkpad leds (v3.2) (commit)
Remove legacy PM (commit)
4.14. MTD
m25p80: add FAST_READ access support to M25Pxx (commit), add Support for ATMEL AT25DF641 64-Megabit SPI Flash (commit)
JEDEC: add support for the ST M29W400DB flash chip (commit)
NAND: support for pxa3xx (commit)
NOR: Add JEDEC support for the SST 36VF3203 flash chip (commit)
NAND: FSL UPM NAND driver (commit)
AR7 mtd partition map (commit)
NAND: Hardware ECC controller on at91sam9263 / at91sam9260 (commit)
4.15. I2C
Add support for device alias names (commit)
Convert most new-style drivers to use module aliasing (commit)
Renesas SH7760 I2C master driver (commit)
New driver for the SuperH Mobile I2C bus controller (commit)
Convert remaining new-style drivers to use module aliasing (commit)
4.16. Various
MMC: OMAP: Add back cover switch support (commit)
MMC: OMAP: Introduce new multislot structure and change driver to use it (commit)
mmc: mmc host test driver (commit)
4981/1: [KS8695] Simple LED driver (commit)
leds: Add mail LED support for "Clevo D400P" (commit)
leds: Add support to leds with readable status (commit)
leds: Add new driver for the LEDs on the Freecom FSG-3 (commit)
- RAPIDIO:
edac: new support for Intel 3100 chipset (commit)
Basic braille screen reader support (commit)
ntp: support for TAI (commit)
RTC: Ramtron FM3130 RTC support (commit)