Selected commits to mm-sources from 17/11/2005 to 19/12/2005, resulting in 2.6.15-rc5-mm2, covering 897 new and 515 removed patches.

Editors notes: Andrew Morton will be on vacation over christmas, and so will I. I wish all readers a merry christmas and a happy new year, this is the last issue of mm-traffic in 2005.

Abandon gcc-2.95.x Andrew Morton 3 files changed, 1 insertion(+), 37 deletions(-)
There's one scsi driver which doesn't compile due to weird __VA_ARGS__ tricks and the rather useful scsi/sd.c is currently getting an ICE. None of the new SAS code compiles, due to extensive use of anonymous unions. The V4L guys are very good at exploiting the gcc-2.95.x macro expansion bug (_why_ does each driver need to implement its own debug macros?) and various people keep on sneaking in anonymous unions.

Plus anonymous unions are rather useful.

acpi: fix asus_acpi on Samsung P30/P35 Hanno Bock 1 files changed, 28 insertions(+), 3 deletions(-)
For a while now asus_acpi is broken on samsung laptops (causes oopses on module loading and kernel panic if compiled into the kernel).

The attached Patch (by Christian Aichinger, so credits to him) fixes this.

Add basic PM support for Nvidia and ATI AGP bridges Matthew Garrett 2 files changed, 60 insertions(+)
I retrieved these from the swsusp2 patchset, but they seem to be independently useful.  As a result, I'm not sure who the original author is - however, they seem to be pretty obvious.

ads7846 driver (SPI framework) David Brownell 4 files changed, 652 insertions(+)
This is a driver for the ADS7846 touchscreen sensor, derived from the corgi_ts and omap_ts drivers. Key differences from those two:

- Uses the new SPI framework (minimalist version)
-<linux/spi/ads7846.h> abstracts board-specific touchscreen info
- Sysfs attributes for the temperature and voltage sensors
- Uses fewer ARM-specific IRQ primitives

So far only basic testing has been done. There's a fair amount of hardware that uses this sensor, and which also runs Linux, which should eventually be able to use this driver.

One portability note may be of special interest. It turns out that not all SPI controllers are happy issuing requests that do things like "write 8 bitcommand, read 12 bit response". Most of them seem happy to handle various word sizes, so the issue isn't "12 bit response" but rather "different rx and tx write sizes", despite that being a common MicroWire convention. So this version of the driver no longer reads 12 bit native-endian words; it reads 16-bit big-endian responses, then byteswaps them and shifts the results to discard the noise.

alsa: Improved PnP suspend support Pierre Ossman 3 files changed, 95 insertions(+), 24 deletions(-)
Also use the PnP functions to start/stop the devices during the suspend so that drivers will not have to duplicate this code.

Base support for AMD Geode GX/LX processors Jordan Crouse 6 files changed, 68 insertions(+), 6 deletions(-)
Provide basic support for the AMD Geode GX and LX processors.

DVB: (2445) Added demodulator driver for Nova-S-Plus and Nova-SE2 DVB-S support Steve Toth 4 files changed, 886 insertions(+)
DVB: (2451) Add support for KWorld DVB-S 100, based on the same chips as Hauppauge Vadim Catana 2 files changed, 86 insertions(+), 21 deletions(-)
DVB: (2444) Implement frontend-specific tuning and the ability to disable zigzag Andrew de Quincey 4 files changed, 229 insertions(+), 153 deletions(-)
... ... ...
Updates to the DVB subsystem, mainly fixes. About 70K in 14 Patches.

fbdev: fixed and updated CyblaFB Knut Petersen 6 files changed, 328 insertions(+), 169 deletions(-)
With kernel 2.6.15-rc5-git3 all patches needed by this new version of cyblafb reached the main line kernel. So here it is.

Main advantages:
- vxres > xres support
- ywrap support
- much faster for almost all modes (e.g. 1280x1024-16bpp draws more than 41 full screens of text instead of about 25 full screens of text per second on authors Epia 5000)
- module init/exit code fixed
- bugs triggered by console rotation fixed
- lots of minor improvements
- startup modes suitable for high performance scrolling in all directions

Fix USB suspend/resume crasher Benjamin Herrenschmidt 9 files changed, 127 insertions(+), 31 deletions(-)
This is my latest patch against current linus -git, it closes the IRQ race and makes various other OHCI & EHCI code path safer vs. suspend/resume. I've been able to (finally !) successfully suspend and resume various Mac models, with or without USB mouse plugged, or plugging while asleep, or unplugging while asleep etc... all without a crash. There are still some races here or there in the USB code, but at least the main cause of crash is now fixes by this patch (access to a controller that has been suspended, due to either shared interrupts or other code path).

Without this patch, you cannot reliably sleep/wakeup any recent Mac, and I suspect PCs have some more sneaky issues too (they don't frankly crash with machine checks because x86 tend to silently swallow PCI errors but that won't last afaik, at least PCI Express will blow up in those situations, but the USB code may still misbehave).

hrtimer: hrtimer core code Thomas Gleixner 6 files changed, 828 insertions(+), 1 deletion(-)
hrtimer: convert posix timers completely Thomas Gleixner 4 files changed, 143 insertions(+), 617 deletions(-)
hrtimer: switch clock_nanosleep to hrtimer nanosleep API Thomas Gleixner 3 files changed, 45 insertions(+), 136 deletions(-)
hrtimer: switch itimers to hrtimer Thomas Gleixner 7 files changed, 66 insertions(+), 69 deletions(-)
High Resolution Timer subsystem core. It is initialized at bootup and expired by the timer interrupt, but is otherwise not utilized by any other subsystem yet.

i386: Support for the Geode CS5535 companion chip Ben Gardner 3 files changed, 158 insertions(+)
i386: GPIO driver for AMD CS5535/CS5536 Ben Gardner 4 files changed, 260 insertions(+)
i386: CS5535 chip support - GPIO Ben Gardner 3 files changed, 219 insertions(+)
i386-support-for-the-geode-cs5535-companion-chip.patch: Add initial support for the AMD CS5535 Geode companion chip. Specifically, it works with the DIVIL (Diverse Integration Logic) block. Access to the DIVIL is done via MSRs.

This patch does the following:
- verifies that the DIVIL is present
- retrieves and reserves the SMB (Access.Bus) IO range
- retrieves and reserves the GPIO IO range
- enables SMB
- enables UART1 & UART2
- configures the UARTS as NS16550A

386-gpio-driver-for-amd-cs5535-cs5536.patch: A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins.

i386-cs5535-chip-support-gpio.patch: Provides a simple GPIO char driver for the AMD CS5535, modeled after the scx200_gpio driver.

m32r: M3A-2170(Mappi-III) IDE support Hirokazu Takata 5 files changed, 59 insertions(+), 33 deletions(-)
m32r: Support M32104UT target platform Hirokazu Takata 18 files changed, 1407 insertions(+), 29 deletions(-)
m32r-m3a-2170mappi-iii-ide-support.patch: This patch is for supporting IDE interface for M3A-2170(Mappi-III) board.

m32r-support-m32104ut-target-platform.patch: This patch is for supporting a new target platform, Renesas M32104UT evaluation board.

Reboot through the BIOS on newer HP laptops Matthew Garrett 1 files changed, 8 insertions(+)
Newer HP laptops (nc4200, nc6xxx, nc8xxx) hang on reboot with a standard configuration. Passing reboot=b makes them work. This patch adds a DMI quirk that defaults them to this mode, and doesn't appear to have any adverse effects on older HPs.

s390: add support for cex2a crypto cards Eric Rossman 4 files changed, 383 insertions(+), 51 deletions(-)
s390: aes support Jan Glauber 6 files changed, 308 insertions(+), 14 deletions(-)
s390: sha256 support Jan Glauber 6 files changed, 171 insertions(+), 1 deletion(-)
Add support for CEX2A crypto cards and hardware-accelerated crypto algorithms (AES, SHA1) on S390.

Simple SPI framework David Brownell 8 files changed, 1633 insertions(+)
spi: add spi_bitbang driver David Brownell 4 files changed, 524 insertions(+)
spi: add spi_driver to SPI framework David Brownell 3 files changed, 170 insertions(+), 75 deletions(-)
spi: ads7836 uses spi_driver David Brownell 2 files changed, 43 insertions(+), 43 deletions(-)
This is the core of a small SPI framework, implementing the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top). Actually two drivers (ads7836 and spi_bitbang) are using it.

swsusp: limit image size Rafael J. Wysocki 2 files changed, 11 insertions(+), 14 deletions(-)
swsusp: make image size limit tunable Rafael J. Wysocki 5 files changed, 47 insertions(+), 6 deletions(-)
Limit the size of the suspend image to approx. 500 MB, which should improve the overall performance of swsusp on systems with more than 1 GB of RAM. Make the suspend image size limit tunable via /sys/power/image_size.

V4L: (0979) Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products Steven Toth 7 files changed, 86 insertions(+)
V4L: (0990) Enable IR support for the Nova-S-Plus Steven Toth 3 files changed, 11 insertions(+), 3 deletions(-)
V4L: (1007) Add support for KWorld DVB-S 100 Vadim Catana 4 files changed, 53 insertions(+), 2 deletions(-)
V4L: (1019) Added basic support (tv + radio) for TerraTec Cinergy 250 PCI Joerg Schummer 3 files changed, 36 insertions(+)
V4L: (1023) Added Hauppauge ImpactVCB board Steven Toth 3 files changed, 36 insertions(+)
V4L/DVB: (3089) Adding support for the Hauppauge HVR1100 and HVR1100-LP products Steven Toth 8 files changed, 114 insertions(+), 12 deletions(-)
Steven Toth from Hauppauge does a great job adding new drivers, thanks for doing a better job than ATi, NVIDIA and the other idiots. The V4L project submitted a total number of 54 patches, mostly containing fixes and improvements.