KernelNewbies:

Linux kernel version 2.6.24 Released ([http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.24 full SCM git log])

TableOfContents()

1. Short overview (for news sites, etc)

2.6.23 includes

2. Important things (AKA: ''the cool stuff'')

2.1. CFS improvements

Performance/size improvements

The CFS task scheduler [http://kernelnewbies.org/Linux_2_6_23#head-f3a847a5aace97932f838027c93121321a6499e7 merged in Linux 2.6.23] is getting [http://lkml.org/lkml/2007/9/11/395 some microoptimization work] in 2.6.24. 2.6.23's CFS context switching is more than 10% slower than the old task scheduler. With the optimization done in 2.6.24, CFS is now even a bit faster than the old task scheduler (which is quite fast already). The compiled size of the scheduler has also improved and now it's a bit more smaller on UP and a lot smaller in SMP.

Fair Group Scheduling

You can read [http://lwn.net/Articles/240474/ this recommended article] about the Fair Group Scheduling feature.

Another feature in the scheduler is the Fair Group Scheduling. Normally the scheduler operates on individual tasks and strives to provide fair CPU time to each task. Sometimes, it may be desirable to group tasks and provide fair CPU time to each such task group. For example, it may be desirable to first provide fair CPU time to each user on the system and then to each task belonging to a user. In other words, given two users, one running one cpu-bound process and the other two cpu-bound processes, you may want to give 50% of CPU time to the first users and his task, and 50% to the other user, which will be shared between his two processes - 25% of CPU time for each.

Thats the kind of thing that the Group Scheduling feature does. At present, there are two (mutually exclusive) mechanisms to group tasks for CPU bandwidth control purpose: 1) Group scheduling based on user id, which is the case previously mentioned as example. This mechanism is configurable, which means you can have more CPU time than just a 50%/50% rule - you can assign user root the double of priority than other users. 2) Group scheduling. This mechanism lets the administrator create arbitrary groups of tasks (ie: "multimedia", "compiling"), set how much CPU time 'priority' you want to give that group by catting the value to its cpu_share file, and then attach a PID to whatever task group you want. Documentation on how to use those two features can be found at Documentation/sched-design-CFS.txt.

guest time reporting

Aditionally, the task scheduler in 2.6.24 is adding a new "guest" field after "system" and "user" in /proc/<PID>/stat, where it tracks how much CPU time a task is spending in running a 'virtual' CPU.

2.2. Tickless support for x86-64, PPC, UML, ARM, MIPS

The Tickless feature was [http://kernelnewbies.org/Linux_2_6_21#head-8547911895fda9cdff32a94771c8f5706d66bba0 added in Linux 2.6.21]. This feature allows the kernel to disable timer interrupts for longer, variable periods, saving some power and improving performance, specially in virtual guests. 2.6.24 adds tickless support to the widespread 64-bit x86 architecture, but also to PPC, the virtualized architecture UML, and some variants of ARM and MIPS. They join to the already supported x86-32, SPARC-64 and SH.

2.3. New wireless drivers

In Linux 2.6.22, it was [http://kernelnewbies.org/Linux_2_6_22#head-1498b990e997cc0e95dbfa9047e7ebe8d84847cc merged] the new mac80211 wifi stack, but not many drivers that use this new stack have been merged (only one). Linux 2.6.24 will have a lot of new wireless drivers using the new stack, 2,3 MB of source files in total:

2.4. SPI/SDIO support in the MMC layer

The MMC layer, which is the code which implements support for MMC/SD memory cards, is suffering one of the biggest transformations in its life, because it has been [http://lkml.org/lkml/2007/9/24/37 heavily modified] to get support for [http://en.wikipedia.org/wiki/Secure_Digital_card#SDIO SDIO] and [http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus SPI].

SDIO is an alias for "Secure Digital I/O", and it allows to use the SD card slot (in the devices that support SDIO, ie. PDAs, cell phones or laptops) to use "small devices designed for the SD form factor, like GPS receivers, Wi-Fi or Bluetooth adapters, modems, Ethernet adapters, barcode readers, IrDA adapters, FM radio tuners, TV tuners, RFID readers, digital cameras, or other mass storage media such as hard drives" (quote from the [http://en.wikipedia.org/wiki/Secure_Digital_card#SDIO Wikipedia entry]). There are currently three working drivers for this new stack: sdio_uart, a driver for the standardised GPS interfaces; libertas_sdio, a driver for Marvell's 8686 Libertas wifi chip; and hci_sdio, a driver for the standardised bluetooth interface.

SPI is required by SDIO, an it's a "bus" (like IDE, SATA, USB...) which is used to access a wide range of devices, but more importantly, some systems require to access MMC/SD cards using a SPI controller instead of using a "native" MMC/SD controller. This has a disadvantage of being relatively high overhead, but a compensating advantage of working on many systems without dedicated MMC/SD controllers. 2.6.24 includes support for SPI and a experimental "MMC/SD over SPI" driver.9 (commit)]

2.5. USB authorization

As part of the efforts to make the USB layer ready for [http://en.wikipedia.org/wiki/Wireless_USB wireless USB], Linux 2.6.24 is getting support for USB device authorization, which allows you to control if a USB device (wireless or not) can be used or not in a system. As of now, when a USB device is connected it is configured and it's interfaces inmediately made available to the users. With this modification, only if root authorizes the device to be configured will then it be possible to use it.

Beside of providing a infrastructure to allow secure usage of wireless USB devices, this feature also allows to implement kiosk-style lockdown of USB devices, fully controlled by user space. Every USB device has a corresponding /sys/bus/usb/devices/<DEVICE>/authorized file. Writing 1 to that file authorizes a device to connect, 0 deauthorizes it. USB hosts can also set new devices connected to be deauthorized by writing 0 (or 1 to authorize) to /sys/bus/usb/devices/usb<X>/authorized_default. By default, wired USB devices are authorized by default to connect, and wireless USB hosts deauthorize by default all new connected devices (this is so because they need to do an authentication phase before authorizing).

2.6. Per-device dirty thresholds

You can read [http://lwn.net/Articles/245600/ this recommended article] about the "per-device dirty thresholds" feature.

When a process writes data to the disk, the data is stored temporally in 'dirty' memory until the kernel decides to write the data to the disk ('cleaning' the memory used to store the data). A process can 'dirty' the memory faster than the data is written to the disk, so the kernel throttles processes when there's too much dirty memory around. The problem with this mechanism is that the dirty memory thresholds are global, the mechanism doesn't care if there're several storage devices in the system, much less if some of them are faster than others. There're lot of scenaries where this design harms performance. For example, if there's a very slow storage device in the system (ex: a USB 1.0 disk, or a NFS mount over dialup), the thresholds are hit very quickly - not allowing other processes that may be working in much faster local disk to progress. Stacked block devices (ex: LVM/DM) are much worse and even deadlock-prone (check the LWN article).

In 2.6.24, the dirty thresholds are per-device, not global. The limits are variable, depending on the writeout speed of each device. This improves the performance greatly in many situations.

2.7. PID and network namespaces

You can read [http://lwn.net/Articles/256389/ this recommended article] about the "Linux Kernel Markers" feature.

Usually, there's a global PID namespace for a whole Linux system: The list of processes contains all the processes running in the system. There's also a global view of the networking stack (routing tables and firewall rules, etc). However, [http://en.wikipedia.org/wiki/Operating_system-level_virtualization operating-system virtualization] like [http://openvz.org OpenVZ] or [http://en.wikipedia.org/wiki/Linux-VServer Vserver] need to have different views of the PID namespace and the networking stack. Linux 2.6.24 adds PID namespaces and basic support for network namespaces. They're used through the CLONE_NEWPID and CLONE_NEWNET clone() flags.

2.8. Task Control Groups

There have been various proposals in the Linux arena for resource management/accounting and other task grouping subsystems in the kernel (Resgroups, User Beancounters, NSProxy cgroups, and others). Task Control Groups is the framework that is getting merged in 2.6.24 to fulfill the functionality that lead to the creation of such proposals. TCG can track and group processes into arbitrary "cgroups" and assign arbitrary state to those groups, in order to control its behaviour. The intention is that other subsystems hook into the generic cgroup support to provide new attributes for cgroups, such as accounting/limiting the resources which processes in a cgroup can access.

For example, cpusets (see Documentation/cpusets.txt) allows you to associate a set of CPUs and a set of memory nodes with the tasks in each cgroup. The CFS group scheduling feature uses cgroups to control the CPU time that every cgroup can get. Other various resource management and virtualization/cgroup efforts can become task cgroup clients. The configuration interface is described in Documentation/cgroups.txt

2.9. Linux Kernel Markers

You can read [http://lwn.net/Articles/245671/ this recommended article] about the "Linux Kernel Markers" feature.

The Linux Kernel Markers implement static probing points for the Linux kernel. Dynamic probing system like kprobes/dtrace can put probes pretty much anywhere. However, the scripts that dynamic probing points use can become quickly outdated, because a small change in the kernel may trigger a rewrite of the script, which needs to be maintained and updated separately, and will not work for all kernel versions. Thats why static probing points are useful, since they can be put directly into the kernel source code and hence they are always in sync with the kernel development. Static probing points apparently can also have some performance advantages. They've no performance costs when they're not being used.

The kernel markers are a sort of "derivative" of the long-time and external patchset "Linux Trace Toolkit" (LTT), which is a feature that has been around since [http://www.opersys.com/LTT/news.html#18-11-1999 1999]. The Kernel Markers are a feature needed for the [http://lwn.net/Articles/245671/ SystemTap] project. In this release, there're no probing points being included, but many will be certainly include in the future, and some tracking tools like blktrace will probably be ported to this kind of infrastructure in the future.

2.10. x86-32/64 arch reunification

You can read [http://lwn.net/Articles/243704/ this recommended article].

When support for the x86-64 AMD architecture was developed, it was decided to develop it as a "fork" of the traditional x86 architecture for comodity reasons. Many patches needed to patch a file in the i386 architecure directory, and another similar patch for the duplicated file in the x86_64 directory. It has been decided to unify both architectures in the same directory again.

This reunification has not been done in a radical way. In this release, botch architectures have been unificated in arch/x86, but only in appearance. All the source files in i386 and x86-64 directories have been moved to arch/x86, but renaming them with "_32" and "_64" suffixes. Ex: arch/i386/kernel/reboot.c has been moved to arch/x86/kernel/reboot_32.c, and arch/x86_64/kernel/reboot.c has been moved to arch/x86/kernel/reboot_64.c. Makefiles have been modified accordingly. So for now the reunification has been pretty much just a relocation of all the files and adaptation of the build machinery to make it compile just as it'd have been compiled in the old separated directories, done mostly with scripts.

In the future lots of those files will be unificated and shared by both architectures, ex. reboot_32.c and reboot_64.c into reboot.c, and many files have already been unificated in this release. Others will keep separated forever, due to the differences between both architectures.

3. Subsystems

3.1. Networking

* [RFKILL]: Add support for an rfkill LED. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=135900c182c321a4888ec496b014e6707272faca (commit)]

* [RFKILL]: Add support for hardware-only rfkill buttons [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=20405c08412a4d89357870d7220f9fb1c458b286 (commit)]

* [TCP]: Enable SACK enhanced FRTO (RFC4138) by default [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c96fd3d461fa495400df24be3b3b66f0e0b152f9 (commit)]

* [NL80211]: add netlink interface to cfg80211 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=556829657397b9b05baec6691ead4e22ee8d1567 (commit)]

* [NET]: Dynamically allocate the loopback device, part 1. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5 (commit)]

* [NET]: Dynamically allocate the loopback device, part 2. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=854d8363f37491c955b0edc60d37b62f3d71bb67 (commit)]

* [MAC80211]: Add support for setting TX power and radio status [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=61609bc0e4d3bc677ecdccf216a0a77563f52457 (commit)]

* [DCCP]: Rate-limit DCCP-Syncs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94f0f970549e63e54c80c4509db299c514d8c11 (commit)]

* [NET]: Add network namespace clone & unshare support. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9dd776b6d7b0b85966b6ddd03e2b2aae59012ab1 (commit)]

* [NET]: Make the loopback device per network namespace. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2774c7aba6c97a2535be3309a2209770953780b3 (commit)]

* mac80211: revamp interface and filter configuration [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4150c57212ad134765dd78c654a4b9906252b66d (commit)]

* [PKT_SCHED]: Add stateless NAT [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4219952356baa162368f2f5dab6421a5dbc5e15 (commit)]

* [NETFILTER]: x_tables: add xt_time match [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee4411a1b1e0b679c99686629b5eab5a072ce49f (commit)]

* [MAC80211]: Add association LED trigger [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=47f0c502209056da728e6a306a43d5e19a37f4fa (commit)]

* [DCCP]: Implement SIOCINQ/FIONREAD [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6273172e1772bf5ce8697bcae145f0f2954fd159 (commit)]

* [DCCP]: Add socket option to query the current MPS [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c559a9e44ee61faf2f339604ce708decb345a93 (commit)]

* [IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4953f0fcc06a125f87874743d968c0e185c8b296 (commit)] * [IPv6]: Export userland ND options through netlink (RDNSS support) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31910575a9de61e78065e93846e8e7a4894a18bf (commit)]

3.2. Filesystems

3.3. CRYPTO

== Architecture-specific changes

h=5d54ddcbcf931bf07cd1ce262bda4674ebd1427f (commit)]

3.4. SELinux

* SELinux: tune avtab to reduce memory usage [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3232c110b56bd01c5f0fdfd16b4d695f2e05b0a9 (commit)] * SELinux: Improve read/write performance [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=788e7dd4c22e6f41b3a118fd8c291f831f6fddbb (commit)] * SELinux: policy selectable handling of unknown classes and perms [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f12070e27b4a213d62607d2bff139793089a77d (commit)] * SELinux: improve performance when AVC misses. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fe79ad1e43d236bbbb8edb3cf634356de714c79 (commit)]

4. Drivers

4.1. Graphics

4.2. SATA/IDE

* libata-link: introduce ata_link [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9af5c9c97dc9d599281778864c72b385f0c63341 (commit)] * libata-link: implement and use link/device iterators [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f58229f8060055b08b34008ea08f31de1e2f003c (commit)] * libata: add support for ATA_16 on ATAPI [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=baf4fdfaaf5cb9f4fb1c341c8cef60a64e580582 (commit)]

* [libata] check for SATA async notify support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f45cbd3f0fc597530aaf85cad7fe52cd63f1fd8 (commit)]

* AVR32 PATA driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c9ef8e418374aec0a62e64d9b40d457634fd039 (commit)]

* libata driver for bf548 on chip ATAPI controller. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d830d1731fa5906aad20c228ac8b73005b13d468 (commit)]

* ahci: RAID mode SATA patch for Intel Tolapai [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4155e6f13e931048036976d9fb47b5db53ee7a3 (commit)]

* [libata] SCSI: support INQUIRY page 89h (ATA info page) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad355b4628a19ba2af30409e13083edda221a5c9 (commit)]

* pata_ns87415: Initial cut at 87415/87560 IDE support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4b5b7b6c4423ec4ced4177c87d2da04de324028 (commit)]

* sata_sil24: implement PMP support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3454dc6922dc550c0d3ccf292c4e227403b10b6e (commit)]

* libata-pmp: implement Port Multiplier support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3af9a77af9e2b72366363864bfcd3d51465ff98a (commit)]

* libata-pmp: hook PMP support and enable it [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=633273a3ed1cf37ced90475b0f95cf81deab04f1 (commit)]

* ahci: implement PMP support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d50b60b5e38f910ad69f0187af00f5d6a8970d4 (commit)]

* libata-pmp: extend ACPI support to cover PMP [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d0df8b5d0fb547a3351c2a4b1ded7f7cde5d713a (commit)]

* libata: Integrate ACPI-based PATA/SATA hotplug - version 5 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=237d8440cb2b104a3b97fc971a9bce67960bb616 (commit)]

* [libata] Turn on ACPI by default [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6ebe9d8667d3f449350cbc6686cd917ecf1f40dd (commit)]

* ahci: Add MCP79 support to AHCI driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7100819f5f9b99eb7c7dd5597f293388a405bf7b (commit)]

* libata: Add a drivers/ide style DMA disable [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3a706014e56b1356e7b275fd25b833c63175bf0 (commit)]

* pata_acpi: ACPI driver support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=025621f9a7c0efe1139d43d246136a0f3e8ea675 (commit)] * [libata] AHCI: add hw link power management support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31556594f913fa81d008cecfe46d7211c919a853 (commit)] * [libata] Link power management infrastructure [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca77329fb713b7fea6a307068e0dd0248e7aa640 (commit)]

* IDE

* ide: hook ACPI _PSx method to IDE power on/off [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e32132befa5d2cefadf3141fee0bbb40cd11f0e (commit)] * ide: Platform IDE driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8cb1f567f4c0a2fde9cbf77c2af888a28cab3423 (commit)]

4.3. Networking

* pasemi_mac: enable iommu support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af289e803fdf2fcd19cf4a57c3c896dba146c756 (commit)]

* [NIU]: Add Sun Neptune ethernet driver. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a3138df9f20e726c517f8df7387b5d83f5df5566 (commit)]

* [TG3]: Add 5784 and 5764 support. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d30cdd28fba556143a4bb0d1a6097ebcc2891477 (commit)]

* hostap_cs: Add device ID for Telekom T-Sinus 111card [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=46232d29f4088d87cdc2ee94cc911aadbdf00d32 (commit)]

* zd1211rw: Add ID for TalkTalk SNU5630NS/05 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=61ef6062801b5ee8dcf18a90789713fbed249f1b (commit)]

* Add Linksys card to HostAP driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04dd9d39b48636d2698049304fdfb9ca59a88b54 (commit)]

* ipw2200: batch non-user-requested scan result notifications [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0b5316769774d1dc2fdd702e095f9e6992af269a (commit)]

* rtl8187: Add device ID for HP wireless print kit usb dongle [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c3cf60a97fa4258599d308c74e2ee7c502b72e2a (commit)]

* p54usb: Add device ID for Linksys WUSB54AG [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c109810318ef4d37e495f740e624b1a15b7a0818 (commit)]

* [TG3]: Add 5761 APE support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d3031d9e674cddd4c09731123ad252294cdf15f (commit)]

* [TG3]: Add 5761 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9936bcf68a7e4d33f080bba9ee03d156c75c91ee (commit)]

* [B43]: LED triggers support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21954c367e4088c491122edd263964345bc1d3bf (commit)]

* [B43]: RF-kill support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e9f7529fdfe34ed519f048682eb404fbd8004e8 (commit)]

4.4. Sound

linux-2.6.git;a=commit;h=90fd5ce5f67968d3250eeab9bc1f6822644347ef (commit)] * [ALSA] Add SPI devices to ALSA Kconfig and Makefile [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0a899ca0fca7801127757cfaafb4d8671793f0 (commit)] * [ALSA] ALSA sound driver for the AT73C213 DAC using Atmel SSC driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eafe57084786d5711e434165297f13864697f9f9 (commit)] * [ALSA] snd-ca0106:Add recognition for new variant. Fixes ALSA bug#3251 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aaccf54f638dfd39ebd1220936b0ce261e5fced7 (commit)] * [ALSA] snd-emu10k1:Support for ADAT and S/PDIF. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=edec7bbb22dafdab5f8eae4f049ad9d0f615abc4 (commit)] * [ALSA] snd-emu10k1:Implement SPDIF/ADAT status. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f93abe51e8dc7e929d29e6a9a1991bf7fd234d4a (commit)] * [ALSA] hda-intel - Add hwdep interface [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2807314d467e7dd929c42050031aabbd28e78f0b (commit)] * [ALSA] hda-codec - Add a generic bind-control helper [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=532d5381793f3c824f8ff68d7067fab8c76bb811 (commit)] * [ALSA] hda-codec - Add support for the ASRock K8NF6G-VSTA motherboard [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=625dc0bf4d91d379e8b4d5c3c9e05ad6fa978c51 (commit)] * [ALSA] ASoC CS4270 codec device driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0c813ceee8963790bebe73956574336604ae574 (commit)] * [ALSA] add the ESS1879 pnpbios ID to the es18xx driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4848ffe520b5929acd157025d0969d455da1e57a (commit)] * [ALSA] hda-codec - Add more Dell systems [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ff076e5d925d8f714b88a1d3992796f89b45450 (commit)] * [ALSA] hda-codec - Add support for Acer Aspire laptops [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2880a8670d45f66bbdd3c5dd8f4ba46fe1ce9329 (commit)] * [ALSA] Support 3-bytes 24bit format in PCM OSS emulation [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64d27f96cb719cf8b5dae634c4c548049d4ae6bf (commit)] * [ALSA] Add new AFMT_* formats for OSS emulation [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24038a25e707fe08ff343d72dd667acefcc50f6f (commit)] * [ALSA] usb-audio - Add advanced mode support for Edirol UA-1EX [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b0d39be53b057e05e2f796a071ff1cead3a2506 (commit)] * [ALSA] hda-intel - Add POWER_SAVE option [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb53c626e1145edf1d619bc4953f6293d3a77ace (commit)] * [ALSA] This patch adds more support for Dell systems with Stac9205 codecs. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae0a8ed8bf9c2edee4b831dee91ae914b9641fdd (commit)] * [ALSA] hda-codec - Update realtek codec support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1a991a682f6718db6c611ccfd36d903732d946c (commit)] * [ALSA] hda-codec - Add support for Biostar NF61S SE mobo [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39c5d41ffef0e176968079f2f84f657e8511cdf9 (commit)] * [ALSA] hda-codec - Add ALC268 acer model [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d273809e2e512d0638d443dce408ac0342ab73cf (commit)] * [ALSA] hda-codec - Add model for MSI m673x [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca1c294c94579af68197d5f4af6911236b5a51 (commit)] * [ALSA] hda-codec - Add auto-mute function to Sony VAIO with STAC9872 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=72e7b0ddf52d334939778fc71e9d013519a3ee8c (commit)] * [ALSA] hda-codec - Add support for Macbook Pro rev3 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87350ad0cf05d734309ca40e1524a07cf12190aa (commit)] * [ALSA] hda-codec - Add support for Toshiba Satellite P205 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=542d7c66201439f98dd44e62a8186ec33a15b1a7 (commit)] * [ALSA] hda-codec - Add support for Haier W66 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=189609ae1e4db898d9a933753348ca19544c5903 (commit)] * [ALSA] hda-codec - Add SPDIF support on ALC880 fujitsu model [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d53d7d9e5e6bce747e8b8b2f825db1b32d8f6647 (commit)] * [ALSA] bt87x - Add known PCI ID entries [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abaeeb59c94b6efc368f5058009c1d82ce031abd (commit)] * [ALSA] hdsp - Add support for latset RME9632 revisions [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a3a68c85bfb7acc874ce6d334964b95943d4ed43 (commit)] * [ALSA] cmipci: add 96 kHz support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8992e18db32f5df55fd4b458def7dccd2a5c3266 (commit)] * [ALSA] hda-codec - add support for analog loopback to STAC9204/9205/922x/927x [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f10c4a9a0c02597206fe2f027026ee25d3e07ad (commit)] * [ALSA] hda-codec - Add support for Acer Aspire 9303 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8da6470efbfd022c6d228f8829870ba018092b31 (commit)] * [ALSA] Add missing models for Dell with STAC9200 codec [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=966a4d595ca7ef848cec7673ad03961d8303a40a (commit)] * [ALSA] hda-codec - Add laptop-automute model for AD1986A [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ab78c7424588c6b1600dcfd70418617a09326b8 (commit)] * [ALSA] hda-codec - Add support for ASUS A7M [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=914759b79e28ce74606e99d9f6aaabeec58394ab (commit)] * [ALSA] hda-codec - Add missing model names for ALC882 codecs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0438a00e64f38b2f655a10167f9f2d9759856069 (commit)] * [ALSA] hda-codec - Add support for Toshiba A305 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e7f00f9248c2dc6b36f3c4d1932aa975b454c48 (commit)] * [ALSA] Gallant SC-6000 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e307258d5b27e3f9cde56df4038c89470710e2e4 (commit)] * [ALSA] usb-audio: add Ozone Academic support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ea547dcdd4216370f00dd65a18ee5a0271646a0 (commit)] * [ALSA] hda-codec: Add 4 channel support for Realtek ALC883 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b201131c43c155c62e799d9410708d10b2c9a6ad (commit)] * [ALSA] hda-codec: Add two new systems to ALC883 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11370ee2c1c578a704f47d5513d57274c335db43 (commit)] * [ALSA] caiaq - support for Native Instrument's RigKontrol3 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad1e34b5653f86cbff2ea45dd166e2e58949d9bb (commit)] * [ALSA] Add default values for power-saving as Kconfig options [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a5a27cfaedf8589600b7ae585f3ca42b2d3c78a (commit)] * [ALSA] Add description about power-saving mode [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3723e2d25151f919e55da98f89a2787802ad5494 (commit)] * [ALSA] alsa: Add the MCP79 support to hda_intel driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c10710676728846f5c0a92431ebab2161f9c0b7e (commit)] * [ALSA] snd-usb-audio: Add basic support for E-Mu USB devices. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e74190bc0f8a5ab7e83bdf6688fcaebbed25316 (commit)] * [ALSA] Support ASUS P701 eeepc [0x1043 0x82a1] support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=291702f017efdfe556cb87b8530eb7d1ff08cbae (commit)]

4.5. ACPI

4.6. MTD

4.7. Input

* Input: ALPS - add signature for ThinkPad R61 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f493018ebc3f94d64e12bc848db0906700bf73a2 (commit)]

* Input: add support for SEGA Dreamcast keyboard [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b11d2127c4893a7315d1e16273bc8560049fa3ca (commit)]

* Input: add support for Blackfin BF54x Keypad controller [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f740ef391fc81cb887fa08d213cf67b843cb3b7 (commit)]

4.8. SCSI

4.9. USB

* add the concept of default authorization to USB hosts [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5234ce1b02ae2574098ebe9839dcf241076a9367 (commit)] * introduce usb_device authorization bits [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da04b7a42711c1d1d8d9fbc2565cdd83efcfee40 (commit)] * cleanup usb_register_bus() and hook up sysfs group [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb579f5811ddbc052c8d6b3bba38dd4e5148cf7b (commit)] * initialize authorization and wusb bits in USB devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7d07255d3f5607802b0af29e11448d18e9ed558 (commit)] * usb_get_configuration() obeys authorization [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1145065cd0434b0fd5cd7c0efe0f1438fb154ed0 (commit)] * usb_set_configuration() obeys authorization [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16bbab2966309ae82cda3d378964c56096d4858c (commit)] * usb_probe_interface() obeys authorization [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=72230abb21349cda54d6cce0d6fd325c023b958e (commit)] * introduce usb_authorize/deauthorize() [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93993a0a3e528357ae4b9b0eb82fd4b428ebbf64 (commit)] * split usb_new_device for clarity and refactoring [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9d16e8a92e385c9f57d2081b7aa737770a0a829 (commit)] * usb_generic_probe() obeys authorization [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8a374648b58e5cfa14447eca866aed14a4fbfa8 (commit)] * document device authorization [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=732bb9ee8195053a7dc00b9eec7be48891ad8668 (commit)] * hook up device authorization to sysfs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e03f2e8a530e0ed46af43093e23a70b7c7215263 (commit)] * serial/pl2303: support for BenQ Siemens Mobile Phone EF81 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7beb667842ad0f6ec95a22e7c88e71dfbd60649 (commit)] * Driver for CH341 USB-serial adaptor [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6ce76104781a10554129791dc62c3104424f6d48 (commit)] * Export URB statistics for powertop [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d59d8a11383ebf0e0260ee481a4e766959fd7d9 (commit)] * add atmel_usba_udc driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=914a3f3b375493eb44ad652a431939258cf34f71 (commit)] * ohci SSB bus glue [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c604e851486eabcbeb73e984279d436ce121fd5d (commit)] * Adding support for SHARP WS011SH to ipaq.c [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eecfb911a03a48ef5f7114246343128bd01c1b5f (commit)]

4.10. V4L/DVB

4.11. HWMON

4.12. Bluetooth

KernelNewbies: Linux_2_6_24 (last edited 2007-11-25 18:27:48 by diegocalleja)