KernelNewbies:

Released unknow, 2007 ([http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.21 full SCM git log])

TableOfContents()

Short overview (for news sites, etc)

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

VMI (Virtual Machine Interface)

VMI is a virtualization feature built in top of the paravirt_ops paravirtualization implementation introduced in [http://kernelnewbies.org/Linux_2_6_20 2.6.20].

Paravirtualizated kernels need to be modified to run under a hypervisor. The goal of VMI is to become the common paravirtualization interface for hypervisors like Xen and Vmware. Vmware will certainly use VMI; Xen was going to use VMI but they may develop their own VMI-like interface. Any hypervisor can use VMI by providing a (GPLed) ROM; the ROM describes how the low-level VMI kernel must use the hypervisor. A VMI-enabled kernel can also boot on bare hardware and no hypervisor with no performance impact.

More details about VMI can be found in this LWN article: "[http://lwn.net/Articles/175706/ The VMI virtualization interface]"

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9226d125d94c7e4964dd41cc5e9ca2ff84091d01 (commit 1] [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b15114434998a78aa50f8559d69c7a400cff267 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae5da273fe3352febd38658d8d34484cbcfb3423 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7b3552024380f306a6c50d5105d18d9d4258fa4e 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c119ecce894120790903ef535dac3e105f3d6cde 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce0bcfd1667736f1293cff845139bbee53186de 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbab4f3bb7f528d2b8ccb5de9ae5f6ff3fb29684 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90736e20e3805dd1ffff60e4750495944956cd44 8)]

KVM updates

KVM does evolve at a very fast pace, due to its clean design. This release (KVM-15) brings many new features:

Recommended LWN article: [http://lwn.net/Articles/223839/ "LWN-15"]

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=102d8325a1d2f266d3d0a03fdde948544e72c12d (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02e235bc8eebf8a6fef10d46479b3c18f3e9c4f2 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c21415e84334af679630f6450ceb8929a5234fad 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=774c47f1d78e373a6bd2964f4e278d1ce26c21cb 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59ae6c6b87711ceb2d1ea5f9e08bb13aee947a29 5)]

ASoC

The [http://www.rpsys.net/openzaurus/patches/alsa/info.html ASoC (ALSA System on Chip) layer] has been added to the ALSA sound system. Its aim is to provide improved support for sound processors on embedded systems. The ASoC core is designed to allow reuse of codec drivers on other platforms, reuse of platform specific audio DMA and DAI drivers on different machines, easy I2S/PCM digital audio interface configuration between codec and SoC, and allow machines to add controls and operations to the audio subsystem. e.g. volume control for speaker amp.

To achieve all this, ASoC splits an embedded audio system into 3 components: 1. Codec driver: The codec driver is platform independent and contains audio controls, audio interface capabilities, codec dapm and codec IO functions 2. Platform driver: The platform driver contains the audio dma engine and audio interface drivers (e.g. I2S, AC97, PCM) for that platform. 3. Machine driver: The machine driver handles any machine specific controls and audio events. i.e. turning on an amp at start of playback.

It includes a dynamic power management subsystem, designed to allow portable and handheld Linux devices to use the minimum amount of power within the audio subsystem at all times. It is independent of other kernel PM and as such, can easily co-exist with the other PM systems. DAPM is also completely transparent to all user space applications as all power switching is done within the ASoC core. No code changes or recompiling are required for user space applications. DAPM makes power switching decisions based upon any audio stream (capture/playback) activity and audio mixer settings within the device.

A number of platform and codec drivers for ASoC have been merged as well.

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=596ce32b74dccf53ef59cc9ba2e95a2a34ba921c (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a8ec343c5ba1e78ba23bebd9ad4b23f39c50828 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6297027629a9349301e08442b67deb9783a5e984 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e24dd9310b66d6f500a81ee320a8babec529573 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=734c2d4bb7cfccaab79923331efc7422e4e76a8a 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73f40dc1e147b41eb74bc92ff62bb65cb3260eff 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75b41027662e29822746342865fa8abd941d2604 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f137ab673124ee0a210ab5b74c1f7234d6145fa 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fb290d03af69bfca5876573ac0eada40bd4e292 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=808db4a4512bedd45b62de255f7eedb5d5b788b9 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8dafc0fb49b903c4e7262b2622bef8342345c700 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97952f601e939278df1194bac56b9755338ee7c1 12], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a1eb4b3caf3abd0d1a8474f07d29959e1879bb29 13], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a3288176de3fdd439d9bca0a0b9ca749c12ac5ac 14], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a71a468a50f1385855e28864e26251b02df829bb 15], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8f5d0a5d02cda0183c6e68d6a66d4c6641149a9 16], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abadfc928a27e1cf27c834e8e29e6b1f64ca2d55 17], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b36d61d45654104c04ff71055ef09c696fea5f89 18], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b41bf38a4323a32ec4890c74818c4a3d2661fe6c 19], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8044274c7f1e269975b2bd55d057ceb7708e929 20], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb4c048b9306555ccbdb97eaf7922624664b0eb1 21], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cbe83b1795feea33803dc89fce18b2b98abbcc9b 22], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3d35adc79aa2e48e8177a9506e9bcb5eebba406 23], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d928b25a89c3154fe6d0e62a83f51c5b621aa099 24], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db2a416556af0313db028147e4a22fef6f214f2f 25], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dbc6b6ad767c86907db373e85139b0e975ba7599 26], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eaff2ae702f937020bfde96eea552caae3815784 27], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb1a6af39b70375d93ed25e7c916f64463e00614 28], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f11a96d5cd94202479e603f9dfaff6e92f342135 29], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff9abf5b0a655b59d59ea61aec5be6285bf3ac30 30], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0cbbec0984f10f216ed8332e0d39ac93cbe33a0b 31], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10c5cf30446fe91b7173436b75c4f00dfb4cd9f8 32], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=171eb8f81d7b0706c1085d272e4955251ed9f05f 33], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b49cb987030c09ca763c1dabd5c5e33f669e530 34], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2b97eabc09f42d0f63e8053636e34e1afa0d604e 35], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e7cc3d3d1c435f83533b8bf2cf1833855be2901 36], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40e0aa64660b4e28a9348e57bfbda6c114617969 37], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4422b606bc04eab01dd5cb6f8e6dd0608d65bb11 38], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=527541f9a8a83eedb4d732657dbfdcd2c4ca8bb4 39)]

Dynticks and Clockevents

Recommended LWN article: [http://lwn.net/Articles/223185/ "Clockevents and dyntick"]

Clockevents is a building block of dynticks. A example of a clock devices is the device which makes timer interrupts. The handling of those devices was made in the architecture-specific code, so there wasn't an unified way of using those devices. The clockevents patch unifies the clockdevice handling so the kernel can use the timer capabilities of those devices in a unified manner. This also allows to implement true high-resolution timers.

Dynticks (aka: dynamic ticks) it's a configurable feature for x86 32bits (x86-64 and ARM support is already done but not ready for this release; PPC and MIPS support are in the works) that changes the heart of the mechanism that allow a system to implement multitasking. To know what dyntick does, first you should know some basics: Traditionally, multitasking is implemented thanks to a timer interrupt that is configured to fire N times in a second. Firing this interrupt causes a call to the operative system's process scheduler routines. Then, the scheduler decides what process should run next, the process that was running before the timer interrupt was fired, or another process. This is how true multitasking is implemented in all the general-purpose operative systems, it's also what stops processes from being able to monopolize the CPU time: The timer interrupt will be fired regardless of what the process is doing and the operative system will be able to stop it.

N (the number of times the timer interrupt is fired in each second, aka 'HZ') is a hardcoded compile-time architecture-dependent constant. For Linux 2.4 (and Windows), HZ=100 (the timer interrupt fires 100 times per second). 2.6 increased HZ to 1000, for several reasons: 100 was the HZ value that x86 had been using since forever, and it didn't really had a lot of sense in modern CPUs that runs much faster: Higher HZ means smaller process time slices, which improves the minimum latency and interactivity. The downside is higher timer overhead (negligible in modern hardware, although some server-oriented distros package kernels with HZ=100 because of minor performance gains) and high pitch noises in some systems due to low-quality, cheap capacitators

Anyway, the issue is that the timer is fired HZ times in every second - even if the system is doing nothing. Dynticks is a feature that stops the system from waking up HZ times per second. When the system is entering the idle loop it disables the periodic timer interrupt, and programs the timer to fire the next time a timer event is needed. This means your system will be 'disabled' while there's nothing to do (unless a interrupt happens - ej: a incoming packet through your network). For now, dynticks does just that. However, this infrastructure will allow to create a innovative power-saving feature: When dynticks is in "tickless" mode and the system is waiting for the timer interrupt, the power-saving feature of modern CPUs will be used. This can save a few W when the laptop is idle.

Dynticks adds some nice configurable debugging features: /proc/timer_list prints all the pending timers, allowing developers to check if their program is doing something wrong when it should be doing nothing, /proc/timer_stat, in the other hand, collects some timer statistics, allowing to detect the source of commonly-programmed timers.

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f4304ab21513b834c8fe3403927c60c2b81a72d7 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=92c7e00254b2d0efc1e36ac3e45474ce1871b6b2 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d8b34fdcb384161552d01ee8f34af5ff11f9684 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1cfd68496e53f7be09a3c1358d1d389004217541 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd064b9b7770d5c7705bf9542950c7bd81c30f98 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9cb2e3d7c9178ab75d0942f96abb3abe0369906 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c8aa39d7c445ae2612b6b626f76f077e7a7ab0d 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=303e967ff90a9d19ad3f8c9028ccbfa7f408fbb3 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd3629b5e5f03dde6d8a17bb798bcb0ba6c3f579 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5cfb6de7cd7c8f04655c9d23533ca506647beace 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3434933b17fa64adddf83059603c61296f6e1ee2 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=169a0abbe32813af4904cc1605c0f7ea0534f77b 12], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d66bea57e779cd592657cca6e61345ae899b78d9 13], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e05d723f98595b2f4d368f63636a997d98703304 14], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d316c57ff6bfad9557462b9100f25c6260d2b774 15], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=906568c9c668ff994f4078932ec6ae1e3950d1af 16], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98 17], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79bf2bb335b85db25d27421c798595a2fa2a0e82 18], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9e2cdb412412326c4827fc78ba27f410d837e6e 19], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d36b49b91065dbfa305c5a66010b3497c741eee0 20], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741673473a5b26497d5390f38d478362e27e22ad 21], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8b5035b9abd01b52ec6416f0c6bade7e603742c 22], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d40891e75fc1f646dce57d5d3bd1349a6aaf7a0e 23], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54cdfdb47f73b5af3d1ebb0f1e383efbe70fde9e 24], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bfd9a7a229b5f3d3eda5d7d45c2eebec5b4ba16 25], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=289f480af87e45f7a6de6ba9b4c061c2e259fe98 26], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82f67cd9fca8c8762c15ba7ed0d5747588c1e221 27], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88ad0bf6890505cbd9ca1dbb79944a27b5c8697d 28)]

Dynamic kernel command-line

The current implementation stores a command-line buffer allocated to COMMAND_LINE_SIZE (a compile-time constant) size - 256 bytes on x86. This is not enougth space today, some systems hit a limit when they use too many module parameters, video settings, initramfs parameters etc. It's possible to increase COMMAND_LINE_SIZE to a greater value, but there's a problem: a static buffer of that size (say, 2KB) will be allocated even if you aren't using all of it.

So in 2.6.21 the size of the boot command line it's allocated dynamically. A static buffer is still allocated (2K in i386), but the contents are copied into a dinamically-allocated buffer with the exact size, then the static buffer is freed with the rest of the initdata data

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30d7e0d466b3ac0b5ef77e4062bf9385f0d72270 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=187959f31e92cde16b274f0b61dfaca3a8b14089 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19bf7e7a414711dec0058556feda778105798f99 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3561794d80843588ed8b47fffb20e2dcd9c40ff3 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=383464c0fb067f5beb96e28ff376d2280808dd54 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c253ca0f0930b767a5d6ac0c1b3c6f5619e28f9 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e42ff6c65cf40caa1f6ca51a4c3d552803e0957 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43cd34645d3bf35cbaa68f28b85d12d0b9e08ab9 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e498b66104af914ef04d6e7fbbbc13a4f7c936e 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53c82622c2db808c015953336faecefc0ebf29bc 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ff625904cd4e41d70bc01e6683cbb58f312f709 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64d5a70f956071f8434f403d44835a4895abb78e 12], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=668f9931c812224ab2a6d57cdf2f0ec3865b68d2 13], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=712f77b5659208b43c925e1b28c4f44891c4d94f 14], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a3a06d0e158fc82a6bf13e18439285c7791d2b8 15], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87e1f9c6dcb4829fd8a68a3af87098cee8ef955b 16], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c00f7613249b3b42782a226308353a4033c11c3 17], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8d91b8477aa433ee0131b031d782411976e1726 18], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=adf48856db47f4f0f661f2f4b7004890408135cf 19], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8757b21f7628c57cb20e55be324fdef283a56e9 20], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf4352c0fc82e6dadfa7eea506c19dea0106baac 21], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf71cecbe4282fbb8ec035a7199fa4aca64db54c 22], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd81899a7d9e77ffd5280b10d0413fb241b18388 23], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3e9cceafd9c886561f602bcdcb03efd96e187ab 24], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e06b1a3513bdd897e3c37c98ed7b16fa237dcb63 25], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2a09e19cae45b7dfa4b72d70182b5bc9afa2ddb 26], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08e7ca11eed86acde42ee97b9392faa10f9c70d1 27], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cca97de1184f6000d22b4106d47687b31cca1fa3 28], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbd4bb9aa7635063284ffb3470ab24c36c14d935 29], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7bf9f974fbdc16769db3d48f7c31f932b233bcfb 30], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5ba1b31c793185d6e0ee62c1928c84bcff9818e 31)]

Optional ZONE_DMA

ZONE_DMA was created for handling x86-specific ISA DMA uglities. Some arches do not need ZONE_DMA at all, the newer x86 systems are not needing ISA DMA and are starting to include IOMMUs. 2.6.21 makes possible to completely disable ZONE_DMA. This also makes possible some compiler optimizations

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6267276f3fdda9ad0d5ca451bdcbdf42b802d64b (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66701b1499a3ff11882c8c4aef36e8eac86e17b1 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b51d66989218aad731a721b5b28c79bf5388c09 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09ae1f585e9def652cdb1d0484611d4f4dc2d5fd 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=339ba9b15df58199b9783a23af234e947ec9e6ba 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=005928374bf339e0b6783d78da8fd0701631e7ee 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ac6da669e2476dbdac89b357b05b5a79bc5b657 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b51d3a08b6c80a1e47d4c579c41abbe56cd3c44 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=118bcd31b309d12638f67729d5d96d4974750249 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fa6427542cfd2811f48186c68057273c6537f261 10)]

devres

"devres" is an optional subsystem for drivers that greatly simplifies the task of driver housekeeping, if you have to acquire+map then later unmap+free a bunch of device-related resources (MMIO, PIO , IRQs, iomap, PCI, DMA resources). The aim is to make easier for programmers to allocate & free resources & handle errors for a driver writer. A device driver can allocate arbirary size of devres data which is associated with a release function. On driver detach, release function is invoked on the devres data, then, devres data is freed.

Recommended LWN article: [http://lwn.net/Articles/222860 "The managed resource API"]

This version adds support for the following managed interfaces: alloc/free(devm_kzalloc(), devm_kzfree()), IO region(devm_request_region(), devm_release_region()), IRQ (devm_request_irq(), devm_free_irq()), DMA (dmam_alloc_coherent(), dmam_free_coherent(), dmam_declare_coherent_memory(), dmam_pool_create(), dmam_pool_destroy()), PCI (pcim_enable_device(), pcim_pin_device(), pci_is_managed()), iomap (devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(), devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(), pcim_iomap(), pcim_iounmap())

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ac7849e35f705830f7b016ff272b0ff1f7ff759 (commit)]

New drivers

* Add fbdev driver for the old S3 Trio/Virge [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a268422de8bf1b4c0cb97987b6c329c9f6a3da4b (commit)] * PA Semi PWRficient on-chip Ethernet (1/10G) driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5cd7872768d5856b1b409a33f516e5ac7798f75 (commit)] * Add two drivers for the it8213 IDE device, one using the old IDE stack [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c6712c0bcd2954fb4ca58d31f7316292a4b0945 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6788182602f6862688d9a14e6f527449696f65c6 (commit)] and other using libata [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b13b682a68d5bcf09c75da73d4e61d92eba4c84 (commit)] * Add IDE Driver for Delkin/Lexar/etc.. cardbus CF adapter [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78281c5350029e3fa21758d6db9b45ffc7bf72a1 (commit)] * Add IDE driver for Toshiba TC86C001 (old IDE stack) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33dced2ea5ed03dda10e7f9f41f0910f32e02eaa (commit)] * Add SCSI driver for SNI RM 53c710 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c27d85f3f3c5c663d6b6295730e8a7c0c3f9a296 (commit)] * Driver for the Silicon Motion SM501 multifunction device framebuffer subsystem [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5fc404e47bdf2d34ffc2edc16070cda410838291 (commit)]

Various core changes

Architecture-specific changes

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=32f39b055f3b7af4ee76a93ede5450ab2549328a (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cdc20e51791bd2fd67781e65640a4650f99c63e 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=551a3d87856c67248f9e467a7984865eee4bb0b1 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e47a0f38203656125bb6b81216aa4a4f506e98c 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7163c7c9d266862ad9a0a0203d204113034cb5fb 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97a9b58409403baf7a8b0ccbd3d27993790dcdab 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=983e3f6027374bc8b63f05422d281e0d1f2c37f7 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8a590c496474ca80a8f1c2b228e8b8e6a33fb9d 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b629a1f01b2c975074c51c752915ad50ee4e5fc 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c347b7989e4d9e1c23cb5cfba78c63c031b7dcee 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9868fe0e091f64241a372b45f08097c013e41b2 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca58b8eb93904453025cab7e01dcad957cf9e25b 12], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7480a9feaa970d9c37462f21bc27ebab2c56b0b 13], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e107931956f8327637508b91a9ddd4ba35be289d 14], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe4a0cf1c2e79c3c256992c4f731734ecacb45c3 15)]

* [MIPS] Add MTD device support for Cobalt [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c316eb1eee2c803c33b1f826fe744c922d2e354f (commit)] This patch has added MTD device support for Cobalt. Moreover, removes old type FlashROM support.

Add basic support for the ARM11 profiling hardware. This is shared between the ARM11 UP and ARM11 SMP oprofile support code.

(commit)]

This is a set of changes to add TURBOchannel support to the defxx driver. As at this point the EISA support in the driver has become the only not having been converted to the driver model, I took the opportunity to convert it as well. Plus support for MMIO in addition to PIO operation as TURBOchannel requires it anyway.

This is the platform-specific part of TURBOchannel bus support for the DECstation. It implements determining whether the bus is actually there, getting bus parameters, IRQ assignments for devices and protected accesses to possibly unoccupied slots that may trigger bus error exceptions.

Filesystems

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad06e4bd62351bc569cca0f25d68c58dbd298146 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95756482c9bfa375418c5a32455494a3042f65cd 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2442222283918c2d1c20ae651d95fe168757938b 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=27459f0940e16c68e080f5fc7e85aa9eb3f74528 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73df0dbaff8d0853387e140f52b6250c486b18a1 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ba951053f07187f6e77be664a4b6f8bf0ba7ae4 9)]

Networking

This introduces match for Mobility Header (MH) described by Mobile IPv6 specification (RFC3775). User can specify the MH type or its range to be matched.

* [NET]: user of the jiffies rounding code: Networking [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5a6e01c093ca60c0cab15c47c8e7e199fbbc9e6 (commit)]

* [PFKEYV2]: CONFIG_NET_KEY_MIGRATE option [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6ed0ec0eea644207fa146cb541b99f96a8942f0 (commit)] Add CONFIG_NET_KEY_MIGRATE option which makes it possible for user application to send or receive MIGRATE message to/from PF_KEY socket. * [PFKEYV2]: Extension for dynamic update of endpoint address(es) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08de61beab8a21c8e0b3906a97defda5f1f66ece (commit)] Extend PF_KEYv2 framework so that user application can take advantage of MIGRATE feature via PF_KEYv2 interface. User application can either send or receive an MIGRATE message to/from PF_KEY socket. Detail information can be found in the internet-draft <draft-sugimoto-mip6-pfkey-migrate>.

Various subsystems

Software suspend

Crypto

[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d64beac050914de6fe6565741b39905ecd5994b7 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02ab5a7056bd8441ba6ae8ba8662d4296c202ecb 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04ac7db3f23d98abe5d3c91d21b0e45fc09e74ea 3)]

Drivers

Network drivers

* spidernet: autoneg support for Celleb [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abdb66b566fce5641c90100e0a113a94bab43fda (commit)] * skge: WOL support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a504e64ab42bcc27074ea37405d06833ed6e0820 (commit)] Add WOL support for Yukon chipsets in skge device. * drivers/isdn/gigaset: new M101 driver (v2) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2869b23e4b95cbafffcd2fe110d77aff8c218405 (commit)] This patch adds the line discipline based driver for the Gigaset M101 wireless RS232 adapter. It also improves the documentation a bit. * zd1211rw: Add ID for ZyXEL ZyAIR G-220 v2 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e9b2467de69733c9ac455e261aef302d288fb17 (commit)] * forcedeth: statistics supported [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=57fff6986b6daae13947c565786757c05303f0f6 (commit)] This patch introduces hw statistics for older devices that supported it. It breaks up the counters supported into separate versions. * remove the broken OAKNET driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83d98b401c053d760e38571595d8f4fa76ee271b (commit)] The OAKNET driver: - has been marked as BROKEN for more than two years and - is still marked as BROKEN. Drivers that had been marked as BROKEN for such a long time seem to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive this driver, the code is still present in the older kernel releases. * driver for Silan SC92031 netdev [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf345707299b34de90fbae062eff51e76561eb40 (commit)] * Add support for the latest 1G/10G Chelsio adapter, T3. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d22de3e6cc4a09c369b504cd8bcde3385a974cd (commit)] * natsemi: Support Aculab E1/T1 PMXc cPCI carrier cards [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6aab44475a1355365f0a24abe6f8eb32185a701e (commit)] Aculab E1/T1 PMXc cPCI carrier card cards present a natsemi on the cPCI bus with an oversized EEPROM using a direct MII<->MII connection with no PHY. This patch adds a new device table entry supporting these cards. * phylib: Add support for Marvell 88e1111S and 88e1145 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76884679c644a34ead40d74f4df6075a61d51990 (commit)] * remove the broken SKMC driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95f48a71a254fa81ae4be1307ce3bb8361521a7d (commit)]

SATA/IDE/SCSI

* ACPI support for IDE devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3a59b4d9378522479609042836ae930305a67fe (commit)] * drivers/ide: PATA driver for Celleb [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bde18a2e1eaafca4bea32710cb1ee3ebc8c4f64f (commit)]

Graphics

* output: Add output class document [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b03637b8863159a4518cb0a9ab90577460fe3417 (commit)] * remove broken video drivers [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e019630e78e3482c2386d18cbdc7a4c54f7a809c (commit)] Remove some video drivers that: - had already been marked as BROKEN in 2.6.0 three years ago and - are still marked as BROKEN. These are the following drivers: - FB_CYBER - FB_VIRGE - FB_RETINAZ3 - FB_SUN3 Drivers that had been marked as BROKEN for such a long time seem to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive any of these drivers, the code is still present in the older kernel releases. * output: Add display output class support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2dec3ba8d872aa3ffbcdb8f6f8a2c0bcd44e9910 (commit)] * remove the broken FB_S3TRIO driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52e7c922f37907ab3cf3445b916fbbc53cbd6c75 (commit)]

* tgafb: support the DirectColor visual [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be6011831c74d5db251b5f9746d259a5f59e71cf (commit)]

ALSA

Enable capture from line-in and CD on the Revolution 5.1 card. This patch adds support for switching between the 5 input channels of the AK5365 ADC and modifies the Revolution 5.1 driver to make use of this facility. Previously the capture channel was fixed to channel 0 (microphone on the Revolution 5.1 card).

Input

* HID: hid debug from hid-debug.h to hid layer [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c080d89ad91e98fec0e8fc5f448a1ad899bd85c7 (commit)] * hid: allow force feedback for multi-input devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4146067fd7889bc6fab6cdfd8b2795d745a2156 (commit)]

* [Bluetooth] Add support for using the HID subsystem [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1aaadd4d8162a2c33e41dd5a72234ea4d3b014f (commit)]

USB

* hid: quirk for multi-input devices with unneeded output reports [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5556feae1c4e1cf2021b5fb2ef99973125de2250 (commit)] * EHCI: force high-speed devices to run at full speed [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=57e06c11372eccf5acebdd4664eb025fee76c561 (commit)] * USB Input: Added kernel module to support all GTCO CalComp USB InterWrite School products [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a19ceb56cbd1e1beff3e9cf6042e1f31f6487aa6 (commit)] * USB HID: handle multi-interface devices for Apple macbook pro properly [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a417a21e10831bca695b4ba9c74f4ddf5a95ac06 (commit)] * usbcore: remove unused bandwith-related code [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=896fbd7199035958013d106329843d8ae9618753 (commit)] * rndis_host learns ActiveSync basics [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad55d71a3d4401f44b4ddee1412283c99eedd05c (commit)] * ASIX: Add IO-DATA ETG-US2 Support. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b29cf31d7ee7da285265577b0df5e62c6b5a6119 (commit)]

V4L

Ultraview DVB-T Lite is a clone of DViCO FusionHDTV DVB-T Lite

Cpufreq

ACPI

* ACPICA: Add support for DMAR table [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2502fffb1958da66fa50a475081cb6827acdd9f3 (commit)]

* ACPI: Adds backlight sysfs support for acpi video driver. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f3d000a133f68250635f14f6caf24d32d358090 (commit)]

* ACPICA: Removed all 16-bit support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59fa85057e12ff135df54266722b2064c418fc05 (commit)]

* ACPI: remove motherboard driver (redundant with PNP system driver) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5eca338fb510af78eee5372ff6a3525768ab913f (commit)]

* ACPI: hotkey: remove driver, per feature-removal-schedule.txt [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ee6edbcde4d3b14e4e03d4b331df1099a34aa8d (commit)]

* ACPICA: minimal patch to integrate new tables into Linux [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad71860a17ba33eb0e673e9e2cf5ba0d8e3e3fdd (commit)]

* ACPICA: Implement simplified Table Manager [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3d2e7865c816258c699ff965768e46b50d536d3 (commit)]

* ACPI: convert to sysfs framework [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f883d9db008deb20d4969c26475100cec2b7f6f8 (commit)]

* sony-laptop: create from sony_acpi [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91fbc1d311c1b8b71203b96f1a0629da7360eb4c (commit)]

* asus-laptop: add base driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=85091b718969be7b8e6f795af7e264b8afcd7a6d (commit)]

* sony-laptop: Remove /proc/acpi/sony interface and implement platform_device. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed3aa4b729478978f117269b5266a2d18948912c (commit)]

* sony_acpi: Add backlight support to the sony_acpi v2 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=243e8b191df4e9c11e62ea11fa298351997e98c3 (commit)]

* sony_acpi: Add backlight support to the sony_acpi [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50f62afb114ffcf052cf07d4b49b2d148b749955 (commit)]

* asus-laptop: add backlight support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7091e74fe176da97917ca60524e2b3554305f0 (commit)]

* asus-laptop: add display switching support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78127b4a90469d6973de2837d483f80f3709e6e0 (commit)]

* sony_acpi: SNC device support for Sony Vaios [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f09c432bed80cecfba634933ddc06735e64da00 (commit)]

* asus-laptop: add light sensor support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b857353237c144113b9bbbf9e0236b3f0e7d315 (commit)]

* asus-laptop: add led support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be18cdabb8ed40ff4b8a240e0d6f4e6c30ff866d (commit)]

* asus-laptop: add ledd support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=722ad97153015aaf5becba3084565e98e71a2aed (commit)]

* asus-laptop: add bluetooth and wlan support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4564de172dcdce641c0d6c689e79e95b5f6bee2c (commit)]

* hwmon/it87: Add PWM base frequency control [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8d0c19a93cea3a26a90f2462295e1e01a4cd250 (commit)] * hwmon: New driver for the Analog Devices ADM1029 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cae2caae78258d623c7b687029a19fa6b33c76f4 (commit)] * hwmon/w83627ehf: Add support for the W83627DHG chip [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=657c93b10fac97467cdf1d0424a209ce2e81991a (commit)]

I2C

* Add suspend/resume/shutdown support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f37dd80ac2a67e4e4e921f99d34a1ceeb2488abb (commit)] * i2c-piix4: Add support for the ATI SB600 SMBus controller [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e6697fcc194db8b45559a9863947c6cbfeea363 (commit)] * i2c-parport: Add support for One For All remote JP1 interface [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=55249cf750e4d9be19c7f8afd502c9ca42de8858 (commit)] * i2c-viapro: Add support for the VIA CX700 south bridge [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab6a6ed271c757b429ddc68f5b93a41f9592ab8b (commit)] * PA Semi SMBus driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=beb58aa39e6e5a52875defe12c7697b0bfa95d4c (commit)]

Various

* [APM] ARM: Convert to use shared APM emulation. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75e7153abd220f1c4a731a9613fb705485b56aa8 (commit)]

* [APM] Add shared version of APM emulation [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7726942fb15edd46e4fe8ab37f9a99795191e585 (commit)] * [APM] MIPS: Convert to use shared APM emulation. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2116245ee121af820225834e9695005ab07d1e84 (commit)] * [APM] SH: Convert to use shared APM emulation. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a9b0db19262dbb09f3a34195e68cafd5dc3fa10 (commit)]

* SPI: Freescale iMX SPI controller driver (BIS+) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69c202afa8ad6d6c1c673d8f9d47b43a0a3604e5 (commit)] * SPI eeprom driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b587b13a4f670ebae79ae6259cf44328455e4e69 (commit)] * SPI controller driver for OMAP Microwire [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fdb3c18d639311287dc4675abe743847a1aa62a8 (commit)]

* S3C2410 GPIO wrappers [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=390414badebe45a2f556a04ece1fd99191aa6397 (commit)] * OMAP GPIO wrappers [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c729f1ecd23b86a2d6b211d646f57f9da8dfeb1 (commit)] * GPIO core [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c20386c8d0719b42503efe65abe47ad3fb3d711 (commit)]

* RDMA/cma: Add multicast communication support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8f6a362bf3eb28ade6027b49bb160a336dd51c0 (commit)] * RDMA/cxgb3: Add driver for Chelsio T3 1GbE and 10GbE adapters [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b038ced7b3705bf0ac9b30e118af0f56ab48b847 (commit)]

* IPoIB: Connected mode experimental support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=839fcaba355abaffb7b44f0f4504093acb0b11cf (commit)]

* RTC framework driver for CMOS RTCs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7be2c7c96aff2871240d61fef508c41176c688b5 (commit)] * PXA GPIO wrappers [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a898f1c366c858f8dbcb667c1cfcc282b727795 (commit)] Arch-neutral GPIO calls for PXA.

* SA1100 GPIO wrappers [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=920fe7a8d0aba9782d1f924a02ece146acbf6686 (commit)] Arch-neutral GPIO calls for SA-1100. * AT91 GPIO wrappers [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a31c4eea2127ee52b5c7c1befada4664963ad030 (commit)]

* RTC gets sysfs wakealarm attribute [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3925a5ce44330767f7f0de5c58c6a797009f0f75 (commit)]

* mmc: Add support for SDHC cards [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fba68bd2dab1ac99af3c5a963ec9581cfa9f1725 (commit)]

* tifm_core: add suspend/resume infrastructure for tifm devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41d78f7405659b55e082c5f0b3d1b625e75e1294 (commit)] * SPI: atmel_spi driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=754ce4f29937ba11f16afa41a648a30b0fc1f075 (commit)] Driver for the Atmel on-chip SPI master controller. Tested primarily on AVR32/AT32AP7000/ATSTK1000 using mtd_dataflash and the jffs2 filesystem. Should also work fine on various AT91 ARM-based chips like AT91SAM926x and AT91RM9200. Hardware documentation can be found in the AT32AP7000 data sheet, or its AT91 siblings, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682

* [MTD] [NAND] eXcite nand flash driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67a9c7af1f5eb5dbf1399b364fcf7e64dc28236c (commit)] This is a nand flash driver for the eXcite series of intelligent cameras manufactured by Basler Vision Technologies AG. * EDAC: Add Fully-Buffered DIMM APIs to core [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9794f33ddedd878dd92fcf8b4834391840366919 (commit)] Eric Wollesen ported the Bluesmoke Memory Controller driver for the Intel 5000X/V/P (Blackford/Greencreek) chipset to the in kernel EDAC model. This patch incorporates those required changes to the edac_mc.c and edac_mc.h core files by added new Fully Buffered DIMM interface to the EDAC Core module.

* [MTD] [NAND] S3C2410: Hardware ECC correction code [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2593247d747954cd12c32da8c5a3aecb9cd19a3 (commit)] Add support for correcting errors detected by the hardware ECC.

* [MTD] OneNAND: Add support for auto-placement of out-of-band data [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5e7c7b447270d42c3eb4d2259f74019aca9d007 (commit)] Enable the use of oob operation mode MTD_OOB_AUTO with OneNAND. Note that MTD_OOB_RAW is still not supported. * S2IO: Added a loadable parameter to enable or disable vlan stripping in frame. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926930b202d56c3dfb6aea0a0c6bfba2b87a8c03 (commit)] - Added code to not to strip vlan tag when driver is in promiscuous mode - Added module loadable parameter 'vlan_tag_strip" through which user can enable or disable vlan stripping irrespective of mode ( promiscuous or non-promiscuous ). * tifm_sd: add suspend and resume functionality [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dba4accab17bd2e2e09088f746257a8c14af1cc2 (commit)] * leds: Add IPAQ h1940 LEDs support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd4009af4883451f55f57155e364f03f700c9ce8 (commit)] This patch adds the support for the IPAQ h1940 leds. In order to create the amber led (used for the battery charging), the red and green leds are set to the same default trigger. Due to hardware limitations, the blue led can only be set in blinking mode.

* backlight: Add Frontpath ProGear HX1050+ driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a208463b20e893e8e2074b2d41b8dc09568ddee (commit)] Add control of LCD backlight for Frontpath ProGear HX1050+. Patch is based on http://downloads.sf.net/progear/progear-lcd-0.2.tar.gz driver by M Schacht. * drivers: add LCD support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70e840499aae90be1de542894062ad2899d23642 (commit)]

* mfd: SM501 core driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6d6454fdb66f3829af8b92ab06825b6060fdf7e (commit)] This driver provides the core functionality of the SM501, which is a multi-function chip including two framebuffers, video acceleration, USB, and many other peripheral blocks. The driver exports a number of entries for the peripheral drivers to use.

KernelNewbies: Linux_2_6_21 (last edited 2007-03-24 17:36:59 by diegocalleja)