• Immutable Page
  • Info
  • Attachments

Linux 2 6 29

Linux 2.6.29 kernel released on 23 March, 2009.

Summary: Linux 2.6.29 adds kernel based graphic mode setting, WiMAX support, Access Point support in the wifi stack, the inclusion of the btrfs and squashfs filesystems, ecryptfs filename encryption, ext4 no journaling mode, ocfs2 metadata checksums, a more scalable RCU implementation, filesystem freeze support, swap management in the memory controller, many new drivers and many other improvements.

  1. Prominent features (the cool stuff)
    1. Kernel Modesetting
    2. Btrfs
    3. Squashfs
    4. Support of 4096 CPUs
    5. "Tree RCU": scalable classic RCU
    6. WiMAX
    7. Wireless Access Point mode support
    8. eCryptfs filename encryption
    9. Filesystem freeze
    10. Memory controller swap management and other improvements
    11. Ext4 no journal mode
    12. OCFS2 metadata checksums
    13. Staging drivers
    14. Tuz replaces Tux for this release
  2. Various core changes
  3. Wi-Fi
  4. Security
  5. Networking
  6. Tracing
  7. Filesystems
  8. Crypto
  9. DM/MD
  10. Virtualization
  11. Architecture-specific changes
  12. Drivers
    1. Storage
    2. Graphics
    3. Network
    4. Input
    5. Sound
    6. V4L/DVB
    7. USB
    8. HWMON
    9. Watchdog
    10. RTC
    11. HID
    12. MTD
    13. MFD
    14. Power
    15. Serial
    16. Various
  13. Other sources about 2.6.29 kernel

1. Prominent features (the cool stuff)

1.1. Kernel Modesetting

When we talk about "mode setting", we mean setting up things like the screen resolution and depth mode, in other words, configuring whatever it's necessary in the graphics card to get it ready to display things on the screen. This may look easy to implement, but the graphics people say it's harder than it seems to design and implement right (multihead setups, hotplug, etc), which is why it has taken so much time. To start with, mode setting implies allocating memory from the graphics card, which means that before doing modesetting it was necessary to have the GEM memory manager ready and merged in the main tree, which did not happen until the previous release, 2.6.28.

Doing modesetting right is much harder if you consider how the typical Linux graphic setups works today. There are several drivers sharing the same piece of hardware (your graphics card): the kernel VGA driver, the kernel framebuffer drivers, the kernel DRM drivers, the userspace X drivers, the userspace DRI drivers, and other userspace drivers (e.g. svgalib). This is a very bad idea. For example, the X.org driver is a full implementation of all what is needed to make your graphics card work in 2D, and when you start up X.org all is fine. But when you switch from X.org to a VT console (using Ctrl+Alt+F1), the X.org driver has to stop handling the graphics card, because the control needs to be passed to another driver: the fb console driver. So the X.org driver saves the current state of the display, the graphics card is reset and then it is handled to the fb driver, which has to reinitialize completely the card again (that's why there's a noticeable pause in the switch), even if the resolution in X and the console is the same. When you switch back to X.org, the card needs to be reconfigured again. This is a hairy, bug-prone mess, and it's difficult to make it working right in some cases; for example resuming of suspended/hibernated systems is more difficult with this design because the X.org driver lives in userspace and suspend/hibernation is (must be) transparent for him, so it is not aware that it needs to reset the hardware before continuing drawing things after resuming, needing a userspace/firmware helper that some times may not work correctly (black screen, hanged system).

Enter modesetting, and those problems go away. Modesetting centralizes the mode setting code in the kernel drivers. While this may look like it's a lot of code for a kernel, it's actually the contrary: there's a single piece of code in charge of the modesetting, which means that the whole graphic stack gets smaller. And because there's only one implementation, and there's more code sharing, the quality and robustness is increased. Besides, mode setting is a task that really belongs to the kernel drivers (it's how every other operating systems, including some proprietary Unixes, have always done it). But all that is just a small part of the benefits: Suspend and resume are more likely to work because all the work will be done by the kernel driver just like it is done with any other hardware device. X.org doesn't need the root privileges anymore (they were needed before only because the old drivers needed direct hardware access to implement the drivers), making possible to run X.org as non-root, which is a huge security improvement, and moves X.org back to what it is supposed to do: drawing things, and not messing with hardware. It is also possible to print kernel oopses (or even a Windows-like BSOD ;) ) to the screen if the kernel crashes while running under X. And if all this wasn't enough, you also get a FB console that runs on top of modesetting and GEM, making the old FB drivers completely obsolete while preserving their functionality at the same time. And with modesetting it isn't needed to reset the hardware when switching from X.org to a VT, and when switching, if the resolution is the same, there's no need to change anything, making possible to do flicker-free graphical boots and fast user switching.

However, trying modesetting in this release is not easy. In the kernel side, only the Intel driver is getting modesetting support in this release (support for other drivers is being worked on and will be merged in future releases). In the X.org side, it's even more difficult. Because when the kernel modesetting support is enabled, it is /!\ REQUIRED /!\ that the X.org driver also has modesetting support. If you enable kernel modesetting and you don't have a modesetting-enabled driver, X.org will NOT be able to work in any way and it even may crash your machine. There's no way to workaround this, except disabling kernel modesetting (running a modesetting enabled X.org driver in a modesetting disabled kernel is allowed). Right now, only the Intel driver seems to have a stable release with modesetting support, alpha support is being worked on for other drivers.

Code: Commit (commit), (commit)

1.2. Btrfs

Btrfs is a new filesystem developed from scratch following the design principles of filesystems like ZFS, WAFL, etc. It was created by Chris Mason, an Oracle engineer who worked several years in Reiserfs v3. It is expected to become the replacement of Ext filesystems as the most used Linux filesystems. More information about btrfs can be found in the btrfs wiki page

Btrfs is under HEAVY development, which means that it is /!\ UNSTABLE /!\ , and while it has got more stable in the latest months you should not assume it's safe to use it. It's getting included in the same way ext4dev was merged to improve the development. So it's strongly recommended not to use it for any other uses than testing, benchmarking and developing. The plan of the btrfs team right now is to make a 1.0 release. The disk format is not expected to change anymore (but it will if a critical bug is found).

Code: fs/btrfs

1.3. Squashfs

Squashfs is a highly compressed read-only filesystem that is well know for being used in the Live-CDs of the most common Linux distributions and embedded distributions for some routers. It uses zlib compression (lzma will be added in the future) to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimise data overhead. Block sizes greater than 4K are supported up to a maximum of 1 Mbytes (default block size 128K).

SquashFS 4.0 supports 64 bit filesystems and files (larger than 4GB), full uid/gid information, hard links and timestamps. It is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in embedded systems where low overhead is needed. Further information and userspace tools (needed to create the filesystem) are available from http://squashfs.sourceforge.net.

Code: fs/squashfs

1.4. Support of 4096 CPUs

Recommended article: Fun with cpumasks

Many parts of the Linux core code support such number of CPUs, but there were problems with the cpumask-specific code, which is the part of the system used to represent all the CPUs in the system. With 4096 CPUs that structure became too big, causing stack overflows, and had some performance problems, which made impossible to default distro kernels to 4096 CPUs, because systems with a lower number of CPUs would have slower performance. The goal with this release has been to be able to support for as many CPUs as possible with no disadvantages for smaller machines. The code been changed to use pointers for that structure instead of using the stack and some scalability problems have been resolved, making possible to run machines with 4096 CPUs and make easier to support even more in the future.

Code: (commit)

1.5. "Tree RCU": scalable classic RCU

Recommended LWN article: "Hierarchical RCU"

This feature fixes a long-standing performance bug in classic RCU that results in massive internal-to-RCU lock contention on systems with more than a few hundred CPUs - Classic RCU was designed for machines with 16-32 CPUs. "Tree RCU" applies a hierarchy, greatly reducing the contention on the top-level lock for large machines. Although this feature creates a separate flavor of RCU for ease of review and patch maintenance, it is intended to replace classic RCU.

Code: (commit)

1.6. WiMAX

2.6.29 includes support for WiMAX, a telecommunication technology that provides wireless transmission of data using a variety of transmission modes. It provides up to 75 Mbit/s symmetric broadband speed without the need for cables. The technology is based on the IEEE 802.16 standard (also called Broadband Wireless Access). The stack has been provided by Intel, and it includes a driver for the Intel Wireless WiMAX/Wi-Fi Link 5x50 USB/SDIO devices.

Code: WiMAX stack (commit 1, 2, 3, 4, 5, 6, 7, 8)

Driver: (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)

1.7. Wireless Access Point mode support

The mac80211 wifi stack is now ready to support AP mode. It requires hostapd for management frame processing. Configuring this mode is only allowed through cfg80211 (no iwconfig and/or WEXT).

Code: (commit), (commit)

1.8. eCryptfs filename encryption

eCryptfs implements transparent encryption of the contents of a file. In this release, it also can encrypt the file name via a passphrase-derived mount-wide Filename Encryption Key (FNEK) specified as a mount parameter. Each encrypted filename has a fixed prefix indicating that eCryptfs should try to decrypt the filename. When eCryptfs encounters this prefix, it decodes the filename into a tag 70 packet and then decrypts the packet contents using the FNEK, setting the filename to the decrypted filename. Both unencrypted and encrypted filenames can reside in the same lower filesystem. Because filename encryption expands the length of the filename during the encoding stage, eCryptfs will not properly handle filenames that are already near the maximum filename length.

Code: (commit 1, 2, 3, 4, 5)

1.9. Filesystem freeze

Recommended LWN article: "Freezing filesystems and containers"

Linux doesn't have a freeze feature which suspends write requests. So, it's not possible to take a backup which keeps the filesystem's consistency with the storage device's features (snapshot and replication) while it is mounted. Many commercial filesystems (e.g. VxFS) have the freeze feature and it would be used to get the consistent backup. This feature implements the ioctls of the freeze feature.

Code: (commit), (commit)

1.10. Memory controller swap management and other improvements

This feature adds a swap management feature to memory resource controller. Previously, the memory controller couldn't control the swap used by the tasks in a cgroup, allowing a single process to exhaust all of the swap. Now, you can limit mem+swap usage per cgroup. However, it adds some overhead and memory consumption, so it's configurable.

Another features added to the memory controller in this release are hierarchy support, per-cgroup swappiness, improved per-cgroup reclaim stats and better oom handling.

Code: Swap management (commit), (commit), (commit), (commit); hierarchy (commit), (commit), (commit), (commit), (commit), swappiness (commit), reclaim stats (commit), oom-killer (commit)

1.11. Ext4 no journal mode

Since Ext3 was born, there was people that never wanted to use journaling, for various reasons. In this release, Ext4 adds support for a mode that doesn't use journaling. The result is a small performance increase (see the commit link for benchmark data) compared with Ext4, but it is also a noticeable improvement over Ext2.

Code: (commit)

1.12. OCFS2 metadata checksums

OCFS2 (a clustered filesystem) now uses metadata checksums to check the integrity of the metadata.

Code: (commit 1, 2, 3, 4, 5, 6, 7, 8)

1.13. Staging drivers

New drivers were added to the staging/ directory (which means they're not just experimental, but also totally unstable and not suited at all for users)

1.14. Tuz replaces Tux for this release

LWN article: “The kernel gets a new logo

The emblematic Tux mascot is replaced, for the 2.6.29 release, by Tuz, a disguised Tasmanian Devil. This logo change is a support for this endangered species. (commit)

2. Various core changes

  • Scheduler

    • Idle cputime accounting: The cpu time spent by the idle process actually doing something is currently accounted as idle time. This is plain wrong, the architectures that support VIRT_CPU_ACCOUNTING=y can do better: distinguish between the time spent doing nothing and the time spent by idle doing work (commit), (commit)

    • Extend range of /sys/devices/system/cpu/sched_mc_power_savings. Currently the sched_mc/smt_power_savings variable is a boolean, which either enables or disables topology based power savings. This patch extends the behaviour of the variable from boolean to multivalued, such that based on the value, we decide how aggressively do we want to perform powersavings balance at appropriate sched domain based on topology (commit)

    • Improve precision of process accounting. (commit), improve precision of idle time detection. (commit)

    • Include group statistics in /proc/sched_debug (commit)

  • Memory management

    • futex: use fast_gup() (commit)

    • Make get_user_pages() interruptible (commit)

    • Shrink struct dentry (commit)

    • Report the MMU pagesize in /proc/pid/smaps (commit)

    • Report the pagesize backing a VMA in /proc/pid/smaps (commit)

    • Improve vmallocinfo (commit)

    • More likely reclaim MADV_SEQUENTIAL mappings (commit)

    • Add dirty_background_bytes and dirty_bytes sysctls (commit)

    • Swap use discard commands in SSD devices (commit), (commit)

    • vmscan: bail out of direct reclaim after swap_cluster_max pages (30% improvement hackbench) (commit)

    • SLUB: failslab support (commit)

    • NOMMU: Make VMAs per MM as for MMU-mode linux (commit)

    • NOMMU: Make mmap allocation page trimming behaviour configurable. (commit)

  • PCI

  • Fastboot (not enabled by default)

  • ELF: implement AT_RANDOM for glibc PRNG seeding (commit)

  • cpumask: add sysfs displays for configured and disabled cpu maps (commit), (commit)

  • Enable multiple instances of devpts (commit), (commit), (commit)

  • proc: add /proc/*/stack (commit)

  • Support for sparse irqs: this is useful for distro kernels that want to define a high CONFIG_NR_CPUS value but still want to have low kernel memory footprint on smaller machines (commit), (commit)

  • Get rid of CONFIG_LSF (ommit)

  • ACPI hibernate: Introduce new kernel parameter acpi_sleep=s4_nonvs (commit)

  • ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory (commit), (commit)

  • UIO: Pass information about ioports to userspace (V2) (commit)

  • swiotlb: add support for systems with highmem (commit)

  • Allow stripping of generated symbols under CONFIG_KALLSYMS_ALL (commit)

  • Script from kerneloops.org to pretty print oops dumps (commit)

  • Document handling of bad memory (commit)

  • Remove CONFIG_KMOD (commit)

3. Wi-Fi

  • Make Minstrel the default rate control algorithm (commit)

  • Implement dynamic power save (commit)

  • hwsim: enable Mesh Point operation (commit), add support for client PS mode (commit)

  • Re-enable aggregation (commit)

  • nl80211: Add TX queue parameter configuration (commit), add basic rate configuration for AP mode (commit), add commands to get and set o11s mesh networking parameters (commit), add signal strength and bandwith to nl80211station info (commit)

  • cfg80211: Add regulatory domain intersection capability (commit), add support for custom firmware regulatory solutions (commit)

  • Add regulatory 802.11d support (commit)

4. Security

  • Introduce new LSM security hooks for pathname based access control (commit)

  • Rework of the credential records (commit) Recommended LWN article: "Credential records"

  • file capabilities: add no_file_caps kernel parameter (commit)

  • Audit: Log TIOCSTI (commit)

  • Audit: Any time fcaps or a setuid app under SECURE_NOROOT is used to result in a non-xero pE, log it (commit)

  • smack: Add support for unlabeled network hosts and networks (commit)

5. Networking

  • Convert TCP & DCCP hash tables to use RCU (commit), (commit), (commit)

  • Add DCNA attribute to the BCN interface for DCB (commit)

  • IPVS: Add IPv6 support to SH and DH schedulers (commit)

  • DCB: Add support for DCB BCN (commit)

  • pkt_sched: add DRR scheduler (commit)

  • Add Generic Receive Offload infrastructure. Recommended LWN article: "Large receive offload (commit 1, 2, 3, 4, 5, 6, 7)

  • Phonet: USB CDC Phonet function for gadget framework (commit)

  • TPROXY: implemented IP_RECVORIGDSTADDR socket option (commit)

  • atm: 32-bit ioctl compatibility (commit)

  • sctp: Implement socket option SCTP_GET_ASSOC_NUMBER (commit)

  • pkt_sched: Control group classifier (commit)

  • RDMA

  • Bonding

    • Send IPv6 neighbor advertisement on failover (commit)

    • Alternate agg selection policies for 802.3ad (commit)

  • DCB

    • Add interface to query the state of PFC feature. (commit)

    • Add interface to query for the DCB capabilities of an device. (commit)

    • Add interface to query # of TCs supported by device (commit)

  • WAN

    • new synchronous PPP implementation for generic HDLC. (commit)

  • syncppp.c is no longer used by any kernel code. Remove it. (commit)

  • DCCP

    • Set per-connection CCIDs via socket options (commit)

    • Support for Mandatory options (commit)

    • Deprecate Ack Ratio sysctl (commit)

  • TCP

  • UDP

    • Introduce struct udp_table and multiple spinlocks (commit)

    • RCU handling for Unicast packets. (commit)

6. Tracing

  • blktrace: port to tracepoints (commit)

  • profile likely and unlikely annotations (commit)

  • Add a tracer to catch execution time of kernel functions (commit)

  • Stack-tracer: introduce CONFIG_USER_STACKTRACE_SUPPORT (commit)

  • Add "power-tracer" (C/P state tracer to help power optimization) (commit)

  • Add a way to enable or disable the stack tracer (commit)

  • Add function tracing to single thread (commit)

  • function-graph-tracer: support for x86-64 (commit)

  • ftrace dump on oops control (commit)

  • Add ability to only trace swapper tasks (commit)

  • Add quick function trace stop (commit)

  • Graph of a single function (commit)

  • sysrq-z to dump the tracing buffers (commit)

  • Trace single pid for function graph tracer (commit)

  • likely/unlikely branch annotation tracer (commit)

  • Identify which executable object the userspace address belongs to (commit)

  • Add support for userspace stacktraces in tracing/iter_ctrl (commit)

  • oprofile: port to the new ring_buffer (commit)

7. Filesystems

  • Ext4

    • Improve jbd2 fsync batching (commit)

    • Add mount option to set kjournald's I/O priority (commit)

    • Add markers for better debuggability (commit)

    • Add fsync batch tuning knobs (commit)

  • OCFS2

  • XFS

    • Allow inode64 mount option on 32 bit systems (commit)

    • Support the fiemap ioctl. (commit)

    • Combine the XFS and Linux inodes (commit)

  • GFS2

    • Support for FIEMAP ioctl (commit)

    • Kill two daemons (gfs2_scand and gfs2_glockd) (commit)

  • UBIFS

  • FUSE

  • NFS

    • lockd: Enable NLM use of AF_INET6 (commit)

    • Add "[no]resvport" mount option (commit)

    • Allow lockd requests from an unprivileged port (commit)

  • CIFS: add mount option to send mandatory rather than advisory locks (commit)

  • Ext3: improve fsync batching (commit)

8. Crypto

9. DM/MD

  • DM

  • MD

    • Allow md devices to be created by name. (commit)

    • Make devices disappear when they are no longer needed. (commit)

10. Virtualization

  • KVM

    • Enable MSI for device assignment (commit)

    • x86: Enable NMI Watchdog via in-kernel PIT source (commit)

    • x86: Support for user space injected NMIs (commit), (commit)

    • VMX: Add PAT support for EPT (commit)

    • Enable MTRR for EPT (commit)

    • ppc: support large host pages (commit)

    • ppc: Implement in-kernel exit timing statistics (commit)

  • virtio_console: support console resizing (commit)

  • virtio_net: VIRTIO_NET_F_MSG_RXBUF (imprive rcv buffer allocation) (commit)

  • Xen: add xenfs to allow usermode <-> Xen interaction (commit)

11. Architecture-specific changes

12. Drivers

12.1. Storage

  • SATA:

    • Add 32bit PIO support (commit)

    • New driver for OCTEON SOC Compact Flash interface (v7). (commit)

    • sata_via: Add VT8261 support (commit)

    • sata_sil: add Large Block Transfer support (commit)

  • IDE

    • Remove ide-scsi (commit)

    • Add driver for AT91 (SAM9, CAP9, AT572D940HF) Static Memory Controllers with Compact Flash True IDE Mode logic (commit)

    • Resurrect IT8172 IDE controller driver (commit)

  • SCSI

    • cxgb3i: Add cxgb3i iSCSI driver. (commit)

    • libfc: A modular Fibre Channel library (commit), (commit)

    • fcoe: Fibre Channel over Ethernet (commit)

    • lpfc: Add support for Power Management Suspend/Resume operations (commit), add Blockguard support (T10-DIF) structs and defs (commit), add Blockguard support (T10-DIF) code (commit)

    • qla2xxx: Add ISP81XX support. (commit), add support for multi-queue adapter (commit)

12.2. Graphics

12.3. Network

  • smsc9420: SMSC LAN9420 10/100 PCI ethernet adapter (commit), (commit), (commit)

  • SMSC LAN911x and LAN921x driver (commit)

  • Add driver for the KS8695 ethernet devices (commit)

  • Add be2net driver for ServerEngines' 10Gbps NIC - BladeEngine 2 (commit)

  • Add driver for Dave ethernet devices (dnet) (commit)

  • WAN: Add IXP4xx HSS HDLC driver. (commit)

  • iwlwifi: Add support for 5150 (commit 1, 2, 3, 4, 5), enable custom fw regulatory solution (commit), move channels sysfs to debugfs (commit), disable AP mode (commit)

  • sfc: Implement auto-negotiation (commit), SFT9001: Add cable diagnostics (commit), expose flash region storing boot code as MTD (commit), add support for sub-10G speeds (commit), add support for SFN4111T (commit), add option to use a separate channel for TX completions (commit), add support for Solarflare 10Xpress SFT9001 (commit)

  • ixgbe: add device support for 82598AT (copper 10GbE) adapters (commit), implement PCIe AER support (commit), add support for DCB to the kernel and ixgbe driver (commit), add SFP+ driver support (commit)

  • Ath9k: Adding support for Atheros AR9285 chipset (commit), adding initvalues for Atheros AR9285 chipset. (commit), adding AR9285 chipset register information (commit), add a debugfs file for dumping DMA status (commit), add ATH9K_DEBUG configuration option (commit), handle channel initialization for AP mode (commit), add a debugfs file to show interrupt statistics (commit),

  • Ath5k: add AP mode (commit), update keycache to support TKIP handling (commit), enable hardware encryption for WEP (commit)

  • broadcom: Add support for BCM50610 (commit), add flow control support (commit)

  • mISDN: Add HFC USB driver (commit), create /sys/class/mISDN (commit), added an ioctl to change the device name (commit), add E-Channel logging features (commit)

  • p54: enable Mesh Point support (commit), AP & Ad-hoc testing (commit), implement MRR (commit), utilize cryptographic accelerator (commit)

  • tg3: Add 57780 support (commit), add 5761S support (commit)

  • phy: add LSI ET1011C PHY driver (commit), add the ST ste10Xp PHYs (commit), power management support (commit)

  • gianfar: Add Scatter Gather support (commit), revive VLAN support (commit)

  • ucc_geth: Remove UGETH_FILTERING dead code (commit)

  • iwl3945: add debugfs support (commit)

  • smsc95xx: add tx checksum offload support (commit)

  • rt2x00: Implement HW encryption (rt2500usb) (commit), add USB ID for the Linksys WUSB200. (commit)

  • e1000e: enable ECC correction on 82571 silicon (commit)

  • cxgb3: Add multiple Tx queue support. (commit)

  • IXP4xx: Add PHYLIB support to Ethernet driver. (commit), add ethtool support to Ethernet driver. (commit), add PHYLIB MII ioctl to the Ethernet driver. (commit)

  • bnx2: Add PCI ID for 5716S. (commit)

  • zd1211rw: adding Sitecom WL-603 (0df6:0036) to the USB id list (commit)

  • atm: Driver for Solos PCI ADSL2+ card. (commit)

  • broadcom: Add 57780 support (commit)

  • igb: Add support for pci-e Advanced Error Reporting (commit)

  • mlx4_en: Added "set_ringparam" Ethtool interface implementation (commit)

  • The overdue eepro100 removal (replaced by the e100 driver) (commit)

  • enic: enable ethtool LRO support (commit)

  • uwb: add basic radio manager (commit), improved MAS allocator and reservation conflict handling (commit)

12.4. Input

  • Add joystick driver for Walkera WK-0701 RC transmitter (commit)

  • Add tsc2007 based touchscreen driver (commit)

  • PCF50633 input driver (commit)

  • Add support for Wacom W8001 penabled serial touchscreen (commit)

  • Add da9034 touchscreen support (commit)

  • Add support for enhanced rotary controller on pxa930 and pxa935 (commit)

  • Add support for Maple controller as a joystick (commit)

  • Add support for trackball on pxa930 and pxa935 (commit)

12.5. Sound

  • Alsa System on Chip

  • hda: Add HP Acacia detection (commit), added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530 (commit), add ALC299 fujitsu preset model (commit), Intel HDMI audio support (commit), add ASUS V1sn support (commit), add lifebook model for Realtek ALC269 (commit), alc883 model for ASUS P5Q-EM boards (commit), added Realtek ALC888 model entry for Acer Aspire 4930G laptop (commit), make laptop-eapd model back for AD1986A (commit), add MCP67 HDMI support (commit), add support for Intel DX58SO board (commit), add support of NVidia MCP78 HDMI (commit)

  • pcxhr - add support for pcxhr stereo sound cards (commit), add support for pcxhr stereo sound cards (firmware support) (commit), add support for pcxhr stereo sound cards (mixer part) (commit), add support for pcxhr stereo sound cards (core change) (commit)

  • cs5535audio: OLPC analog input support (commit)

  • ELD proc interface for HDMI sinks (commit)

  • oxygen: add Claro halo support (commit)

  • Add hrtimer backend for ALSA timer interface (commit)

  • ca0106: Add power-management support (commit)

12.6. V4L/DVB

  • Adding sharp s921 ISDB-T driver (commit)

  • Add tw9910 driver (commit)

  • Add ov772x driver (commit)

  • Add TEA5764 radio driver (commit)

  • Add initial support for two KNC1 DVB-S2 boards (commit)

  • Adding lgdt3304 based driver (commit)

  • Dynamic DVB minor allocation (commit)

  • uvcvideo: Add support for Samsung Q310 integrated webcam (commit)

  • Add STB6100 Support (commit)

  • em28xx: experimental support for HVR-950 IR (commit)

  • Add STB0899 support (commit), (commit)

  • Add STB6100 Support (commit), (commit)

  • Initial support for the Technotrend TT S2 3200 (commit)

  • Add support for the Satelco Easywatch DVB-S2 PCI card (commit)

  • cx88: Add support for Prof 6200 DVB-S PCI card (commit), add support for Turbosight TBS8910 DVB-S PCI card (commit)

  • Add Terratec Cinergy S USB support (commit)

  • uvcvideo: Add support for Lenovo Thinkpad SL500 integrated webcam (commit), V4l2 zoom controls support (commit), V4l2 privacy control support (commit), add support for video output devices (commit)

  • dsbr100: add suspend and resume (commit)

  • em28xx: Add specific entry for WinTV-HVR 850 (commit)

  • omap2: add OMAP2 camera driver. (commit)

  • v4l: add new tvp514x I2C video decoder driver (commit)

  • v4l2: add v4l2_device and v4l2_subdev structs to the v4l2 framework. (commit)

  • em28xx: add chip id for em2874 (commit), add entry for Pixelview PlayTV Box 4 (commit)

  • gspca: Subdriver ov534 added. (commit), pac7311: Webcam 093a:2620 added. (commit), stv06xx: New subdriver. (commit), vc032x: Webcam 046d:0897 added. (commit), vc032x: Webcam 15b8:6002 and sensor po1200 added. (commit), ov534: Add framerate support. (commit), zc3xx: Webcam 046d:089d added. (commit), pac207: Webcam 093a:2461 added. (commit)

  • saa7134: Add support for Kworld Plus TV Analog Lite PCI (commit), add analog and DVB-T support for Medion/Creatix CTX946 (commit), add support for Avermedia AVer TV GO 007 FM Plus (commit)

  • Add Compro Videomate E650F (DVB-T part only). (commit)

  • m5602 - ov9650: Add CIF mode (commit), add QVGA mode for the ov9650 sensor (commit)

  • Add ov7725 support to ov772x driver (commit)

  • mt9m111: add support for mt9m112 since sensors seem identical (commit)

  • soc-camera: add support for MT9T031 CMOS camera sensor from Micron (commit)

  • Add USB ID for the Sil4701 radio from Dealextreme (commit)

  • Add the Beholder H6 card to DVB-T part of sources. (commit)

  • bt832: remove this driver (commit)

12.7. USB

  • Add asynchronous autosuspend/autoresume support (commit)

  • storage: recognizing and enabling Nokia 5200 cell phones (commit)

  • host: Oxford OXU210HP HCD driver. (commit)

  • gadget: MIPS ci13xxx_udc (commit)

  • musb: add Blackfin driver to MUSB framework (v2) (commit)

  • otg: twl4030 transceiver driver (commit)

  • Add imx udc gadget driver (commit)

  • Add new opticon serial driver (commit)

  • Add siemens_mpi usb-serial "stub" driver (commit)

  • g_file_storage: add CD-ROM emulation (commit)

  • unusual_devs: add Pentax K10D (commit), another bad Argosy storage device (commit), Macpower MasterBox (commit), Option N.V. ZeroCD modems (commit)

  • USB: usb-storage: add "quirks=" module parameter (commit)

  • ti_usb_3410_5052: add Multi-Tech modem support (commit)

  • p54usb: Add USB ID for Thomson Speedtouch 121g (commit)

12.8. HWMON

  • Add a driver for the ADT7475 hardware monitoring chip (commit)

  • Add LTC4245 driver (commit)

  • it87: Add support for the ITE IT8720F (commit)

  • fschmd: Add watchdog support (commit)

  • f71882fg: Add PWM support (commit), add support for the F71862FG superio sensors (commit), add F8000 support (commit)

  • lm70: Add TI TMP121 support (commit)

  • applesmc: Add support for Macbook Air 2 (commit)

12.9. Watchdog

  • Add SMSC SCH311x Watchdog Timer. (commit)

  • Pika Warp appliance watchdog timer (commit)

  • Basic support for GE Fanuc's FPGA based watchdog timer (commit)

  • Add support for the WM8350 watchdog (commit)

12.10. RTC

  • PCF50633 rtc driver (commit)

  • Driver for Marvell's Socs 88F6281 and 88F6192 (commit)

  • Add rtc-tx4939 driver (commit)

  • Au1000 On-Chip Counter0-as-RTC driver. (commit)

  • Driver for pxa27x and pxa3xx SoC (commit)

12.11. HID

  • Driver for Topseed Cyberlink quirky remote (commit)

  • add n-trig digitizer support (commit)

  • Add dynids facility (commit)

  • Add phys and name ioctls to hidraw (commit)

  • Add proper support for pensketch 12x9 tablet (commit)

12.12. MTD

  • Support for LPDDR (Low power double data rate) flash chips. Synonymous with Mobile-DDR. It is a new standard for DDR memories, intended for battery-operated systems (commit 1, 2, 3, 4, 5, 6, 7)

  • NAND ndfc driver (commit)

  • Add ps3vram driver for accessing video RAM as MTD (commit)

  • nandsim: add option to use a file to cache pages (commit)

12.13. MFD

12.14. Power

  • Add support for WM8350 PMU (commit)

  • Add cold to the POWER_SUPPLY_HEALTH report values (commit)

  • Add Dialog DA9030 battery charger driver (commit)

  • Add battery health reporting for WM8350 (commit)

12.15. Serial

  • UART driver changes for Cavium OCTEON. (commit)

  • serial_8250: support for Sealevel Systems Model 7803 COMM+8 (commit)

  • Add driver for the Cell Network Processor serial port NWP device (commit)

  • 8250_pci: add support for netmos 9835 IBM devices (commit)

  • Add Supraexpress 336i PnP Voice Modem (commit)

12.16. Various

  • i2c

    • i2c-omap: Add high-speed support to omap-i2c (commit)

    • i2c-omap: Add support for omap34xx (commit)

  • Bluetooth

    • Add suspend/resume support to btusb driver (commit)

    • Remove deprecated hci_usb driver (commit)

  • leds

  • Cpufreq:

    • Add Celeron Core support to p4-clockmod. (commit)

    • Disable sysfs ui for p4-clockmod. (commit)

  • mmc

  • edac

  • backlight

    • Add support for Toppoly TDO35S series to tdo24m lcd driver (commit)

    • Add suspend/resume support to the backlight core (commit)

  • i8k: Enable i8k on Dell Precision Systems (commit), add Dell Vostro systems (commit)

  • regulator: PCF50633 pmic driver (commit)

  • w1: add 1-wire master driver for i.MX27 / i.MX31 (commit)

  • spi_gpio driver (commit)

  • Dell-laptop extras driver (commit)

  • PCMCIA: e740 PCMCIA socket driver. (commit)

  • ACPI: thinkpad-acpi: add UWB radio support (commit)

13. Other sources about 2.6.29 kernel


Tell others about this page:

last edited 2009-06-10 21:04:35 by diegocalleja