commit 39403865d2e4590802553370a56c9ab93131e4ee Author: Linus Torvalds Date: Sat May 12 18:45:56 2007 -0700 Linux 2.6.22-rc1 .. close the merge window commit 78db2ad6f4df9145bfd6aab1c0f1c56d615288ec Author: Daniel Walker Date: Sat May 12 16:28:35 2007 -0700 include/linux: trivial repair whitespace damage Adding tabs where spaces currently are. Signed-off-by: Daniel Walker Signed-off-by: Linus Torvalds commit 07002e995638b83a6987180f43722a0eb39d4932 Author: Al Viro Date: Sat May 12 16:23:15 2007 -0400 fix the dynamic allocation and probe in loop.c Signed-off-by: Al Viro Acked-by: Ken Chen Signed-off-by: Linus Torvalds commit f1d1a842d85acf34dd185027cb2c9b4fd13130ef Author: Christoph Lameter Date: Sat May 12 11:15:24 2007 -0700 SLUB: i386 support SLUB cannot run on i386 at this point because i386 uses the page->private and page->index field of slab pages for the pgd cache. Make SLUB run on i386 by replacing the pgd slab cache with a quicklist. Limit the changes as much as possible. Leave the improvised linked list in place etc etc. This has been working here for a couple of weeks now. Acked-by: William Lee Irwin III Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8df767dd759c1390f604814ee5b2d1489f9a59f7 Author: Heiko Carstens Date: Sat May 12 10:37:02 2007 -0700 compat signalfd and timerfd are cond syscalls Add missing cond_syscall statements for compat_sys_signalfd and compat_sys_timerfd. Cc: Davide Libenzi Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10fb62e5b72c2485c3e0efd8b103254c0d087676 Author: Christian Krafft Date: Sat May 12 10:37:01 2007 -0700 IPMI: Add PPC openfirmware unregister When trying to load the ipmi_si module on a powerpc with no BMC (baseboard management controller) the driver failes to load correctly, but doesn't unregister itself from of_platform. So, on a second modprobe the kernel crashes. This patch adds the missing unregister call. Signed-off-by: Christian Krafft Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fe1425a60fdf6c51a41b95542416d7124587c34 Author: Corey Minyard Date: Sat May 12 10:36:58 2007 -0700 IPMI: fix SI address space settings Fix a rather obvious error that Patrick found in the setup routines. Need to set the proper address space in the ACPI case. Signed-off-by: Corey Minyard Cc: Patrick Schoeller Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6d1c9a44744224d83125a5a89c1a6cc4db27361 Author: Stephen Rothwell Date: Sat May 12 10:36:57 2007 -0700 MAINTAINERS: remove invalid list address for TPM This address bounces with "550 Unknown user". Signed-off-by: Stephen Rothwell Cc: Kylene Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddf526e992c1ea10e31478f4753fd717373f9e8b Author: Stephen Rothwell Date: Sat May 12 10:36:56 2007 -0700 Missing include file in tpm_atmel.h On PPC64, we need to include asm/prom.h for function definitions. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c34d4862e18ef07c1276d233507f540fb5a532 Author: Paul Fulghum Date: Sat May 12 10:36:55 2007 -0700 tty: flush flip buffer on ldisc input queue flush Flush the tty flip buffer when the line discipline input queue is flushed, including the user call tcflush(TCIFLUSH/TCIOFLUSH). This prevents unexpected stale data after a user application calls tcflush(). Signed-off-by: Alan Cox Cc: Antonino Ingargiola Signed-off-by: Paul Fulghum Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3bf460f3eb86cdbc76725a0dac1f191e796676c Author: Nate Diller Date: Sat May 12 10:36:54 2007 -0700 ntfs: use zero_user_page Use zero_user_page() instead of open-coding it. [akpm@linux-foundation.org: kmap-type fixes] Signed-off-by: Nate Diller Acked-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d690dcac92a84f98fd774862628ff871b713660 Author: Akinobu Mita Date: Sat May 12 10:36:53 2007 -0700 fault injection: disable stacktrace filter for x86-64 Disable stacktrace filter support for x86-64 for now. Will be enable when we can get the dwarf2 unwinder back. Signed-off-by: Akinobu Mita Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae7d5c8622a518601a21f14de5c70de5f1c967bf Author: Heiko Carstens Date: Sat May 12 17:27:41 2007 +0200 x86_64: use signalfd and timerfd compat syscalls Looks like these two are wired up in a wrong way. Cc: Davide Libenzi Cc: Andi Kleen Signed-off-by: Heiko Carstens Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0a203a4ce1787acb49db6df8f5c064e9243db130 Author: Andi Kleen Date: Sat May 12 17:27:40 2007 +0200 x86_64: Add asm/mtrr.h include for some builds The earlier change to call the bp mtrr init from bugs.c broke on some configurations due to missing includes. Noticed by "Avuton Olrich" Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7248d497499a58a6f3bc3a05fdccb9a9b6306509 Author: Antonino A. Daplas Date: Sat May 12 22:03:48 2007 +0800 pm3fb: Fix compile error if module pm3fb_setup() should only compiled if pm3fb is built statically in the kernel. Signed-off-by: Antonino Daplas Signed-off-by: Linus Torvalds commit 641e79129a56a4c50be1aed0fa713f440b46a440 Author: Russell King Date: Sat May 12 15:25:50 2007 +0100 [ARM] Use new get_irqnr_preamble Use the new get_irqnr_preamble macro to move the address of the IRQ controller outside the IRQ handling loop. Signed-off-by: Russell King commit 3b938be69e46b64a516b6e3ed6d93c40c091f22c Author: Russell King Date: Sat May 12 11:25:44 2007 +0100 [ARM] Ensure machine class menu is sorted alphabetically Signed-off-by: Russell King commit 8354c5b72636e5321e9b16dae1da1445506f6af6 Author: David S. Miller Date: Fri May 11 22:06:51 2007 -0700 [SPARC]: Wire up signalfd/timerfd/eventfd syscalls. Signed-off-by: David S. Miller commit d037e0532e7dbb5a7936cbc6747206d2352f2974 Author: David S. Miller Date: Fri May 11 21:18:50 2007 -0700 [SPARC64]: Add support for bq4802 TOD chip, as found on ultra45. Signed-off-by: David S. Miller commit 95d71e663e79b3e8c64bd7b7321389394b16276e Author: David S. Miller Date: Fri May 11 21:02:09 2007 -0700 [SPARC64]: Correct FIRE_IOMMU_FLUSHINV register offset. Signed-off-by: David S. Miller commit e1a39fbb029fce40150d9163d39a68e2b76cd0b5 Author: David S. Miller Date: Fri May 11 16:34:35 2007 -0700 [SPARC64]: envctrl.c needs asm/io.h Signed-off-by: David S. Miller commit d77311f942731064f4fb904de2ebbb238ee1d03e Author: David S. Miller Date: Fri May 11 14:32:07 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 7cac4ce59b3bc2b5c91b7e0cf4e6943e223076ec Author: David S. Miller Date: Fri May 11 14:30:57 2007 -0700 [TTY]: Export proc_clear_tty() to modulea. A use was added to the solaris syscall module which can be built modular. Signed-off-by: David S. Miller commit f16537bac7742501c8eb7200341ae1eb9b1e43c3 Author: David S. Miller Date: Fri May 11 14:29:43 2007 -0700 [SPARC64]: pci_resource_adjust() cannot be __init. Noticed by Meelis Roos. Signed-off-by: David S. Miller commit e5dd42e4fb242ae07a09928616570348ffe8aeee Author: Simon Arlott Date: Fri May 11 13:52:08 2007 -0700 [SPARC64]: Spelling fixes. Spelling fixes in arch/sparc64/. Signed-off-by: Simon Arlott Signed-off-by: David S. Miller commit d1a78c32edcabea8c7c6449c967191a47f83a77f Author: Simon Arlott Date: Fri May 11 13:51:23 2007 -0700 [SPARC]: Spelling fixes. Spelling fixes in arch/sparc/. Signed-off-by: Simon Arlott Signed-off-by: David S. Miller commit e9429eacd7996d4c22f69ef57cd0aeacde50ceb7 Author: David S. Miller Date: Thu May 10 17:30:50 2007 -0700 [SPARC64]: Kill LARGE_ALLOCS and update defconfig. Let's use SLUB, since it works now, in order to get it tested a bit. Signed-off-by: David S. Miller commit fd4ba7e2b7ce9a48b8c60d5fcd65feda5746812e Author: Dale Farnsworth Date: Sat May 12 10:58:43 2007 +1000 [POWERPC] Add arch/powerpc support for the Motorola PrPMC2800 This finally adds the PPC_PRPMC2800 Kconfig option, the board setup code (the setup and reset functions) and the defconfig, to support the Motorola PrPMC2800 platform. Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit c368d921daed3c7cfba9752a45b2a8804cd54128 Author: Mark A. Greer Date: Sat May 12 10:58:18 2007 +1000 [POWERPC] Add bootwrapper support for Motorola PrPMC2800 platform The Motorola PrPMC280 and PrPMC2800 processor modules sit on an F101 or PrPMC2800 baseboard, respectively. There are several variants of each type of processor module which can have different amounts of memory, amounts of FLASH, cpu frequencies, and an mv64360 or an mv64362. The bootwrapper code for that platform reads VPD from an I2C EEPROM to determine the processor module variant. From the variant, the amount of memory, etc. is determined and the device tree is updated accordingly. If the variant cannot be determined (e.g., corrupted VPD or a previously unknown variant), the property values already in the device tree are used. Also, the firmware for those platforms does not completely configure the mv64x60 host bridge so that configuration is done here. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 3f456cc18f63bebdf71d788098c72d7ecd83c9b6 Author: Mark A. Greer Date: Sat May 12 10:57:58 2007 +1000 [POWERPC] Add DTS file for the Motorola PrPMC2800 platform Add the device tree source file for the prpmc2800 line of processor PMCs. Several of the property values are updated by the bootwrapper but sane defaults have been chosen in case the bootwrapper can't determine the exact processor board variant. The defaults should allow the kernel to boot despite having non-optimal device tree property values. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 06cce43cf0980d0ed3581458fd23522ca2d24e42 Author: Dale Farnsworth Date: Sat May 12 10:57:35 2007 +1000 [POWERPC] Check cache coherency of kernel vs firmware check_cache_coherency() verifies that the cache coherency setting of the kernel (CONFIG_NOT_COHERENT_CACHE) matches that left by the firmware, as indicated by coherency-off device tree property. Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit e1a3107b06a9619773596cd46a9ce0574419aed4 Author: Dale Farnsworth Date: Sat May 12 10:57:12 2007 +1000 [POWERPC] Add Marvell mv64x60 PCI bridge support This patch adds PCI bridge support for the Marvell mv64x60 chip. We also provide the ability to read/write the mv64x60 hotswap register via sysfs if the hs_reg_valid property is set in the device tree. Signed-off-by: Dale Farnsworth Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 01f0e78e15c52af480c867af5bd406afec80d9cc Author: Dale Farnsworth Date: Sat May 12 10:56:47 2007 +1000 [POWERPC] Create Marvell mv64x60 I2C platform_data This patch creates platform_device entries for the Marvell mv64x60 I2C ports, based on information contained in device tree. This driver (like the other mv64x60 drivers) are unusual in that it works on both the MIPS and PowerPC architectures. Because of that, the drivers do not support the normal PowerPC of_platform_bus_type. They support platform_bus_type instead. Signed-off-by: Dale Farnsworth Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 649c8e0289eeee2ab3d4c6c6e062df24dd602233 Author: Dale Farnsworth Date: Sat May 12 10:56:24 2007 +1000 [POWERPC] Create Marvell mv64x60 ethernet platform_data This patch creates platform_device entries for the Marvell mv64x60 ethernet controller ports, based on information contained in the device tree. This driver (like the other mv64x60 drivers) are unusual in that it works on both the MIPS and PowerPC architectures. Because of that, the drivers do not support the normal PowerPC of_platform_bus_type. They support platform_bus_type instead. Signed-off-by: Dale Farnsworth Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 52d3aff903171af13b56c5a4d6fb828461406c65 Author: Dale Farnsworth Date: Sat May 12 10:55:53 2007 +1000 [POWERPC] Create Marvell mv64x60 MPSC (serial) platform_data This patch creates platform_device entries for the Marvell mv64x60 MPSC (multi-protocol serial controller) ports, based on information contained in the device tree. This driver (like the other mv64x60 drivers) are unusual in that it works on both the MIPS and PowerPC architectures. Because of that, the drivers do not support the normal PowerPC of_platform_bus_type. They support platform_bus_type instead. Signed-off-by: Dale Farnsworth Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e44b8941908ec9ccf03b52713c9e7d3471bada8c Author: Dale Farnsworth Date: Sat May 12 10:55:24 2007 +1000 [POWERPC] Add interrupt support for Marvell mv64x60 chips There are 3 interrupt groups each with its own status/mask registers. We use a separate struct irq_chip for each interrupt group and handle interrupts in two stages or levels: level 1 selects the appropriate struct irq_chip, and level 2 selects individual interrupts within that irq_chip. Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit ae4b3fbc7a91ea4e5685edb0310bb185a12e5943 Author: Mark A. Greer Date: Sat May 12 10:54:53 2007 +1000 [POWERPC] Add bootwrapper support for Marvell/mv64x60 I2C Some platforms support a variety processor modules with no method of determining which exact processor module is being used except by examining Vital Product Data (VPD). The modules may have different amounts of memory, clock frequencies, etc. so reading the VPD becomes necessary to correctly set properties in the device tree before its passed to the kernel. Often the VPD is stored in I2C EEPROMs so an I2C driver becomes necessary. This I2C driver is for the I2C controller that's embedded on the Marvel mv64x60 line of host bridges. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit e12deb840ceed7051ab4799ae71b675a83c58c7c Author: Mark A. Greer Date: Sat May 12 10:54:31 2007 +1000 [POWERPC] Add bootwrapper support for Marvell MPSC The bootwrapper requires a serial driver to allow cmdline editing and information reporting on the console. This driver is required by platforms that boot a zImage and use the MPSC for the console. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 0f81b11d2a14adaa9b2c944f104e13d72fedc769 Author: Mark A. Greer Date: Sat May 12 10:54:05 2007 +1000 [POWERPC] Add bootwrapper support for Marvell/mv64x60 hostbridge The mv64x60 host bridge has many windows between its various components (cpu, system memory, ethernet ctlr, MPSC, DMA ctlr, PCI MEM, PCI I/O). Unfortunately, the firmware on some of mv64x60-based platforms do not properly or completely configure those windows (e.g., MPSC->system memory windows not configured or CPU->PCI MEM space not configured). So, the missing configuration needs to be done in either the bootwrapper or in the kernel. To keep the kernel as clean as possible, it is done in the bootwrapper. Note that I/O controller configuration is NOT being done, its only the windows to allow the I/O controllers and other components to access memory, etc. that is being done--drivers assume that their controllers can already access system memory). Table of routines and the windows they configure: mv64x60_config_ctlr_windows() ENET->System Memory MPSC->System Memory IDMA->System Memory mv64x60_config_pci_windows() PCI MEM->System Memory PCI I/O->Bridge's Registers mv64x60_config_cpu2pci_window() CPU->PCI MEM CPU->PCI I/O Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 916066d5913c37a6b3907eb6695cc9ecaaa4d8ca Author: Mark A. Greer Date: Sat May 12 10:53:36 2007 +1000 [POWERPC] Add Makefile rules to wrap dts file in zImage Add 'zImage.dts' and 'zImage.dts_initrd' build rules that automatically compile and wrap a dts file from arch/powerpc/boot/dts into the zImage file. The resulting zImage will be arch/powerpc/boot/zImage.dts. and arch/powerpc/boot/zImage.dts_initrd., respectively. Having separate rules allows the user to choose whether to include a device tree--and which device tree--at build time. This is useful when one Makefile target builds a zImage that runs on several platforms except for differing device trees. By just setting CONFIG_DEVICE_TREE and running "make zImage.dts" the exact zImage you want is built without Makefile bloat or manually running the wrapper script. The dts file is expected to be arch/powerpc/boot/dts/$(CONFIG_DEVICE_TREE) Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a8de5ce9895367191df9b30804a0c67cfcc9f27a Author: Simon Arlott Date: Sat May 12 05:42:54 2007 +1000 [POWERPC] Spelling fixes: arch/ppc/ Spelling fixes in arch/ppc/. Signed-off-by: Simon Arlott Signed-off-by: Paul Mackerras commit dab4d7984ee61c8eb25569b12e7a996f5aaef2ba Author: Scott Wood Date: Sat May 12 03:52:03 2007 +1000 [POWERPC] U-boot passes the initrd as start/end, not start/size. The boot wrapper platform init code on 83xx and 85xx using the cuboot platform type was incorrectly assuming that u-boot supplied the size of the initrd, whereas it actually supplies the end address. This fixes it. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 36bd2836f39d9c256689475432dd7d36eda1c491 Author: Geoff Levand Date: Sat May 12 03:42:03 2007 +1000 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 28820d9f793b4d9998d5d4132b8bab0ec9bf6ec3 Author: Geoff Levand Date: Sat May 12 03:41:59 2007 +1000 [POWERPC] PS3: Fix request_irq warning Fix compiler warning: ps3/smp.c:122: warning: ignoring return value of 'request_irq' Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fd6e9d3945ee122eb513ada8b17296d243c1ce5e Author: Kim Phillips Date: Sat May 12 03:19:38 2007 +1000 [POWERPC] Don't complain if size-cells == 0 in prom_parse() An mdio bus scan was added with ucc_geth phylib migration patches, now machines complain on boot, saying: prom_parse: Bad cell count for /qe@e0100000/mdio@2120/ethernet-phy@00 prom_parse: Bad cell count for /qe@e0100000/mdio@2120/ethernet-phy@01 since size-cells can indeed be 0, this patch fixes the check. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit e147ec8f18082efb700763bed4fe24f73ca50a2c Author: will schmidt Date: Fri May 11 23:34:16 2007 +1000 [POWERPC] Simplify smp_space_timers Greatly simplify the function smp_space_timers. The stolen time calculation (per comment within the code) doesn't need the half-jiffy stagger any more. There isn't an issue with bouncing off global locks, so we really shouldn't need any sort of staggering at all. However, the last_jiffy value still needs to be set. This removes the extra stagger logic, and just sets the values. This change should benefit applications that rely on barrier synchronization, and will help cut down OS jitter. Boot tested across the board (G5,power3,power4,power5,970mp blade). Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras commit 435e0b2b165bcac86eeddf675383070f60587cbb Author: Stephen Rothwell Date: Fri May 11 15:42:44 2007 +1000 [POWERPC] Trivial ps3 warning fixes Fixes warnings: arch/powerpc/platforms/ps3/system-bus.c: In function 'ps3_map_sg': arch/powerpc/platforms/ps3/system-bus.c:278: warning: unused variable 'i' arch/powerpc/platforms/ps3/system-bus.c:277: warning: unused variable 'dev' arch/powerpc/platforms/ps3/setup.c:103: warning: 'prealloc' defined but not used Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit bff8dde8fb0ee9429837051b6054d770755d6e7f Author: Stephen Rothwell Date: Fri May 11 15:40:36 2007 +1000 [POWERPC] Add missed include fixes: arch/powerpc/platforms/pasemi/idle.c: In function 'pasemi_system_reset_exception': arch/powerpc/platforms/pasemi/idle.c:55: warning: implicit declaration of function 'do_IRQ' Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8980ae86779288b19554426d71986f04c05f7a49 Author: Stephen Rothwell Date: Fri May 11 15:38:34 2007 +1000 [POWERPC] Remove unused variable in hpte_decode() Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0c12fe5697f12c7d1d203d8152dc6382244ec1d3 Author: Stephen Rothwell Date: Fri May 11 15:37:38 2007 +1000 [POWERPC] Assign correct variable in hpte_decode() This case will never be hit, but it should be corrected anyway. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b3b7cc7b4138f4171da5813b5ec2a14835e02482 Author: David Miller Date: Fri May 11 13:26:44 2007 -0700 Fix assertion failure with MSI on sparc64 Today's find is a triggered assertion in msi_free_irqs() when the system doesn't support MSI, in which case arch_setup_msi_irqs() always returns an error. The problem is that when this happens we branch into msi_free_irqs(), to which you added the following assertion loop: list_for_each_entry(entry, &dev->msi_list, list) BUG_ON(irq_has_action(entry->irq)); Well, if arch_setup_msi_irqs() fails, entry->irq will be zero and although that's never assigned to any normal devices we use that IRQ number for the timer interrupt on sparc64 so this assertion triggers. Better to test for zero before doing the irq_has_action() assertion thing. Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit b9a3b4d1453689f2927668fcdc4827fdccf44d1b Author: Olof Johansson Date: Wed May 9 23:00:20 2007 -0500 pata_platform: don't use generic ata_port_start I have a system where I have a simple IDE controller that sits on a local bus without bus master dma capability, and thus no dma_mapping ops defined for the device/bus. pata_platform works great for me, with the exception of using the generic ata_port_start which tries to do a dmam_alloc_coherent. Looks like it doesn't need to allocate a prd table at all, so replace it with a dummy function instead. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit b196fc69f7be7b4454781add9c2d5173f44d509b Author: Jan Engelhardt Date: Thu May 10 22:48:54 2007 -0700 Use menuconfig objects: libata Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2bcfdde6767f2f07891d2753c25220012fe5e6d2 Author: Henry Su Date: Thu May 10 22:48:51 2007 -0700 add the ATI SB700 SATA controller device id to AHCI pci table Add the device ID to AHCI pci table for ATI SB700 SATA controller, the subsequent chipset of SB600. Signed-off-by: henry su Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 823777181b4c0200923dcb026efa5b37f55c0ecf Author: Henry Su Date: Thu May 10 22:48:50 2007 -0700 Add the combined mode for ATI SB700 Besides those modes in ATI SB600 SATA controller, ATI SB700 supports one more mode:the combined mode. The combined mode is a Legacy IDE mode used for compatibility with some old OS without AHCI driver, but now it is not necessary for Linux since the kernel has supported AHCI. Signed-off-by: Luugi Marsan Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 48aaae7a2fa46e1ed0d0b7677fde79ccfcb8c963 Author: Aeschbacher, Fabrice Date: Thu May 10 22:48:48 2007 -0700 pata_pcmcia: recognize 2GB CompactFlash from Transcend Allow the pata_pcmcia driver to automatically detect 2GB CompactFlash cards from Transcend. Signed-off-by: Fabrice Aeschbacher Cc: "Peter Stuge" Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1d30c33d8d07868199560b24f10ed6280e78a89c Author: Andrew Morton Date: Thu May 10 22:48:43 2007 -0700 git-libata-all: sata_via build fix Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3a32a8e96694a243ec7e7feb6d76dfc4b1fe90c1 Author: Tejun Heo Date: Sat May 5 23:50:38 2007 +0900 libata-acpi: clean up parameters and misc stuff This patch cleans up libata-acpi such that it looks similar to other libata files. This patch doesn't introuce any behavior changes. * make libata-acpi functions take ata_device instead of ata_port + device index * s/atadev/dev/ * de-indent local variable declarations Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e92351bb53c0849fabfa80be53cbf3b0aa166e54 Author: Tejun Heo Date: Sat May 5 23:50:38 2007 +0900 libata-acpi: s/CONFIG_SATA_ACPI/CONFIG_ATA_ACPI/ ACPI applies to both SATA and PATA. Drop the 'S' from the config variable. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8575b814097af648dad284bd3087875a11b13d18 Author: Tejun Heo Date: Fri May 11 14:46:51 2007 +0200 libata: give devices one last chance even if recovery failed with -EINVAL After certain errors, some devices report complete garbage on IDENTIFY. This can cause ata_dev_read_id() to fail with -EINVAL resulting in immediate disabling of the device. Give the device one last chance after -EINVAL to allow recovery from such situations. As -EINVAL is triggered very rarely, this shouldn't cause any noticeable affect on more common error paths. Signed-off-by: Tejun Heo Cc: Harald Dunkel Signed-off-by: Jeff Garzik commit 54936f8b099325992f0f212a5e366fd5257c6c9c Author: Tejun Heo Date: Fri May 11 14:35:29 2007 +0200 libata: fallback to the other IDENTIFY on device error, take#2 It seems the world isn't as frank as we thought and some devices lie about who they are. Fallback to the other IDENTIFY if IDENTIFY is aborted by the device. As this is the strategy used by IDE for a long time, it shouldn't cause too much problem. Signed-off-by: Tejun Heo Cc: William Thompson Signed-off-by: Jeff Garzik commit f4d6d00466ef4879e4289f18c2f59210a06a7ada Author: Tejun Heo Date: Tue May 1 11:50:15 2007 +0200 libata: ignore EH scheduling during initialization libata enables SCSI host during ATA host activation which happens after IRQ handler is registered and IRQ is enabled. All ATA ports are in frozen state when IRQ is enabled but frozen ports may raise limited number of IRQs after being frozen - IOW, ->freeze() is not responsible for clearing pending IRQs. During normal operation, the IRQ handler is responsible for clearing spurious IRQs on frozen ports and it usually doesn't require any extra code. Unfortunately, during host initialization, the IRQ handler can end up scheduling EH for a port whose SCSI host isn't initialized yet. This results in OOPS in the SCSI midlayer. This is relatively short window and scheduling EH for probing is the first thing libata does after initialization, so ignoring EH scheduling until initialization is complete solves the problem nicely. This problem was spotted by Berck E. Nash in the following thread. http://thread.gmane.org/gmane.linux.kernel/519412 Signed-off-by: Tejun Heo Cc: Berck E. Nash Signed-off-by: Jeff Garzik commit 1626aeb881236c8cb022b5e4ca594146a951d669 Author: Tejun Heo Date: Fri May 4 12:43:58 2007 +0200 libata: clean up SFF init mess The intention of using port_mask in SFF init helpers was to eventually support exoctic configurations such as combination of legacy and native port on the same controller. This never became actually necessary and the related code always has been subtly broken one way or the other. Now that new init model is in place, there is no reason to make common helpers capable of handling all corner cases. Exotic cases can simply dealt within LLDs as necessary. This patch removes port_mask handling in SFF init helpers. SFF init helpers don't take n_ports argument and interpret it into port_mask anymore. All information is carried via port_info. n_ports argument is dropped and always two ports are allocated. LLD can tell SFF to skip certain port by marking it dummy. Note that SFF code has been treating unuvailable ports this way for a long time until recent breakage fix from Linus and is consistent with how other drivers handle with unavailable ports. This fixes 1-port legacy host handling still broken after the recent native mode fix and simplifies SFF init logic. The following changes are made... * ata_pci_init_native_host() and ata_init_legacy_host() both now try to initialized whatever they can and mark failed ports dummy. They return 0 if any port is successfully initialized. * ata_pci_prepare_native_host() and ata_pci_init_one() now doesn't take n_ports argument. All info should be specified via port_info array. Always two ports are allocated. * ata_pci_init_bmdma() exported to be used by LLDs in exotic cases. * port_info handling in all LLDs are standardized - all port_info arrays are const stack variable named ppi. Unless the second port is different from the first, its port_info is specified as NULL (tells libata that it's identical to the last non-NULL port_info). * pata_hpt37x/hpt3x2n: don't modify static variable directly. Make an on-stack copy instead as ata_piix does. * pata_uli: It has 4 ports instead of 2. Don't use ata_pci_prepare_native_host(). Allocate the host explicitly and use init helpers. It's simple enough. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 920a4b1038e442700a1cfac77ea7e20bd615a2c3 Author: Tejun Heo Date: Fri May 4 21:28:48 2007 +0200 libata: implement libata.spindown_compat Now that libata uses sd->manage_start_stop, libata spins down disk on shutdown. In an attempt to compensate libata's previous shortcoming, some distros sync and spin down disks attached via libata in their shutdown(8). Some disks spin back up just to spin down again on STANDBYNOW1 if the command is issued when the disk is spun down, so this double spinning down causes problem. This patch implements module parameter libata.spindown_compat which, when set to one (default value), prevents libata from spinning down disks on shutdown thus avoiding double spinning down. Note that libata spins down disks for suspend to mem and disk, so with libata.spindown_compat set to one, disks should be properly spun down in all cases without modifying shutdown(8). shutdown(8) should be fixed eventually. Some drive do spin up on SYNCHRONZE_CACHE even when their cache is clean. Those disks currently spin up briefly when sd tries to shutdown the device and then the machine powers off immediately, which can't be good for the head. We can't skip SYNCHRONIZE_CACHE during shudown as it can be dangerous data integrity-wise. So, this spindown_compat parameter is already scheduled for removal by the end of the next year and here's what shutdown(8) should do. * Check whether /sys/modules/libata/parameters/spindown_compat exists. If it does, write 0 to it. * For each libata harddisk { * Check whether /sys/class/scsi_disk/h:c:i:l/manage_start_stop exists. Iff it doesn't, synchronize cache and spin the disk down as before. } The above procedure will make shutdown(8) work properly with kernels before this change, ones with this workaround and later ones without it. To accelerate shutdown(8) updates, if the compat mode is in use, this patch prints BIG FAT warning for five seconds during shutdown (the optimal interval to annoy the user just the right amount discovered by hours of tireless usability testing). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9666f4009c22f6520ac3fb8a19c9e32ab973e828 Author: Tejun Heo Date: Fri May 4 21:27:47 2007 +0200 libata: reimplement suspend/resume support using sdev->manage_start_stop Reimplement suspend/resume support using sdev->manage_start_stop. * Device suspend/resume is now SCSI layer's responsibility and the code is simplified a lot. * DPM is dropped. This also simplifies code a lot. Suspend/resume status is port-wide now. * ata_scsi_device_suspend/resume() and ata_dev_ready() removed. * Resume now has to wait for disk to spin up before proceeding. I couldn't find easy way out as libata is in EH waiting for the disk to be ready and sd is waiting for EH to complete to issue START_STOP. * sdev->manage_start_stop is set to 1 in ata_scsi_slave_config(). This fixes spindown on shutdown and suspend-to-disk. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 12414db11da8789d9a6b549c4899250f6e116630 Author: Kim Phillips Date: Thu May 10 15:16:04 2007 -0500 Add support for the Davicom DM9161A PHY Distinguish between the Davicom DM9161A PHY and the DM9161E. Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit f30cac6fbf30d92d517768fdbd616cd196b43d1d Author: Stephen Hemminger Date: Fri May 11 11:21:47 2007 -0700 sky2: only disable 88e8056 on some boards Use DMI to add a blacklist of broken boards (so far only one). Hopefully, the problems will be solved later, and the the whole blacklist can disappear. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 78f0b62d4c15580369acf830f73a1f22570f201e Author: Stephen Hemminger Date: Fri May 11 11:21:46 2007 -0700 sky2: 88e8071 support not ready The driver is not ready to support 88e8071 chip. If this chip is present, system will hang on boot. So remove it from PCI device id's for now. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e3b7df17c8344fbcc00e871e03f5f88d58905277 Author: Stephen Hemminger Date: Fri May 11 11:21:45 2007 -0700 skge: crash on shutdown/suspend If device is not fails during module startup (like unsupported chip version) then driver would crash dereferencing a null pointer, on shutdown or suspend/resume. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 549a68c3fe2ca320b0764d1289d17af797daa5d1 Author: Stephen Hemminger Date: Fri May 11 11:21:44 2007 -0700 sky2: fix oops on shutdown If the device is fails during module startup for some reason like unsupported chip version then the driver would crash dereferencing a null pointer, on shutdown or suspend/resume. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 4093785dd16d0b7058eb92331bfd7b40b12151f3 Author: Andrew Morton Date: Thu May 10 22:53:01 2007 -0700 mlx4: don't use deprecated IRQ flags Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1c8e039a4bce0dae0d49c5df451f338a5d19363a Author: Andrew Morton Date: Thu May 10 22:53:00 2007 -0700 netxen_nic_main don't use deprecated irq flags drivers/net/netxen/netxen_nic_main.c: In function 'netxen_nic_open': drivers/net/netxen/netxen_nic_main.c:738: warning: 'deprecated_irq_flag' is deprecated (declared at include/linux/interrupt.h:66) drivers/net/netxen/netxen_nic_main.c:738: warning: 'deprecated_irq_flag' is deprecated (declared at include/linux/interrupt.h:66) Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e6c5fb3bd0dcf1bf3d6848fe890bf73051877a4a Author: Jan Engelhardt Date: Thu May 10 22:52:59 2007 -0700 Use menuconfig objects II - netdev/wan Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Cc: Krzysztof Halasa Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit be3b6c14ab4fd5d542652180f33fee8e32182d84 Author: Jan Engelhardt Date: Thu May 10 22:52:58 2007 -0700 Use menuconfig objects II - netdev/pcmcia Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4151ce3159c18a990da7fd6f0fe36c73d1c40f87 Author: Jan Engelhardt Date: Thu May 10 22:52:57 2007 -0700 Use menuconfig objects II - netdev/atm Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f30486d57bceec2364aa696403d64429ada61b60 Author: Jan Engelhardt Date: Thu May 10 22:52:56 2007 -0700 Use menuconfig objects: netdev Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 53f99941c1d0bd1d75c9ea7bf4dfcb3ce3ec4b05 Author: Jan Engelhardt Date: Thu May 10 22:52:55 2007 -0700 Use menuconfig objects: PHY Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a1c38a4a5dd36487b65c4b48e37ecfdd080817f3 Author: Ishizaki Kou Date: Thu May 10 12:18:48 2007 -0500 spidernet: remove unnecessary accesses to phy This patch removes unnecessary accesses to phy registers. Signed-off-by: Kou Ishizaki Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 491976b2bce07f2c44e32a987fa6eb9edf8b0aeb Author: Sreenivasa Honnur Date: Thu May 10 04:22:25 2007 -0400 S2IO: Statistics for link up/down and memory allocated/freed 1. Added statistics for link up/down, last link up/down. 2. Statistics for memory allocated/freed. 3. Changed level of some DBG_PRINTs. Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit c53d49453f738555c252304357cd7da6ba1f1ee0 Author: Sreenivasa Honnur Date: Thu May 10 04:18:54 2007 -0400 S2IO: statistics for memory allocation failuers 1. Added code to count the number of memory failures. 2. Added watchdog_timer counter. 3. Changed debug level for some DBG_PRINTS. Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 0cec35ebf341726e2490a4b01296a6dc132d1127 Author: Sreenivasa Honnur Date: Thu May 10 04:06:28 2007 -0400 S2IO: getringparam ethtool option Adding get_ringparam ethtool option. Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 9bf77ee6c24b33758a432f106fb765bf32550508 Author: Andrew Victor Date: Fri May 11 21:14:53 2007 +0100 [ARM] 4333/2: KS8695: Micrel Development board Board support and default configuration file for the Micrel/Kendin KS8695 Development board. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2c7ee6ab7cb7261aacea91d41da8df1874772f3f Author: Andrew Victor Date: Fri May 11 21:37:25 2007 +0100 [ARM] 4332/2: KS8695: Serial driver A driver for the KS8695 internal UART. Based on the 2.6.9 driver from Micrel. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c53c9cf60e49119e97d38390849cac5b2f0a0981 Author: Andrew Victor Date: Fri May 11 21:01:28 2007 +0100 [ARM] 4331/3: Support for Micrel/Kendin KS8695 processor Add core support for the Kendin/Micrel KS8695 processor family. It is an ARM922-T based SoC with integrated USART, 4-port Ethernet Switch, WAN Ethernet port, and optional PCI Host bridge, etc. http://www.micrel.com/page.do?page=product-info/sys_on_chip.jsp This patch is based on earlier patches from Lennert Buytenhek, Ben Dooks and Greg Ungerer posted to the arm-linux-kernel mailing list in March 2006; and Micrel's 2.6.9 port. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c42dcb3dcfd3a473ab7c79c2ae91fc1c2e4dc5db Author: Andrew Victor Date: Fri May 11 19:24:18 2007 +0100 [ARM] 4371/1: AT91: Support for Atmel AT91SAM9RL-EK development board Add support for the Atmel AT91SAM9RL-EK development board. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 54cb128037de499ea81626b0f37f9bb90e8db3d3 Author: Andrew Victor Date: Fri May 11 20:09:41 2007 +0100 [ARM] 4372/1: Define byte sizes in asm-arm/sizes.h Define SZ_512, SZ_256 and SZ_16 in asm-arm/sizes.h. Remove the definitions from the at91*_devices.c files. (Dependent on ARM patch #4370/2) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 877d7720f5f67793b9b6027840d2c88ea25dc4c8 Author: Andrew Victor Date: Fri May 11 20:49:56 2007 +0100 [ARM] 4370/3: AT91: Support for Atmel AT91SAM9RL processors. Add support for Atmel's new AT91SAM9RL range of processors. Includes similar peripherals as other AT91SAM9 processors, but with a High-speed USB controller and various sizes of internal SRAM. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 8bd994815987dda0947bd9afd887b1410713d4f7 Author: Andi Kleen Date: Fri May 11 11:23:20 2007 +0200 x86_64: Don't call mtrr_bp_init from identify_cpu The code was ok, but triggered warnings for calling __init from __cpuinit. Instead call it from check_bugs instead. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 547c5355d1b1167af39e315c82aa9ff1398596f4 Author: Andrew Hastings Date: Fri May 11 11:23:19 2007 +0200 x86_64: off-by-two error in aperture.c I'm using a custom BIOS to configure the northbridge GART at address 0x80000000, size 2G. Linux complains: "Aperture from northbridge cpu 0 beyond 4GB. Ignoring." I think there's an off-by-two error in arch/x86_64/kernel/aperture.c: AK: use correct types for i386 Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit fd0581bbb40d8f4b0e4b3a4de2258a50df37bb57 Author: Andi Kleen Date: Fri May 11 11:23:18 2007 +0200 i386: Fix compilation of verify_cpu.S on old binutils Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0d4804b31f91cfbcff6d62af0bc09a893a1c8ae0 Author: Wim Van Sebroeck Date: Fri May 11 18:59:24 2007 +0000 [WATCHDOG] iTCO_wdt.c - fix ACPI Base register The ACPI/PM base I/O address which is the base for the TCO registers is defined as bits [15:7] (highest bit is 31, lowest is 0) The code however only reads bits [14:7]. So base_address &= 0x00007f80; needs to be: base_address &= 0x0000ff80; This patch fixes this. Signed-off-by: Ate Wijma Signed-off-by: Wim Van Sebroeck commit 4269e2ad83036e1d8c076b1f1348f879a93be008 Author: Dan Williams Date: Thu May 10 23:10:18 2007 -0400 [PATCH] libertas: 64-bit cleanups Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit c4aa7051b6d5697d2c0c169153e727c2e4175c5b Author: Dan Williams Date: Thu May 10 23:09:33 2007 -0400 [PATCH] libertas: sparse fixes Fix various issues reported by sparse. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 12a4d265e5ca354fb9225732b7e625bd00002bc4 Author: Dan Williams Date: Thu May 10 23:08:54 2007 -0400 [PATCH] libertas: fix missing unlock in TX error path Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 5bdb3efe9dc117afeb043b54034249d24fdf80d6 Author: Dan Williams Date: Thu May 10 23:08:05 2007 -0400 [PATCH] libertas: make debugfs.c sparse-clean made debugfs.c sparse-clean, found an unused function that way Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 3a8b9a4a6b4e7cfd147f94f5772641a34e12efe4 Author: Dan Williams Date: Thu May 10 23:05:55 2007 -0400 [PATCH] libertas: Clean up debug defines Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 4f3465f80564e07a5756b11365cd24f9d693a9bb Author: Dan Williams Date: Thu May 10 23:05:22 2007 -0400 [PATCH] libertas: remove SUPPORT_BOOT_COMMAND Remove the static definition of SUPPORT_BOOT_COMMAND. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 4b19fcc363e9d3886d45818ad72633d5f0cba88d Author: Dan Williams Date: Thu May 10 23:04:39 2007 -0400 [PATCH] libertas: Purge non-mesh ioctls Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 3ce4023275a9d65d913d738846cea4a844e24b51 Author: Dan Williams Date: Thu May 10 23:03:07 2007 -0400 [PATCH] libertas: Get rid of version.h Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0dc5a29044d56912bf0d4e5cd19127f82b90c29c Author: Dan Williams Date: Thu May 10 22:58:02 2007 -0400 [PATCH] libertas: remove WLAN_802_11_NETWORK_INFRASTRUCTURE enum Use standard IW_MODE_* constants instead. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 889c05bdf3056b029b9fa95096eac4f0dfd3fb6f Author: Dan Williams Date: Thu May 10 22:57:23 2007 -0400 [PATCH] libertas: remove WLAN_802_11_WEP_STATUS enum Also change WEPstatus to "wep_enabled"; it's clearer and consistent with the WPAenabled and WPA2enabled members. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 6affe785aaf983253b27e71e67bf5fceaee6ff88 Author: Dan Williams Date: Thu May 10 22:56:42 2007 -0400 [PATCH] libertas: remove WLAN_802_11_AUTHENTICATION_MODE Remove WLAN_802_11_AUTHENTICATION_MODE enum and use IW_AUTH_ALG_* instead. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 43631e15c1cd056a76272047c6ebe9edbaa06f25 Author: Dan Williams Date: Thu May 10 22:56:01 2007 -0400 [PATCH] libertas: remove setwpaie private ioctl Obsoleted by SIOCSIWGENIE. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9408c297f6cee8e91ab2c51ec8d56e8c23c19a53 Author: Dan Williams Date: Thu May 10 22:55:20 2007 -0400 [PATCH] libertas: remove custom encryption mode stuff Remove setencryptionmode private ioctl and Encryptionmode variable. Mostly unused, and its functionality is provided by other internal members like WEPstatus, WPAenabled, WPA2enabled, and SIOCSIWGENIE. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 2a6f7ea1a0562abe6afbd2bbe01f6d300de12228 Author: Dan Williams Date: Thu May 10 23:12:27 2007 -0400 [PATCH] libertas: remove incorrect vi modelines Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 69f88dc5f9816ed6b137c095e8f6f289958d8108 Author: Dan Williams Date: Thu May 10 23:11:46 2007 -0400 [PATCH] libertas: remove setauthalg private ioctl Obsoleted by SIOCSIWAUTH's IW_AUTH_80211_AUTH_ALG option introduced by WE-18. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1d42b8f293c55226d18d97127419157fa4e47b41 Author: Dan Williams Date: Thu May 10 22:53:14 2007 -0400 [PATCH] libertas: remove 8021xauthalgs private ioctl Useless; it set an internal variable that was unused anyway. A supplicant handles all 802.1x authentication, not the driver. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ad1f3298959cf4321359da3288fd57acf2636369 Author: Dan Williams Date: Thu May 10 22:52:37 2007 -0400 [PATCH] libertas: fix size of SSID comparison in stop_adhoc check Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 4684c23dd472815755728fe954dfd2944956b4aa Author: Dan Williams Date: Thu May 10 22:52:04 2007 -0400 [PATCH] libertas: use for MAX_WPA_IE_LEN Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 51b0c9d09d0a889a232605e71555e390b3b110fb Author: Dan Williams Date: Thu May 10 22:51:28 2007 -0400 [PATCH] libertas: remove WPA_SUPPLICANT structure Start to normalize bss_descriptor with ieee80211_network so we can eventually replace bss_descriptor more easily. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9da7cf23a4f9690ceecfd0184cd050be564416f1 Author: Russell King Date: Fri May 11 19:54:39 2007 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit 487194a19d2069bfcc9791c3ab2204bed59b136a Author: Frederik Deweerdt Date: Fri May 11 19:10:52 2007 +0200 [ARM] export symbol csum_partial_copy_from_user I've got the following linking error when building 2.6.21-mm2 on ARM: ERROR: "csum_partial_copy_from_user" [net/rxrpc/af-rxrpc.ko] undefined! Linking fails because "csum_partial_copy_from_user" is not exported to modules. This patch adds it to the list of exported symbols. Signed-off-by: Frederik Deweerdt Signed-off-by: Russell King commit 1039592d6fe3221c406b02d7341ef4212bc25020 Author: David Woodhouse Date: Fri May 11 19:09:46 2007 +0200 further UTF-8 fixes and name correction > -** Copyright 1994 by Bj<94>rn Brauel > +** Copyright 1994 by Bj”rn Brauel I think these were cp437, and it should read 'Björn'. (asm-m68k/atari*.h) Also note that Arnaldo just put more legacy noise into CREDITS... Signed-off-by: Adrian Bunk commit b7cc4a879c4fed0adea23e9931d7b1944d103d2b Author: Satyam Sharma Date: Fri May 11 19:07:14 2007 +0200 Fix wrong identifier name in Documentation/kref.txt There's a typo / wrong identifier name in Documentation/kref.txt. Fix it. Signed-off-by: Satyam Sharma Acked-by: Corey Minyard Signed-off-by: Adrian Bunk commit 2fd0237538480c8d704c385b6f9abc3f6c46b760 Author: Daniel Wolstenholme Date: Thu May 10 22:33:02 2007 -0700 [ARM] iop13xx: msi support Enable devices to signal interrupts via PCI memory cycles. rev6: * fix enable/disable typo, Michael Ellerman rev5: * fix up ack, enable, and disable for iop13xx_msi_chip rev4: * move smp compile fix to separate patch * use dynamic_irq_init in create_irq() * hookup mask/unmask routines in iop13xx_msi_chip rev3: * change msi.c to use linux/smp.h instead of asm/smp.h * call dynamic_irq_cleanup at destroy_irq time rev2: * destroy_irq did not take the full 128 bits of msi_irq_in_use into account * added missing '&' for calls to test_and_set_bit and clear_bit [ebiederm@xmission.com: review comments/suggestions] [dan.j.williams@intel.com: cleanups/forward port to 2.6-git] Signed-off-by: Daniel Wolstenholme Signed-off-by: Dan Williams Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 2bd62a40f63bd628c43a2f3637b252d0967659b0 Author: Christoph Lameter Date: Thu May 10 22:42:53 2007 -0700 [IA64] Quicklist support for IA64 IA64 is the origin of the quicklist implementation. So cut out the pieces that are now in core code and modify the functions called. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit fac0779029749dfe8d77a35c26606ebda7a8e176 Author: Andrew Morton Date: Thu May 10 22:33:05 2007 -0700 [ARM] stacktrace fix ab1b6f03a10ba1f5638188ab06bf46e33ac3a160 said - remove the unused task argument to save_stack_trace, it's always current then broke arm: arch/arm/kernel/stacktrace.c:56: error: conflicting types for 'save_stack_trace' include/linux/stacktrace.h:11: error: previous declaration of 'save_stack_trace' was here arch/arm/kernel/stacktrace.c:56: error: conflicting types for 'save_stack_trace' include/linux/stacktrace.h:11: error: previous declaration of 'save_stack_trace' was here Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Russell King commit cdc7dbdfe6edac177acb32e4ca56b525d0743fe7 Author: Anil S Keshavamurthy Date: Fri May 11 09:38:40 2007 -0700 [IA64] fix Kprobes reentrancy In case of reentrance i.e when a probe handler calls a functions which inturn has a probe, we save a previous kprobe information and just single step the reentrant probe without calling the actual probe handler. During this reentracy period, if an interrupt occurs and if probe happens to trigger in the inturrupt path, then we were corrupting the previous kprobe( as we were overriding the previous kprobe info) info their by crashing the system. This patch fixes this issues by having a an array of previous kprobe info struct(with the array size of 2). This similar technique is not needed on i386 and x86_64 because by default interrupts are turn off in the break/int3 exception handler. Signed-off-by: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 87b247c41674e29f90bf4938799ab079951ccc6b Author: Thomas Gleixner Date: Thu May 10 22:33:04 2007 -0700 [ARM] Spinlock initializer cleanup Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Russell King commit a0d6333742c68b321043e4982ec413951ee9afb0 Author: Robert P. J. Day Date: Thu May 10 22:33:03 2007 -0700 [ARM] remove useless config option GENERIC_BUST_SPINLOCK Remove the apparently useless config option GENERIC_BUST_SPINLOCK, since nothing in the source tree refers to it. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 25d61578daae697c4a0eb817f42a868af9824f82 Author: John Keller Date: Thu May 10 22:42:44 2007 -0700 [IA64] SN: validate smp_affinity mask on intr redirect On SN, only allow one bit to be set in the smp_affinty mask when redirecting an interrupt. Currently setting multiple bits is allowed, but only the first bit is used in determining the CPU to redirect to. This has caused confusion among some customers. [akpm@linux-foundation.org: fixes] Signed-off-by: John Keller Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 7c6337e225364870e9bf02a3ae277d9fdea483f8 Author: Kevin Hilman Date: Mon Apr 30 19:37:19 2007 +0100 [ARM] 4303/3: base kernel support for TI DaVinci Add base kernel support for the TI DaVinci platform. This patch only includes interrupts, timers, CPU identification, serial support and basic power and sleep controller init. More drivers to come. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 030f4810e782e541468d36c27e721b582b7820a4 Author: Andrew Victor Date: Fri May 11 13:21:27 2007 +0100 [ARM] 4369/1: AT91: Fix circular dependency in header files Resolve the circular dependency in the AT91 header files (io.h and hardware.h) by moving the at91_sys_read() and at91_sys_write() functions to io.h Signed-off-by: Andrew Victor Signed-off-by: Russell King commit f7538ac95200fd122fd84c8f85ff1130ee7645b5 Author: Arnaud Patard Date: Thu May 10 20:38:53 2007 +0100 [ARM] 4368/1: S3C24xx: build fix Trying to build current git tree fails. The failure is due to commit 25ff0a653067eec56efc730dbed664d5cc77e9f3. The patch title say it's for OMAP board while it's applied on S3C2410 Kconfig entry. Moreover, the OMAP entry is already selecting GENERIC_TIME. This patch reverts the offending commit. Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit 302c0ef7317ddd49c0ae82004cfe308b5a2b6ab3 Author: Andrew Victor Date: Wed May 9 11:42:53 2007 +0100 [ARM] 4364/1: AT91: LEDS on AT91SAM9261-EK Attached you can find a patch needed to make the LEDS for 'CPU-Idle' and 'Timer' work on the AT91SAM9261-EK board. The kernel configuration options are already there, but the implementation is not available. Signed-off-by: Remy Bohmer Signed-off-by: Andrew Victor Signed-off-by: Russell King commit f75fd965d500d33720948f30d409c6c7729a80af Author: Russell King Date: Wed May 9 20:21:11 2007 +0100 [ARM] Fix iop32x/iop33x build arch/arm/plat-iop/io.c:26: error: conflicting types for '__iop3xx_ioremap' Signed-off-by: Russell King commit 3b11e449b3a8d9b912d80e28f62985f22a70e87f Author: Russell King Date: Wed May 9 20:18:05 2007 +0100 [ARM] EBSA110: fix build errors caused by missing "const" arch/arm/mach-ebsa110/io.c:106: error: conflicting types for 'readsw' arch/arm/mach-ebsa110/io.c:116: error: conflicting types for 'readsl' arch/arm/mach-ebsa110/io.c:161: error: conflicting types for 'writesw' arch/arm/mach-ebsa110/io.c:171: error: conflicting types for 'writesl' Signed-off-by: Russell King commit 7fdc7849d2f9f926cbaec224bbcbacb164b07b23 Author: Arnaud Patard Date: Wed May 9 21:41:03 2007 +0100 [ARM] 4359/3: H1940: Add bluetooth support This patch adds a small driver responsible for configuring the UART used for the bluetooth chip and for enabling the bluetooth chipset. Additionnaly, can trigger a led if the H1940 led driver is enabled. Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b8b6970b4fe08397554295b0c5169bec7575f7c9 Author: Graeme Gregory Date: Wed May 9 15:55:24 2007 +0100 [ARM] 4365/1: Add AC97 clock to s3c2443 machine This adds the ac97 clock to the s3c2443 machine files. It seems to have been simply missed out previously. Signed-off-by: Graeme Gregory Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c9184f58cac9efa5d7d90a0e979f398a99d91641 Author: Jürgen Schindele Date: Mon May 7 19:48:44 2007 +0100 [ARM] 4362/1: trizeps4 update This update for trizeps4 SoM contains: - support for new TFT on more recent ConXS evalboard - correct partition of flash device - update of "trizeps4_defconfig" Signed-off-by: Jrgen Schindele (linux@schindele.name) Signed-off-by: Russell King commit f95637d2c68be5165d7de228374254c68561b387 Author: Russell King Date: Thu May 10 19:32:36 2007 +0100 [ARM] pata_icside: fix build errors Building on the previous two ecard infrastructure changes, this patch fixes the pata_icside build errors caused by the recent libata changes. Signed-off-by: Russell King commit 10bdaaa0fad620145cf10e2b573266b2d80b44de Author: Russell King Date: Thu May 10 18:40:51 2007 +0100 [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() Add devres ecardm_iomap() and ecardm_iounmap() for Acorn expansion cards. Convert all expansion card drivers to use them. Signed-off-by: Russell King commit c7b87f3d5037a35b5c7bb916ffc826be3fcb208d Author: Russell King Date: Thu May 10 16:46:13 2007 +0100 [ARM] ecard: add helper function for setting ecard irq ops Rather than having every driver fiddle about setting its private IRQ operations and data, provide a helper function to contain this functionality in one place. Arrange to remove the driver-private IRQ operations and data when the device is removed from the driver, and remove the driver private code to do this. This fixes potential problems caused by drivers forgetting to remove these hooks. Signed-off-by: Russell King commit bf61f8d357e5d71d74a3ca3be3cce52bf1a2c01a Author: Kenichi Nagai Date: Fri May 11 01:12:15 2007 -0400 Input: evdev - fix overflow in compat_ioctl When exporting input device bitmaps via compat_ioctl on BIG_ENDIAN platforms evdev calculates data size incorrectly. This causes buffer overflow if user specifies buffer smaller than maxlen. Signed-off-by: Kenichi Nagai Signed-off-by: Dmitry Torokhov Signed-off-by: Linus Torvalds commit df9f54084f1faf611cedd846d38b0631f9d4e9a5 Author: Ralf Baechle Date: Fri May 11 15:48:58 2007 +0100 Convert SGI IP22 and specific drivers to platform_device. Signed-off-by: Ralf Baechle commit 435b71be20f2ad3688acd94c05e968e029464d60 Author: NeilBrown Date: Thu May 10 22:23:31 2007 -0700 md: improve the is_mddev_idle test During a 'resync' or similar activity, md checks if the devices in the array are otherwise active and winds back resync activity when they are. This test in done in is_mddev_idle, and it is somewhat fragile - it sometimes thinks there is non-sync io when there isn't. The test compares the total sectors of io (disk_stat_read) with the sectors of resync io (disk->sync_io). This has problems because total sectors gets updated when a request completes, while resync io gets updated when the request is submitted. The time difference can cause large differenced between the two which do not actually imply non-resync activity. The test currently allows for some fuzz (+/- 4096) but there are some cases when it is not enough. The test currently looks for any (non-fuzz) difference, either positive or negative. This clearly is not needed. Any non-sync activity will cause the total sectors to grow faster than the sync_io count (never slower) so we only need to look for a positive differences. If we do this then the amount of in-flight sync io will never cause the appearance of non-sync IO. Once enough non-sync IO to worry about starts happening, resync will be slowed down and the measurements will thus be more precise (as there is less in-flight) and control of resync will still be suitably responsive. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11fe250d89cdce3d6bb43bd674f3dcdcaa78dbc8 Author: Robert P. J. Day Date: Thu May 10 22:23:30 2007 -0700 VIDEO: remove archaic if[] construct from Kconfig file Remove the obsolete "if [ ]" construct from the video console Kconfig file. Signed-off-by: Robert P. J. Day Acked-by: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03b9ae4b80dd5b20d7bf7e15902592d50c66780d Author: Antonino A. Daplas Date: Thu May 10 22:23:29 2007 -0700 pm2fb: fb_sync added Convert internal wait_pm2() function to fb API fb_sync() method. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 647f2e7aeef833272c17a5366680321c3def3f23 Author: Jean Delvare Date: Thu May 10 22:23:29 2007 -0700 nvidiafb: Enable debugging messages a Kconfig option Let the user enable debugging messages in nvidiafb. Signed-off-by: Jean Delvare Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 213b8a9af600316902e08e010fbcd216e42e41f7 Author: Jean Delvare Date: Thu May 10 22:23:28 2007 -0700 rivafb: Fix I2C getscl callback function Fix rivafb's I2C getscl callback function, as was done in nvidiafb recently. Signed-off-by: Jean Delvare Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14340586148e7c88d7b1b752876f5b5227b200b9 Author: Nicolas Ferre Date: Thu May 10 22:23:26 2007 -0700 atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver Adds a framebuffer driver to ATMEL AT91SAM9x and AT32 aka AVR32 platforms. Those chips share quite the same IP and this code is suitable for both architectures. Signed-off-by: Nicolas Ferre Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f23a06f076173c1f56572556169bf9e1793c5d59 Author: Krzysztof Helt Date: Thu May 10 22:23:25 2007 -0700 pm3fb: Preliminary 2.4 to 2.6 port This is a basic port from 2.4 kernel to 2.6. Acceleration is lost and big endian support probably too. The driver works in 8, 16 and 32 bit mode. [adaplas] - change VESA_* to FB_BLANK_* constants - removed unused function clear_memory - fix uninitialized variable compiler warning - some whitespace cleaning [akpm@linux-foundation.org: Nuke pestiferous CVS string] Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e98e267c6f76f509cea4b4022ca502b1aa221d77 Author: Michal Piotrowski Date: Thu May 10 22:23:24 2007 -0700 fbdev: geforce 7300 cleanup ups... coding style. Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7699acd1341c63fdbcfc56994fb2989ec59d2a43 Author: Davide Libenzi Date: Thu May 10 22:23:23 2007 -0700 epoll cleanups: epoll remove static pre-declarations and akpm-ize the code Re-arrange epoll code to avoid static functions pre-declarations, and apply akpm-filter on it. Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cea69241870e55638156a026814551d6c575fd7f Author: Davide Libenzi Date: Thu May 10 22:23:22 2007 -0700 epoll cleanups: epoll no module Epoll is either compiled it, or not (if EMBEDDED). Remove the module code and use fs_initcall(). Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da66f7cb0f69ab27dbf5b9d0b85c4b97716c44d1 Author: Davide Libenzi Date: Thu May 10 22:23:21 2007 -0700 epoll: use anonymous inodes Cut out lots of code from epoll, by reusing the anonymous inode source patch (fs/anon_inodes.c). Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c3060bedd84144653a2ad7bea32389f65598d40 Author: Davide Libenzi Date: Thu May 10 22:23:21 2007 -0700 signal/timer/event: KAIO eventfd support example This is an example about how to add eventfd support to the current KAIO code, in order to enable KAIO to post readiness events to a pollable fd (hence compatible with POSIX select/poll). The KAIO code simply signals the eventfd fd when events are ready, and this triggers a POLLIN in the fd. This patch uses a reserved for future use member of the struct iocb to pass an eventfd file descriptor, that KAIO will use to post events every time a request completes. At that point, an aio_getevents() will return the completed result to a struct io_event. I made a quick test program to verify the patch, and it runs fine here: http://www.xmailserver.org/eventfd-aio-test.c The test program uses poll(2), but it'd, of course, work with select and epoll too. This can allow to schedule both block I/O and other poll-able devices requests, and wait for results using select/poll/epoll. In a typical scenario, an application would submit KAIO request using aio_submit(), and will also use epoll_ctl() on the whole other class of devices (that with the addition of signals, timers and user events, now it's pretty much complete), and then would: epoll_wait(...); for_each_event { if (curr_event_is_kaiofd) { aio_getevents(); dispatch_aio_events(); } else { dispatch_epoll_event(); } } Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdb902b1225e1668315f38e96d2f439452c03a15 Author: Davide Libenzi Date: Thu May 10 22:23:20 2007 -0700 signal/timer/event: eventfd wire up x86 arches This patch wires the eventfd system call to the x86 architectures. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1ad7468c77ddb94b0615d5f50fa255525fde0f0 Author: Davide Libenzi Date: Thu May 10 22:23:19 2007 -0700 signal/timer/event: eventfd core This is a very simple and light file descriptor, that can be used as event wait/dispatch by userspace (both wait and dispatch) and by the kernel (dispatch only). It can be used instead of pipe(2) in all cases where those would simply be used to signal events. Their kernel overhead is much lower than pipes, and they do not consume two fds. When used in the kernel, it can offer an fd-bridge to enable, for example, functionalities like KAIO or syslets/threadlets to signal to an fd the completion of certain operations. But more in general, an eventfd can be used by the kernel to signal readiness, in a POSIX poll/select way, of interfaces that would otherwise be incompatible with it. The API is: int eventfd(unsigned int count); The eventfd API accepts an initial "count" parameter, and returns an eventfd fd. It supports poll(2) (POLLIN, POLLOUT, POLLERR), read(2) and write(2). The POLLIN flag is raised when the internal counter is greater than zero. The POLLOUT flag is raised when at least a value of "1" can be written to the internal counter. The POLLERR flag is raised when an overflow in the counter value is detected. The write(2) operation can never overflow the counter, since it blocks (unless O_NONBLOCK is set, in which case -EAGAIN is returned). But the eventfd_signal() function can do it, since it's supposed to not sleep during its operation. The read(2) function reads the __u64 counter value, and reset the internal value to zero. If the value read is equal to (__u64) -1, an overflow happened on the internal counter (due to 2^64 eventfd_signal() posts that has never been retired - unlickely, but possible). The write(2) call writes an __u64 count value, and adds it to the current counter. The eventfd fd supports O_NONBLOCK also. On the kernel side, we have: struct file *eventfd_fget(int fd); int eventfd_signal(struct file *file, unsigned int n); The eventfd_fget() should be called to get a struct file* from an eventfd fd (this is an fget() + check of f_op being an eventfd fops pointer). The kernel can then call eventfd_signal() every time it wants to post an event to userspace. The eventfd_signal() function can be called from any context. An eventfd() simple test and bench is available here: http://www.xmailserver.org/eventfd-bench.c This is the eventfd-based version of pipetest-4 (pipe(2) based): http://www.xmailserver.org/pipetest-4.c Not that performance matters much in the eventfd case, but eventfd-bench shows almost as double as performance than pipetest-4. [akpm@linux-foundation.org: fix i386 build] [akpm@linux-foundation.org: add sys_eventfd to sys_ni.c] Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83f5d1266926c75890f1bc4678e49d79483cb573 Author: Davide Libenzi Date: Thu May 10 22:23:18 2007 -0700 signal/timer/event: timerfd compat code This patch implements the necessary compat code for the timerfd system call. Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57ac8898508638ca6d15ecd8b911a431d673ff30 Author: Davide Libenzi Date: Thu May 10 22:23:17 2007 -0700 signal/timer/event: timerfd wire up x86 arches This patch wires the timerfd system call to the x86 architectures. Signed-off-by: Davide Libenzi Cc: Andi Kleen Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b215e283992899650c4271e7385c79e26fb9a88e Author: Davide Libenzi Date: Thu May 10 22:23:16 2007 -0700 signal/timer/event: timerfd core This patch introduces a new system call for timers events delivered though file descriptors. This allows timer event to be used with standard POSIX poll(2), select(2) and read(2). As a consequence of supporting the Linux f_op->poll subsystem, they can be used with epoll(2) too. The system call is defined as: int timerfd(int ufd, int clockid, int flags, const struct itimerspec *utmr); The "ufd" parameter allows for re-use (re-programming) of an existing timerfd w/out going through the close/open cycle (same as signalfd). If "ufd" is -1, s new file descriptor will be created, otherwise the existing "ufd" will be re-programmed. The "clockid" parameter is either CLOCK_MONOTONIC or CLOCK_REALTIME. The time specified in the "utmr->it_value" parameter is the expiry time for the timer. If the TFD_TIMER_ABSTIME flag is set in "flags", this is an absolute time, otherwise it's a relative time. If the time specified in the "utmr->it_interval" is not zero (.tv_sec == 0, tv_nsec == 0), this is the period at which the following ticks should be generated. The "utmr->it_interval" should be set to zero if only one tick is requested. Setting the "utmr->it_value" to zero will disable the timer, or will create a timerfd without the timer enabled. The function returns the new (or same, in case "ufd" is a valid timerfd descriptor) file, or -1 in case of error. As stated before, the timerfd file descriptor supports poll(2), select(2) and epoll(2). When a timer event happened on the timerfd, a POLLIN mask will be returned. The read(2) call can be used, and it will return a u32 variable holding the number of "ticks" that happened on the interface since the last call to read(2). The read(2) call supportes the O_NONBLOCK flag too, and EAGAIN will be returned if no ticks happened. A quick test program, shows timerfd working correctly on my amd64 box: http://www.xmailserver.org/timerfd-test.c [akpm@linux-foundation.org: add sys_timerfd to sys_ni.c] Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d18c9220965b437287c3a7e803725c24992ceac Author: Davide Libenzi Date: Thu May 10 22:23:15 2007 -0700 signal/timer/event: signalfd compat code This patch implements the necessary compat code for the signalfd system call. Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2121e24bd8dd16b4e3f8d995428e2a748d5180cc Author: Davide Libenzi Date: Thu May 10 22:23:14 2007 -0700 signal/timer/event: signalfd wire up x86 arches This patch wires the signalfd system call to the x86 architectures. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fba2afaaec790dc5ab4ae8827972f342211bbb86 Author: Davide Libenzi Date: Thu May 10 22:23:13 2007 -0700 signal/timer/event: signalfd core This patch series implements the new signalfd() system call. I took part of the original Linus code (and you know how badly it can be broken :), and I added even more breakage ;) Signals are fetched from the same signal queue used by the process, so signalfd will compete with standard kernel delivery in dequeue_signal(). If you want to reliably fetch signals on the signalfd file, you need to block them with sigprocmask(SIG_BLOCK). This seems to be working fine on my Dual Opteron machine. I made a quick test program for it: http://www.xmailserver.org/signafd-test.c The signalfd() system call implements signal delivery into a file descriptor receiver. The signalfd file descriptor if created with the following API: int signalfd(int ufd, const sigset_t *mask, size_t masksize); The "ufd" parameter allows to change an existing signalfd sigmask, w/out going to close/create cycle (Linus idea). Use "ufd" == -1 if you want a brand new signalfd file. The "mask" allows to specify the signal mask of signals that we are interested in. The "masksize" parameter is the size of "mask". The signalfd fd supports the poll(2) and read(2) system calls. The poll(2) will return POLLIN when signals are available to be dequeued. As a direct consequence of supporting the Linux poll subsystem, the signalfd fd can use used together with epoll(2) too. The read(2) system call will return a "struct signalfd_siginfo" structure in the userspace supplied buffer. The return value is the number of bytes copied in the supplied buffer, or -1 in case of error. The read(2) call can also return 0, in case the sighand structure to which the signalfd was attached, has been orphaned. The O_NONBLOCK flag is also supported, and read(2) will return -EAGAIN in case no signal is available. If the size of the buffer passed to read(2) is lower than sizeof(struct signalfd_siginfo), -EINVAL is returned. A read from the signalfd can also return -ERESTARTSYS in case a signal hits the process. The format of the struct signalfd_siginfo is, and the valid fields depends of the (->code & __SI_MASK) value, in the same way a struct siginfo would: struct signalfd_siginfo { __u32 signo; /* si_signo */ __s32 err; /* si_errno */ __s32 code; /* si_code */ __u32 pid; /* si_pid */ __u32 uid; /* si_uid */ __s32 fd; /* si_fd */ __u32 tid; /* si_fd */ __u32 band; /* si_band */ __u32 overrun; /* si_overrun */ __u32 trapno; /* si_trapno */ __s32 status; /* si_status */ __s32 svint; /* si_int */ __u64 svptr; /* si_ptr */ __u64 utime; /* si_utime */ __u64 stime; /* si_stime */ __u64 addr; /* si_addr */ }; [akpm@linux-foundation.org: fix signalfd_copyinfo() on i386] Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc8bf8132d59c03fe2562bce165c2f03f021687 Author: Davide Libenzi Date: Thu May 10 22:23:11 2007 -0700 signal/timer/event fds: anonymous inode source This patch add an anonymous inode source, to be used for files that need and inode only in order to create a file*. We do not care of having an inode for each file, and we do not even care of having different names in the associated dentries (dentry names will be same for classes of file*). This allow code reuse, and will be used by epoll, signalfd and timerfd (and whatever else there'll be). Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 325aa33da784e5997c756a151bc46e9cc9b79db2 Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:10 2007 -0700 Don't init pgrp and __session in INIT_SIGNALS Remove initialization of pgrp and __session in INIT_SIGNALS, as these are later set by the call to __set_special_pids() in init/main.c by the patch: explicitly-set-pgid-and-sid-of-init-process.patch Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Eric Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa0334f19f0e1a1e570fc2a160dfe53536599ade Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:08 2007 -0700 Replace pid_t in autofs with struct pid reference Make autofs container-friendly by caching struct pid reference rather than pid_t and using pid_nr() to retreive a task's pid_t. ChangeLog: - Fix Eric Biederman's comments - Use find_get_pid() to hold a reference to oz_pgrp and release while unmounting; separate out changes to autofs and autofs4. - Fix Cedric's comments: retain old prototype of parse_options() and move necessary change to its caller. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Eric Biederman Cc: containers@lists.osdl.org Acked-by: Eric W. Biederman Cc: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d78e53c89a820471837e0cb91fe36b7be1a7c9de Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:06 2007 -0700 Fix some coding-style errors in autofs Fix coding style errors (extra spaces, long lines) in autofs and autofs4 files being modified for container/pidspace issues. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Cc: Eric W. Biederman Cc: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93ba0881176ace057bc3111c8bdd717a23cb75ed Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:05 2007 -0700 Kill unused sesssion and group values in rocket driver The process_session() and process_group() values are not really used by the driver. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Cc: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0800d30832ddecf2d9dc40068fed9df95930a8f1 Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:04 2007 -0700 Use task_pgrp() task_session() in copy_process() Use task_pgrp() and task_session() in copy_process(), and avoid find_pid() call when attaching the task to its process group and session. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85868995d9d82de5b0de38d695559daddffef893 Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:03 2007 -0700 Use struct pid parameter in copy_process() Modify copy_process() to take a struct pid * parameter instead of a pid_t. This simplifies the code a bit and also avoids having to call find_pid() to convert the pid_t to a struct pid. Changelog: - Fixed Badari Pulavarty's comments and passed in &init_struct_pid from fork_idle(). - Fixed Eric Biederman's comments and simplified this patch and used a new patch to remove the likely(pid) check. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Eric Biederman Cc: Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e29b24aa6b3eb6c161cbb9e42fc20b47e67a7c6 Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:01 2007 -0700 Explicitly set pgid and sid of init process Explicitly set pgid and sid of init process to 1. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Eric Biederman Cc: Herbert Poetzl Cc: Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 820e45db2380eb1545fa2bc5d34b8b2f2933faeb Author: Sukadev Bhattiprolu Date: Thu May 10 22:23:00 2007 -0700 statically initialize struct pid for swapper Statically initialize a struct pid for the swapper process (pid_t == 0) and attach it to init_task. This is needed so task_pid(), task_pgrp() and task_session() interfaces work on the swapper process also. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Eric Biederman Cc: Herbert Poetzl Cc: Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e713d0dab21a68500720e222fa02567fc7dfb14b Author: Sukadev Bhattiprolu Date: Thu May 10 22:22:58 2007 -0700 attach_pid() with struct pid parameter attach_pid() currently takes a pid_t and then uses find_pid() to find the corresponding struct pid. Sometimes we already have the struct pid. We can then skip find_pid() if attach_pid() were to take a struct pid parameter. Signed-off-by: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ac24b3ba9016881b11646114bb5cd12cf23edd9 Author: kogiidena Date: Thu May 10 22:22:57 2007 -0700 rtc-rs5c313.c: add error handling to avoid hardware hangup Add error processing. Hanging up by an infinite loop is evaded. Signed-off-by: kogiidena Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a6a078950d769ff211c1cbd9468e31162481f8d Author: kogiidena Date: Thu May 10 22:22:56 2007 -0700 rtc-rs5c313.c: rtc_time value are fixed Correct an initial value of suruct rtc_ time. Signed-off-by: kogiidena Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a3f1d53dbf112d2387f8b80682afc1084f9dfc3 Author: kogiidena Date: Thu May 10 22:22:54 2007 -0700 rtc-rs5c313.c: error and warning are fixed Correct a compile error and warning. Signed-off-by: kogiidena Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e88c553db938ad016026375f0545304b9030b42 Author: Daniel Walker Date: Thu May 10 22:22:53 2007 -0700 use defines in sys_getpriority/sys_setpriority Switch to the defines for these two checks, instead of hard coding the values. [akpm@linux-foundation.org: add missing include] Signed-off-by: Daniel Walker Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00b8fd236764e3d5bc1d30dc65e256e283de4c3d Author: Dragos Carp Date: Thu May 10 22:22:52 2007 -0700 MPC52xx PSC SPI master driver SPI master driver for MPC52xx using its Programmable Serial Controller. Signed-off-by: David Brownell Signed-off-by: Dragos Carp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ea971801625184a91a6d80ea85e53875caa0bf5 Author: Miklos Szeredi Date: Thu May 10 22:22:51 2007 -0700 consolidate generic_writepages and mpage_writepages Clean up massive code duplication between mpage_writepages() and generic_writepages(). The new generic function, write_cache_pages() takes a function pointer argument, which will be called for each page to be written. Maybe cifs_writepages() too can use this infrastructure, but I'm not touching that with a ten-foot pole. The upcoming page writeback support in fuse will also want this. Signed-off-by: Miklos Szeredi Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e10cc1df1d2014f68a4bdcf73f6dd122c4561f94 Author: Paul Fulghum Date: Thu May 10 22:22:50 2007 -0700 tty: add compat_ioctl Add compat_ioctl method for tty code to allow processing of 32 bit ioctl calls on 64 bit systems by tty core, tty drivers, and line disciplines. Based on patch by Arnd Bergmann: http://www.uwsg.iu.edu/hypermail/linux/kernel/0511.0/1732.html [akpm@linux-foundation.org: make things static] Signed-off-by: Paul Fulghum Acked-by: Arnd Bergmann Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 108f39a1b3b1e4b28ca8cc156f06171445499d21 Author: Rene Herman Date: Thu May 10 22:22:50 2007 -0700 module_author: don't advise putting in an email address module_author: don't advise putting in an email address It's information that's easily outdated and easily mistaken for a driver contact which is a problem especially for modules with multiple current and non-current authors as well as for modules with a maintainer who may not even be a module author. Signed-off-by: Rene Herman Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98091696653e8ac32a2653589923acd8198777ac Author: Andrew Morton Date: Thu May 10 22:22:49 2007 -0700 SubmitChecklist: add -W help Help people to work out how to use `gcc -W'. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84ea77635b91a6ca1c0c592ee5ddc0c780856b97 Author: Eric Sesterhenn / Snakebyte Date: Thu May 10 22:22:48 2007 -0700 Overrun in drivers/char/rio/riocmd.c This got somehow lost in the noise. This fixes coverity bug id #1025, if Rup is greater or equal to MAX_RUP, we run past the Mapping Array. Signed-off-by: Eric Sesterhenn Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a12bb44471b819c7f33d8a83044e7116c124e3d5 Author: Benjamin Herrenschmidt Date: Thu May 10 22:22:47 2007 -0700 stop_machine() now uses hard_irq_disable Add a call to hard_irq_disable() to stop_machine so that we make sure IRQs are really disabled and not only lazy-disabled on archs like powerpc as some users of stop_machine() may rely on that. [akpm@linux-foundation.org: build fix] Signed-off-by: Benjamin Herrenschmidt Acked-by: Rusty Russell Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d3fbbb391e280724f7f7804ab00ff61cf1b6a4c Author: Benjamin Herrenschmidt Date: Thu May 10 22:22:46 2007 -0700 Add hard_irq_disable() Some architectures, like powerpc, implement lazy disabling of interrupts. That means that on those, local_irq_disable() doesn't actually disable interrupts on the CPU, but only sets some per CPU flag which cause them to be disabled only if an interrupt actually occurs. However, in some cases, such as stop_machine, we really want interrupts to be fully disabled. For example, I have code using stop machine to do ECC error injection, used to verify operations of the ECC hardware, that sort of thing. It really needs to make sure that nothing is actually writing to memory while the injection happens. Similar examples can be found in other low level bits and pieces. This patch implements a generic hard_irq_disable() function which is meant to be called -after- local_irq_disable() and ensures that interrupts are fully disabled on that CPU. The default implementation is a nop, though powerpc does already provide an appropriate one. Signed-off-by: Benjamin Herrenschmidt Cc: Rusty Russell Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1fa2e136ff64a3814a98c03d46320b9e80d29c8 Author: Benjamin Herrenschmidt Date: Thu May 10 22:22:45 2007 -0700 powerpc: fixup hard_irq_disable semantics This patch renames the raw hard_irq_{enable,disable} into __hard_irq_{enable,disable} and introduces a higher level hard_irq_disable() function that can be used by any code to enforce that IRQs are fully disabled, not only lazy disabled. The difference with the __ versions is that it will update some per-processor fields so that the kernel keeps track and properly re-enables them in the next local_irq_disable(); This prepares powerpc for my next patch that introduces hard_irq_disable() generically. Signed-off-by: Benjamin Herrenschmidt Cc: Rusty Russell Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2acdb1694494eb6f17b44b2b3065879af32d0d46 Author: Paul Fulghum Date: Thu May 10 22:22:43 2007 -0700 synclink_gt: add compat_ioctl Add support for 32 bit ioctl on 64 bit systems for synclink_gt Cc: Arnd Bergmann Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c64c30a5c96bb798cbd6097d4996205b5359fa2 Author: Olaf Hering Date: Thu May 10 22:22:42 2007 -0700 small cleanup in gpt partition handling Remove unused argument in is_pmbr_valid() Remove unneeded initialization of local variable legacy_mbr Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04dd08b45be863f016df648a149ade1411608d00 Author: Stephen Rothwell Date: Thu May 10 22:22:40 2007 -0700 Consolidate asm/poll.h These files are almost all the same. This patch could be made even simpler if we don't mind POLLREMOVE turning up in a few architectures that didn't have it previously (which should be OK as POLLREMOVE is not used anywhere in the current tree). Signed-off-by: Stephen Rothwell Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99eaf3c45fe806c4a7f39b9be4a1bd0dfc617699 Author: Randy Dunlap Date: Thu May 10 22:22:39 2007 -0700 lib/hexdump Based on ace_dump_mem() from Grant Likely for the Xilinx SystemACE CompactFlash interface. Add print_hex_dump() & hex_dumper() to lib/hexdump.c and linux/kernel.h. This patch adds the functions print_hex_dump() & hex_dumper(). print_hex_dump() can be used to perform a hex + ASCII dump of data to syslog, in an easily viewable format, thus providing a common text hex dump format. hex_dumper() provides a dump-to-memory function. It converts one "line" of output (16 bytes of input) at a time. Example usages: print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len); hex_dumper(frame->data, frame->len, linebuf, sizeof(linebuf)); Example output using %DUMP_PREFIX_OFFSET: 0009ab42: 40414243 44454647 48494a4b 4c4d4e4f-@ABCDEFG HIJKLMNO Example output using %DUMP_PREFIX_ADDRESS: ffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f-pqrstuvw xyz{|}~. [akpm@linux-foundation.org: cleanups, add export] Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6eaeeaba39e5fa3d52a0bb8de15e995516ae251a Author: Eric Dumazet Date: Thu May 10 22:22:37 2007 -0700 getrusage(): fill ru_inblock and ru_oublock fields if possible If CONFIG_TASK_IO_ACCOUNTING is defined, we update io accounting counters for each task. This patch permits reporting of values using the well known getrusage() syscall, filling ru_inblock and ru_oublock instead of null values. As TASK_IO_ACCOUNTING currently counts bytes counts, we approximate blocks count doing : nr_blocks = nr_bytes / 512 Example of use : ---------------------- After patch is applied, /usr/bin/time command can now give a good approximation of IO that the process had to do. $ /usr/bin/time grep tototo /usr/include/* Command exited with non-zero status 1 0.00user 0.02system 0:02.11elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k 24288inputs+0outputs (0major+259minor)pagefaults 0swaps $ /usr/bin/time dd if=/dev/zero of=/tmp/testfile count=1000 1000+0 enregistrements lus 1000+0 enregistrements écrits 512000 octets (512 kB) copiés, 0,00326601 seconde, 157 MB/s 0.00user 0.00system 0:00.00elapsed 80%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+3000outputs (0major+299minor)pagefaults 0swaps Signed-off-by: Eric Dumazet Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02239c29967418284c05d58971894d658575e78c Author: Jeff Dike Date: Thu May 10 22:22:35 2007 -0700 uml: shrink kernel stacks Make kernel stacks be 1 page on i386 and 2 pages on x86_64. These match the host values. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c14b84949e127560084c7c56b365931c71c60768 Author: Jeff Dike Date: Thu May 10 22:22:34 2007 -0700 uml: iRQ stacks Add a separate IRQ stack. This differs from i386 in having the entire interrupt run on a separate stack rather than starting on the normal kernel stack and switching over once some preparation has been done. The underlying mechanism, is of course, sigaltstack. Another difference is that interrupts that happen in userspace are handled on the normal kernel stack. These cause a wait wakeup instead of a signal delivery so there is no point in trying to switch stacks for these. There's no other stuff on the stack, so there is no extra stack consumption. This quirk makes it possible to have the entire interrupt run on a separate stack - process preemption (and calls to schedule()) happens on a normal kernel stack. If we enable CONFIG_PREEMPT, this will need to be rethought. The IRQ stack for CPU 0 is declared in the same way as the initial kernel stack. IRQ stacks for other CPUs will be allocated dynamically. An extra field was added to the thread_info structure. When the active thread_info is copied to the IRQ stack, the real_thread field points back to the original stack. This makes it easy to tell where to copy the thread_info struct back to when the interrupt is finished. It also serves as a marker of a nested interrupt. It is NULL for the first interrupt on the stack, and non-NULL for any nested interrupts. Care is taken to behave correctly if a second interrupt comes in when the thread_info structure is being set up or taken down. I could just disable interrupts here, but I don't feel like giving up any of the performance gained by not flipping signals on and off. If an interrupt comes in during these critical periods, the handler can't run because it has no idea what shape the stack is in. So, it sets a bit for its signal in a global mask and returns. The outer handler will deal with this signal itself. Atomicity is had with xchg. A nested interrupt that needs to bail out will xchg its signal mask into pending_mask and repeat in case yet another interrupt hit at the same time, until the mask stabilizes. The outermost interrupt will set up the thread_info and xchg a zero into pending_mask when it is done. At this point, nested interrupts will look at ->real_thread and see that no setup needs to be done. They can just continue normally. Similar care needs to be taken when exiting the outer handler. If another interrupt comes in while it is copying the thread_info, it will drop a bit into pending_mask. The outer handler will check this and if it is non-zero, will loop, set up the stack again, and handle the interrupt. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ea5bc5e5bb51492f189bba44045e0de7decf4a0 Author: Jeff Dike Date: Thu May 10 22:22:32 2007 -0700 uml: tidy IRQ code Some tidying of the irq code before introducing irq stacks. Mostly style fixes, but the timer handler calls the timer code directly rather than going through the generic sig_handler_common_skas. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1a79c400a86f2f6a6735480e31f6ee159e76fa2 Author: Jeff Dike Date: Thu May 10 22:22:31 2007 -0700 uml: use UM_THREAD_SIZE in userspace code Now that we have UM_THREAD_SIZE, we can replace the calculations in user-space code (an earlier patch took care of the kernel side of the house). Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57598fd7b31f6437874308a79ca23e51c74da59b Author: Jeff Dike Date: Thu May 10 22:22:30 2007 -0700 uml: remove task_protections Replaced task_protections with stack_protections since they do the same thing, and task_protections was misnamed anyway. This needs THREAD_SIZE, so that's imported via common-offsets.h Also tidied up the code in the vicinity. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22258d406f91d7f7ee8e58f18b3722d0647f6a9a Author: Geert Uytterhoeven Date: Thu May 10 22:22:28 2007 -0700 Let SYSV68_PARTITION default to yes on VME only Don't enable SYSV68 partition table support on all m68k boxes by default, only on Motorola VME boards. Signed-off-by: Geert Uytterhoeven Cc: Philippe De Muyter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23c9bbbac57ae50dceadfda37b49785ec04dd42f Author: Hirokazu Takata Date: Thu May 10 22:22:28 2007 -0700 m32r: fix pte_to_pgoff(), pgoff_to_pte() and __swp_type() macros This patch is required to handle file-mapped or swapped-out pages correctly. - Fix pte_to_pgoff() and pgoff_to_pte() macros not to include _PAGE_PROTNONE bit of PTE. Mask value for { ACCESSED, N, (R, W, X), L, G } is not 0xef but 0x7f. - Fix __swp_type() macro for MAX_SWAPFILES_SHIFT(=5), which is defined in include/linux/swap.h. * M32R TLB format [0] [1:19] [20:23] [24:31] +-----------------------+----+-------------+ | VPN |0000| ASID | +-----------------------+----+-------------+ +-+---------------------+----+-+---+-+-+-+-+ |0 PPN |0000|N|AC |L|G|V| | +-+---------------------+----+-+---+-+-+-+-+ || RWX | | * software bits in PTE || | +-- _PAGE_FILE | _PAGE_DIRTY || +---- _PAGE_PRESENT |+---------------- _PAGE_ACCESSED +----------------- _PAGE_PROTNONE Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d4f64681695b0e389f7121eb647b27c602990bc Author: Hirokazu Takata Date: Thu May 10 22:22:26 2007 -0700 m32r: fix tme_handler to check _PAGE_PRESENT bit Fix the tlb-miss handler (tme_handler) to check _PAGE_PRESENT bit in order to handle file-mapped or swapped-out pages correctly. This patch is required to fix unexpected page errors for m32r. Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43c09ce7927912c7867617cba0a265beea38a154 Author: Hirokazu Takata Date: Thu May 10 22:22:25 2007 -0700 m32r: fix switch_to macro to push/pop frame pointer if needed This patch fixes a rarely-happened but severe scheduling problem of the recent m32r kernel of 2.6.17-rc3 or later. In the following previous m32r patch, the switch_to macro was modified not to do unnecessary push/pop operations for tuning. > [PATCH] m32r: update switch_to macro for tuning > 4127272c38619c56f0c1aa01d01c7bd757db70a1 In this modification, only 'lr' and 'sp' registers are push/pop'ed, assuming that the m32r kernel is always compiled with -fomit-frame-pointer option. However, in 2.6 kernel, kernel/sched.c is irregularly compiled with -fno-omit-frame-pointer if CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER is not defined. -- kernel/Makefile -- : ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y) # According to Alan Modra , the -fno-omit-frame-pointer is # needed for x86 only. Why this used to be enabled for all architectures is beyond # me. I suspect most platforms don't need this, but until we know that for sure # I turn this off for IA-64 only. Andreas Schwab says it's also needed on m68k # to get a correct value for the wait-channel (WCHAN in ps). --davidm CFLAGS_sched.o := $(PROFILING) -fno-omit-frame-pointer endif : --- Therefore, for the recent m32r kernel, we have to push/pop 'fp' (frame pointer) if CONFIG_FRAME_POINTER is defined or CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER is not defined. Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44316634460a6b368ad3160da6cba3b4725a1433 Author: Yoshinori Sato Date: Thu May 10 22:22:23 2007 -0700 h8300 syscall update h8300 systemcall entry table update. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a9d6e7cb0d1e5acc61d481d7a1ea25c294c3dff Author: David Rientjes Date: Thu May 10 22:22:22 2007 -0700 frv: gdb: use __maybe_unused Replace function instances of __attribute__((unused)) with __maybe_unused to suppress warnings. Cc: David Howells Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39bf6270f524bbe2682b56f2a979703abf937dd1 Author: Christoph Lameter Date: Thu May 10 22:22:21 2007 -0700 VM statistics: Make timer deferrable VM statistics updates do not matter if the kernel is in idle powersaving mode. So allow the timer to be deferred. It would be better though if we could switch the timer between deferrable and nondeferrable based on differentials present. The timer would start out nondeferrable and if we find that there were no updates in the last statistics interval then we would switch the timer to deferrable. If the timer later finds again that there are differentials then go to nondeferrable again. And yet another way would be to run the timer shortly before going to idle? The solution here means that the VM counters may be slightly off during idle since differentials may be still pending while the timer is deferred. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45222b9e02fb282eb0a8007a3d992dd229ec2410 Author: David Howells Date: Thu May 10 22:22:20 2007 -0700 AFS: implement statfs Implement the statfs() op for AFS. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f300ca9284caabdd2c07c7f91b90f1f530f614e Author: David Howells Date: Thu May 10 22:22:20 2007 -0700 AFS: fix a couple of problems with unlinking AFS files Fix a couple of problems with unlinking AFS files. (1) The parent directory wasn't being updated properly between unlink() and the following lookup(). It seems that, for some reason, invalidate_remote_inode() wasn't discarding the directory contents correctly, so this patch calls invalidate_inode_pages2() instead on non-regular files. (2) afs_vnode_deleted_remotely() should handle vnodes that don't have a source server recorded without oopsing. Signed-off-b