commit f695baf2df9e0413d3521661070103711545207a Author: Linus Torvalds Date: Sun Jul 22 13:41:00 2007 -0700 Linux 2.6.23-rc1 Signed-off-by: Linus Torvalds commit 037e20a3c5c206efdf63f1b45c8b082fc57253d2 Author: Andi Kleen Date: Sun Jul 22 21:13:11 2007 +0200 x86_64: Rename CF Makefile variable in vdso This avoids a conflict with sparse builds. Reported by Alexey Dobriyan, fix suggested by Al Viro Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b053c204edbc82b068fe8cfc809b7f90b885fae0 Author: Eric W. Biederman Date: Sat Jul 21 12:53:19 2007 -0600 9p: Don't use binary sysctl numbers. The recent 9p commit: bd238fb431f31989898423c8b6496bc8c4204a86 that supposedly only moved files also introduced a new 9p sysctl interface that did not properly register it's sysctl binary numbers. And since it was only for debugging clearly did not need a binary fast path in any case. So this patch just remove the binary numbers. See Documentation/sysctl/ctl_unnumbered.txt for more details. While I was at it I cleaned up the sysctl initializers a little as well so there is less to read. Cc: Latchesar Ionkov Cc: Eric Van Hensbergen Signed-off-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit f56d35e7aa78ac56a93ff43da90e8d90a37a1362 Author: Linus Nilsson Date: Sat Jul 21 17:49:06 2007 +0200 Documentation: Fix a mispelt "probably" in SubmittingPatches. Fix a typo in SubmittingPatches where "probably" was spelt "probabally". Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit e3202262eccf9b5669abea848303e79bd84dc1bb Author: Linus Nilsson Date: Sat Jul 21 17:25:34 2007 +0200 DocBook: Change a headline in kernel-locking to list all three main types of locking. Change a headline to reflect that there are three main types of kernel locking, not two. Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit e9ed7e722e3f4cea07cf3c4bfe98c18180a17793 Author: Al Viro Date: Sat Jul 21 23:29:12 2007 +0100 take declarations of enable_irq() et.al. to linux/interrupt.h Now that the last inlined instances are gone, all that is left to do is turning disable_irq_nosync on arm26 and m68k from defines to aliases and we are all set - we can make these externs in linux/interrupt.h uncoditional and kill remaining instances in asm/irq.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b91421749a1840148d8c81637c03c0ace3f35269 Author: James Bottomley Date: Sun Jul 22 13:15:55 2007 -0500 [SCSI] libsas: make ATA functions selectable by a config option Not everyone wants libsas automatically to pull in libata. This patch makes the behaviour configurable, so you can build libsas with or without ATA support. Signed-off-by: James Bottomley commit 0f760f13012322c81714812d852429fe23b16dcf Author: Andi Kleen Date: Sun Jul 22 13:21:42 2007 +0200 x86_64: Fix xen section warnings Fix WARNING: vmlinux.o(.data+0x99): Section mismatch: reference to .init.text:xen_start_kernel (between 'startup_xen' and 'boot_gdt_descr') Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5f3f7cc6ad3b548ba5f61051426df28f79fc0ee8 Author: Andi Kleen Date: Sun Jul 22 13:21:41 2007 +0200 x86_64: Fix paravirt compilation Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 41089644c110756a6d09ace77c8d7624660d086a Author: Al Viro Date: Sun Jul 22 10:59:06 2007 +0100 fix broken handling of port=... in NFS option parsing Obviously broken on little-endian; fortunately, the option is not frequently used... Signed-off-by: Al Viro [ Hey, sparse is wonderful, but even better than sparse is having people like Al that actually _run_ it and fix bugs using it. - Linus ] Signed-off-by: Linus Torvalds commit 77668791d96436f48fca94255934b67dab924a0f Author: Avi Kivity Date: Sun Jul 22 12:40:30 2007 +0300 KVM: Require CONFIG_ANON_INODES Found by Sebastian Siewior and randconfig. Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 83e2b5ef056cba890750436bc9aa37b2c4f58314 Author: Andi Kleen Date: Sun Jul 22 11:12:47 2007 +0200 x86_64: Share msidef.h and hypertransport.h includes with i386 They are identical Indirectly pointed out by Thomas Gleixner Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b5d009ca6b36632b5f7c0ccdac30301e014ab616 Author: Andi Kleen Date: Sun Jul 22 11:12:46 2007 +0200 x86_64: Remove outdated comment in boot decompressor Makefile 64bit code in there now since some time. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 92417df076f75738ae22956f7ea1b9b98f59fa7a Author: Andi Kleen Date: Sun Jul 22 11:12:45 2007 +0200 x86_64: Squash initial_code modpost warnings Get rid of warnings like WARNING: vmlinux.o(.bootstrap.text+0x1a8): Section mismatch: reference to .init.text:x86_64_start_kernel (between 'initial_code' and 'init_rsp') - Move initialization code into .text.head like i386 because modpost knows about this already - Mark initial_code .initdata Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit dec2e6b7aa5d45bc3508e19907a7716b0c5307e5 Author: Sam Ravnborg Date: Sun Jul 22 11:12:44 2007 +0200 x86_64: fix section mismatch warning in init.c Fix following warning: WARNING: vmlinux.o(.text+0x188ea): Section mismatch: reference to .init.text:__alloc_bootmem_core (between 'alloc_bootmem_high_node' and 'get_gate_vma') alloc_bootmem_high_node() is only used from __init scope so declare it __init. And in addition declare the weak variant __init too. Signed-off-by: Sam Ravnborg Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7aa6ec56b9e9e95eb6c83516ddbb6159fd11c224 Author: Sam Ravnborg Date: Sun Jul 22 11:12:42 2007 +0200 x86_64: fix section mismatch warning in hpet.c Fix following warnings: WARNING: vmlinux.o(.text+0x945e): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit') WARNING: vmlinux.o(.text+0x9474): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit') hpet_arch_init is only used from __init context so mark it __init. Signed-off-by: Sam Ravnborg Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a284b0518d2fe27cdde19485c8fe077a128cd827 Author: Björn Steinbrink Date: Sun Jul 22 11:12:41 2007 +0200 i386: Fix the K7 NMI watchdog checkbit The performance counters on K7 are only 48 bits wide, so using bit 63 to check if the counter overflowed is wrong. Let's use bit 47 instead. Signed-off-by: Björn Steinbrink Cc: Don Zickus Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e05aff854c9f348629bb66c191eee87e4d002900 Author: Andi Kleen Date: Sun Jul 22 11:12:40 2007 +0200 i386: Use patchable lock prefix in set_64bit Previously lock was unconditionally used, but shouldn't be needed on UP systems. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 57c22f49e4c7d27a03e109a317c30b12f1bae0b2 Author: Andi Kleen Date: Sun Jul 22 11:12:39 2007 +0200 i386: Handle P6s without performance counters in nmi watchdog I got an oops while booting a 32bit kernel on KVM because it doesn't implement performance counters used by the NMI watchdog. Handle this case. Cc: Avi Kivity Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f25f64ed5bd3c2932493681bdfdb483ea707da0a Author: Juergen Beisert Date: Sun Jul 22 11:12:38 2007 +0200 x86: Replace NSC/Cyrix specific chipset access macros by inlined functions. Due to index register access ordering problems, when using macros a line like this fails (and does nothing): setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88); With inlined functions this line will work as expected. Note about a side effect: Seems on Geode GX1 based systems the "suspend on halt power saving feature" was never enabled due to this wrong macro expansion. With inlined functions it will be enabled, but this will stop the TSC when the CPU runs into a HLT instruction. Kernel output something like this: Clocksource tsc unstable (delta = -472746897 ns) This is the 3rd version of this patch. - Adding missed arch/i386/kernel/cpu/mtrr/state.c Thanks to Andres Salomon - Adding some big fat comments into the new header file Suggested by Andi Kleen AK: fixed x86-64 compilation Signed-off-by: Juergen Beisert Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bdda1561ffda764583a295229db66d94cf6038a3 Author: Mathieu Desnoyers Date: Sun Jul 22 11:12:37 2007 +0200 x86_64: x86_64 - Use non locked version for local_cmpxchg() local_cmpxchg() should not use any LOCK prefix. This change probably got lost in the move to cmpxchg.h. Signed-off-by: Mathieu Desnoyers Acked-by: Christoph Lameter Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 20fe1d30e7e1c2ee36f11856f090613b0ad58b48 Author: Keith Owens Date: Sun Jul 22 11:12:36 2007 +0200 i386: Do not include other cpus' interrupt 0 in nmi_watchdog kstat_irqs(0) includes the count of interrupt 0 from all cpus, not just the current cpu. The updated interrupt 0 on other cpus can stop the nmi_watchdog from tripping, so only include the current cpu's int 0. Signed-off-by: Keith Owens Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 398cf2abdb51fc96bc08f2a007b1aa25ba6adfba Author: Andi Kleen Date: Sun Jul 22 11:12:35 2007 +0200 i386: Tune AMD Fam10h/11h like K8 This mainly changes the nops for alternative, so not very revolutionary. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0bd8acd1a7fbb5492c1de8af271b6964a7fd5274 Author: Andi Kleen Date: Sun Jul 22 11:12:34 2007 +0200 x86_64: Set K8 CPUID flag for K8/Fam10h/Fam11h Previously this flag was only used on 32bit, but some shared code can use it now. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit fbab6e7a5cdcc53c2f56404ae0f7f5a3fd48f609 Author: Andi Kleen Date: Sun Jul 22 11:12:33 2007 +0200 i386: Fix cpu_llc_id section mismatch warning Fix WARNING: arch/i386/kernel/built-in.o(.text+0xdd0d): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary') WARNING: arch/i386/kernel/built-in.o(.text+0xdd1b): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary') Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8f4e956b313dcccbc7be6f10808952345e3b638c Author: Andi Kleen Date: Sun Jul 22 11:12:32 2007 +0200 x86: Stop MCEs and NMIs during code patching When a machine check or NMI occurs while multiple byte code is patched the CPU could theoretically see an inconsistent instruction and crash. Prevent this by temporarily disabling MCEs and returning early in the NMI handler. Based on discussion with Mathieu Desnoyers. Cc: Mathieu Desnoyers Cc: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177 Author: Andi Kleen Date: Sun Jul 22 11:12:31 2007 +0200 x86: Fix alternatives and kprobes to remap write-protected kernel text Reenable kprobes and alternative patching when the kernel text is write protected by DEBUG_RODATA Add a general utility function to change write protected text. The new function remaps the code using vmap to write it and takes care of CPU synchronization. It also does CLFLUSH to make icache recovery faster. There are some limitations on when the function can be used, see the comment. This is a newer version that also changes the paravirt_ops code. text_poke also supports multi byte patching now. Contains bug fixes from Zach Amsden and suggestions from Mathieu Desnoyers. Cc: Jan Beulich Cc: Jeremy Fitzhardinge Cc: Mathieu Desnoyers Cc: Zach Amsden Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f51c94528a9bc73504928926ca4d791a2b7ddd7c Author: Glauber de Oliveira Costa Date: Sun Jul 22 11:12:29 2007 +0200 x86_64: Use read and write crX in .c files This patch uses the read and write functions provided at system.h for control registers instead of writting raw assembly over and over again in .c files. Functions to manipulate cr2 and cr8 were provided, as they were lacking. Also, removed some extra space after closing brackets Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit abd4f7505bafdd6c5319fe3cb5caf9af6104e17a Author: Masoud Asgharifard Sharbiani Date: Sun Jul 22 11:12:28 2007 +0200 x86: i386-show-unhandled-signals-v3 This patch makes the i386 behave the same way that x86_64 does when a segfault happens. A line gets printed to the kernel log so that tools that need to check for failures can behave more uniformly between debug.show_unhandled_signals sysctl variable to 0 (or by doing echo 0 > /proc/sys/debug/exception-trace) Also, all of the lines being printed are now using printk_ratelimit() to deny the ability of DoS from a local user with a program like the following: main() { while (1) if (!fork()) *(int *)0 = 0; } This new revision also includes the fix that Andrew did which got rid of new sysctl that was added to the system in earlier versions of this. Also, 'show-unhandled-signals' sysctl has been renamed back to the old 'exception-trace' to avoid breakage of people's scripts. AK: Enabling by default for i386 will be likely controversal, but let's see what happens AK: Really folks, before complaining just fix your segfaults AK: I bet this will find a lot of silent issues Signed-off-by: Masoud Sharbiani Signed-off-by: Andi Kleen [ Personally, I've found the complaints useful on x86-64, so I'm all for this. That said, I wonder if we could do it more prettily.. -Linus ] Signed-off-by: Linus Torvalds commit 5fa63fccc579ac609fc7f86d29ccb3a2edf910d7 Author: Al Viro Date: Sun Jul 22 08:10:35 2007 +0100 Fix ppc64 mismerge Fix a mismerge in commit 8b6f50ef1d5cc86b278eb42bc91630fad455fb10: "spufs: make signal-notification files readonly for NOSCHED contexts", where structs got duplicated. Signed-off-by: Al Viro Acked-by: Jeremy Kerr Signed-off-by: Linus Torvalds commit 06cfa556949ead5d3c00dc68108c443be8dd8d17 Author: Ben Dooks Date: Sun Jul 22 16:23:02 2007 +0100 [ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410 Move register and other definitions out of the include/asm-arm/arch-s3c2410 into the the arch directories of include/asm-arm/plat-s3c24xx and include/asm-arm/plat-s3c. This move is in preperation of the merging of s3c2400 and s3c6400. The following git mv commands are needed before this patch can be applied: git mv include/asm-arm/arch-s3c2410/regs-ac97.h include/asm-arm/plat-s3c/regs-ac97.h git mv include/asm-arm/arch-s3c2410/regs-adc.h include/asm-arm/plat-s3c/regs-adc.h git mv include/asm-arm/arch-s3c2410/regs-iis.h include/asm-arm/plat-s3c24xx/regs-iis.h git mv include/asm-arm/arch-s3c2410/regs-spi.h include/asm-arm/plat-s3c24xx/regs-spi.h git mv include/asm-arm/arch-s3c2410/regs-udc.h include/asm-arm/plat-s3c24xx/regs-udc.h git mv include/asm-arm/arch-s3c2410/udc.h include/asm-arm/plat-s3c24xx/udc.h Signed-off-by: Ben Dooks Signed-off-by: Russell King commit dd1313a167a9d29c349b3244dffac274bb0bf486 Author: Ben Dooks Date: Sun Jul 22 16:22:06 2007 +0100 [ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers We've fixed up a number of faults with the uncompressors so remove the now unused FIFO_MAX as it is not needed. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0d685cad354b773fbb6a698e73097f8b5aa4a342 Author: Ben Dooks Date: Sun Jul 22 16:21:21 2007 +0100 [ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h Split the S3C2400 out of S3C2410 memory.h files ready for S3C2400 support to be added. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 530ef3c2a92b3c6a9901ac7e04d1e6c0077a9f2d Author: Ben Dooks Date: Sun Jul 22 16:59:44 2007 +0100 [ARM] 4521/2: S3C: Reorganise VA mapping headers Reorganise the definition of the virtual addresses used into a common header and update the users to rename S3C2410 items into a more common S3C defined macros. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bf2a3a26d18679c94eca973cb8741e3c1ac53c43 Author: Ben Dooks Date: Sun Jul 22 16:20:04 2007 +0100 [ARM] 4520/1: S3C: Remove old VA values from static map Remove the static maps for the LCD and USB devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ae39ae0b0030d7f96a6b7b06d9c77c8ad2a07673 Author: Ben Dooks Date: Sun Jul 22 16:18:22 2007 +0100 [ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h Move the S3C2400 values to their own include directory series in include/asm-arm/arch-s3c2400 as the support for the S3C2400 is best placed in its own arch directory. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a45f82616eaa7e7fcd365ced78d3f0974b991800 Author: Ben Dooks Date: Sun Jul 22 16:16:51 2007 +0100 [ARM] 4518/1: S3C: Rename watchdog configuration options Rename the S3C24XX configuration options for the watchdog boot controls for moving to the arch/arm/plat-s3c moves. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1197b4cd5098fb862180f013a086a81507196a69 Author: Ben Dooks Date: Sun Jul 22 16:15:44 2007 +0100 [ARM] 4517/1: S3C: Fix debug macros for ARM926 output Check for ARM926 based S3C24XX based devices as these only have 64 byte FIFOs, and do not have the model detection refisters in the same place as the ARM920 based CPUs Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5c49218a15188cc036364c4cda325bae3cb138ae Author: Ben Dooks Date: Sun Jul 22 16:14:02 2007 +0100 [ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926 Ensure we check for ARM926 in the uncompressor, as all current ARM926s do not have an ID register and all have S3C2440 style UARTs. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a14a26aca610bbd09fb62fb9fd5dbf6b41321972 Author: Ben Dooks Date: Sun Jul 22 16:13:29 2007 +0100 [ARM] 4515/1: S3C: Move uncompress code to plat-s3c Move the uncompress.h to plat-s3c Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3ec20520ddfb654b1e60f51ff5e4769afde51b36 Author: Ben Dooks Date: Sun Jul 22 16:12:04 2007 +0100 [ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART Rename DEBUG_S3C2410_PORT to DEBUG_S3C_PORT as well as DEBUG_S3C2410_UART to DEBUG_S3C_UART as part of the updates to moving to plat-s3c for S3C base support. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c76578460f1a0c4b77c33b2e8e295ccdfa893cdc Author: Ben Dooks Date: Sun Jul 22 16:11:20 2007 +0100 [ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT to be CONFIG_S3C_LOWLEVEL_UART_PORT as we move to using plat-s3c for base of S3C operations. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cbc4dbffc89fbaada94ae7873ad6631a701fd00e Author: Ben Dooks Date: Sun Jul 22 16:10:23 2007 +0100 [ARM] 4512/1: S3C: rename the debug macros for per-cpu updates Update the debug macros for use with the new per-cpu configuration and usage. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b2627588cbeb70364357048854affd52bf02fe64 Author: Ben Dooks Date: Sun Jul 22 16:09:44 2007 +0100 [ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support Update the Kconfig to create configuration options based on which CPUs are supported for the low level serial code. This means that the debug macros can be optimised for the type(s) of CPU that are being used. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 498e03b619638826a7364faed61eb0a3d2a0f0c8 Author: Ben Dooks Date: Sun Jul 22 16:08:48 2007 +0100 [ARM] 4510/1: S3C: split debug-macro support into plat-s3c Move the common parts of the debug macros into include/asm-arm/plat-s3c ready to be used for the common S3C support. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d58153d86589b6bba2dd19f4c178252f8cf2ed4f Author: Ben Dooks Date: Sun Jul 22 16:07:09 2007 +0100 [ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c Create the initial arch/arm/plat-s3c directory and start linking it into the arch/arm build heirarchy ready to receive the generic parts of the S3C24XX support to be used when adding S3C6400 devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 531b617c71e780b14af5931428e0611f930c2134 Author: Ben Dooks Date: Sun Jul 22 16:05:25 2007 +0100 [ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c This patch moves items of the s3c24xx support into a new plat-s3c directory for items that use the s3c24xx support but are not directly s3c24xx compatible, such as the s3c2400 and s3c6400. git mv commands: git mv include/asm-arm/arch-s3c2410/iic.h include/asm-arm/plat-s3c/iic.h git mv include/asm-arm/arch-s3c2410/nand.h include/asm-arm/plat-s3c/nand.h git mv include/asm-arm/arch-s3c2410/regs-iic.h include/asm-arm/plat-s3c/regs-iic.h git mv include/asm-arm/arch-s3c2410/regs-nand.h include/asm-arm/plat-s3c/regs-nand.h git mv include/asm-arm/arch-s3c2410/regs-rtc.h include/asm-arm/plat-s3c/regs-rtc.h git mv include/asm-arm/arch-s3c2410/regs-serial.h include/asm-arm/plat-s3c/regs-serial.h git mv include/asm-arm/arch-s3c2410/regs-timer.h include/asm-arm/plat-s3c/regs-timer.h git mv include/asm-arm/arch-s3c2410/regs-watchdog.h include/asm-arm/plat-s3c/regs-watchdog.h Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 52c543f90c4095dff71dc125017594b61a753069 Author: Quinn Jensen Date: Mon Jul 9 22:06:53 2007 +0100 [ARM] 4461/1: MXC platform and i.MX31ADS core support This patch adds the foundation pieces for the Freescale MXC platforms, including i.MX2 and i.MX3 based systems. The bare-bones MX31 support in this patch boots to the rootdev panic with 8250 serial console configured "console=ttyS0,115200". It assumes that Redboot is the boot loader. Signed-off-by: Quinn Jensen Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 7bbb18c9f4783b6fb3bf27af71625b590cf4f00b Author: Bill Gatliff Date: Sat Jul 21 03:39:36 2007 +0100 [ARM] 4507/1: pxa2xx clock_event_device Reimplements arch/arm/mach-pxa/time.c using a clock_event_device based on OSMR0. Tested on PXA270, linux-2.6.22+arm:pxa patches. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 4259fa01a2d2aa3e589b34ba7624080232d9c1ff Author: Al Viro Date: Thu Jun 7 11:13:31 2007 -0400 [PATCH] get rid of AVC_PATH postponed treatment Selinux folks had been complaining about the lack of AVC_PATH records when audit is disabled. I must admit my stupidity - I assumed that avc_audit() really couldn't use audit_log_d_path() because of deadlocks (== could be called with dcache_lock or vfsmount_lock held). Shouldn't have made that assumption - it never gets called that way. It _is_ called under spinlocks, but not those. Since audit_log_d_path() uses ab->gfp_mask for allocations, kmalloc() in there is not a problem. IOW, the simple fix is sufficient: let's rip AUDIT_AVC_PATH out and simply generate pathname as part of main record. It's trivial to do. Signed-off-by: Al Viro Acked-by: James Morris commit 74f2345b6be1410f824cb7dd638d2c10a9709379 Author: Eric Paris Date: Mon Jun 4 17:00:14 2007 -0400 [PATCH] allow audit filtering on bit & operations Right now the audit filter can match on = != > < >= blah blah blah. This allow the filter to also look at bitwise AND operations, & Signed-off-by: Eric Paris Signed-off-by: Al Viro commit c926e4f432af0f61ac2b9b637fb51a4871a3fc91 Author: Klaus Weidner Date: Wed May 16 17:45:42 2007 -0500 [PATCH] audit: fix broken class-based syscall audit The sanity check in audit_match_class() is wrong. We are able to audit 2048 syscalls but in audit_match_class() we were accidentally using sizeof(_u32) instead of number of bits in _u32 when deciding how many syscalls were valid. On ia64 in particular we were hitting syscall numbers over the (wrong) limit of 256. Fixing the audit_match_class check takes care of the problem. Signed-off-by: Klaus Weidner Signed-off-by: Al Viro commit 5b9a4262232d632c28990fcdf4f36d0e0ade5f18 Author: Steve Grubb Date: Tue May 29 10:38:18 2007 -0400 [PATCH] Make IPC mode consistent The mode fields for IPC records are not consistent. Some are hex, others are octal. This patch makes them all octal. Signed-off-by: Steve Grubb Signed-off-by: Al Viro commit 41e1703b9b88cf9b5e91cdd2f7dcded3ec3917cb Author: FUJITA Tomonori Date: Sun Jul 22 10:06:50 2007 +0900 [SCSI] bsg: unexport sg v3 helper functions blk_fill_sghdr_rq, blk_unmap_sghdr_rq, and blk_complete_sghdr_rq were exported for bsg, however bsg was changed to support only sg v4. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 7bd02a20d5fcb69e1623c3bf2b68959fe7a77fa4 Author: Jesper Juhl Date: Sun Jul 22 01:02:30 2007 +1000 [POWERPC] Clean up duplicate includes in drivers/macintosh/ Signed-off-by: Jesper Juhl Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a2b7390af4f6a9aec079dfc15874528c3adaeccb Author: Stephen Rothwell Date: Sun Jul 22 00:37:38 2007 +1000 [POWERPC] Quiet section mismatch warning on pcibios_setup WARNING: vmlinux.o(.text+0x1cefcc): Section mismatch: reference to .init.text:.pcibios_setup (between '.pci_setup' and '.pci_init') pci_setup() is marked __devinit and calls pcibios_setup. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1ad528ebfd1a32e33a7ade23a7e4eeb250ef64a7 Author: Stephen Rothwell Date: Sun Jul 22 00:33:11 2007 +1000 [POWERPC] init and exit markings for hvc_iseries Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a6dfe1dc074cc2218b2e32f67ce3a1ed4f89b200 Author: Stephen Rothwell Date: Sun Jul 22 00:31:28 2007 +1000 [POWERPC] Quiet section mismatch in hvc_rtas.c WARNING: vmlinux.o(.text+0x2066f0): Section mismatch: reference to .init.text:.add_preferred_console (between '.hvc_rtas_console_init' and '.hvc_beat_put_chars') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 51d261122d0ffac8cf91cc6e74ffcfea23faeb1c Author: Stephen Rothwell Date: Sun Jul 22 00:27:01 2007 +1000 [POWERPC] Constify of_platform_driver match_table Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit b1c30115f4861c9dd2dcaaac2a01acc67dd4cf94 Author: Stephen Rothwell Date: Sun Jul 22 00:25:00 2007 +1000 [POWERPC] hvcs: Make some things static and const Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8bf8df7120006b8c97ad3a9fcc79e2ba894c46dd Author: Stephen Rothwell Date: Sun Jul 22 00:23:03 2007 +1000 [POWERPC] Constify of_platform_driver name Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit 7fd7218610600b16f6f0af3f9d9353ba0265c09f Author: Benjamin Herrenschmidt Date: Sat Jul 21 09:55:21 2007 +1000 [POWERPC] MPIC protected sources Some HW platforms, such as the new cell blades, requires some MPIC sources to be left alone by the operating system. This implements support for a "protected-sources" property in the mpic controller node containing a list of source numbers to be protected against operating system interference. For those interested in the gory details, the MPIC on the southbridge of those blades has some of the processor outputs routed to the cell, and at least one routed as a GPIO to the service processor. It will be used in the GA product for routing some of the southbridge error interrupts to the service processor which implements some of the RAS stuff, such as checkstopping when fatal errors occurs before they can propagate. Signed-off-by: Benjamin Herrenschmidt Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 34f329db54e8154cf7faf0e7c45e7c16facfbbfe Author: Segher Boessenkool Date: Fri Jul 20 15:58:38 2007 +1000 [POWERPC] of_detach_node()'s device node argument cannot be const ...since it modifies it (when it sets the OF_DETACHED flag). Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit dd68c048d7a41b725ca3c2e23155598a5781dcbb Author: Josh Boyer Date: Fri Jul 20 13:11:10 2007 +1000 [POWERPC] Fix ARCH=ppc builds The recent signal rework broke ARCH=ppc builds with the following error: CC arch/powerpc/kernel/signal.o arch/powerpc/kernel/signal.c: In function ‘do_signal’: arch/powerpc/kernel/signal.c:142: error: implicit declaration of function ‘set_dabr’ make[1]: *** [arch/powerpc/kernel/signal.o] Error 1 This fixes it by including a function prototype in asm-ppc/system.h. Acked-by: Kumar Gala Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 461e666723b6669bc6f7ef90b49b615396d70eb8 Author: Christoph Hellwig Date: Fri Jul 20 07:50:49 2007 +1000 [POWERPC] mv64x60: Use mutex instead of semaphore Signed-off-by: Christoph Hellwig Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit adff093d6c545c882f1503607f6af14ddd90bb89 Author: Avi Kivity Date: Fri Jul 20 01:33:48 2007 +1000 [POWERPC] Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. i386 and x86_64 already received a similar treatment. Signed-off-by: Avi Kivity Signed-off-by: Paul Mackerras commit 08ae6cc15db201fa20cc4893d9500c1f6b20e560 Author: Paul Mackerras Date: Thu Jul 19 10:00:20 2007 +1000 [POWERPC] Allow exec faults on readable areas on classic 32-bit PowerPC Classic 32-bit PowerPC CPUs, and the early 64-bit PowerPC CPUs, don't provide a way to prevent execution from readable pages, that is, the MMU doesn't distinguish between data reads and instruction reads, although a different exception is taken for faults in data accesses and instruction accesses. Commit 9ba4ace39fdfe22268daca9f28c5df384ae462cf, in the course of fixing another bug, added a check that meant that a page fault due to an instruction access would fail if the vma did not have the VM_EXEC flag set. This gives an inconsistent enforcement on these CPUs of the no-execute status of the vma (since reading from the page is sufficient to allow subsequent execution from it), and causes old versions of ppc32 glibc (2.2 and earlier) to fail, since they rely on executing the word before the GOT but don't have it marked executable. This fixes the problem by allowing execution from readable (or writable) areas on CPUs which do not provide separate control over data and instruction reads. Signed-off-by: Paul Mackerras Acked-by: Jon Loeliger commit ca8ffc974d43033be6e1d4277a45822d2c3656f4 Author: Michael Neuling Date: Thu Jul 19 07:56:32 2007 +1000 [POWERPC] Fix future firmware feature fixups function failure Move firmware feature initialisation from pSeries_init_early to the earlier pSeries_probe_hypertas so they are initialised before firmware feature fixups are applied. Currently firmware feature sections are only used for iSeries which initialises the these features much earlier. This is a bug in waiting on pSeries. Also adds some whitespace fixups. Signed-off-by: Michael Neuling Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 4d404edce30f911004850d472e05a31efd751662 Author: Ishizaki Kou Date: Wed Jul 18 19:26:40 2007 +1000 [POWERPC] fix showing xmon help In some configuration, xmon help string is larger than xmon_printf buffer. We need not to use printf. This patch adds xmon_puts and change to use it to show help string. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 776568d4c93fe8def5ab4060344af554fe2b44be Author: Ishizaki Kou Date: Wed Jul 18 19:30:29 2007 +1000 [POWERPC] Make xmon_write accept a const buffer Because xmon_write doesn't change the buffer, we should add 'const' qualifier to the argument which points it. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit f8eb77d6fbdf13b94bcea48023d4e1dce4b3bffe Author: Robert P. J. Day Date: Wed Jul 18 08:21:29 2007 +1000 [POWERPC] Fix misspelled "CONFIG_CHECK_CACHE_COHERENCY" Kconfig option. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 1e57ba8dddcbb384b293f948cba190c5199cf945 Author: Geert Uytterhoeven Date: Tue Jul 17 02:35:38 2007 +1000 [POWERPC] cell: CONFIG_SPE_BASE is a typo The config symbol for SPE support is called CONFIG_SPU_BASE, not CONFIG_SPE_BASE. Signed-off-by: Geert Uytterhoeven Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ce8c47cf88af4da2ff429933c07f203a55d5d0a1 Author: Andrew Morton Date: Sun Jul 22 10:36:31 2007 +0100 leds: cr_bllcd.c: build fix Build fix for cr_bllcd.c Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit d4c5f047ae2a33296774e41abc2ac5c89283f736 Author: Zhang Rui Date: Thu Jun 14 17:43:07 2007 +0800 ACPI: Populate /sys/firmware/acpi/tables/ The file name is the signature, such as DSDT, and the contents are the binary table image. Some tables, such as the SSDT, can have multiple instances. If just one, the file is SSDT, but if 3 instances, for example, it will be SSDT1, SSDT2, SSDT3 All static tables (besides teh RSDP and RSDT themselves are exported. Dynamic tables, such as SSDT op-regions that are not declared in the RSDT, will be added in a subsequent patch. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 798d91039849486c7a4f1a458a5680cb55a65408 Author: Thomas Renninger Date: Thu May 31 17:20:39 2007 +0200 ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE Split ACPI_DEBUG into function trace enabled and not enabled. Function trace is most of the ACPI_DEBUG costs, but is not much of use for kernel ACPI debugging. Size of kernel image increased on test compile: + 48k (Full ACPI_DEBUG) + 35k (ACPI_DEBUG with function trace compiled out) Performance without function trace is also much better. Also remove ACPI_LV_DEBUG_OBJECT from default debug level as a lot vendors let Store (value, debug) in their code and this might confuse users when it pops up in syslog. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 8b8eb7d8cfc6cd95ed00cd58754e8493322505bd Author: Zhang Rui Date: Wed Jul 18 17:23:24 2007 +0800 ACPI: update ACPI proc I/F removal schedule ACPI sysfs conversion is not finished yet and some user space tools still depend on the ACPI proc I/F. We plan to finish all the sysfs conversion by January 2008 and remove the ACPI proc I/F in July 2008. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 7a9b9068b8c7b526894904c0b9b90354825b8fbd Author: Zhang Rui Date: Fri Jul 13 13:42:47 2007 +0800 ACPI: update feature-removal-schedule.txt, /sys/firmware/acpi/namespace is gone The /sys/firmware/acpi/namespace has already been removed in 2.6.21. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 9c977a453ed62396d067b75f3f272b3fb1ea3acc Author: Zhang Rui Date: Fri Jul 20 16:41:14 2007 +0800 ACPI: export ACPI events via acpi_mc_group multicast group This is an incremental patch for the recent genetlink multicast changes. Now ACPI events are exported via generic netlink multicast group. Thanks for Johannes' help on developing this patch Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 4ebf83c8cf89ab13bc23e46b0fcb6178ca23b43c Author: Dave Jones Date: Mon Jul 9 11:33:14 2007 -0700 ACPI: fix empty macros found by -Wextra ACPI has a ton of macros which make a bunch of empty if's when configured in non-debug mode. [lenb: The code it complaines about is functionally correct, so this patch is just to make -Wextra happier] #define DBG() if(...) DBG(); next_c_statement which turns into if(...) ; next_c_statement Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 0dc070bb0242481a6100c95e5deaa07b267399a8 Author: Dan Aloni Date: Mon Jul 9 11:33:18 2007 -0700 ACPI: drivers/acpi/pci_link.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 22a17780584173635dae11bb83884952b00e5181 Author: Mattia Dongili Date: Mon Jul 16 02:34:39 2007 +0900 sony-laptop: Fix event reading in sony-laptop The rewritten event reading code from sonypi was absolutely wrong, this patche makes things functional for type2 and type1 models. Cc: Andrei Paskevich Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 89892d153d0d46018241afc7944910912bcd9688 Author: Mattia Dongili Date: Mon Jul 16 02:34:38 2007 +0900 sony-laptop: Add Vaio FE to the special init sequence The Vaio FE series uses the same sequence as Vaio C series Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit bc57f865fa2282ad2b7efe02da0a752e602e982e Author: Mattia Dongili Date: Fri Jul 20 02:01:57 2007 +0900 sony-laptop: Make the driver use MSC_SCAN and a setkeycode and getkeycode key table. The following is the only way I could think of to hide some events as per Dmitry suggestions while still using the default {set,get}keycode implementation. Make the driver use MSC_SCAN and a setkeycode and getkeycode key table. Cc: Dmitry Torokhov Signed-off-by: Richard Hughes Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit b25b732a16e4e035247fa729f931ed173f9fc8e2 Author: Mattia Dongili Date: Mon Jul 16 02:34:36 2007 +0900 sony-laptop: Invoke _INI for SNC devices that provide it Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 6315fd1c9cd6870a253699f07c5ada85cfe8fecb Author: Mattia Dongili Date: Mon Jul 16 02:34:35 2007 +0900 sony-laptop: Add support for recent Vaios Fn keys (C series for now) Recent Vaios (C, AR, N, FE) need some special initialization sequence to enable Fn keys interrupts through the Embedded Controller. Moreover Fn keys have to be decoded internally using ACPI methods to get the key code. Thus a new DMI table to add SNC init time callbacks and new mappings for model-specific key code to generic sony-laptop code have been added. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 8538c3686c895f9334a3c22997b51b5a82de7550 Author: Mattia Dongili Date: Mon Jul 16 02:34:34 2007 +0900 sony-laptop: map wireless switch events to KEY_WLAN Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 044847e02d46c0a9430e19249fd68777bb1d3c98 Author: Mattia Dongili Date: Mon Jul 16 02:34:33 2007 +0900 sony-laptop: add new SNC handlers - lid state: GLID - indicator lamp: GILS/SILS - multimedia bass gain: GMGB/CMGB Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit f432255e936a892a6896e5032e2b4897423076f2 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:48 2007 -0300 ACPI: thinkpad-acpi: add locking to brightness subdriver The backlight class does all the locking needed for sysfs access, but offers no API to interface to that locking without an layer violation. Since we need to mutex-lock procfs access, implement in-driver locking for brightness. It will go away the day thinkpad-acpi procfs goes away, or the backlight class gives us a way to use its locks without a layer violation. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit c78d5c96bb65b71a54b7551b404fbaf4763ed6e4 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:47 2007 -0300 ACPI: thinkpad-acpi: bump up version to 0.15 Name it thinkpad-acpi version 0.15. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3d6f99ca00ccf861305fd8630a21f2e696886708 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:46 2007 -0300 ACPI: thinkpad-acpi: make EC-based thermal readings non-experimental Reading the 16 thermal sensors directly from the EC has been stable for about one year, in all supported ThinkPad models. Remove its "experimental" label. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a8fba3da3d11d808137be7ebeb3b6938a42f011f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:45 2007 -0300 ACPI: thinkpad-acpi: make sure DSDT TMPx readings don't return +128 We get +128 instead of -128 from the DSDT TMPx methods, due to errors when converting a EC byte return that is a s8 to an ACPI handler return that is an int. Fix it once and for all, by clamping acceptable temperature readings from DSDT TMPx so that anything outside the [-127,+127] range is converted to TP_EC_THERMAL_TMP_NA (-128). Signed-off-by: Henrique de Moraes Holschuh Cc: Michael Olbrich Signed-off-by: Len Brown commit edf0e0e56904f794c97ca6c4562d8256e3d8d8e3 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:44 2007 -0300 ACPI: thinkpad-acpi: react to Lenovo ThinkPad differences in hot key Lenovo ThinkPads have a slightly different key map layout from IBM ThinkPads (fn+f2 and fn+f3 are swapped). Knowing which one we are dealing with, we can properly set a few more hot keys up by default. Also, export the correct vendor in the input device, as that information might be useful to userspace. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 24d3b77467b6aaf59e38dce4aa86d05541858195 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:43 2007 -0300 ACPI: thinkpad-acpi: allow use of CMOS NVRAM for brightness control It appears that Lenovo decided to break the EC brightness control interface in a weird way in their latest BIOSes. Fortunately, the old CMOS NVRAM interface works just fine in such BIOSes. Add a module parameter that allows the user to select which strategy to use for brightness control: EC, NVRAM, or both. By default, do both (which is the way thinkpad-acpi used to work until now) on IBM ThinkPads, and use NVRAM only on Lenovo ThinkPads. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d5a2f2f1d68e2da538ac28540cddd9ccc733b001 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:42 2007 -0300 ACPI: thinkpad-acpi: store ThinkPad model information Keep note of ThinkPad model, BIOS and EC firmware information, and log it on startup. Makes for far more readable code in places, too. This patch also adds Lenovo's PCI ID to the pci ids table. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 86cc9445e86bef9da44f933e3849e6eb43cbf626 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:41 2007 -0300 ACPI: thinkpad_acpi: use bool for boolean parameters Some of the module parameters are boolean in nature. Make it so in fact. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 996fba08db7faf46b1a674957f60cd772ecd29ec Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:40 2007 -0300 ACPI: thinkpad-acpi: rename pci HID constant Rename an internal driver constant, on request by Len Brown. Also, document exactly what it is for. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 741553c2d29b4075d636a38792c05cd2fc62bd8a Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:39 2007 -0300 ACPI: thinkpad-acpi: checkpoint sysfs interface version due to input layer The change in the way hotkey events are handled by default, and the use of the input layer for the hotkey events are important enough features to warrant increasing the major field of the sysfs interface version. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 5c29d58f471099401513e2e567f6c28001bb0f13 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:38 2007 -0300 ACPI: thinkpad-acpi: export EV_SW SW_RADIO events The expected user case for the radio slider switch on a ThinkPad includes interfacing to applications, so that the user gets an offer to find and associate with a wireless network when the switch is changed from disabled to enabled (ThinkVantage suite). Export the information about the switch state, and switch change events as an EV_SW SW_RADIO event over the input layer. Signed-off-by: Henrique de Moraes Holschuh Cc: Dmitry Torokhov Cc: Ivo van Doorn Cc: Richard Hughes Signed-off-by: Len Brown commit e295e8508c1dd56e06c73e78a2f67f2eb563e74f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:37 2007 -0300 ACPI: thinkpad-acpi: add power-management handler capability Some subdrivers could benefit from resume handling, so add the infrastructure for simple resume handling. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1a343760b516ca5466d201bec32b1794858b18a5 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:36 2007 -0300 ACPI: thinkpad-acpi: make the input event mode the default Make the input layer the default way to deal with thinkpad-acpi hot keys, but add a kernel config option to retain the old way of doing things. This means we map a lot more keys to useful stuff by default, and also that we enable hot key handling by default on driver load (like Windows does). The documentation for proper use of this resource is also updated. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Signed-off-by: Len Brown commit 6a38abbf2b68e37493f2d5e8702b895a6c23ba0f Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:35 2007 -0300 ACPI: thinkpad-acpi: add input device support to hotkey subdriver Add input device support to the hotkey subdriver. Hot keys that have a valid keycode mapping are reported through the input layer if the input device is open. Otherwise, they will be reported as ACPI events, as they were before. Scan codes are reported (using EV_MSC MSC_SCAN events) along with EV_KEY KEY_UNKNOWN events. For backwards compatibility purposes, hot keys that used to be reported through ACPI events are not mapped to anything meaningful by default. Userspace is supposed to remap them if it wants to use the input device for hot key reporting. This patch is based on a patch by Richard Hughes . Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Dmitry Torokhov Signed-off-by: Len Brown commit 7f5d1cd6287b7b29d210f85e2343207ac4310da2 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:34 2007 -0300 ACPI: thinkpad-acpi: register input device Register an input device to send input events to userspace. This patch is based on a patch by Richard Hughes . Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Dmitry Torokhov Signed-off-by: Len Brown commit d54b7d7f8026300c612dd733d501fcbc22fd0370 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:33 2007 -0300 ACPI: thinkpad-acpi: update CMOS commands documentation The CMOS set of commands is often just used to keep the CMOS NVRAM in sync with whatever the ACPI BIOS has been doing in modern ThinkPads. In older ThinkPads, it actually carried out real actions. Document this. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 94b08713186cc47a5c367a866cc0a0a762721455 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:32 2007 -0300 ACPI: thinkpad-acpi: checkpoint sysfs interface version due to hotkey The change in the size of the hotkey mask, the hability to report the keys that use the higher bits, and the addition of the hotkey_radio_sw attribute are important enough features to warrant increasing the minor field of the sysfs interface version. Also, document a bit better how and when the thinkpad-acpi sysfs interface version will be updated. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 74941a69afcc06722685d492784414ec042ab492 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:31 2007 -0300 ACPI: thinkpad-acpi: export to sysfs the state of the radio slider switch Some ThinkPad models, notably the T60 and X60, have a slider switch to enable and disable the radios. The switch has the capability of force-disabling the radios in hardware on most models, and it is supposed to affect all radios (WLAN, WWAN, BlueTooth). Export the switch state as a sysfs attribute, on ThinkPads where it is available. Thanks to Henning Schild for asking for this feature, and for tracking down the EC register that holds the radio switch state. Signed-off-by: Henrique de Moraes Holschuh Cc: Henning Schild Signed-off-by: Len Brown commit 9b010de59cb6dcab7e167dd2a0fa5d3b31447fea Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:30 2007 -0300 ACPI: thinkpad-acpi: export hotkey maximum masks The firmware knows how many hot keys it supports, so export this information in a sysfs attribute. And the driver knows which keys are always handled by the firmware in all known ThinkPad models too, so export this information as well in a sysfs attribute. Unless you know which events need to be handled in a passive way, do *not* enable hotkeys that are always handled by the firmware. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ae92bd17ff703b3703562148c73b4d6833e6a326 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:29 2007 -0300 ACPI: thinkpad-acpi: enable more hotkeys Revise ACPI HKEY functionality to better interface with the firmware, and enable up to 32 regular hotkeys, instead of just 16 of them. Ouch. This takes care of most keys one used to have to do CMOS NVRAM polling on, and should drop the need for tpb, thinkpad-keys, and other such 5Hz NVRAM polling power vampires on most modern ThinkPads ;-) And, just to add insult to injury, this was sort of working since forever through the procfs interface, but nobody noticed or tried an echo 0xffffffff > /proc/acpi/ibm/hotkey and told me it would generate weird events. ARGH! Thanks to Richard Hughes for kicking off the work that ended up with this discovery, and to Matthew Garret for calling my attention to the fact that newer ThinkPads were indeed generating ACPI GPEs when such hot keys were pressed. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Cc: Matthew Garrett Signed-off-by: Len Brown commit b8b26402cb711de5d3bbd4515b91b6d863fea259 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:28 2007 -0300 ACPI: thinkpad-acpi: update information on T43 thermal sensor 0xc1 Update the documentation with some extra data on the T43 thermal sensor @0xc1, thanks to Alexey Fisher. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 94954cc60194796fb257802f6f65d79553c9a8ca Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:27 2007 -0300 ACPI: thinkpad-acpi: remove all uneeded initializers Remove all initializers to NULL or zero. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b964b437601a0e7d09896d5d9a85c83643e94f41 Author: Henrique de Moraes Holschuh Date: Wed Jul 18 23:45:26 2007 -0300 ACPI: thinkpad-acpi: add DMI-based modalias Add DMI-based aliases to allow module autoloading on select thinkpads. The aliases will do nothing unless the dmi-based-module-autoloading.patch patch from Lennart Poettering is applied. Lennart's patch has been accepted by greghk and will be merged eventually. Signed-off-by: Henrique de Moraes Holschuh Cc: Lennart Poettering Signed-off-by: Len Brown commit e51f802babc5e368c60fbfd08c6c11269c9253b0 Author: David Howells Date: Sat Jul 21 19:30:16 2007 -0700 [NET]: Add missing entries to family name tables Add missing entries to af_family_clock_key_strings[]. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 3167d93fc0cb81541dea551dc14411ed211eb9e0 Author: Christoph Hellwig Date: Sat Jul 21 19:22:42 2007 -0700 [SPARC64]: ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined! From: Christoph Hellwig On Fri, Jul 20, 2007 at 09:24:42AM -0400, Horst H. von Brand wrote: > When building v2.6.22-3478-g275afca on sparc64 (.config attached) I get: > > MODPOST vmlinux > Building modules, stage 2. > MODPOST 463 modules > ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined! Sorry, my fault. It looked to me like sparc64 exports sys_ioctl on it's own, but it only exports compat_sys_ioctl on it's own. Signed-off-by: David S. Miller commit 378e515c867bc7b6cb33a5aa52776d3e897e7b81 Author: Al Viro Date: Sat Jul 21 19:20:34 2007 -0700 [SPARC32]: Make PAGE_SHARED a read-mostly variable. same scheme as for sparc64, same rationale Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0f516813ce5aa78b30084cd0cc2e7e2ba1777168 Author: Al Viro Date: Sat Jul 21 19:19:38 2007 -0700 [SPARC32]: Take enable_irq/disable_irq out of line. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 32231a66b4e1b649c346dc76b7d191f7e64a663a Author: Al Viro Date: Sat Jul 21 19:18:57 2007 -0700 [SPARC32]: clean include/asm-sparc/irq.h Move stuff used only by arch/sparc/kernel/* into arch/sparc/kernel/irq.h and into individual files in there (e.g. macros internal to sun4m_irq.c, etc.) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 196bffa5dc3181897bd32e41415ec0db8dbab5e7 Author: Mark Fortescue Date: Sat Jul 21 19:17:41 2007 -0700 [SPARC32]: Fix rounding errors in ndelay/udelay implementation. __ndelay and __udelay have not been delayung >= specified time. The problem with __ndelay has been tacked down to the rounding of the multiplier constant. By changing this, delays > app 18us are correctly calculated. The problem with __udelay has also been tracked down to rounding issues. Changing the multiplier constant (to match that used in sparc64) corrects for large delays and adding in a rounding constant corrects for trunctaion errors in the claculations. Many short delays will return without looping. This is not an error as there is the fixed delay of doing all the maths to calculate the loop count. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit e0009820edfa50267eb7a3e3c43f5530325a987b Author: Jan Engelhardt Date: Sat Jul 21 19:11:35 2007 -0700 [NET]: Make NETDEVICES depend on NET. Enabling drivers from "Devices > Networking" (in menuconfig), for example SLIP and/or PLIP, throws link time errors when CONFIG_NET itself is =n. Have CONFIG_NETDEVICES depend on CONFIG_NET. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit b77f2fa6299af4bbb7aa50c5064a0f087ea089d9 Author: Al Viro Date: Sat Jul 21 19:09:41 2007 -0700 [IPV6]: endianness bug in ip6_tunnel Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 43a415138d8133587c0901d29941b821b86e9e7d Author: Stephen Rothwell Date: Sat Jul 21 19:08:13 2007 -0700 [IrDA]: TOSHIBA_FIR depends on virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit e97e2ddf07d6b6c2d621ddaec277e19f86c0cdb1 Author: Samuel Ortiz Date: Sat Jul 21 19:07:33 2007 -0700 [IrDA]: EP7211 IR driver port to the latest SIR API The EP7211 SIR driver was the only one left without a new SIR API port. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 22e1fb25e78fd47b1ef3af3b48a2b07efdd3f95f Author: Samuel Ortiz Date: Sat Jul 21 19:06:53 2007 -0700 [IrDA] Typo fix in irnetlink.c copyright Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 08f1c192c3c32797068bfe97738babb3295bbf42 Author: Muli Ben-Yehuda Date: Sun Jul 22 00:23:39 2007 +0300 x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata This patch introduces struct pci_sysdata to x86 and x86-64, and converts the existing two users (NUMA, Calgary) to use it. This lays the groundwork for having other users of sysdata, such as the PCI domains work. The Calgary bits are tested, the NUMA bits just look ok. Signed-off-by: Jeff Garzik Signed-off-by: Muli Ben-Yehuda Signed-off-by: Linus Torvalds commit 7557244ba27f63404236cb27277b98c27d856692 Author: Joachim Deguara Date: Sat Jul 21 17:11:44 2007 +0200 x86_64: make k8topology multi-core aware This makes k8topology multicore aware instead of limited to signle- and dual-core CPUs. It uses the CPUID to be more future proof. Signed-off-by: Joachim Deguara Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 81e02d19b901da0900332654fa7846d119b53221 Author: Jan Beulich Date: Sat Jul 21 17:11:42 2007 +0200 x86_64: remove __smp_alt* sections Leftovers from the removal of the more general (but abandoned) SMP alternatives. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 09fce8a195638ad038b8a58d9d8d3558c21a23ea Author: Robert P. J. Day Date: Sat Jul 21 17:11:41 2007 +0200 i386: Update alignment when 4K stacks are used. Signed-off-by: Robert P. J. Day Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit edc2cbf49682079d5344bf7f2545ed6b036fa355 Author: Stefan Richter Date: Sat Jul 21 17:11:40 2007 +0200 i386: remove old IRQ balancing debug cruft Dead or misnamed CONFIG_BALANCED_IRQ_DEBUG found by Robert P. J. Day. It's not a Kconfig variable. Since this debug code is ancient, I suggest to get rid of this misleading CONFIG_ macro by deleting all of this debug code. Signed-off-by: Stefan Richter Cc: Ingo Molnar Cc: "Robert P. J. Day" Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a1dfd851b97bfefeb50e6ccf8cd2c52f9acd8fea Author: Aaron Durbin Date: Sat Jul 21 17:11:39 2007 +0200 i386: insert HPET firmware resource after PCI enumeration has completed Insert HPET resources after pci probing has been completed in order to avoid resource conflicts with PCI resource reservation. With this change the HPET firmware resources will be identified, but it should also not cause issues when the HPET address falls on a BAR in a PCI device, and the PCI enumeration cannot reserve the resources. Signed-off-by: Aaron Durbin Cc: john stultz Cc: Thomas Gleixner Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f62e518484e9b16a0eca013e8a6764bc4f56d5fe Author: Andres Salomon Date: Sat Jul 21 17:11:38 2007 +0200 i386: basic infrastructure support for AMD geode-class machines This builds upon the existing geode infrastructure, but adds southbridge support, some GPIO functions, and a header file (asm-i386/geode.h) with some useful GX/LX detection tests. The majority of this code was written by Jordan Crouse. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Alan Cox Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5a3ece79b2aa9e71ed67689c97b3bda6135f7248 Author: Dan Aloni Date: Sat Jul 21 17:11:37 2007 +0200 x86_64: arch/x86_64/kernel/e820.c lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 753811dc82a6a39554c34c13c996c3de9f4aa634 Author: Dan Aloni Date: Sat Jul 21 17:11:36 2007 +0200 x86_64: arch/x86_64/kernel/aperture.c lower printk severity Users that use kernel log filtering (e.g. via syslogd or a proprietry method) wouldn't like to see warning prints that are not really warnings. Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9585116ba09f1d8c52d0a1346e20bb9d443e9c02 Author: Jeremy Fitzhardinge Date: Sat Jul 21 17:11:35 2007 +0200 i386: fix iounmap's use of vm_struct's size field get_vm_area always returns an area with an adjacent guard page. That guard page is included in vm_struct.size. iounmap uses vm_struct.size to determine how much address space needs to have change_page_attr applied to it, which will BUG if applied to the guard page. This patch adds a helper function - get_vm_area_size() in linux/vmalloc.h - to return the actual size of a vm area, and uses it to make iounmap do the right thing. There are probably other places which should be using get_vm_area_size(). Thanks to Dave Young for debugging the problem. [ Andi, it wasn't clear to me whether x86_64 needs the same fix. ] Signed-off-by: Jeremy Fitzhardinge Cc: Dave Young Cc: Chuck Ebbert Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2900975ef3f1df33c83e750cc1e490de3374ca8 Author: Thomas Gleixner Date: Sat Jul 21 17:11:34 2007 +0200 i386: move PIT function declarations and constants to correct header file setup_pit_timer is declared in asm-i386/timer.h. Move it to the pit header file, so it can be used by x86_64 as well. Move also the PIT constants. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 43d6ca01844789b4c695175f8c205861a06a84cb Author: Chris Wright Date: Sat Jul 21 17:11:33 2007 +0200 i386: hpet assumes boot cpu is 0 I fixed this in x86_64. Looks like the kind of thing that will break voyager on i386. Signed-off-by: Chris Wright Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f5352fd0ce41b079a01e23c01ea3578c29f097e7 Author: Thomas Gleixner Date: Sat Jul 21 17:11:32 2007 +0200 i386: remove volatile in apic.c Remove the volatile in apic. We have a cpu_relax() in the wait loop. Fix a coding style issue while at it. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f2cf8e085c0d3fd5c755d7c0de7334a50ebb728e Author: Yinghai Lu Date: Sat Jul 21 17:11:31 2007 +0200 x86_64: move iommu declaration from proto to iommu.h [akpm@linux-foundation.org: build fix] Signed-off-by: Yinghai Lu Cc: Alan Cox Cc: "Eric W. Biederman" Cc: Muli Ben-Yehuda Cc: Vivek Goyal Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1c05f093c0721894bb60fd26d174815bb7ef2b7f Author: David Rientjes Date: Sat Jul 21 17:11:30 2007 +0200 x86_64: disable srat when numa emulation succeeds When NUMA emulation succeeds, acpi_numa needs to be set to -1 so that srat_disabled() will always return true. We won't be calling acpi_scan_nodes() or registering the true nodes we've found. [hugh@veritas.com: Fix x86_64 CONFIG_NUMA_EMU build: acpi_numa needs CONFIG_ACPI_NUMA] Signed-off-by: David Rientjes Cc: Len Brown Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a7e96629efcab1ccea3a376f3f5683c8d9e882c1 Author: David Rientjes Date: Sat Jul 21 17:11:29 2007 +0200 x86_64: fix e820_hole_size based on address ranges e820_hole_size() now uses the newly extracted helper function, e820_find_active_region(), to determine the size of usable RAM in a range of PFN's. This was previously broken because of two reasons: - The start and end PFN's of each e820 entry were not properly rounded prior to excluding those entries in the range, and - Entries smaller than a page were not properly excluded from being accumulated. This resulted in emulated nodes being incorrectly mapped to ranges that were completely reserved and not candidates for being registered as active ranges. Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bc2cea6a34fdb30f118ec75db39a46a191870607 Author: Yinghai Lu Date: Sat Jul 21 17:11:28 2007 +0200 x86_64: disable the GART in shutdown For K8 system: 4G RAM with memory hole remapping enabled, or more than 4G RAM installed. when using kexec to load second kernel. In the second kernel, when mem is allocated for GART, it will do the memset for clear, it will cause restart, because some device still used that for dma. solution will be: in second kernel: disable that at first before we try to allocate mem for it. or in the first kernel: do disable that before shutdown. Andi/Eric/Alan prefer to second one for clean shutdown in first kernel. Andi also point out need to consider to AGP enable but mem less 4G case too. Signed-off-by: Yinghai Lu Cc: Alan Cox Cc: "Eric W. Biederman" Cc: Muli Ben-Yehuda Cc: Vivek Goyal Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 48dd9343d0bb54362a2ba65380fea7c8f07f9e74 Author: Robert P. J. Day Date: Sat Jul 21 17:11:26 2007 +0200 i386: replace hard-coded constant with appropriate macro from kernel.h Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 267eb01a62b1190d0bf87b1ef3b0c9d21cdb2c57 Author: Andreas Mohr Date: Sat Jul 21 17:11:25 2007 +0200 i386: add cpu_relax() to cmos_lock() Add cpu_relax() to cmos_lock() inline function for faster operation on SMT CPUs and less power consumption on others in case of lock contention (which probably doesn't happen too often, so admittedly this patch is not too exciting). [akpm@linux-foundation.org: Include the header file for cpu_relax()] Signed-off-by: Andreas Mohr Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8f03d6ce4ee20e7521b69188f6b5a9bb9ba7457f Author: Andrew Morton Date: Sat Jul 21 17:11:24 2007 +0200 x86_64: flush_tlb_kernel_range() warning fix mm/vmalloc.c: In function 'unmap_kernel_range': mm/vmalloc.c:75: warning: unused variable 'start' make it a C function so that the compiler thinks it used its arguments. Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1048fa52810a5bad542cd4929a702af5e241fa81 Author: Yinghai Lu Date: Sat Jul 21 17:11:23 2007 +0200 x86_64: change _map_single to static in pci_gart.c etc This function is called via dma_ops->.., so change it to static Signed-off-by: Yinghai Lu Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e199ece4472cdcc73f329813d67dc4280424cd2d Author: Yinghai Lu Date: Sat Jul 21 17:11:22 2007 +0200 x86_64: Geode HW Random Number Generator depends on X86_32 Signed-off-by: Yinghai Lu Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bdb345a4e3cf51dbe52955734c33003bbf0486e7 Author: Jiri Kosina Date: Sat Jul 21 17:11:21 2007 +0200 x86_64: fix wrong comment regarding set_fixmap() The function name is set_fixmap(), not fixmap_set() as stated in the comment. Also fix a typo, punctuation and lower/uppercase a bit. Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2d4fa2f665e0585cae62c3a1ea85d82ee523c8ef Author: Dan Aloni Date: Sat Jul 21 17:11:20 2007 +0200 x86_64: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7b0b8207e07f3f3ce01af37b78024c60e9f4b1f5 Author: Alessio Igor Bogani Date: Sat Jul 21 17:11:19 2007 +0200 x86_64: fix typo in acpi_pm.c Signed-off-by: Alessio Igor Bogani Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 28318daf791b692f2654cb9c89687388063bd42b Author: Thomas Gleixner Date: Sat Jul 21 17:11:18 2007 +0200 x86_64: use the global PIT lock Replace the pcspkr private PIT lock by the global PIT lock to serialize the PIT access all over the place. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 021daae2c265a844fd27bb6cc49c2bd114571069 Author: Will Schmidt Date: Sat Jul 21 17:11:17 2007 +0200 x86_64: During VM oom condition, kill all threads in process group During a VM oom condition, kill all threads in the process group. We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. Signed-off-by: Will Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 99253b8e734a7a773c0e4bedd7d8d1847c98c538 Author: Glauber de Oliveira Costa Date: Sat Jul 21 17:11:16 2007 +0200 x86_64: Move functions declarations to header file Some interrupt entry points are currently defined in i8259.c They probably belong in a header. Right now, their only user is init_IRQ, justifying their declaration in-file. But when virtualization comes in, we may be interested in using that functions in late initializations. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d24e399763f9e91cc03e4e351d75f6231d5ed4f2 Author: Andy Whitcroft Date: Sat Jul 21 17:11:15 2007 +0200 i386: move the kernel to 16MB for NUMA-Q We are seeing corruption of the decompressed kernel. It is suspected that this is platform specific as it has yet to be seen on any other x86. Move the kernel to the 16MB boundary. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 028a690a1ebc8b825b6f42214a99a5abcf9aa4c6 Author: Jesper Juhl Date: Sat Jul 21 17:11:14 2007 +0200 i386: Remove unneeded test of 'task' in dump_trace() Remove unneeded test of task != NULL from arch/i386/kernel/traps.c::dump_trace() At the start of the function we have this test: if (!task) task = current; so further down there's no need to test 'task'. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c673f1a9d994de501b674b2bb6a48bd5e912afe0 Author: William Lee Irwin III Date: Sat Jul 21 17:11:13 2007 +0200 i386: divorce CONFIG_X86_PAE from CONFIG_HIGHMEM64G PAE is useful for more than supporting more than 4GB RAM. It supports expanded swapspace and NX executable protections. Some users may want NX or expanded swapspace support without the overhead or instability of highmem. For these reasons, the following patch divorces CONFIG_X86_PAE from CONFIG_HIGHMEM64G. Cc: Mark Lord Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 075bcd1f9726b8a1caff86eda06f29f71fb21235 Author: Thomas Gleixner Date: Sat Jul 21 17:11:12 2007 +0200 i386: HPET, check if the counter works Some systems have a HPET which is not incrementing, which leads to a complete hang. Detect it during HPET setup. Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit df2edcf3b6ba54d9ffa620e322583cd994a6e54a Author: James Jarvis Date: Sat Jul 21 17:11:11 2007 +0200 i386: DMI_MATCH patch in reboot.c for SFF Dell OptiPlex 745 - fixes hang on reboot The following patch enables reboot through BIOS on the Dell Optiplex 745 Small Form Factor base, on which reboot hangs. The larger form factor does not require this, hence the match on DMI_BOARD_NAME. Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 1c10070a55a38ad8489df8afd52c9a3ffd46bbb5 Author: Rafael J. Wysocki Date: Sat Jul 21 17:11:09 2007 +0200 i386: do not restore reserved memory after hibernation On some systems the ACPI NVS area is located in the first 1 MB of RAM and it is overwritten by the i386 code during the restore after hibernation. This confuses the ACPI platform firmware that doesn't update the AC adapter status appropriately as a result (http://bugzilla.kernel.org/show_bug.cgi?id=7995). The solution is to register the reserved memory in the first 1 MB as 'nosave', so that swsusp doesn't touch it during the restore. Also, this has been done on x86_64 for a long time now, so this patch makes the i386 restore code behave like the x86_64 one. [akpm@linux-foundation.org: build fix] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 114ab8e99c52828b37c994f580e39ce341c17d3b Author: Sam Ravnborg Date: Sat Jul 21 17:11:08 2007 +0200 i386: fix section mismatch warning in intel_cacheinfo Fix following warning: WARNING: arch/i386/kernel/built-in.o(.init.text+0x3818): Section mismatch: reference to .exit.text:cache_remove_dev (between 'cacheinfo_cpu_callback' and 'cache_sysfs_init') It points out that a function marked __cpuexit is calling a function marked __cpuinit => oops. The call happens only in an error-condition which may explain why we have not seen it before. The offending function was not used anywhere else - so marked it __cpuexit. Note: This warning triggers only with a local copy of modpost but that version will soon be pushed out. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2378569dd18b3b99e3535ad06b47db7c11dde7d1 Author: Adrian Bunk Date: Sat Jul 21 17:11:07 2007 +0200 i386: pgd_{c,d}tor() static pgd_{c,d}tor() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3cc39bda26c90782f98305c34a7f769819784a61 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:06 2007 +0200 x86_64: Calgary - fold in redundant functions After the bitmap changes we can get rid of the unlocked versions of calgary_unmap_sg and iommu_free. Fold __calgary_unmap_sg and __iommu_free into their calgary_unmap_sg and iommu_free, respectively. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0b11e1c6a604014283af70e27e0f32971407fd6d Author: Yinghai Lu Date: Sat Jul 21 17:11:05 2007 +0200 x86_64: Calgary - change _map_single, etc to static there function are called via dma_ops->.., so change them to static Signed-off-by: Yinghai Lu Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 820a149705c2c2a37989554a4f4a34e3d0b0df1f Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:04 2007 +0200 x86_64: Calgary - tighten up the bitmap locking Currently the IOMMU table's lock protects both the bitmap and access to the hardware's TCE table. Access to the TCE table is synchronized through the bitmap; therefore, only hold the lock while modifying the bitmap. This gives a yummy 10-15% reduction in CPU utilization for netperf on a large SMP machine. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7354b07595b2e43b75fe353fcf18e73eb0427c9b Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:03 2007 +0200 x86_64: Calgary - fix few style problems pointed out by checkpatch.pl No actual code was harmed in the production of this patch. Thanks to Andrew Morton for telling me about checkpatch.pl. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 12de257b83e2fa9343eb7cee70a6edc85b51fbc5 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:02 2007 +0200 x86_64: tidy up debug printks Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e8f204147149e48d72e9c1e321ee72452169e34a Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:01 2007 +0200 x86_64: only reserve the first 1MB of IO space for CalIOC2 Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8bcf77055cc88228263f936b2ecf69c017906cb2 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:11:00 2007 +0200 x86_64: tabify and trim trailing whitespace Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 05b48ea61c900115add991427f52ee5eacf361a8 Author: Guillaume Thouvenin Date: Sat Jul 21 17:10:59 2007 +0200 x86_64: cleanup of unneeded macros Cleanup unneeded macros used for register space address calculation. Now we are using the EBDA to find the space address. Signed-off-by: Guillaume Thouvenin Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 07877cf6fd559cbdced7ad4c15ab225a552ab692 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:58 2007 +0200 x86_64: reserve TCEs with the same address as MEM regions This works around a bug where DMAs that have the same addresses as some MEM regions do not go through. Not clear yet if this is due to a mis-configuration or something deeper. [akpm@linux-foundation.org: coding style fixlet] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ddbd41b4e76f2b586366df0e85df80729ef90bc5 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:57 2007 +0200 x86_64: grab PLSSR too when a DMA error occurs Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8cb32dc748571fb474018172e6b59e5a06123192 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:55 2007 +0200 x86_64: make dump_error_regs a chip op Provide seperate versions for Calgary and CalIOC2 Also print out the PCIe Root Complex Status on CalIOC2 errors Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 00be3fa42f164f7e2783a5acf9766fb07fb64e68 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:54 2007 +0200 x86_64: implement CalIOC2 TCE cache flush sequence Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c38601084b386991f1614f03e0323c51236e19e1 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:53 2007 +0200 x86_64: add chip_ops and a quirk function for CalIOC2 [akpm@linux-foundation.org>: make calioc2_chip_ops static] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8a244590ca699ebbf8c5682d11c47732b7cc9db9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:52 2007 +0200 x86_64: introduce CalIOC2 support CalIOC2 is a PCI-e implementation of the Calgary logic. Most of the programming details are the same, but some differ, e.g., TCE cache flush. This patch introduces CalIOC2 support - detection and various support routines. It's not expected to work yet (but will with follow-on patches). Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 35b6dfa08736e8a362b9d41ff52ffa1eb36505a9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:51 2007 +0200 x86_64: abstract how we find the iommu_table for a device ... in preparation for doing it differently for CalIOC2. Signed-off-by: Muli Ben-Yehuda Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ff297b8c081bdc60507eaeb1838996e0c67141c8 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:50 2007 +0200 x86_64: introduce chipset specific ops Calgary and CalIOC2 share most of the same logic. Introduce struct cal_chipset_ops for quirks and tce flush logic which are [akpm@linux-foundation.org: make calgary_chip_ops static] Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b8d2ea1b87b02fc94ffcab58b29c83fbbb6a1e4e Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:49 2007 +0200 x86_64: introduce handle_quirks() for various chipset quirks Move the aic94xx split completion timeout handling there. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9882234bf2e54ebf4866245d46e2c704a1214ad9 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:48 2007 +0200 x86_64: update copyright notice Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2b663f6728ab71f0e45db41333fb0aaf5e59072 Author: Muli Ben-Yehuda Date: Sat Jul 21 17:10:47 2007 +0200 x86_64: generalize calgary_increase_split_completion_timeout ... will be used by CalIOC2 later Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9596017e79cddb4f4fd4b896425a30f86946ce85 Author: Adrian Bunk Date: Sat Jul 21 17:10:46 2007 +0200 x86: remove support for the Rise CPU The Rise CPUs were only very short-lived, and there are no reports of anyone both owning one and running Linux on it. Googling for the printk string "CPU: Rise iDragon" didn't find any dmesg available online. If it turns out that against all expectations there are actually users reverting this patch would be easy. This patch will make the kernel images smaller by a few bytes for all i386 users. Signed-off-by: Adrian Bunk Acked-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ef3e28c5b956cbb3b17531c85b698a27e83d5cf2 Author: Eric W. Biederman Date: Sat Jul 21 17:10:45 2007 +0200 x86_64: check remote IRR bit before migrating level triggered irq On x86_64 kernel, level triggered irq migration gets initiated in the context of that interrupt(after executing the irq handler) and following steps are followed to do the irq migration. 1. mask IOAPIC RTE entry; // write to IOAPIC RTE 2. EOI; // processor EOI write 3. reprogram IOAPIC RTE entry // write to IOAPIC RTE with new destination and // and interrupt vector due to per cpu vector // allocation. 4. unmask IOAPIC RTE entry; // write to IOAPIC RTE Because of the per cpu vector allocation in x86_64 kernels, when the irq migrates to a different cpu, new vector(corresponding to the new cpu) will get allocated. An EOI write to local APIC has a side effect of generating an EOI write for level trigger interrupts (normally this is a broadcast to all IOAPICs). The EOI broadcast generated as a side effect of EOI write to processor may be delayed while the other IOAPIC writes (step 3 and 4) can go through. Normally, the EOI generated by local APIC for level trigger interrupt contains vector number. The IOAPIC will take this vector number and search the IOAPIC RTE entries for an entry with matching vector number and clear the remote IRR bit (indicate EOI). However, if the vector number is changed (as in step 3) the IOAPIC will not find the RTE entry when the EOI is received later. This will cause the remote IRR to get stuck causing the interrupt hang (no more interrupt from this RTE). Current x86_64 kernel assumes that remote IRR bit is cleared by the time IOAPIC RTE is reprogrammed. Fix this assumption by checking for remote IRR bit and if it still set, delay the irq migration to the next interrupt arrival event(hopefully, next time remote IRR bit will get cleared before the IOAPIC RTE is reprogrammed). Initial analysis and patch from Nanhai. Clean up patch from Suresh. Rewritten to be less intrusive, and to contain a big fat comment by Eric. [akpm@linux-foundation.org: fix comments] Acked-by: Ingo Molnar Cc: Nanhai Zou Acked-by: Suresh Siddha Cc: Asit Mallick Cc: Keith Packard Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 22293e5806f58a9682267139678a5cc117fd3dcf Author: Venki Pallipadi Date: Sat Jul 21 17:10:44 2007 +0200 x86: round_jiffies() for i386 and x86-64 non-critical/corrected MCE polling This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi Acked-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 459029541d857258dfa9ad29e443d287a74c36fe Author: Andrew Morton Date: Sat Jul 21 17:10:43 2007 +0200 i386: add reference to the arguments Prevent stuff like this: mm/vmalloc.c: In function 'unmap_kernel_range': mm/vmalloc.c:75: warning: unused variable 'start' Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bb1995d52b05f7e671914454d0ae57bd4170ef47 Author: Alan Stern Date: Sat Jul 21 17:10:42 2007 +0200 x86: Make Alt-SysRq-p display the debug register contents This patch (as921) adds code to the show_regs() routine in i386 and x86_64 to print the contents of the debug registers along with all the others. Signed-off-by: Alan Stern Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 44bf4cea43816d43deab73c1c16361e899996eaa Author: Nigel Cunningham Date: Sat Jul 21 17:10:41 2007 +0200 x86: PM_TRACE support Signed-off-by: Nigel Cunningham Cc: Randy Dunlap Cc: "Rafael J. Wysocki" Cc: Pavel Machek Acked-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9ef231a436fddb34d806f599c97b479691b3c38b Author: Sam Ravnborg Date: Sat Jul 21 17:10:39 2007 +0200 i386: fix section mismatch warnings in mtrr Following section mismatch warnings were reported by Andrey Borzenkov: WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:amd_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x967a) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:cyrix_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x967f) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text:centaur_init_mtrr from .text between 'mtrr_bp_init' (at offset 0x9684) and 'mtrr_attrib_to_str' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa735) and 'generic_get_mtrr' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa749) and 'generic_get_mtrr' WARNING: arch/i386/kernel/built-in.o - Section mismatch: reference to .init.text: from .text between 'get_mtrr_state' (at offset 0xa770) and 'generic_get_mtrr' It was tracked down to a few functions missing __init tag. Compile tested only. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8b93789808756bcc1e5c90c99f1b1ef52f839a51 Author: Truxton Fulton Date: Sat Jul 21 17:10:38 2007 +0200 i386: fix machine rebooting Commit 59f4e7d572980a521b7bdba74ab71b21f5995538 fixed machine rebooting on Truxton's machine (when no keyboard was present). But it broke it on Lee's machine. The patch reinstates the old (pre-59f4e7d572980a521b7bdba74ab71b21f5995538) code and if that doesn't work out, try the new, post-59f4e7d572980a521b7bdba74ab71b21f5995538 code instead. Cc: Lee Garrett Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bd78432c8f209a1028f4e5bada8b1da1d8e4da09 Author: Tim Hockin Date: Sat Jul 21 17:10:37 2007 +0200 x86_64: mcelog tolerant level cleanup Background: The MCE handler has several paths that it can take, depending on various conditions of the MCE status and the value of the 'tolerant' knob. The exact semantics are not well defined and the code is a bit twisty. Description: This patch makes the MCE handler's behavior more clear by documenting the behavior for various 'tolerant' levels. It also fixes or enhances several small things in the handler. Specifically: * If RIPV is set it is not safe to restart, so set the 'no way out' flag rather than the 'kill it' flag. * Don't panic() on correctable MCEs. * If the _OVER bit is set *and* the _UC bit is set (meaning possibly dropped uncorrected errors), set the 'no way out' flag. * Use EIPV for testing whether an app can be killed (SIGBUS) rather than RIPV. According to docs, EIPV indicates that the error is related to the IP, while RIPV simply means the IP is valid to restart from. * Don't clear the MCi_STATUS registers until after the panic() path. This leaves the status bits set after the panic() so clever BIOSes can find them (and dumb BIOSes can do nothing). This patch also calls nonseekable_open() in mce_open (as suggested by akpm). Result: Tolerant levels behave almost identically to how they always have, but not it's well defined. There's a slightly higher chance of panic()ing when multiple errors happen (a good thing, IMHO). If you take an MBE and panic(), the error status bits are not cleared. Alternatives: None. Testing: I used software to inject correctable and uncorrectable errors. With tolerant = 3, the system usually survives. With tolerant = 2, the system usually panic()s (PCC) but not always. With tolerant = 1, the system always panic()s. When the system panic()s, the BIOS is able to detect that the cause of death was an MC4. I was not able to reproduce the case of a non-PCC error in userspace, with EIPV, with (tolerant < 3). That will be rare at best. Signed-off-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e02e68d31e2d436197386997727b216fee9c4623 Author: Tim Hockin Date: Sat Jul 21 17:10:36 2007 +0200 x86_64: support poll() on /dev/mcelog Background: /dev/mcelog is typically polled manually. This is less than optimal for situations where accurate accounting of MCEs is important. Calling poll() on /dev/mcelog does not work. Description: This patch adds support for poll() to /dev/mcelog. This results in immediate wakeup of user apps whenever the poller finds MCEs. Because the exception handler can not take any locks, it can not call the wakeup itself. Instead, it uses a thread_info flag (TIF_MCE_NOTIFY) which is caught at the next return from interrupt or exit from idle, calling the mce_user_notify() routine. This patch also disables the "fake panic" path of the mce_panic(), because it results in printk()s in the exception handler and crashy systems. This patch also does some small cleanup for essentially unused variables, and moves the user notification into the body of the poller, so it is only called once per poll, rather than once per CPU. Result: Applications can now poll() on /dev/mcelog. When an error is logged (whether through the poller or through an exception) the applications are woken up promptly. This should not affect any previous behaviors. If no MCEs are being logged, there is no overhead. Alternatives: I considered simply supporting poll() through the poller and not using TIF_MCE_NOTIFY at all. However, the time between an uncorrectable error happening and the user application being notified is *the*most* critical window for us. Many uncorrectable errors can be logged to the network if given a chance. I also considered doing the MCE poll directly from the idle notifier, but decided that was overkill. Testing: I used an error-injecting DIMM to create lots of correctable DRAM errors and verified that my user app is woken up in sync with the polling interval. I also used the northbridge to inject uncorrectable ECC errors, and verified (printk() to the rescue) that the notify routine is called and the user app does wake up. I built with PREEMPT on and off, and verified that my machine survives MCEs. [wli@holomorphy.com: build fix] Signed-off-by: Tim Hockin Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f528e7ba28492e363a64c80c414ded4cadf48f89 Author: Tim Hockin Date: Sat Jul 21 17:10:35 2007 +0200 x86_64: O_EXCL on /dev/mcelog Background: /dev/mcelog is a clear-on-read interface. It is currently possible for multiple users to open and read() the device. Users are protected from each other during any one read, but not across reads. Description: This patch adds support for O_EXCL to /dev/mcelog. If a user opens the device with O_EXCL, no other user may open the device (EBUSY). Likewise, any user that tries to open the device with O_EXCL while another user has the device will fail (EBUSY). Result: Applications can get exclusive access to /dev/mcelog. Applications that do not care will be unchanged. Alternatives: A simpler choice would be to only allow one open() at all, regardless of O_EXCL. Testing: I wrote an application that opens /dev/mcelog with O_EXCL and observed that any other app that tried to open /dev/mcelog would fail until the exclusive app had closed the device. Caveats: None. Signed-off-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a5ba7971045a90a36cef8f7d5a3075600b475b74 Author: Aaron Durbin Date: Sat Jul 21 17:10:34 2007 +0200 i386: insert unclaimed MMCONFIG resources Insert the unclaimed MMCONFIG resources into the resource tree without the IORESOURCE_BUSY flag during late initialization. This allows the MMCONFIG regions to be visible in the iomem resource tree without interfering with other system resources that were discovered during PCI initialization. [akpm@linux-foundation.org: nanofixes] Signed-off-by: Aaron Durbin Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 08705b89ecb0f4b0ba5735630ef988bd9fd9dd95 Author: David Rientjes Date: Sat Jul 21 17:10:33 2007 +0200 x86_64: fake apicid_to_node mapping for fake numa When we are in the emulated NUMA case, we need to make sure that all existing apicid_to_node mappings that point to real node ID's now point to the equivalent fake node ID's. If we simply iterate over all apicid_to_node[] members for each node, we risk remapping an entry if it shares a node ID with a real node. Since apicid's may not be consecutive, we're forced to create an automatic array of apicid_to_node mappings and then copy it over once we have finished remapping fake to real nodes. Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3484d79813707bb6045773953a809abba443dc20 Author: David Rientjes Date: Sat Jul 21 17:10:32 2007 +0200 x86_64: fake pxm-to-node mapping for fake numa For NUMA emulation, our SLIT should represent the true NUMA topology of the system but our proximity domain to node ID mapping needs to reflect the emulated state. When NUMA emulation has successfully setup fake nodes on the system, a new function, acpi_fake_nodes() is called. This function determines the proximity domain (_PXM) for each true node found on the system. It then finds which emulated nodes have been allocated on this true node as determined by its starting address. The node ID to PXM mapping is changed so that each fake node ID points to the PXM of the true node that it is located on. If the machine failed to register a SLIT, then we assume there is no special requirement for emulated node affinity so we use the default LOCAL_DISTANCE, which is newly exported to this code, as our measurement if the emulated nodes appear in the same PXM. Otherwise, we use REMOTE_DISTANCE. PXM_INVAL and NID_INVAL are also exported to the ACPI header file so that we can compare node_to_pxm() results in generic code (in this case, the SRAT code). Cc: Len Brown Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3af044e0f832cfa3fcdce14dc30678b79dd36995 Author: David Rientjes Date: Sat Jul 21 17:10:31 2007 +0200 x86_64: extract helper function from e820_register_active_regions The logic in e820_find_active_regions() for determining the true active regions for an e820 entry given a range of PFN's is needed for e820_hole_size() as well. e820_hole_size() is called from the NUMA emulation code to determine the reserved area within an address range on a per-node basis. Its logic should duplicate that of finding active regions in an e820 entry because these are the only true ranges we may register anyway. [akpm@linux-foundation.org: cleanup] Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 34feb2c83beb3bdf13535a36770f7e50b47ef299 Author: Christoph Lameter Date: Sat Jul 21 17:10:30 2007 +0200 x86_64: Quicklist support for x86_64 This adds caching of pgds and puds, pmds, pte. That way we can avoid costly zeroing and initialization of special mappings in the pgd. A second quicklist is useful to separate out PGD handling. We can carry the initialized pgds over to the next process needing them. Also clean up the pgd_list handling to use regular list macros. There is no need anymore to avoid the lru field. Move the add/removal of the pgds to the pgdlist into the constructor / destructor. That way the implementation is congruent with i386. Signed-off-by: Christoph Lameter Cc: "David S. Miller" Cc: "Luck, Tony" Acked-by: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f0a7a5c93dfd1c0348dbbdb6f22cb82d99079c93 Author: Adrian Bunk Date: Sat Jul 21 17:10:29 2007 +0200 i386: timer_irq_works() static again timer_irq_works() needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3f9c8d19d26e016de31d1e59a573913edc64ce5c Author: Adrian Bunk Date: Sat Jul 21 17:10:28 2007 +0200 i386: arch/i386/kernel/i8253.c should #include Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 10079ae35fc91a0d5afa50eb4ccc82fb8f7124e9 Author: Adrian Bunk Date: Sat Jul 21 17:10:27 2007 +0200 i386: remapped_pgdat_init() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d5321abe6abd16e1749ccd89636415d39611e138 Author: Jan Beulich Date: Sat Jul 21 17:10:26 2007 +0200 i386: minor nx handling adjustment Constrain __supported_pte_mask and NX handling to just the PAE kernel. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 09488165d5cc795a90b789c5657b1cbd279beb16 Author: Jan Beulich Date: Sat Jul 21 17:10:25 2007 +0200 i386: smp-alt-once option is only useful with HOTPLUG_CPU Hence remove its handling in the opposite case. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d567b6a955c2c1a6b0e8fc13ecddc7d4ac4900a2 Author: Jan Beulich Date: Sat Jul 21 17:10:23 2007 +0200 x86_64: remove unused variable maxcpus .. and adjust documentation to properly reflect options that are x86-64 specific. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 74a1ddc597d83d5ca6541b15a15f80a3722e3a1e Author: Jan Beulich Date: Sat Jul 21 17:10:22 2007 +0200 x86_64: minor exception trace variables cleanup Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2f30c00702aca3229e1157718675f0ee56d2a931 Author: Jan Beulich Date: Sat Jul 21 17:10:21 2007 +0200 i386: allow debuggers to access the vsyscall page with compat vDSO Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit cdc1793ef7f5ccc47696e3d00b827e832e4c5bdb Author: Jan Beulich Date: Sat Jul 21 17:10:20 2007 +0200 x86_64: ia32entry adjustments Consolidate the three 32-bit system call entry points so that they all treat registers in similar ways. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit c3508f8f341f19f6b1c3f854f144540427668151 Author: Ravikiran G Thirumalai Date: Sat Jul 21 17:10:19 2007 +0200 x86_64: Avoid too many remote cpu references due to /proc/stat Too many remote cpu references due to /proc/stat. On x86_64, with newer kernel versions, kstat_irqs is a bit of a problem. On every call to kstat_irqs, the process brings in per-cpu data from all online cpus. Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS results in (256+32*63) * 63 remote cpu references on a 64 cpu config. /proc/stat is parsed by common commands like top, who etc, causing lots of cacheline transfers This statistic seems useless. Other 'big iron' arches disable this. AK: changed to remove for all SMP setups AK: add comment Signed-off-by: Ravikiran Thirumalai Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2618f86e0010fc6703e77af3613bac7ade46efc6 Author: Thomas Gleixner Date: Sat Jul 21 17:10:18 2007 +0200 x86_64: time.c white space wreckage cleanup Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 6935d1f922e5f676ebe98fac700da9c5bf6acfca Author: Thomas Gleixner Date: Sat Jul 21 17:10:17 2007 +0200 x86_64: apic.c coding style janitor work Fix coding style, white space wreckage and remove unused code. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0655d7c32bd21685a58fc4636f378d086396eb68 Author: Thomas Gleixner Date: Sat Jul 21 17:10:16 2007 +0200 x86: share hpet.h with i386 hpet.h in asm-i386 and asm-x86_64 contain tons of duplicated stuff. Consolidate into one shared header file. AK: Fix i386 compilation with !X86_IO_APIC Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit aec8148fda5686b671fbbd9ffd6f432a1f80ee3c Author: Thomas Gleixner Date: Sat Jul 21 17:10:15 2007 +0200 x86_64: fiuxp pt_reqs leftovers The hpet_rtc_interrupt handler still uses pt_regs. Fix it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit f40f31bfe104d50d4fceb760ec48d2effd0610aa Author: Thomas Gleixner Date: Sat Jul 21 17:10:14 2007 +0200 x86_64: Fix APIC typo Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 7ff984785cf08e96bd46f7d9c7bf4d73f871599b Author: Thomas Gleixner Date: Sat Jul 21 17:10:13 2007 +0200 x86_64: Remove dead code and other janitor work in tsc.c Remove unused code and variables and do some codingstyle / whitespace cleanups while at it. Cc: john stultz Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ef81ab2c72e6979367612502fefbb18669e37879 Author: Thomas Gleixner Date: Sat Jul 21 17:10:12 2007 +0200 x86_64: Use generic xtime init xtime can be initialized including the cmos update from the generic timekeeping code. Remove the arch specific implementation. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit af74522ab782c718783b9d85d6d53b8cbf0c7b17 Author: Thomas Gleixner Date: Sat Jul 21 17:10:11 2007 +0200 x86_64: use generic cmos update Use the generic cmos update function in kernel/time/ntp.c Cc: john stultz Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 55f93afd89fe6b9b9e12cfb2d3eb1a68e21f529e Author: Chris Wright Date: Sat Jul 21 17:10:09 2007 +0200 x86_64: Untangle asm/hpet.h from asm/timex.h When making changes to x86_64 timers, I noticed that touching hpet.h triggered an unreasonably large rebuild. Untangling it from timex.h quiets the extra rebuild quite a bit. Cc: john stultz Signed-off-by: Chris Wright Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit bef9f9de32ec201ea5372caf2c76e7c71f80ee35 Author: Chris Wright Date: Sat Jul 21 17:10:08 2007 +0200 i386: remove pit_interrupt_hook Remove pit_interrupt_hook as it adds just an extra layer. Signed-off-by: Chris Wright Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8180a550284bf2c8e13414082fc20b8983c2c401 Author: Thomas Gleixner Date: Sat Jul 21 17:10:07 2007 +0200 x86_64: hpet tsc calibration fix broken smi detection logic The current SMI detection logic in read_hpet_tsc() makes sure, that when a SMI happens between the read of the HPET counter and the read of the TSC, this wrong value is used for TSC calibration. This is not the intention of the function. The comparison must ensure, that we do _NOT_ use such a value. Fix the check to use calibration values where delta of the two TSC reads is smaller than a reasonable threshold. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e82f64e5bb0648a13630d752c35be1e7bd8bab96 Author: Björn Steinbrink Date: Sat Jul 21 17:10:06 2007 +0200 i386: Reserve the right performance counter for the Intel PerfMon NMI watchdog The Intel PerfMon NMI watchdog reserves the first performance counter, but uses the second one. Make it correctly reserve the second one. Signed-off-by: Björn Steinbrink Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d9c6d69145ec696128961204f755a3b01edc2ff6 Author: Andi Kleen Date: Sat Jul 21 17:10:05 2007 +0200 x86_64: Don't use softirq safe locks in smp_call_function It is not fully softirq safe anyways. Can't do a WARN_ON unfortunately because it could trigger in the panic case. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit af3e9a2e33952204e070bf5dfeebe293e90444b8 Author: Yinghai Lu Date: Sat Jul 21 17:10:04 2007 +0200 x86_64: remove extra extern declaring about dmi_ioremap Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 67cddd947992b02f01ad093ec814738c5827d17c Author: Andi Kleen Date: Sat Jul 21 17:10:03 2007 +0200 i386: Add L3 cache support to AMD CPUID4 emulation With that an L3 cache is correctly reported in the cache information in /sys With fixes from Andreas Herrmann and Dean Gaudet and Joachim Deguara Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 2aae950b21e4bc789d1fc6668faf67e8748300b7 Author: Andi Kleen Date: Sat Jul 21 17:10:01 2007 +0200 x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu This implements new vDSO for x86-64. The concept is similar to the existing vDSOs on i386 and PPC. x86-64 has had static vsyscalls before, but these are not flexible enough anymore. A vDSO is a ELF shared library supplied by the kernel that is mapped into user address space. The vDSO mapping is randomized for each process for security reasons. Doing this was needed for clock_gettime, because clock_gettime always needs a syscall fallback and having one at a fixed address would have made buffer overflow exploits too easy to write. The vdso can be disabled with vdso=0 It currently includes a new gettimeofday implemention and optimized clock_gettime(). The gettimeofday implementation is slightly faster than the one in the old vsyscall. clock_gettime is significantly faster than the syscall for CLOCK_MONOTONIC and CLOCK_REALTIME. The new calls are generally faster than the old vsyscall. Advantages over the old x86-64 vsyscalls: - Extensible - Randomized - Cleaner - Easier to virtualize (the old static address range previously causes overhead e.g. for Xen because it has to create special page tables for it) Weak points: - glibc support still to be written The VM interface is partly based on Ingo Molnar's i386 version. Includes compile fix from Joachim Deguara Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a586df067afe0580bb02b7a6312ca2afe49bba03 Author: Andi Kleen Date: Sat Jul 21 17:10:00 2007 +0200 x86: Support __attribute__((__cold__)) in gcc 4.3 gcc 4.3 supports a new __attribute__((__cold__)) to mark functions cold. Any path directly leading to a call of this function will be unlikely. And gcc will try to generate smaller code for the function itself. Please use with care. The code generation advantage isn't large and in most cases it is not worth uglifying code with this. This patch marks some common error functions like panic(), printk() as cold. This will longer term make many unlikely()s unnecessary, although we can keep them for now for older compilers. BUG is not marked cold because there is currently no way to tell gcc to mark a inline function told. Also all __init and __exit functions are marked cold. With a non -Os build this will tell the compiler to generate slightly smaller code for them. I think it currently only uses less alignments for labels, but that might change in the future. One disadvantage over *likely() is that they cannot be easily instrumented to verify them. Another drawback is that only the latest gcc 4.3 snapshots support this. Unfortunately we cannot detect this using the preprocessor. This means older snapshots will fail now. I don't think that's a problem because they are unreleased compilers that nobody should be using. gcc also has a __hot__ attribute, but I don't see any sense in using this in the kernel right now. But someday I hope gcc will be able to use more aggressive optimizing for hot functions even in -Os, if that happens it should be added. Includes compile fix from Thomas Gleixner. Cc: Jan Hubicka Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b520b85a963bf7b14b9614579aff14558d7ee264 Author: Andi Kleen Date: Sat Jul 21 17:09:59 2007 +0200 i386: Move all simple string operations out of line The compiler generally generates reasonable inline code for the simple cases and for the rest it's better for code size for them to be out of line. Also there they can be potentially optimized more in the future. In fact they probably should be in a .S file because they're all pure assembly, but that's for another day. Also some code style cleanup on them while I was on it (this seems to be the last untouched really early Linux code) This saves ~12k text for a defconfig kernel with gcc 4.1. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit aac57f81eb16d56afb5bd5a31ff325b5d1615580 Author: Andi Kleen Date: Sat Jul 21 17:09:58 2007 +0200 x86_64: Always use builtin memcpy on gcc 4.3 Jan asked to always use the builtin memcpy on gcc 4.3 mainline because it should generate better code than the old macro. Let's try it. Cc: Jan Hubicka Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 5b74e3abb3e9bd8a2f52a7b653941e3686c5df1a Author: Andi Kleen Date: Sat Jul 21 17:09:57 2007 +0200 x86_64: Use string instruction memcpy/memset on AMD Fam10 Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ae2c6dcf90c5a9ff9bd9a176cafd43a255fcc64b Author: David Rientjes Date: Sat Jul 21 17:09:56 2007 +0200 x86_64: various cleanups in NUMA scan node In acpi_scan_nodes(), we immediately return -1 if acpi_numa <= 0, meaning we haven't detected any underlying ACPI topology or we have explicitly disabled its use from the command-line with numa=noacpi. acpi_table_print_srat_entry() and acpi_table_parse_srat() are only referenced within drivers/acpi/numa.c, so we can mark them as static and remove their prototypes from the header file. Likewise, pxm_to_node_map[] and node_to_pxm_map[] are only used within drivers/acpi/numa.c, so we mark them as static and remove their externs from the header file. The automatic 'result' variable is unused in acpi_numa_init(), so it's removed. Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a2e212dae57071d4a4a6cbbc12d70c628fd47ad2 Author: David Rientjes Date: Sat Jul 21 17:09:55 2007 +0200 x86_64: Use LOCAL_DISTANCE and REMOTE_DISTANCE in x86_64 ACPI code Use LOCAL_DISTANCE and REMOTE_DISTANCE in x86_64 ACPI code Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 42ee2b74140b69fa24da1c671b03c9f8019e6f62 Author: Andi Kleen Date: Sat Jul 21 17:09:54 2007 +0200 x86_64: Report the pending irq if available in smp_affinity Otherwise smp_affinity would only update after the next interrupt on x86 systems. Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 78b599aed61a1098444558e74c93745f22eda6cb Author: Andi Kleen Date: Sat Jul 21 17:09:53 2007 +0200 x86_64: Don't rely on a unique IO-APIC ID Linux 64bit only uses the IO-APIC ID as an internal cookie. In the future there could be some cases where the IO-APIC IDs are not unique because they share an 8 bit space with CPUs and if there are enough CPUs it is difficult to get them that. But Linux needs the io apic ID internally for its data structures. Assign unique IO APIC ids on table parsing. TBD do for 32bit too Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9d531cc1193693f2d2e5ef2532a877481b118be6 Author: Jean Delvare Date: Sat Jul 21 17:09:52 2007 +0200 x86_64: asm/ptrace.h needs linux/compiler.h On x86_64, uses __user but doesn't include . This could lead to build failures. Signed-off-by: Jean Delvare Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 65d2f0bc65b0249a22a6c1f49ec29ee5e2980c7b Author: Andi Kleen Date: Sat Jul 21 17:09:51 2007 +0200 x86: Always flush pages in change_page_attr Fix a bug introduced with the CLFLUSH changes: we must always flush pages changed in cpa(), not just when they are reverted. Reenable CLFLUSH usage with that now (it was temporarily disabled for .22) Add some BUG_ONs Contains fixes from Mathieu Desnoyers Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit ad386589676403eca4e8f52c944995db56e445c3 Author: Andi Kleen Date: Sat Jul 21 17:09:50 2007 +0200 i386: Update defconfig Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 56525597619ab93abc60a22a4ee53e51a0853749 Author: Andi Kleen Date: Sat Jul 21 17:09:49 2007 +0200 x86_64: Update defconfig Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 4440e0e11d2e9eb13e6edf44f89019e4f8a4dd58 Author: Haavard Skinnemoen Date: Sat Jul 21 04:38:02 2007 -0700 atmel_lcdfb: use spare bits in 32bpp mode as alpha channel Set var->transp.offset and var->transp.length in 32bpp mode to indicate that the 8 otherwise unused bits can be used for transparency. Signed-off-by: Haavard Skinnemoen Signed-off-by: Nicolas Ferre Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cc90249ff0e21c526532ce5b5ba35c07c8b8389 Author: Adrian Bunk Date: Sat Jul 21 04:38:01 2007 -0700 rivafb_setup() must be __devinit WARNING: drivers/built-in.o(.text+0x57106): Section mismatch: reference to .init.text:rivafb_setup (between 'rivafb_init' and 'nv3Busy') Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 250a269da4e2afe815aeef97c3b115fbda4440ac Author: Nicolas Ferre Date: Sat Jul 21 04:37:59 2007 -0700 atmel_lcdfb: Fix STN LCD support Fixes STN LCD support for the atmel_lcdfb framebuffer driver. This patch is the result of a work from Jan Altenberg and has been tested on a Hitachi SP06Q002 on at91sam9261ek. It adds a Kconfig switch that enables the proper LCD in the board configuration file (STN or TFT). The switch is used in arch/arm/mach-at91/at91sam9261_devices.c & board-sam9261ek.c as an example. This patch includes the "Fix wrong line_length calculation" little one from Jan and Haavard (submitted earlier). AT91 platform informations are directly submitted trough the at91 maintainer, here : http://article.gmane.org/gmane.linux.kernel/543158 Signed-off-by: Nicolas Ferre Cc: "Antonino A. Daplas" Cc: Jan Altenberg Cc: Patrice Vilchez Cc: Andrew Victor Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029641151bfede0930a79ecabb2572dc27a3c86f Author: Thomas Hommel Date: Sat Jul 21 04:37:58 2007 -0700 rtc: add support for STK17TA8 chip This patch adds support for the Simtek STK17TA8 timekeeping chip. The STK17TA8 is quite similar to the DS1553, but differs in register layout and in various control bits in the registers. I chose to make this a new driver to avoid confusion in the code and to not get lost in #ifdefs. Signed-off-by: Thomas Hommel Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a2601f6aa837903bfb385b138b50b1e305f3e04 Author: Dale Farnsworth Date: Sat Jul 21 04:37:57 2007 -0700 rtc: update and use the MAX6900 century byte We now read and write the century byte in the max6900 chip. We probably don't need to do so on Linux-only system, but it's necessary when the chip is shared by another OS that uses the century byte. Signed-off-by: Dale Farnsworth Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55ff1aba940ff46d4f6d4fd790ea3e1a47aaa84f Author: David Brownell Date: Sat Jul 21 04:37:56 2007 -0700 rtc kconfig: point out need for static linkage Various people have expressed surprise that their modular RTC drivers don't seem to work for initializing the system time at boot. To help avoid such unpleasantness, make the Kconfig text point out that the driver probably needs to be statically linked. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef154ec69c45aa052b1fa71ee5eeaca7e7f920a3 Author: Atsushi Nemoto Date: Sat Jul 21 04:37:55 2007 -0700 rtc: do not return void value This patch fixes these sparse warnings: drivers/rtc/rtc-ds1742.c:265:2: warning: returning void-valued expression drivers/rtc/rtc-ds1553.c:409:2: warning: returning void-valued expression Signed-off-by: Atsushi Nemoto Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8214b0832cb3c0b74198e5b22c0e070aeaa3dd20 Author: Jan Engelhardt Date: Sat Jul 21 04:37:54 2007 -0700 Use menuconfig objects: ISDN/Gigaset 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: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 857038d93adce6c1dfdb12c242d7fbee1ded370d Author: Jan Engelhardt Date: Sat Jul 21 04:37:54 2007 -0700 Use menuconfig objects: ISDN Unclutter the ISDN menu a tiny bit by moving ISDN4Linux and the CAPI2.0 layers into their own menu. Signed-off-by: Jan Engelhardt Cc: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f67c5cc855d5a189fc542da3921868ca87fc274 Author: Tilman Schmidt Date: Sat Jul 21 04:37:53 2007 -0700 Use menuconfig objects - CONFIG_ISDN_I4L Remove a menu statement and several dependencies from the Kconfig files in the drivers/isdn tree as they have become unnecessary by the transformation of CONFIG_ISDN from "menu, config" into "menuconfig". (Modified version of a patch originally proposed by Jan Engelhardt.) Signed-off-by: Tilman Schmidt Cc: Jan Engelhardt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 149a6501f90df457d75a1954dd5a29434a182e6a Author: Adrian Bunk Date: Sat Jul 21 04:37:52 2007 -0700 spi.c:scan_boardinfo() mustn't be __init_or_module WARNING: drivers/built-in.o(.text+0x889735): Section mismatch: reference to .init.text:scan_boardinfo (between 'spi_register_master' and '__unregister') Signed-off-by: Adrian Bunk Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b6f50ef1d5cc86b278eb42bc91630fad455fb10 Author: Jeremy Kerr Date: Sat Jul 21 04:37:51 2007 -0700 spufs: make signal-notification files readonly for NOSCHED contexts Reading from the signal{1,2} files requires a spu_acquire_saved, so make these files write-only for contexts created with SPU_CREATE_NOSCHED. Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfd13af6270c25e8089e9c5b59ffb55d39ae74a0 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:51 2007 -0700 ps3fb: Set FBINFO_READS_FAST to speed up text console scrolling ps3fb: Set FBINFO_READS_FAST to speed up text console scrolling (on average 50%, according to my tests) Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50b2529e38eb1f954bbadec93961aabe8c801904 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:50 2007 -0700 ps3fb: Shrink default virtual frame buffer size from 18 to 9 MiB ps3fb: Shrink the default virtual frame buffer size from 18 to 9 MiB, as nobody really uses the double buffering feature and Linux can use an additional 9 MiB. It can still be overridden on the kernel command line using `ps3fb=18M'. Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23e9c94caf134cb36a22b91043796057111f6ef3 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:49 2007 -0700 ps3fb: Enable VT_HW_CONSOLE_BINDING for proper kexec ps3fb: VT_HW_CONSOLE_BINDING must be enabled to make console unbinding work, which is needed to give up all hypervisor resources before reboot or kexec. Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24ed8559c7e8205eb94088532b9dbdf2e290dfa2 Author: Geoff Levand Date: Sat Jul 21 04:37:49 2007 -0700 PS3: Fix build with 32-bit toolchains The PS3 bootwrapper files use instructions only available on 64-bit CPUs. Add the code generation directive '.machine "ppc64"' for toolchains configured for 32-bit CPUs. Signed-off-by: Geoff Levand Acked-by: Grant Likely Cc: Geert Uytterhoeven Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f96526354bb0824f3ce550a028606d2f94435b92 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:48 2007 -0700 ps3: FLASH ROM Storage Driver Add a FLASH ROM Storage Driver for the PS3: - Implemented as a misc character device driver - Uses a fixed 256 KiB buffer allocated from boot memory as the hypervisor requires the writing of aligned 256 KiB blocks Cc: Geoff Levand Signed-off-by: Geert Uytterhoeven Cc: Jens Axboe Cc: James Bottomley Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9aea8cbf2866c5680e30ff473341b7c5e93f7442 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:47 2007 -0700 ps3: BD/DVD/CD-ROM Storage Driver Add a BD/DVD/CD-ROM Storage Driver for the PS3: - Implemented as a SCSI device driver - Uses software scatter-gather with a 64 KiB bounce buffer as the hypervisor doesn't support scatter-gather Cc: Geoff Levand Signed-off-by: Geert Uytterhoeven Cc: Jens Axboe Cc: James Bottomley Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6131fa528c4fc57605c474bf8c83821aff164c0 Author: Geert Uytterhoeven Date: Sat Jul 21 04:37:45 2007 -0700 ps3: Disk Storage Driver Add a Disk Storage Driver for the PS3: - Implemented as a block device driver with a dynamic major - Disk names (and partitions) are of the format ps3d%c(%u) - Uses software scatter-gather with a 64 KiB bounce buffer as the hypervisor doesn't support scatter-gather Cc: Geoff Levand Signed-off-by: Geert Uytterhoeven Acked-by: Jens Axboe Cc: James Bottomley Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d22d26b4a5aefc5a18ac81ef4e7b46da451426 Author: Mariusz Kozlowski Date: Sat Jul 21 04:37:44 2007 -0700 powerpc: tlb_32.c build fix allnoconfig results in this: CC arch/powerpc/mm/tlb_32.o In file included from include/asm/tlb.h:60, from arch/powerpc/mm/tlb_32.c:30: include/asm-generic/tlb.h: In function 'tlb_flush_mmu': include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages' include/asm-generic/tlb.h: In function 'tlb_remove_page': include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release' Signed-off-by: Mariusz Kozlowski Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fccdb5ae7e453eb7de5592bc4ed17d10d4d90125 Author: Oliver Neukum Date: Sat Jul 21 04:37:43 2007 -0700 Documentation:reference notifiers.txt in freezing-of-tasks.txt freezing-of-tasks.txt mentions firmware issues without mentioning the use of the new notifier API to overcome them. Here's an update. Signed-off-by: Oliver Neukum Acked-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6269543ef24aa012aa228c27af3adb074f7b36b Author: Matt Mackall Date: Sat Jul 21 04:37:40 2007 -0700 slob: reduce list scanning The version of SLOB in -mm always scans its free list from the beginning, which results in small allocations and free segments clustering at the beginning of the list over time. This causes the average search to scan over a large stretch at the beginning on each allocation. By starting each page search where the last one left off, we evenly distribute the allocations and greatly shorten the average search. Without this patch, kernel compiles on a 1.5G machine take a large amount of system time for list scanning. With this patch, compiles are within a few seconds of performance of a SLAB kernel with no notable change in system time. Signed-off-by: Matt Mackall Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41f9dc5c871600f53c8912b2975971d2a11c1c25 Author: Christoph Hellwig Date: Sat Jul 21 04:37:40 2007 -0700 remove handle_mm_fault export Now that arch/powerpc/platforms/cell/spufs/fault.c is always built in the kernel there is no need to export handle_mm_fault anymore. Signed-off-by: Christoph Hellwig Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61d488da9bad8d1511d18291006bd2dd728f173d Author: Adrian Bunk Date: Sat Jul 21 04:37:39 2007 -0700 i386: intel_cacheinfo.c:find_num_cache_leaves() should be __cpuinit WARNING: arch/i386/kernel/built-in.o(.text+0xb6a7): Section mismatch: reference to .init.text:find_num_cache_leaves (between 'init_intel_cacheinfo' and 'cache_shared_cpu_map_setup') It could be __init_refok, but gcc >= 4.0 anyway inlines it into the __cpuinit init_intel_cacheinfo(), and IMHO it's too small for "noinline __init". Signed-off-by: Adrian Bunk Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7671988b9cd31daf53fd38f8e75c8b881324842b Author: Thomas Gleixner Date: Sat Jul 21 04:37:38 2007 -0700 i386: PIT stop only, when in periodic or oneshot mode The patch is necessary on one of my boxen, where programming the stop sequence twice leads to PIT malfunction. Sigh ! Signed-off-by: Thomas Gleixner Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82644459c592a28a3eab682f9b88d81019ddfe8b Author: Thomas Gleixner Date: Sat Jul 21 04:37:37 2007 -0700 NTP: move the cmos update code into ntp.c i386 and sparc64 have the identical code to update the cmos clock. Move it into kernel/time/ntp.c as there are other architectures coming along with the same requirements. [akpm@linux-foundation.org: build fixes] Signed-off-by: Thomas Gleixner Cc: Chris Wright Cc: Ingo Molnar Cc: john stultz Cc: David Miller Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99bc2fcb283852931fb6bbef40f3df8316b59000 Author: Ingo Molnar Date: Sat Jul 21 04:37:36 2007 -0700 hrtimer: speedup hrtimer_enqueue Speedup hrtimer_enqueue by evaluating the rbtree insertion result. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 820de5c39ef7f6866d2c9e6c7d208bcd2a6e1942 Author: Ingo Molnar Date: Sat Jul 21 04:37:36 2007 -0700 highres: improve debug output Add some more debug information to the hrtimer and clock events code. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3704540b48295253bd9c87a5e7ff545f9d47a3b8 Author: john stultz Date: Sat Jul 21 04:37:35 2007 -0700 tick management: spread timer interrupt After discussing w/ Thomas over IRC, it seems the issue is the sched tick fires on every cpu at the same time, causing extra lock contention. This smaller change, adds an extra offset per cpu so the ticks don't line up. This patch also drops the idle latency from 40us down to under 20us. Signed-off-by: john stultz Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5590a536c0bc403fc73908c66c1c88cbed735ecb Author: Thomas Gleixner Date: Sat Jul 21 04:37:35 2007 -0700 clockevents: fix device replacement When a device is replaced by a better rated device, then the broadcast mode needs to be evaluated again. When the new device has no requirement for broadcasting, then the broadcast bits for the CPU must be cleared. Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6 Author: Thomas Gleixner Date: Sat Jul 21 04:37:34 2007 -0700 clockevents: fix resume logic We need to make sure, that the clockevent devices are resumed, before the tick is resumed. The current resume logic does not guarantee this. Add CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock event devices before resuming the tick / oneshot functionality. Fixup the existing users. Thanks to Nigel Cunningham for tracking down a long standing thinko, which affected the jinxed VAIO. [akpm@linux-foundation.org: xen build fix] Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93da56efcf8c6a111f0349f6b7651172d4745ca0 Author: Thomas Gleixner Date: Sat Jul 21 04:37:33 2007 -0700 clockevents: remove prototypes of removed functions Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4e3cc387ea1b74c3ad2ef2f6f5c05fd6fc314b8 Author: Andrew Morton Date: Sat Jul 21 04:37:32 2007 -0700 revert "PIE randomization" There are reports of this causing userspace failures (http://lkml.org/lkml/2007/7/20/421). Revert. Cc: Jan Kratochvil Cc: Jiri Kosina Cc: Ingo Molnar Cc: Roland McGrath Cc: Jakub Jelinek Cc: Ulrich Kunitz Cc: "H. Peter Anvin" Cc: "Bret Towe" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80e27982a66ea8306a704ba8bdf634ed480d4b46 Author: Sam Ravnborg Date: Sat Jul 21 04:37:31 2007 -0700 console: fix section mismatch warning in vgacon.c Fix following section mismatch warning: WARNING: vmlinux.o(.text+0x121e62): Section mismatch: reference to .init.text:__alloc_bootmem (between 'vgacon_startup' and 'vgacon_scrolldelta') Browsing the code it seems that vgacon_scrollback_startup() is only called during the init phase so the reference to the .init.text section is OK. Teach modpost not to warn using ___init_refok. Signed-off-by: Sam Ravnborg Acked-by: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e63516c826454c964eefdd24d33e188064c6679 Author: J. Bruce Fields Date: Sat Jul 21 04:37:30 2007 -0700 knfsd: fix typo in export display, print uid and gid as unsigned For display purposes, treat uid's and gid's as unsigned ints for now. Also fix a typo. Signed-off-by: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 601e625587bf92c9f370d74a15c4e43bc6468f9f Author: Konrad Rzeszutek Date: Sat Jul 21 04:37:29 2007 -0700 i386: touch_nmi_watchdog() in print_trace_address() Prevent NMI watchdog triggering during long sysrq-T outputs. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80b16c192e469541263d6bfd9177662ceb632ecc Author: Milan Broz Date: Sat Jul 21 04:37:27 2007 -0700 dm io: fix panic on large request Flush workqueue before releasing bioset and mopools in dm-crypt. There can be finished but not yet released request. Call chain causing oops: run workqueue dec_pending bio_endio(...); mempool_free(io, cc->io_pool); This usually happens when cryptsetup create temporary luks mapping in the beggining of crypt device activation. When dm-core calls destructor crypt_dtr, no new request are possible. Signed-off-by: Milan Broz Cc: Chuck Ebbert Cc: Patrick McHardy Acked-by: Alasdair G Kergon Cc: Christophe Saout Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3fec424b23c47686efcf3f2004c3f1c1cee4d9c Author: Jan Harkes Date: Sat Jul 21 04:37:26 2007 -0700 coda: remove CODA_STORE/CODA_RELEASE upcalls This is an variation on the patch sent by Christoph Hellwig which kills file_count abuse by the Coda kernel module by moving the coda_flush functionality into coda_release. However part of reason we were using the coda_flush callback was to allow Coda to pass errors that occur during writeback from the userspace cache manager back to close(). As Al Viro explained on linux-fsdevel, it is impossible to guarantee that such errors can in fact be returned back to the caller. There are many cases where the last reference to a file is not released by the close system call and it is also impossible to pick some close as a 'last-close' and delay it until all other references have been destroyed. The CODA_STORE/CODA_RELEASE upcall combination is clearly a broken design, and it is better to remove it completely. Signed-off-by: Jan Harkes Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b50731732f926d6c49fd0724616a7344c31cd5cf Author: Paul Mundt Date: Sat Jul 21 04:37:25 2007 -0700 nommu: vmalloc_32_user()/vm_insert_page() and symbol exports. Trying to survive an allmodconfig on a nommu platform results in many screen lengths of module unhappiness. Many of the mmap related things that binfmt_flat hooks in to are never exported despite being global, and there are also missing definitions for vmalloc_32_user() and vm_insert_page(). I've implemented vmalloc_32_user() trying to stick as close to the mm/vmalloc.c implementation as possible, though we don't have any need for VM_USERMAP, so groveling for the VMA can be skipped. vm_insert_page() has been stubbed for now in order to keep the build happy. Signed-off-by: Paul Mundt Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df336d1c7b6fd510fa6d3a028f999e7586c7026e Author: Keir Fraser Date: Sat Jul 21 04:37:24 2007 -0700 Fix swiotlb_sync_single_range() If the swiotlb maps a multi-slab region, swiotlb_sync_single_range() can be invoked to sync a sub-region which does not include the first slab. Unfortunately io_tlb_orig_addr[] is only initialised for the first slab, and hence the call to sync_single() will read a garbage orig_addr in this case. This patch fixes the issue by initialising all mapped slabs in io_tlb_orig_addr[]. It also correctly adjusts the buffer pointer in sync_single() to handle the case that the given dma_addr is not aligned on a slab boundary. Signed-off-by: Keir Fraser Cc: "Luck, Tony" Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28de7948a896763bc97ccd416bba5b9422158350 Author: Cyrill Gorcunov Date: Sat Jul 21 04:37:18 2007 -0700 UDF: coding style conversion - lindent fixups This patch fixes up sources after conversion by Lindent. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71133027febfabd501fde7583b30008224f4d799 Author: Nick Piggin Date: Sat Jul 21 04:37:17 2007 -0700 x86_64: wbinvd macro fix Too many semicolons in this macro. Signed-off-by: Nick Piggin Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df468820b6881fc14e50f6b2fcffd3e945417d68 Author: FUJITA Tomonori Date: Sat Jul 21 13:23:25 2007 +0900 [SCSI] bsg: fix bsg_unregister_queue scsi_sysfs_add_sdev ignores the bsg_register_queue failure, so bsg_unregister_queue must check whether the queue has a bsg device. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 39dca558a5b52b63e49bc234a7e887be092aa690 Author: James Bottomley Date: Fri Jul 20 18:22:17 2007 -0500 [SCSI] bsg: make class backlinks Currently, bsg doesn't make class backlinks (a process whereby you'd get a link to bsg in the device directory in the same way you get one for sg). This is because the bsg device is uninitialised, so the class device has nothing it can attach to. The fix is to make the bsg device point to the cdevice of the entity creating the bsg, necessitating changing the bsg_register_queue() prototype into a form that takes the generic device. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 0e78d158b67fba3977f577f293c323359d80dd0e Author: adam radford Date: Fri Jul 20 15:28:28 2007 -0700 [SCSI] 3w-9xxx: add support for 9690SA The attached patch updates the 3ware 9000 driver: - Fix dma mask setting to fallback to 32-bit if 64-bit fails. - Add support for 9690SA controllers. Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit 6826ee4fdbe24c7aab56ce833ef94be81d190587 Author: James Bottomley Date: Fri Jul 20 16:50:10 2007 -0500 [SCSI] bsg: fix bsg_register_queue error path unfortunately, if IS_ERR(class_dev) is true, that means class_dev isn't null and the check in the error leg is pointless ... it's also asking for trouble to request unregistration of a device we haven't actually created (although it works currently). Fix by using explicit gotos and unregisters. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c4d198d5183ec7bbf8b53216cfc5ded7ebb0ec0c Author: Avi Kivity Date: Sat Jul 21 09:06:46 2007 +0300 KVM: MMU: Fix cleaning up the shadow page allocation cache __free_page() wants a struct page, not a virtual address. Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit e2f81daf23efde23d8cac1fc253d41838f0347cf Author: Stefan Roscher Date: Fri Jul 20 16:04:17 2007 +0200 IB/ehca: Support small QP queues eHCA2 supports QP queues that can be as small as 512 bytes. This greatly reduces memory overhead for consumers that use lots of QPs with small queues (e.g. RDMA-only QPs). Apart from dealing with firmware, this code needs to manage bite-sized chunks of kernel pages, making sure that no kernel page is shared between different protection domains. Signed-off-by: Hoang-Nam Nguyen commit 0c10f7b79b5bb07a37aa5927072abdc3f45ac8d3 Author: Joachim Fenkes Date: Thu Jul 19 21:40:00 2007 +0200 IB/ehca: Make internal_create/destroy_qp() static They're only used in ehca_qp.c, so make them static to that file. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 51d2bfbddb33dc59786a3a41f7eeb59e30fa561c Author: Hoang-Nam Nguyen Date: Fri Jul 20 16:02:46 2007 +0200 IB/ehca: Move ehca2ib_return_code() out of line ehca2ib_return_code() is not used in any fast path, and making it non-inline saves ~1.5K of code. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 633a5aedaee1c96347b8a6c2ae7dceb47d0c910f Author: Hoang-Nam Nguyen Date: Fri Jul 20 16:02:18 2007 +0200 IB/ehca: Generate async event when SRQ limit reached Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 5bb7d9290cd23a55906e4fe7a7fedecf29468c81 Author: Hoang-Nam Nguyen Date: Fri Jul 20 16:01:51 2007 +0200 IB/ehca: Support large page MRs Add support for MR pages larger than 4K on eHCA2. This reduces firmware memory consumption. If enabled via the mr_largepage module parameter, the MR page size will be determined based on the MR length and the hardware capabilities -- if the MR is >= 16M, 16M pages are used, for example. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 23f1b38481596ad77e5f51562977b12c8418eee3 Author: Roland Dreier Date: Fri Jul 20 21:19:43 2007 -0700 IB/mlx4: Fix error path in create_qp_common() The error handling code at err_wrid in create_qp_common() does not handle a userspace QP attached to an SRQ correctly, since it ends up in the else clause of the if statement. This means it tries to kfree() the uninitialized qp->sq.wrid and qp->rq.wrid pointers. Fix this so we only free the wrid arrays for kernel QPs. Pointed out by Michael S. Tsirkin . Signed-off-by: Roland Dreier commit 0981582dbfae86ba0306406f1af329bb702752d2 Author: Roland Dreier Date: Fri Jul 20 21:19:43 2007 -0700 mlx4_core: Change command token on timeout The FW command token is currently only updated on a command completion event. This means that on command timeout, the same token will be reused for new command, which results in a mess if the timed out command *does* eventually complete. This is the same change as the patch for mthca from Michael S. Tsirkin that was just merged. It seems sensible to avoid gratuitous differences in FW command processing between mthca and mlx4. Signed-off-by: Roland Dreier commit c1f74958dbd19f6a837d887ed416688c063af529 Author: Michael S. Tsirkin Date: Thu Jul 19 14:28:49 2007 +0300 IB/mthca: Change command token on timeout The FW command token is currently only updated on a command completion event. This means that on command timeout, the same token will be reused for new command, which results in a mess if the timed out command *does* eventually complete. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit bd631048116df40837667a72c578b170c906dd30 Author: Arthur Jones Date: Thu Jul 19 11:32:49 2007 -0700 IB/ipath: Remove ipath_layer dead code The ipath_layer.[ch] code was an attempt to provide a single interface for the ipath verbs and ipath_ether code to use. As verbs functionality increased, the layer's functionality became insufficient and the verbs code broke away to interface directly to the driver. The failed attempt to get ipath_ether upstream was the final nail in the coffin and now it sits quietly in a dark kernel.org corner waiting for someone to notice the smell and send it along to it's final resting place. Roland Dreier was that someone -- this patch expands on his work... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit f5b404317b79823ec643dfbb71d62f65a48cc178 Author: Florin Malita Date: Thu Jul 19 15:58:09 2007 -0400 IB/mlx4: Fix leaks in __mlx4_ib_modify_qp Temporarily allocated struct mlx4_qp_context *context is leaked by several error paths. The patch takes advantage of the return value 'err' being preinitialized to -EINVAL. Spotted by Coverity (CID 1768). Signed-off-by: Florin Malita Signed-off-by: Roland Dreier commit 31ce72a6b1c7635259cf522459539c0611f2c50c Author: Patrick McHardy Date: Fri Jul 20 19:45:45 2007 -0700 [NET]: Fix loopback crashes when multiqueue is enabled. From: Patrick McHardy Signed-off-by: David S. Miller commit fc7b93800b48324667e218a4b6b784b853cf4dd7 Author: Patrick McHardy Date: Fri Jul 20 19:39:17 2007 -0700 [IPV4]: Fix inetpeer gcc-4.2 warnings CC net/ipv4/inetpeer.o net/ipv4/inetpeer.c: In function 'unlink_from_pool': net/ipv4/inetpeer.c:297: warning: the address of 'stack' will always evaluate as 'true' net/ipv4/inetpeer.c:297: warning: the address of 'stack' will always evaluate as 'true' net/ipv4/inetpeer.c: In function 'inet_getpeer': net/ipv4/inetpeer.c:409: warning: the address of 'stack' will always evaluate as 'true' net/ipv4/inetpeer.c:409: warning: the address of 'stack' will always evaluate as 'true' "Fix" by checking for != NULL. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d73f5222a618a91452d41c29f5996ce3d9c63673 Author: David Miller Date: Fri Jul 20 17:32:45 2007 -0700 [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275. This matches the original driver's value and seems to be necessary for some disks on sun4c systems. Reported by Mark Fortescue Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit 1256efd5519a8eca2dfa6039ce5cf58f44d1626d Author: Sam Ravnborg Date: Fri Jul 20 17:20:56 2007 -0700 [SPARC64]: fix section mismatch warning in mdesc.c Fix following warning: WARNING: vmlinux.o(.text+0x35264): Section mismatch: reference to .init.text:__alloc_bootmem (between 'mdesc_bootmem_alloc' and 'mdesc_bootmem_free') Rename mdesc_mem_ops to *_ops so modpost ignores __init references and declare mdesc_bootmem_alloc __init since it is only used during __init context. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit f0429bf7a099c28b4806b68812b821ef6d1ddbcb Author: Sam Ravnborg Date: Fri Jul 20 17:19:56 2007 -0700 [SPARC64]: fix section mismatch warning in pci_sunv4 Fix following warning: WARNING: vmlinux.o(.text+0x3cf50): Section mismatch: reference to .init.text:page_in_phys_avail (between 'pci_sun4v_pbm_init' and 'sun4v_pci_init') pci_sun4v_pbm_init and sun4v_pci_init was only used under __init context so declare them _init. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit cdee99d7461d928815db6219fb14d37f99241d44 Author: David S. Miller Date: Thu Jul 19 13:59:58 2007 -0700 [SPARC64]: Stop using drivers/char/rtc.c The existing sparc64 mini_rtc driver can handle CMOS based rtcs trivially with just a few lines of code and the simplifies things tremendously. Tested on SB1500. Signed-off-by: David S. Miller commit 0fe85d504b47267bcdb25a563c535aa2ae075ff4 Author: David S. Miller Date: Wed Jul 18 23:15:04 2007 -0700 [SPARC64]: Convert parport to of_platform_driver. Signed-off-by: David S. Miller commit 3adf55ad5c0fcabf1c53bb274f39953cb1d6698f Author: David S. Miller Date: Wed Jul 18 22:03:58 2007 -0700 [SPARC]: Implement fb_is_primary_device(). Signed-off-by: David S. Miller commit 93b3238ef8b04f1383b2aa7704487fb3c0e44193 Author: David S. Miller Date: Fri Jul 20 02:58:28 2007 -0700 [SPARC64]: Fix virq decomposition. The dev_handle and dev_ino fields don't match up exactly to the traditional IMAP_IGN and IMAP_INO masks. So store them away in a table and look them up directly. Signed-off-by: David S. Miller commit e83fb17f9ba6ea0c64d084cca0c557d7e7dc9693 Author: David S. Miller Date: Fri Jul 20 02:39:04 2007 -0700 [SPARC64]: Use KERN_ERR in IRQ manipulation error printks. Signed-off-by: David S. Miller commit afd69ed142a3aa8df81ea54e5e78d77dbcf08467 Author: David S. Miller Date: Fri Jul 20 02:34:41 2007 -0700 [SPARC64]: Do not flood log with failed DS messages. When booting up a control node it's quite common to not be able to register several service types. And likewise on guests at least one or two are going to not be there. Signed-off-by: David S. Miller commit 028ebff26915df18ab0cda664e2f0582650af155 Author: David S. Miller Date: Fri Jul 20 02:30:25 2007 -0700 [SPARC64]: Add proper multicast support to VNET driver. Signed-off-by: David S. Miller commit 5fc986100cb253897b4e16992e805343d30a819e Author: David S. Miller Date: Thu Jul 19 23:25:35 2007 -0700 [SPARC64]: Handle multiple domain-services-port nodes properly. Signed-off-by: David S. Miller commit 58fb666643acee28d347de0b59bb938844c22f83 Author: David S. Miller Date: Thu Jul 19 22:51:07 2007 -0700 [SPARC64]: Improve VIO device naming further. The best scheme to get uniqueness seems to be: FOO -- If node lacks "id" property FOO-$(ID) -- If node has "id" but parent lacks "cfg-handle" FOO-$(ID)-$(CFG_HANDLE) -- If node has both Signed-off-by: David S. Miller commit 3d6e470236bc759f43c9f2377899b526a50e2e63 Author: David S. Miller Date: Wed Jul 18 22:03:25 2007 -0700 [SPARC]: Make sure dev_archdata is filled in for all devices. Signed-off-by: David S. Miller commit e865f3e6f4ef2d2617f5003c7c819ed15b5a511b Author: David S. Miller Date: Wed Jul 18 20:59:54 2007 -0700 [SPARC]: Define minimal struct dev_archdata, similarly to sparc64. Signed-off-by: David S. Miller commit c73fcc846c91f53fd2c67fd9c6c04888a9e5892e Author: David S. Miller Date: Fri Jul 20 16:59:26 2007 -0700 [SPARC]: Fix serial console device detection. The current scheme works on static interpretation of text names, which is wrong. The output-device setting, for example, must be resolved via an alias or similar to a full path name to the console device. Paths also contain an optional set of 'options', which starts with a colon at the end of the path. The option area is used to specify which of two serial ports ('a' or 'b') the path refers to when a device node drives multiple ports. 'a' is assumed if the option specification is missing. This was caught by the UltraSPARC-T1 simulator. The 'output-device' property was set to 'ttya' and we didn't pick upon the fact that this is an OBP alias set to '/virtual-devices/console'. Instead we saw it as the first serial console device, instead of the hypervisor console. The infrastructure is now there to take advantage of this to resolve the console correctly even in multi-head situations in fbcon too. Thanks to Greg Onufer for the bug report. Signed-off-by: David S. Miller commit eaf729c8a8bfc9c7a5ff5659e3b2584bf2ef22e1 Author: Linus Torvalds Date: Fri Jul 20 14:53:52 2007 -0700 Un-ignore "vmlinux.lds.S" in .gitignore We ignore all the generated files called "vmlinux*" from the top-level gitignore, but that also ends up catching a few files that we track, and that people do edit. Notably the "vmlinux.lds.S" file, that each architecture has. You can always use "git add -f" to override the ignore file, but we might as well just make it explicit for this file. Bitten-by-and-tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 110dd8f19df534b5e464bd1d8f491195a7e62a26 Author: James Bottomley Date: Fri Jul 20 13:11:44 2007 -0500 [SCSI] libsas: fix scr_read/write users and update the libata documentation This fixes up the usage in libsas (which are easy to miss, since they're only in the scsi-misc tree) ... and also corrects the documentation on the point of what these two function pointers actually return. Signed-off-by: James Bottomley commit 11179d8ca28d669e3d4cc7573a5f5fdda3e6f02d Author: Catalin Marinas Date: Fri Jul 20 11:42:24 2007 +0100 [ARM] 4497/1: Only allow safe cache configurations on ARMv6 and later Currently, Linux doesn't generate correct page tables for ARMv6 and later cores if the cache policy is different from the default one (it may lead to strongly ordered or shared device mappings). This patch disallows cache policies other than writeback and the CPU_[ID]CACHE_DISABLE options only affect the CP15 system control register rather than the page tables. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 2eb8c82bc492d5f185150e63eba5eac4dff24178 Author: Catalin Marinas Date: Fri Jul 20 11:43:02 2007 +0100 [ARM] 4503/1: nommu: Add noMMU support for ARMv7 This patch adds the necessary ifdef's to the proc-v7.S code and defines the v7wbi_tlb_fns macro in pgtable-nommu.h Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7092fc38ee770251aed361572bf6bed05fcf3ee2 Author: Catalin Marinas Date: Fri Jul 20 11:42:29 2007 +0100 [ARM] 4498/1: ARMv7: Remove the L2 cache configuration via the aux ctrl register The auxiliary control and the L2 auxiliary control registers are Cortex-A8 specific. They need to be removed from the generic ARMv7 support code. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 1b2232ab879993fcf5b9391c3febf6ab5d78201e Author: Hans Verkuil Date: Fri Jul 20 06:25:22 2007 -0300 V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module State struct was never freed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2fc9e2f78acd06d0a76a05abb2802cc4616453e3 Author: Trent Piepho Date: Fri Jul 20 04:11:36 2007 -0300 V4L/DVB (5877): radio-gemtek-pci: remove unused structure member The drivers reads the PCI subsystem ID into its state structure, but it's never used anywhere. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 32b78de7fee70a0bdb2081b23fc2b676ec566814 Author: Cyrill Gorcunov Date: Thu Jul 19 11:44:11 2007 -0300 V4L/DVB (5871): Conexant 2388x: check for kthread_run The patch adds checking of kthread_run return code and issues a message if it fails. Signed-off-by: Cyrill Gorcunov Signed-off-by: Mauro Carvalho Chehab commit a46c5fbc6912c4e34cb7ded314249b639dc244a6 Author: Hans Verkuil Date: Thu Jul 19 04:53:36 2007 -0300 V4L/DVB (5869): Add check for valid control ID to v4l2_ctrl_next. If v4l2_ctrl_next is called without the V4L2_CTRL_FLAG_NEXT_CTRL then it should check whether the passed control ID is valid and return 0 if it isn't. Otherwise a for-loop over the control IDs will never end. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3d58ffe2aa107df6db57f875dba5368960b17cde Author: Hans Verkuil Date: Wed Jul 18 18:41:08 2007 -0300 V4L/DVB (5867): videodev2.h: add missing for userspace When videodev2.h is included by an application, it needs to include for the timeval struct. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd1e729d63f74a0b6290ca417bafd3fd8665db50 Author: Hans Verkuil Date: Wed Jul 18 13:22:06 2007 -0300 V4L/DVB (5866): ivtv: fix DMA timeout when capturing VBI + another stream The VBI DMA is handled in a special way and is marked with a bit. However, that bit was set at the wrong time and could be cleared by mistake if a PCM (or other) DMA request would arrive before the VBI DMA was completed. So on completion of the VBI DMA the driver no longer knew that that DMA transfer was for VBI data. And this in turn caused havoc with the card's DMA engine. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 201700d3544c653d453716a60976efe1987110af Author: Mauro Carvalho Chehab Date: Thu Jul 19 11:21:04 2007 -0300 V4L/DVB (5865): Remove usage of HZ on ivtv driver, replacing by msecs_to_jiffies Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fe06fe0a4d0f781f8ae0570e4d7e517a81878c1d Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:36:20 2007 -0300 V4L/DVB (5861): Use msecs_to_jiffies instead of HZ on bttv, cx88 and saa7134 Signed-off-by: Mauro Carvalho Chehab commit 818ca4711eb8ec064c1cd5d7657f95ed6bc2bbed Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:29:07 2007 -0300 V4L/DVB (5860): Use msecs_to_jiffies instead of HZ on some webcam drivers Signed-off-by: Mauro Carvalho Chehab commit f7518bd2d9ecad8c404c300e7872f7c2ab4961ad Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:27:30 2007 -0300 V4L/DVB (5859): use msecs_to_jiffies on InfraRed RC5 timeout Signed-off-by: Mauro Carvalho Chehab commit 09df5cbe46511611410274f09571ada229231ddb Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:25:38 2007 -0300 V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers Signed-off-by: Mauro Carvalho Chehab commit a2d66a37c743ba201e85c93c4ec29d58ca94b728 Author: Mauro Carvalho Chehab Date: Tue Jul 17 16:15:58 2007 -0300 V4L/DVB (5857): Use msecs_to_jiffies instead of HZ on radio drivers Signed-off-by: Mauro Carvalho Chehab commit 7809b4cba2bc0165c804ab4eaf10308aad14fc8e Author: Hans Verkuil Date: Tue Jul 17 13:50:46 2007 -0300 V4L/DVB (5855): ivtv: fix Kconfig typo and refer to the driver homepage. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ae38d93bd710d8014925f1cb9b689dc89c13d778 Author: Hans Verkuil Date: Tue Jul 17 13:42:43 2007 -0300 V4L/DVB (5854): ivtv: cleanup of driver messages Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11d28766deedc8bcadc87db8a65775a41c15789a Author: Hans Verkuil Date: Tue Jul 17 12:47:38 2007 -0300 V4L/DVB (5853): ivtv: add support to suppress high volume i2c debug messages. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4b9bc014bf4c65e1da86fbc9721f04e2763feca9 Author: Alexey Dobriyan Date: Tue Jul 17 09:03:14 2007 -0300 V4L/DVB (5852): ivtv: don't recompile needlessly Driver prints banner including kernel version. Was a leftover from when the driver was standalone. Signed-off-by: Alexey Dobriyan Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c9b9a5817afc8f969b1ae834f88af6929f70de41 Author: Hans Verkuil Date: Tue Jul 17 06:45:42 2007 -0300 V4L/DVB (5851): ivtv: fix missing I2C_ALGOBIT config option I2C_ALGOBIT must also be selected when ivtv is selected. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 67632e17da1e90a0c43283823f94080c0ee07088 Author: Hans Verkuil Date: Tue Jul 17 06:38:43 2007 -0300 V4L/DVB (5850): ivtv: improve API command debugging Turn off debugging of API commands that occur during encoding or decoding, unless they are explicitly requested. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8f40a9f5325cdceddb1610cb3dfd8cb532f5a618 Author: Yoann Padioleau Date: Mon Jul 16 16:54:49 2007 -0300 V4L/DVB (5848): Av7110: fix typo Parse error in ifdef or bad use of macro. Signed-off-by: Yoann Padioleau Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 69ebb22277a53f612ccd632ceb73ed87c9093412 Author: Kristoffer Ericson Date: Fri Jul 20 18:22:57 2007 +0100 [ARM] 4506/1: HP Jornada 7XX: Addition of SSP Platform Driver These patches add full SSP/MCU support for the HP Jornada 720 machine. Its needed to handle keyboard, touchscreen, battery and backlight/lcd. The main driver exports functions and the header file exports the command values. When talking to the MCU the general procedure is to start MCU, send command (using ssp_inout(command)), the proper reply is always TXDUMMY. After receiving TXDUMMY you can send the value you wish pushed (for example brightness level). End with ssp_end() so the spinlock gets unlocked. Drivers using this havent been implemented yet, but will shortly. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 2008220879af095d00ca27eb168a55c8595fbc0b Author: Linus Torvalds Date: Fri Jul 20 13:28:54 2007 -0700 Revert "sys_time() speedup" This basically reverts commit 4e44f3497d41db4c3b9051c61410dee8ae4fb49c, while waiting for it to be re-done more completely. There are cases of people mixing "time()" with higher-resolution time sources, and we need to take the nanosecond offsets into account. Ingo has a patch that does that, but it's still under some discussion. In the meantime, just revert back to the old simple situation of just doing the whole exact timesource calculations. But rather than using do_gettimeofday(), use the internal nanosecond resolution getnstimeofday(), which at least avoids one unnecessary conversion (since we really don't care about whether the fractional seconds are nanoseconds or microseconds - we'll just throw them away). Signed-off-by: Linus Torvalds commit 7b4c965a0b74748269d05185a394c9dc121dd558 Author: Catalin Marinas Date: Fri Jul 20 11:42:57 2007 +0100 [ARM] 4504/1: nommu: Fix the ARMv6 support for MMU-less platforms With this patch, Kconfig only selects CPU_HAS_ASID for the MMU case. It also corrects the typo in the v6wbi_tlb_fns definition in pgtable-nommu.h. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 2a0cc6885f34a8f1de195f718b9f51ece6923b80 Author: Catalin Marinas Date: Fri Jul 20 11:42:46 2007 +0100 [ARM] 4502/1: nommu: Do not export the copy/clear user page functions The __cpu_{clear|copy}_user_page functions are not defined for the MMU-less case and therefore should not be exported. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 367afaf83b0a8886ea566638a865701c54710af9 Author: Catalin Marinas Date: Fri Jul 20 11:42:51 2007 +0100 [ARM] 4501/1: nommu: Select TLS register emulation if ARMv6 and not v6K If not MMU and not v6K, access to the TLS register has to be emulated. MMU-less systems do not provide a high page for kuser helpers. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 0762097625711e829a008b64f42dc0ec74abb284 Author: Catalin Marinas Date: Fri Jul 20 11:42:40 2007 +0100 [ARM] 4500/1: Add locking around the background L2x0 cache operations The background operations of the L2x0 cache controllers are aborted if another operation is issued on the same or different core. This patch protects the maintenance operation issuing/polling with a spinlock. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 13a63ab289627e977a045864b36792cf0b61364a Author: Russell King Date: Fri Jul 20 10:44:02 2007 +0100 [ARM] rpc: convert an outb() to writeb() Signed-off-by: Russell King commit 8b801ead3d7ab3cce991ea3a2d00c7336215fc7d Author: Russell King Date: Fri Jul 20 10:38:54 2007 +0100 [ARM] rpc: update Acorn SCSI drivers to modern ecard interfaces Signed-off-by: Russell King commit 13d5fadf45d12786b90916e95e97f593e91aaf0a Author: Russell King Date: Fri Jul 20 10:36:05 2007 +0100 [ARM] Make 'i' and 'zi' targets work The 'i' and 'zi' targets short-circuit the dependencies for 'install' and 'zinstall' targets; these are useful for installing the kernel on platforms which have make but no compiler installed. Signed-off-by: Russell King commit cdcb81f7d99f3d525003068b84445dd4acc63266 Author: Russell King Date: Fri Jul 20 10:32:46 2007 +0100 [ARM] Allow neponset to build again Signed-off-by: Russell King commit f393e99d9e9540d9c5b3ebc42dfb0ff9a77827fe Author: Dan Williams Date: Fri Jul 20 02:07:36 2007 +0100 [ARM] 4496/1: elf_hwcap: fix up #include misplacement While bisecting an iop13xx compile failure I noticed that include/asm-arm/hwcap.h should be included from include/asm-arm/elf.h outside #ifndef __ASSEMBLY__ since hwcap.h has its own __ASSEMBLY__ protections. Cc: Catalin Marinas Signed-off-by: Dan Williams Signed-off-by: Russell King commit 48da78bc93b087eadd8fa840ba661b9442846dee Author: Catalin Marinas Date: Wed Jul 11 11:29:28 2007 +0100 [ARM] 4471/1: Compile the uncompressing code with -fno-builtin This is to avoid a compiler warning for overriding the built-in "putc" function. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit fbc9a5727401442f6972bbddaeb0650f2bf2ebe2 Author: Gwendal Grignou Date: Fri Jul 20 12:38:36 2007 -0700 [SCSI] mpt fusion: update Kconfig help Update help in Kconfig for mptfc driver to indicate the driver supports Brocade FC 4G HBA. signed-off-by: Gwendal Grignou Acked-by: Eric Moore Signed-off-by: James Bottomley commit 486acd4850dde6d2f8c7f431432f3914c4bfb5f5 Author: Christoph Hellwig Date: Fri Jul 20 21:39:54 2007 +0200 [CELL] spufs: rework list management and associated locking This sorts out the various lists and related locks in the spu code. In detail: - the per-node free_spus and active_list are gone. Instead struct spu gained an alloc_state member telling whether the spu is free or not - the per-node spus array is now locked by a per-node mutex, which takes over from the global spu_lock and the per-node active_mutex - the spu_alloc* and spu_free function are gone as the state change is now done inline in the spufs code. This allows some more sharing of code for the affinity vs normal case and more efficient locking - some little refactoring in the affinity code for this locking scheme Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 1474855d0878cced6f39f51f3c2bd7428b44cb1e Author: Bob Nelson Date: Fri Jul 20 21:39:53 2007 +0200 [CELL] oprofile: add support to OProfile for profiling CELL BE SPUs From: Maynard Johnson This patch updates the existing arch/powerpc/oprofile/op_model_cell.c to add in the SPU profiling capabilities. In addition, a 'cell' subdirectory was added to arch/powerpc/oprofile to hold Cell-specific SPU profiling code. Exports spu_set_profile_private_kref and spu_get_profile_private_kref which are used by OProfile to store private profile information in spufs data structures. Also incorporated several fixes from other patches (rrn). Check pointer returned from kzalloc. Eliminated unnecessary cast. Better error handling and cleanup in the related area. 64-bit unsigned long parameter was being demoted to 32-bit unsigned int and eventually promoted back to unsigned long. Signed-off-by: Carl Love Signed-off-by: Maynard Johnson Signed-off-by: Bob Nelson Signed-off-by: Arnd Bergmann Acked-by: Paul Mackerras commit 36aaccc1e96481e8310b1d13600096da0f24ff43 Author: Bob Nelson Date: Fri Jul 20 21:39:52 2007 +0200 [CELL] oprofile: enable SPU switch notification to detect currently active SPU tasks From: Maynard Johnson This patch adds to the capability of spu_switch_event_register so that the caller is also notified of currently active SPU tasks. Exports spu_switch_event_register and spu_switch_event_unregister so that OProfile can get access to the notifications provided. Signed-off-by: Maynard Johnson Signed-off-by: Carl Love Signed-off-by: Bob Nelson Signed-off-by: Arnd Bergmann Acked-by: Paul Mackerras commit 2414059420311e5384de646eebfd529c184afd3c Author: Christoph Hellwig Date: Fri Jul 20 21:39:51 2007 +0200 [CELL] spu_base: locking cleanup Sort out the locking mess in spu_base and document the current rules. As an added benefit spu_alloc* and spu_free don't block anymore. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 9e7cbcbb6ede4299d52c839e352aae527c06124a Author: Arnd Bergmann Date: Fri Jul 20 21:39:50 2007 +0200 [CELL] cell: indexing of SPUs based on firmware vicinity properties This patch links spus according to their physical position using information provided by the firmware through a special vicinity device-tree property. This property is present in current version of Malta firmware. Example of vicinity properties for a node in Malta: Node: Vicinity property contains phandles of: spe@0 [ spe@100000 , mic-tm@50a000 ] spe@100000 [ spe@0 , spe@200000 ] spe@200000 [ spe@100000 , spe@300000 ] spe@300000 [ spe@200000 , bif0@512000 ] spe@80000 [ spe@180000 , mic-tm@50a000 ] spe@180000 [ spe@80000 , spe@280000 ] spe@280000 [ spe@180000 , spe@380000 ] spe@380000 [ spe@280000 , bif0@512000 ] Only spe@* have a vicinity property (e.g., bif0@512000 and mic-tm@50a000 do not have it). Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit cbc23d3e7cb3c9fd3c9fce0bc3f44f687a9517c0 Author: Arnd Bergmann Date: Fri Jul 20 21:39:49 2007 +0200 [CELL] spufs: integration of SPE affinity with the scheduller This patch makes the scheduller honor affinity information for each context being scheduled. If the context has no affinity information, behaviour is unchanged. If there are affinity information, context is schedulled to be run on the exact spu recommended by the affinity placement algorithm. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit c5fc8d2a92461fcabd00dfd678204cba36b93119 Author: Arnd Bergmann Date: Fri Jul 20 21:39:48 2007 +0200 [CELL] cell: add placement computation for scheduling of affinity contexts This patch provides the spu affinity placement logic for the spufs scheduler. Each time a gang is going to be scheduled, the placement of a reference context is defined. The placement of all other contexts with affinity from the gang is defined based on this reference context location and on a precomputed displacement offset. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 8e68e2f248332a9c3fd4f08258f488c209bd3e0c Author: Arnd Bergmann Date: Fri Jul 20 21:39:47 2007 +0200 [CELL] spufs: extension of spu_create to support affinity definition This patch adds support for additional flags at spu_create, which relate to the establishment of affinity between contexts and contexts to memory. A fourth, optional, parameter is supported. This parameter represent a affinity neighbor of the context being created, and is used when defining SPU-SPU affinity. Affinity is represented as a doubly linked list of spu_contexts. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 3ad216cae837d90415c605e1149e6fd88f51c973 Author: Arnd Bergmann Date: Fri Jul 20 21:39:46 2007 +0200 [CELL] cell: add hardcoded spu vicinity information for QS20 This patch allows the use of spu affinity on QS20, whose original FW does not provide affinity information. This is done through two hardcoded arrays, and by reading the reg property from each spu. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 9d92af621f193c1c889ac8b6fd8c987ccd8aae1f Author: Arnd Bergmann Date: Fri Jul 20 21:39:45 2007 +0200 [CELL] cell: add vicinity information on spus This patch adds affinity data to each spu instance. A doubly linked list is created, meant to connect the spus in the physical order they are placed in the BE. SPUs near to memory should be marked as having memory affinity. Adjustments of the fields acording to FW properties is done in separate patches, one for CPBW, one for Malta (patch for Malta under testing). Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit aa6d5b20254a21b69092dd839b70ee148303ef25 Author: Arnd Bergmann Date: Fri Jul 20 21:39:44 2007 +0200 [CELL] cell: add per BE structure with info about its SPUs Addition of a spufs-global "cbe_info" array. Each entry contains information about one Cell/B.E. node, namelly: * list of spus (both free and busy spus are in this list); * list of free spus (replacing the static spu_list from spu_base.c) * number of spus; * number of reserved (non scheduleable) spus. SPE affinity implementation actually requires only access to one spu per BE node (since it implements its own pointer to walk through the other spus of the ring) and the number of scheduleable spus (n_spus - non_sched_spus) However having this more general structure can be useful for other functionalities, concentrating per-cbe statistics / data. Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit 7e90b74967ea54dbd6eb539e1cb151ec37f63d7f Author: Masato Noguchi Date: Fri Jul 20 21:39:43 2007 +0200 [CELL] spufs: use find_first_bit() instead of sched_find_first_bit() spu_sched->bitmap has MAX_PRIO(=140) width in bits.However, since ff80a77f20f811c0cc5b251d0f657cbc6f788385, sched_find_first_bit() only supports 100-bit bitmaps. Thus, spu_sched->bitmap should be treated by generic find_first_bit(). Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 50af32a94beef566664022254d677504e51b6139 Author: Jeremy Kerr Date: Fri Jul 20 21:39:42 2007 +0200 [CELL] spufs: remove unused file argument from spufs_run_spu() From: Sebastian Siewior The 'file' argument is unused in spufs_run_spu(). This change removes it. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit ca53da3abb1d49748931ff2acb66d5a6eeeba2a1 Author: Masato Noguchi Date: Fri Jul 20 21:39:41 2007 +0200 [CELL] spufs: change decrementer restore timing The SPU decrementer should be restored after the LSCSA DMA has completed. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit cf17df223c8cd56a92f34162f2a362eec9f4b157 Author: Masato Noguchi Date: Fri Jul 20 21:39:40 2007 +0200 [CELL] spufs: dont halt decrementer at restore step 47 No need to halt the SPE decrementer at context restore step 47, it will be done in step 7. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit a103f347a5ae2735b9bf0a725a36c34be3f24c88 Author: Masato Noguchi Date: Fri Jul 20 21:39:39 2007 +0200 [CELL] spufs: limit saving MFC_CNTL bits At save step 8, the mfc control register in the CSA should be written _only_ with Sc and Sm bits (at least MFC_CNTL[Dh] should be set to 0) Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit d40a01d4f4f205d0645beb371edc153d9ec8fb9f Author: Masato Noguchi Date: Fri Jul 20 21:39:38 2007 +0200 [CELL] spufs: fix read and write for decr_status file The decr_status in the LSCSA is valid only in the sequence of context restore. Thus, it's nonsense to read and/or write it through spufs. This patch changes decr_status node to access MFC_CNTL[Ds] in the CSA. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 1cfc0f86eb0348dd04ace8c2171642ebe9cd87bb Author: Masato Noguchi Date: Fri Jul 20 21:39:37 2007 +0200 [CELL] spufs: fix decr_status meanings The decr_status in the LSCSA is confusedly used as two meanings: * SPU decrementer was running * SPU decrementer was wrapped as a result of adjust and the code to set decr_status is missing. This patch fixes these problems by using the decr_status argument as a set of flags. This requires a rebuild of the shipped spu_restore code. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit cfd529b25d9b1d48423b85d76066348e2459e646 Author: Masato Noguchi Date: Fri Jul 20 21:39:36 2007 +0200 [CELL] spufs: remove needless context save/restore code The following steps are not needed in the SPE context save/restore paths: Save Step 12: save_mfc_decr() save suspend_time to CSA (It will be done by step 14) save ch 7 (decrementer value will be saved in LSCSA by spe-side step 10) Restore Step 59: restore_ch_part1() restore ch 1 (it will be done by spe-side step 15) This change removes the unnecessary steps. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit daced0f718b92b0bcdb9790622c255d4660f51ce Author: Jeremy Kerr Date: Fri Jul 20 21:39:35 2007 +0200 [CELL] spufs: fix array size of channel index Based on a fix from Masato Noguchi . Remove the (incorrect) array size declarations in the spufs channel arrays, and use ARRAY_SIZE rather than hardcoded values. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 27b1ea091f0c088ecad0d492f37fbe7b8d54d7dc Author: Christoph Hellwig Date: Fri Jul 20 21:39:34 2007 +0200 [CELL] spufs: make sure context are scheduled again after spu_acquire_saved Currently a process is removed from the physical spu when spu_acquire_saved is saved but never put back. This patch adds a new spu_release_saved that is to be paired with spu_acquire_saved and put the process back if it has been in RUNNABLE state before. Niether Jeremy not be are entirely happy about this exact patch because it adds another spu_activate call outside of the owner thread, but I feel this is the best short-term fix we can come up with. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 27ec41d3a1d4df2b7cd190e93aad22ab86a72aa1 Author: Andre Detsch Date: Fri Jul 20 21:39:33 2007 +0200 [CELL] spufs: add spu stats in sysfs and ctx stat file in spufs This patch exports per-context statistics in spufs as long as spu statistics in sysfs. It was formed by merging: "spufs: add spu stats in sysfs" From: Christoph Hellwig "spufs: add stat file to spufs" From: Christoph Hellwig "spufs: fix libassist accounting" From: Jeremy Kerr "spusched: fix spu utilization statistics" From: Luke Browning And some adjustments by myself, after suggestions on cbe-oss-dev. Having separate patches was making the review process harder than it should, as we end up integrating spus and ctx statistics accounting much more than it was on the first implementation. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit e840cfe6814d6f13ecb86cff7097ad7259df502e Author: Jeremy Kerr Date: Fri Jul 20 21:39:32 2007 +0200 [CELL] spufs: Remove spurious WARN_ON for spu_deactivate for NOSCHED contexts In 6cbf93960e64f313f6e247cbca7afaa50e3ee2c we added a WARN_ON for calling spu_deactivate on contexts created with the SPU_CREATE_NOSCHED flag. However, all NOSCHED contexts will need to be deactivated when the context is destroyed, so this gives a spurious warning when any NOSCHED context is closed. This change removes the WARN_ON. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit d054b36ffd302ec65aabec16a0c60ddd9e6b5a62 Author: Jeremy Kerr Date: Fri Jul 20 21:39:31 2007 +0200 [CELL] spufs: Make signal-notification files readonly for NOSCHED contexts Reading from the signal{1,2} files requires a spu_acquire_saved, so make these files write-only for contexts created with SPU_CREATE_NOSCHED. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 49776d30aea903fb2f9966c8e9b6f23ae5f7c937 Author: Kazunori Asayama Date: Fri Jul 20 21:39:30 2007 +0200 [CELL] spufs: Avoid unexpectedly restaring MFC during context save The current SPU context saving procedure in SPUFS unexpectedly restarts MFC when halting decrementer, because MFC_CNTL[Dh] is set without MFC_CNTL[Sm]. This bug causes, for example, saving broken DMA queues. Here is a patch to fix the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit d1450317554d52e0e4a454806c4d05bb2a834f00 Author: Sebastian Siewior Date: Fri Jul 20 21:39:29 2007 +0200 [CELL] spufs: remove section mismatch warning WARNING: arch/powerpc/platforms/cell/spufs/spufs.o(.init.text+0x158): Section mismatch: reference to .exit.text:.spu_sched_exit (between '.init_module' and '.spu_sched_init') was introduced by c99c1994a2bb9493b4ac372b2b6ee2606d291171 This patch removes the warning. Cc: Christoph Hellwig Signed-off-by: Sebastian Siewior Signed-off-by: Arnd Bergmann commit ce21b3c9648ae55181787bf25ee00cf91dfd5c91 Author: Michael Ellerman Date: Fri Jul 20 21:39:28 2007 +0200 [CELL] add support for MSI on Axon-based Cell systems This patch adds support for the setup and decoding of MSIs on Axon-based Cell systems, using the MSIC mechanism. This involves setting up an area of BE memory which the Axon then uses as a FIFO for MSI messages. When one or more MSIs are decoded by the MSIC we receive an interrupt on the MPIC, and the MSI messages are written into the FIFO. At the moment we use a 64KB FIFO, one per MSIC/BE. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 8d2655e621bfc3c3f925016f881a36739d479f69 Author: Andre Detsch Date: Fri Jul 20 21:39:27 2007 +0200 [CELL] saving spus information for kexec crash This patch adds support for investigating spus information after a kernel crash event, through kdump vmcore file. Implementation is based on xmon code, but the new functionality was kept independent from xmon. Signed-off-by: Lucio Jose Herculano Correia Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann commit dbdf04c40161f81d74e27f04e201acb3a5dfad69 Author: Maxim Shchetynin Date: Fri Jul 20 21:39:26 2007 +0200 [CELL] driver for DDR2 memory on AXON The Axon bridge chip used on new Cell/B.E. based blade servers comes with a DDR2 memory controller that can be used to attach cheap memory modules, as opposed to the high-speed XDR memory that is used by the CPU itself. Since the memory controller does not participate in the cache coherency protocol, we can not use the memory direcly for Linux applications, but by providing a block device it can be used for swap space, temporary file storage and through the use of the direct_access block device operation for mapping into user addresses, when it is mounted with an appropriate file system. Signed-off-by: Maxim Shchetynin Signed-off-by: Arnd Bergmann commit b86ce01c7700cfc74665799355a46dcadf920ebd Author: Jean-Christophe DUBOIS Date: Fri Jul 20 21:39:25 2007 +0200 [CELL] allow linux to map Cell regs on legacy SLOF tree. The platforms missing the "cpus" property in the "be" node are mono-Cell platforms such as CAB or Getaway. Therefore it is possible to assume that if there is no "cpus" properties under the "be" node then we can safely return the "device node" without more checking. This is a bit hacky but ... it allows it to work on these platforms. Signed-off-by: Jean-Christophe DUBOIS Acked-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 827e3648dc2c31e01db7cd2e4498061cf78a97a9 Author: Jean-Christophe DUBOIS Date: Fri Jul 20 21:39:24 2007 +0200 [CELL] fix cbe_thermal for legacy SLOF tree. Previous patch changed based on Christian Krafft's comment. On some legacy SLOF tree the generic code is unable to ioremap some Cell BE registers. Therefore the "generic" functions are returning a NULL pointer, triggering a crash on such platforms. Let's handle this more gracefully. Signed-off-by: Jean-Christophe DUBOIS Acked-by: Christian Kraff Signed-off-by: Arnd Bergmann commit 64bafa9db7e92d5a46402613188b71800924ca1f Author: Jean-Christophe DUBOIS Date: Fri Jul 20 21:39:23 2007 +0200 [CELL] fix cbe_cpufreq for legacy SLOF tree. Previous patch changed based on Christian Krafft's comment. On some legacy SLOF tree the generic code is unable to ioremap some Cell BE registers. Therefore the "generic" functions are returning a NULL pointer, triggering a crash on such platforms. Let's handle this more gracefully. Signed-off-by: Jean-Christophe DUBOIS Acked-by: Christian Kraff Signed-off-by: Arnd Bergmann commit 74889e41d9a1f80928130a02af9b010673bc5ba7 Author: Christian Krafft Date: Fri Jul 20 21:39:22 2007 +0200 [CELL] cbe_cpufreq: reorganize code This patch reorganizes the code of the driver into three files. Two cbe_cpufreq_pmi.c and cbe_cpufreq_pervasive.c care about hardware. cbe_cpufreq.c contains the logic. There is no changed behaviour, except that the PMI related function is now located in a seperate module cbe_cpufreq_pmi. This module will be required by cbe_cpufreq, if CONFIG_CBE_CPUFREQ_PMI has been set. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 1e21fd5af3797a2c322e1723c69732e77aa74f48 Author: Christian Krafft Date: Fri Jul 20 21:39:21 2007 +0200 [CELL] cbe_cpufreq: fix minor issues Minor issues have been fixed: * added a missing call to of_node_put() * signedness of a function parameter * added some line breaks * changed global pmi_frequency_limit to a per node pmi_slow_mode_limit array Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit e5ecc8719212e2566440818491ec5741689f3743 Author: Christian Krafft Date: Fri Jul 20 21:39:20 2007 +0200 [CELL] cbe_cpufreq: fix initialization This patch fixes the initialization of the cbe_cpufreq driver. The code that initializes the PMI related functions was called per cpu: * registering cpufreq notifier block * registering a pmi handler This ends in a bug that the notifier block gets called in an endless loop. The initialization code is being put to the module init code path by this patch. This way it only gets called once. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit a964b9be3e475f30aee334654b4ff200bcdc0092 Author: Christian Krafft Date: Fri Jul 20 21:39:19 2007 +0200 [CELL] cbe_cpufreq: fix latency measurement This patch fixes the debug code that calculates the transition time when changing the slow modes on a Cell BE cpu. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 813f90728e7d74e9b753e6ef6c6915cd2a047adb Author: Christian Krafft Date: Fri Jul 20 21:39:18 2007 +0200 [CELL] pmi: remove support for mutiple devices. The pmi driver got simplified by removing support for multiple devices. As there is no more than one pmi device per maschine, there is no need to specify the device for listening and sending messages. This way the caller (cbe_cpufreq) doesn't need to scan the device tree. When registering the handler on a board without a pmi interface, pmi.c will just return -ENODEV. The patch that fixed the breakage of cell_defconfig has been broken out of the earlier version of this patch. So this is the version that applies cleanly on top of it. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 1d4ec7b1d6f130818f9b62dea3411d9ee2ff6ff6 Author: Roland Dreier Date: Fri Jul 20 12:13:20 2007 -0700 Fix ZERO_OR_NULL_PTR(ZERO_SIZE_PTR) The comparison with ZERO_SIZE_PTR in ZERO_OR_NULL_PTR() needs to be <= (not just <) so that ZERO_OR_NULL_PTR(ZERO_SIZE_PTR) is 1. Signed-off-by: Roland Dreier [ Duh! - Linus ] Signed-off-by: Linus Torvalds commit 0b1937ac0ef1541c0ea44e6f81c33d2f59803957 Author: David Howells Date: Fri Jul 20 17:02:04 2007 +0100 FRV: Fix linkage problems Make it possible to use __start_notes and __stop_notes without getting a GPREL overflow error from the FRV linker. Small variables that would otherwise be in .data or .bss may, depending on the arch, be placed in special sections (.sdata or .sbss) that permit single instruction references on fixed instruction width machines. __start_notes and __stop_notes aren't really char variables, and certainly don't refer to data in .data or .bss. Making them type "void" fools the compiler into not assuming anything about them. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 03ce11048b3832f5f0c471ccdb3363a870a14ac1 Author: Reiner Sailer Date: Fri Jul 20 10:03:02 2007 -0400 Fix memory leak in tpm_binary_bios_measurements_open() The same problem that was fixed for tpm_ascii_bios_measurements_open() in commit 178554ae75739e91dc4d7c3e42a3db95448cc5bf also occurs in tpm_binary_bios measurements(). Thanks for noticing this Satyam! I tested the attached patch to fix tpm_binary_bios_measurments as well. Signed-off-by: Reiner Sailer Signed-off-by: Linus Torvalds commit bd807f9c5b90c236c3d173a5815d620bc1b1316d Author: Robert P. J. Day Date: Wed Jul 18 07:33:08 2007 -0400 [IA64] Prevent people from directly including . Signed-off-by: Robert P. J. Day Signed-off-by: Tony Luck commit 1f564ad6d4182859612cbae452122e5eb2d62a76 Author: Bob Picco Date: Wed Jul 18 15:51:28 2007 -0700 [IA64] remove time interpolator Remove time_interpolator code (This is generic code, but only user was ia64. It has been superseded by the CONFIG_GENERIC_TIME code). Signed-off-by: Bob Picco Signed-off-by: John Stultz Signed-off-by: Peter Keilty Signed-off-by: Tony Luck commit 0aa366f351d044703e25c8425e508170e80d83b1 Author: Tony Luck Date: Fri Jul 20 11:22:30 2007 -0700 [IA64] Convert to generic timekeeping/clocksource This is a merge of Peter Keilty's initial patch (which was revived by Bob Picco) for this with Hidetoshi Seto's fixes and scaling improvements. Acked-by: Bob Picco Signed-off-by: Tony Luck commit 941091024ef0f2f7e09eb81201d293ac18833cc8 Author: Franck Bui-Huu Date: Thu Jul 19 14:04:21 2007 +0200 [MIPS] User stack pointer randomisation Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit c55757b261038d17c729068fcdaef646a665385f Author: Yoichi Yuasa Date: Tue Jul 17 23:07:44 2007 +0900 [MIPS] Remove unused include/asm-mips/gfx.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ca002ba8be889f882d5e31cb5f2a9a0bf2b2d7b1 Author: Yoichi Yuasa Date: Tue Jul 17 23:06:24 2007 +0900 [MIPS] Remove unused include/asm-mips/ds1216.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5a81299928f3d9abfaced60bedd85214cf9921a4 Author: Ralf Baechle Date: Tue Jul 17 18:49:48 2007 +0100 [MIPS] Workaround for RM7000 WAIT instruction aka erratum 38 Signed-off-by: Ralf Baechle commit 17099b1142f6c0359fca60a3464dea8fb30badea Author: Ralf Baechle Date: Sat Jul 14 13:24:05 2007 +0100 [MIPS] Make support for weakly ordered LL/SC a config option. None of weakly ordered processor supported in tree need this but it seems like this could change ... Signed-off-by: Ralf Baechle commit ed203dadcd1373e80e95b04075e1eefc554a914b Author: Ralf Baechle Date: Fri Jul 13 18:58:25 2007 +0100 [MIPS] Disable UserLocal runtime detection on platforms which never have it. Signed-off-by: Ralf Baechle commit 798d9023e440085f00b352f1c1af8894959ff63e Author: Ralf Baechle Date: Fri Jul 13 18:54:10 2007 +0100 [MIPS] Disable MT runtime detection on platforms which never support MT. Signed-off-by: Ralf Baechle commit b6aff66953a29e40e0683be9b39c369ade143a5b Author: James Bottomley Date: Fri Jul 20 11:10:05 2007 -0500 [SCSI] scsi_transport_sas: add destructor for bsg There's currently no destructor for the bsg components. If you insert and remove the module, you see the bsg devices building up and up. This patch adds the destructor in the correct place in the transport class so that the bsg and request queue are removed just before the device destruction. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c1158e63dfeb3928e94c768f0a403b3e0e799f70 Author: Avi Kivity Date: Fri Jul 20 08:18:27 2007 +0300 KVM: MMU: Fix oopses with SLUB The kvm mmu uses page->private on shadow page tables; so does slub, and an oops result. Fix by allocating regular pages for shadows instead of using slub. Tested-by: S.Çağlar Onur Signed-off-by: Avi Kivity commit 35f3f28613bc7263949db23a4c7078e425810c8c Author: Avi Kivity Date: Tue Jul 17 14:20:30 2007 +0300 KVM: x86 emulator: implement rdmsr and wrmsr Allow real-mode emulation of rdmsr and wrmsr. This allows smp Windows to boot, presumably for its sipi trampoline. Signed-off-by: Avi Kivity commit 90cb0529dd230548a7f0d6b315997be854caea1b Author: Avi Kivity Date: Tue Jul 17 13:04:56 2007 +0300 KVM: Fix memory slot management functions for guest smp The memory slot management functions were oriented against vcpu 0, where they should be kvm-wide. This causes hangs starting X on guest smp. Fix by making the functions (and resultant tail in the mmu) non-vcpu-specific. Unfortunately this reduces the efficiency of the mmu object cache a bit. We may have to revisit this later. Signed-off-by: Avi Kivity commit d55e2cb20123cdb5020ec4a2b2f1eace5038c292 Author: Avi Kivity Date: Tue Jul 10 17:50:55 2007 +0300 KVM: MMU: Store nx bit for large page shadows We need to distinguish between large page shadows which have the nx bit set and those which don't. The problem shows up when booting a newer smp Linux kernel, where the trampoline page (which is in real mode, which uses the same shadow pages as large pages) is using the same mapping as a kernel data page, which is mapped using nx, causing kvm to spin on that page. Signed-off-by: Avi Kivity commit 964f9ce2ff42dc47cf40fbd2f5c81cd60689e384 Author: Pierre Ossman Date: Fri Jul 20 18:20:36 2007 +0200 sdhci: make sure to clear the error interrupt The controller has a bit indicating that one of the higher bits (the error bits) are set. A previous bug caused this bit to be masked, but since that bug has been fixed we have to clear it explicictly. Signed-off-by: Pierre Ossman commit 63b66438860f246f25f5563cde4978cf255cb810 Author: Marc Pignat Date: Mon Jul 16 11:07:02 2007 +0200 mmc: at91_mci: wakeup on card insertion (or removal) This piece of code enable the system to be wake-up by a card insertion or removal. Signed-off-by: Marc Pignat Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 81764fa9a472dd72b93385f30f718ed4f98ec129 Author: Pierre Ossman Date: Sun Jul 15 18:47:38 2007 +0200 mmc: add maintainer for at91 Nicolas Ferre has taken it upon himself to look after the AT91 MMC host driver. Signed-off-by: Pierre Ossman commit 3d50527bbf1b68e5206263ade414f0d966b00f74 Author: Mike Rapoport Date: Wed Jul 18 11:31:46 2007 +0100 [ARM] 4475/2: EM-x270 board support Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit fe885fa2372b1d255974e71d5b7c51b1e9673835 Author: Arnaud Patard Date: Wed Jul 18 21:04:00 2007 +0100 [ARM] 4491/1: em7210 rtc clock The commit d815461c7a73903d0a926b3cace6f69e144c54a3 in linus tree converts the rtc-rs5c372 driver to a "new style" i2c driver. Like commit c00593f6f816e5cfa6d193a2561ca77541f71424, this patch register the rtc i2c device for the em7210 board. Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit b750a09385d7c464113ae8915e63541a163fbac8 Author: Eric Miao Date: Wed Jul 18 11:40:13 2007 +0100 [ARM] 4489/1: pxa: split pxa_cpu_suspend to processor specific ones 1. split pxa_cpu_suspend to pxa25x_cpu_suspend and pxa27x_cpu_suspend and make pxa25x_cpu_pm_enter() and pxa27x_cpu_pm_enter() to invoke the corresponding _suspend functions, thus remove all those ugly #ifdef .. #endif out of sleep.S 2. move the declarations of those suspend functions to pm.h note: this is not a clean enough solution until all the pxa25x and pxa27x specific part is further removed out of sleep.S, sleep.S is supposed to contain generic code only Signed-off-by: eric miao Signed-off-by: Russell King commit 711be5ccfe9a02ba560aa918a008c31ea4760163 Author: Eric Miao Date: Wed Jul 18 11:38:45 2007 +0100 [ARM] 4488/1: pxa: move pxa25x/pxa27x specific code out of pm.c 1. introduce a structure pxa_cpu_pm_fns for pxa25x/pxa27x specific operations as follows: struct pxa_cpu_pm_fns { int save_size; void (*save)(unsigned long *); void (*restore)(unsigned long *); int (*valid)(suspend_state_t state); void (*enter)(suspend_state_t state); } 2. processor specific registers saving and restoring are performed by calling the corresponding (*save) and (*restore) 3. pxa_cpu_pm_fns->save_size should be initialized to the required size for processor specific registers saving, the allocated memory address will be passed to (*save) and (*restore) memory allocation happens early in pxa_pm_init(), and save_size should be assigned prior to this (which is usually true, since pxa_pm_init() happens in device_initcall() 4. there're some redundancies for those SLEEP_SAVE_XXX and related macros, will be fixed later, one way possible is for the system devices to handle the specific registers saving and restoring Signed-off-by: eric miao Signed-off-by: Russell King commit 8c6b065b792061c2e471d530127f2348fd9d243d Author: Alan Cox Date: Fri Jul 20 15:36:31 2007 +0100 pata_cs5520: Fix probe bug regression introduced in 2.6.22 Signed-off-by: Alan Cox Signed-off-by: Linux Torvalds commit 6a860c979b35469e4d77da781a96bdb2ca05ae64 Author: Jens Axboe Date: Fri Jul 20 15:18:12 2007 +0200 splice: fix bad unlock_page() in error case If add_to_page_cache_lru() fails, the page will not be locked. But splice jumps to an error path that does a page release and unlock, causing a BUG() in unlock_page(). Fix this by adding one more label that just releases the page. This bug was actually triggered on EL5 by gurudas pai using fio. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 9d1ca6f13cfedfd127f3be7e447bd6d922806a65 Author: Rusty Russell Date: Fri Jul 20 22:15:01 2007 +1000 lguest: override sched_clock Guests currently use the default scheduler clock: this means they always use jiffies even if TSC is actually available. It doesn't make any noticeable difference here, but it's a better thing to do. Also remove commented-out asm/sched-clock.h from -mm tree. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 876be9d89e9c8a007577e6372e331042edf4020b Author: Rusty Russell Date: Fri Jul 20 22:12:56 2007 +1000 lguest: trivial: We now have asm/processor-flags.h, so use it. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit e5faff45b381e053c31214713ed783d97f49177b Author: Rusty Russell Date: Fri Jul 20 22:11:13 2007 +1000 lguest: fix sense if IF flag on interrupt injection The sense of the IF bit is backwards in the host interrupt handling. This means we always save "IF=1" on the stack when injecting an interrupt. It turns out this is almost always correct (unless the guest is taking a page fault in an interrupt due to an unpopulated vmalloc mapping), so went unnoticed. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit e7cbff13ec1f236a3f8341c503a2e1bd0cf692e5 Author: Al Viro Date: Fri Jul 20 16:03:40 2007 +0100 [SCSI] iscsi_tcp: buggered kmalloc() Signed-off-by: Al Viro Cc: Mike Christie Signed-off-by: James Bottomley commit bd6dc742a4b1945861795a66dc27c65365c5f28e Author: David Howells Date: Fri Jul 20 10:59:41 2007 +0100 AFS: Use patched rxrpc_kernel_send_data() correctly Fix afs_send_simple_reply() to accept a greater-than-zero return value from rxrpc_kernel_send_data() as being a successful return rather than thinking it an error and aborting the call. rxrpc_kernel_send_data() previously returned zero incorrectly when it worked successfully, but has been patched to return the number of bytes it transmitted. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5c72fc5cad68f5e1bfe0910cca9f63723e4a5c4a Author: Nick Piggin Date: Fri Jul 20 09:21:06 2007 +0200 arm: fix up handle_mm_fault changes Update arm to use bitwise types for its VM_FAULT_ constants. Signed-off-by: Nick Piggin Cc: Russell King Signed-off-by: Linus Torvalds commit e609ccc3161ead8a685b15533d9b6958ed368358 Author: Matthew Wilcox Date: Fri Jul 20 09:29:50 2007 -0600 Fix Lindent to not indent preprocessor comments so far I recently ran Lindent over the AdvanSys driver and it moved the comments on #else and #endif lines way over to the right: #else /* ADVANSYS_DEBUG */ This doesn't match what I expect from kernel style, but it is documented. We just need another flag to indent to make this look like: #else /* ADVANSYS_DEBUG */ Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 178554ae75739e91dc4d7c3e42a3db95448cc5bf Author: Jesper Juhl Date: Fri Jul 20 00:31:48 2007 -0700 Memory leak in tpm_ascii_bios_measurements_open() Coverity found a memory leak in tpm_ascii_bios_measurements_open(). If "read_log(log)" fails, then we may leak 'log' and 'log->bios_event_log'. Signed-off-by: Jesper Juhl Cc: Seiji Munetoh Cc: Stefan Berger Cc: Reiner Sailer Cc: Kylene Hall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22982a5687d8abf7bafe6d307585464f47089f18 Author: Greg Ungerer Date: Fri Jul 20 00:31:47 2007 -0700 m68knommu: reformat show_cpuinfo() Reformat show_cpuinfo() to be consistent with normal coding style (and rest of this file). Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3bbb3f05339de438faf54124f25c92e6fe4ac2e Author: Jesper Juhl Date: Fri Jul 20 00:31:47 2007 -0700 cr_backlight_probe() allocates too little storage for struct cr_panel The Coverity checker noticed that we allocate too little storage for "struct cr_panel *crp" in cr_backlight_probe(). Signed-off-by: Jesper Juhl Cc: Thomas Hellstrom Cc: Alan Hourihane Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb0645a8b1f14da300f40bb9f424640cd1181fbf Author: Dan Williams Date: Fri Jul 20 00:31:46 2007 -0700 async_tx: fix kmap_atomic usage in async_memcpy Andrew Morton: [async_memcpy] is very wrong if both ASYNC_TX_KMAP_DST and ASYNC_TX_KMAP_SRC can ever be set. We'll end up using the same kmap slot for both src add dest and we get either corrupted data or a BUG. Evgeniy Polyakov: Btw, shouldn't it always be kmap_atomic() even if flag is not set. That pages are usual one returned by alloc_page(). So fix the usage of kmap_atomic and kill the ASYNC_TX_KMAP_DST and ASYNC_TX_KMAP_SRC flags. Cc: Andrew Morton Cc: Evgeniy Polyakov Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c6129c68fe90a61166800b40217a850b8faee98 Author: Stephen Rothwell Date: Fri Jul 20 00:31:45 2007 -0700 dpt_i2o depends on virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1833633803c7ef4d8f09877d3f1549cbd252f477 Author: Nick Piggin Date: Fri Jul 20 00:31:45 2007 -0700 fix some conversion overflows Fix page index to offset conversion overflows in buffer layer, ecryptfs, and ocfs2. It would be nice to convert the whole tree to page_offset, but for now just fix the bugs. Signed-off-by: Nick Piggin Cc: Michael Halcrow Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e228929bc257b963523ed75aa60d2ad77ece2189 Author: Paul Mundt Date: Fri Jul 20 00:31:44 2007 -0700 mm: fix memory hotplug oops from ZONE_MOVABLE changes. zone_movable_pfn is presently marked as __initdata and referenced from adjust_zone_range_for_zone_movable(), which in turn is referenced by zone_spanned_pages_in_node(). Both of these are __meminit annotated. When memory hotplug is enabled, this will oops on a hot-add, due to zone_movable_pfn having been freed. __meminitdata annotation gives the desired behaviour. This will only impact platforms that enable both memory hotplug and ARCH_POPULATES_NODE_MAP. Signed-off-by: Paul Mundt Acked-by: Mel Gorman Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d1b87530e7df5c9541a69910ef7f786f034eca0 Author: Adrian Bunk Date: Fri Jul 20 00:31:44 2007 -0700 arch/i386/xen/events.c should #include Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Acked-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2eea68e7db759ce67807b42b7407236cccfde71 Author: Roland McGrath Date: Fri Jul 20 00:31:43 2007 -0700 xen: disable vdso "nosegneg" on native boot One of the nice ideas behind paravirt is that CONFIG_XEN=y can be included in a standard configuration and be no worse for native booting than as a Xen guest. The glibc feature that supports the vDSO "nosegneg" note is designed specifically to make this easy. You just have to flip one bit at boot time. This patch makes Xen flip the bit, so a CONFIG_XEN=y kernel on bare hardware does not make glibc use the less-optimized library builds. Signed-off-by: Roland McGrath Acked-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d046943cbaf332f75284ad99f4b3e60bae7ffff2 Author: Al Viro Date: Fri Jul 20 16:18:06 2007 +0100 fix gfp_t annotations for slub Since we have use like ~SLUB_DMA, we ought to have the type set right in both cases. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8d4bc5b6b0ce030f51a2db836caeaf687b986791 Author: Al Viro Date: Fri Jul 20 16:15:28 2007 +0100 ANSIfy a couple of functions in netfilter It's C, not C++... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6d14bfe77b8246a45670b7158d3a49bfe55662c7 Author: Al Viro Date: Fri Jul 20 16:10:24 2007 +0100 Fix lguest misannotation It's void __user *, not void * __user... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 25cccecce8e29f92eb5a0445bc97ee01ef2da379 Author: Al Viro Date: Fri Jul 20 16:07:33 2007 +0100 Fix up sky2 breakage Doing |= 1 << 19 to 16bit unsigned is not particulary useful; that register is 32bit, unlike the ones dealt with in the rest of function, so we need u32 variable here. Signed-off-by: Al Viro Acked-by: Stephen Hemminger Signed-off-by: Linus Torvalds commit a9204879b4242c2bed3a172399906acd371a8081 Author: Al Viro Date: Fri Jul 20 16:03:40 2007 +0100 Fix buggered kmalloc() call argument order Wrong order of arguments Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit dfedfaf55a452637d72bfc482c80f902a470ebb7 Author: Al Viro Date: Fri Jul 20 04:33:58 2007 +0100 m68k: exclude more unbuildable drivers anything that wants working dma-mapping won't work parport_pc won't work on m68k unless we have ISA Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 446df4c1e5f56cb68ec0cd9c29bbb2c7b04a513e Author: Al Viro Date: Fri Jul 20 04:33:48 2007 +0100 mac89x0: missing __init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f6ea2090e08abf3b95e1b692f1eec596bce69e9c Author: Al Viro Date: Fri Jul 20 04:33:38 2007 +0100 m68k: remove empty ->setup is several consoles Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 66a3f820cb6a88ef0481e042d4b48b2299deab7e Author: Al Viro Date: Fri Jul 20 04:33:28 2007 +0100 m68k: missing __init Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 88f8bb780e13fd31f207e1752ee8624dc786381f Author: Al Viro Date: Fri Jul 20 04:33:18 2007 +0100 m68k: missing exports Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7e5de05169b766b86b4bc7c196f53d57e1952bff Author: Al Viro Date: Fri Jul 20 04:33:08 2007 +0100 m68k: use .text.head i.e. tell modpost that entry point code (that has to be outside of .init.text for external reasons) is OK to refer to .init.* Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f9569e1d1540791f664aeb935b1ec11b6e56507c Author: Al Viro Date: Fri Jul 20 04:32:58 2007 +0100 m68k iomem (based on Geert's tree + memcpy_... stuff) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 3a5df1d451cfe3a3d6d63f144554cac286eecba1 Author: Al Viro Date: Fri Jul 20 04:32:48 2007 +0100 m68k: teach modpost about .m68_fixup Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8a0236743ecd591f16a749f5c06670c6ae9661be Author: Al Viro Date: Fri Jul 20 00:24:22 2007 +0100 more isa/eisa/pci-only drivers marked as such Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6585c1b3e2e6fe78701980686139f9599be07d66 Author: Andrew Vasquez Date: Thu Jul 19 15:06:04 2007 -0700 [SCSI] qla2xxx: Update version number to 8.02.00-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c3a2f0dfe1cecac76950f340f540c1a887dd2500 Author: Andrew Vasquez Date: Thu Jul 19 20:37:34 2007 -0700 [SCSI] qla2xxx: Add ISP25XX support. Large code-reuse from ISP24xx, consolidate RISC memory extraction routines during firmware-dump. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit af6177d88d76834b4d05499482d471d64559a6af Author: Andrew Vasquez Date: Thu Jul 19 15:06:02 2007 -0700 [SCSI] qla2xxx: Use pci_try_set_mwi(). As the "must-check" return-value of pci_set_msi() is never really checked. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f85ec187dcd65c76dcb29f70ff3b5c7f2ae37cc8 Author: Andrew Vasquez Date: Thu Jul 19 15:06:01 2007 -0700 [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces. Original from Peter Oruba . Additional cleanups included. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fd34f55694a784052981977cb84c50ea369ffc68 Author: Andrew Vasquez Date: Thu Jul 19 15:06:00 2007 -0700 [SCSI] qla2xxx: Re-factor isp_operations to static structures. In preparation for new ISP types. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8084fe168a5252548cdddf2ed181c337fecd0523 Author: Shyam Sundar Date: Thu Jul 19 15:05:59 2007 -0700 [SCSI] qla2xxx: Validate mid-layer 'underflow' during check-condition handling. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5881569bb33cdb0d4cdcd44d9ca2551ab04fb811 Author: Andrew Vasquez Date: Thu Jul 19 15:05:58 2007 -0700 [SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during FDMI registration. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c76f2c013f7fce83d54acd9d414af7e989e0a1dd Author: Andrew Vasquez Date: Thu Jul 19 15:05:57 2007 -0700 [SCSI] qla2xxx: Generalize iIDMA support. In preparation for new ISP types. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e428924ccdf4644c58e23c2314ab970ff3afc607 Author: Andrew Vasquez Date: Thu Jul 19 15:05:56 2007 -0700 [SCSI] qla2xxx: Generalize FW-Interface-2 support. In preparation for new ISP types. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5ddf24c5ea9d715dc4f5d5d5dd1c9337d90466dc Author: Tejun Heo Date: Mon Jul 16 14:29:41 2007 +0900 libata: implement EH fast drain In most cases, when EH is scheduled, all in-flight commands are aborted causing EH to kick in immediately. However, in some cases (especially with PMP), it's unclear which commands are affected by the error condition and although aborting all in-flight commands work, it isn't optimal and may cause unnecessary disruption. On the other hand, waiting for in-flight commands to drain themselves can take up to 30seconds. This patch implements EH fast drain to handle such situations. It gives in-flight commands some time to finish up but doesn't wait for too long. After EH is scheduled, fast drain timer is started and if no other completion occurs in ATA_EH_FASTDRAIN_INTERVAL all in-flight commands are aborted. If any completion occurred in the interval, the port is given another interval to finish up itself. Currently ATA_EH_FASTDRAIN_INTERVAL is 3 secs which should be enough for finishing up most commands. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4e57c517b3cbaceb7438eeec879ca129fc17442c Author: Tejun Heo Date: Mon Jul 16 14:29:41 2007 +0900 libata: schedule probing after SError access failure during autopsy If SError isn't accessible, EH can't tell whether hotplug has happened or not. Report SError read failure with AC_ERR_OTHER and schedule probing with hardreset. This will be mainly useful for PMPs. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fccb6ea5c240b9f29baa55448488fd6aee49f5a5 Author: Tejun Heo Date: Mon Jul 16 14:29:41 2007 +0900 libata: clear HOTPLUG flag after a reset ATA_EHI_HOTPLUGGED is a hint for reset functions indicating the the port might have gone through hotplug/unplug just before entering EH. Reset functions modify their behaviors a bit to handle the situation better - e.g. using longer debouncing delay. Currently, once HOTPLUG is set, it isn't cleared till the end of EH. This is unnecessary and makes EH take longer. Clear the HOTPLUGGED flag after a reset try (successful or not). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f8f1e1cc0cd4d75c73e9a55a0ede8958e4fa14f1 Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: reorganize ata_ehi_hotplugged() __ata_ehi_hotplugged() now has no users. Regorganize ata_ehi_hotplugged() such that a new function ata_ehi_schedule_probe() deals with scheduling probing. ata_ehi_hotplugged() calls it and additionally marks hotplug specific flags. ata_ehi_schedule_probe() will be used laster. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1ae463171cc1b1ea6dad7bcb298e96c073e7373e Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: improve SCSI scan failure handling SCSI scan may fail due to memory allocation failure even if EH is not in progress. Due to use of GFP_ATOMIC in SCSI scan path, allocation failure isn't too rare especially while probing multiple devices at once which is the case when a bunch of devices are connected to PMP. This patch moves SCSI scan failure detetion logic from ata_scsi_hotplug() to ata_scsi_scan_host() and implement synchronous scan behavior. The synchronous path sleeps briefly and repeats SCSI scan if some devices aren't attached properly. It contains robust retry loop to minimize the chance of device misdetection during boot and falls back to async retry if everything fails. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f1545154a5c96590b1992aac8ee1e2c445e301ed Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: quickly trigger SATA SPD down after debouncing failed Debouncing failure is a good indicator of basic link problem. Use -EPIPE to indicate debouncing failure and make ata_eh_reset() invoke sata_down_spd_limit() if the error occurs during reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 008a78961ec72990d09d7625ef9499d7317d040d Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: improve SATA PHY speed down logic sata_down_spd_limit() first reads the current SPD from SStatus and limit the speed to the lower one of one below the current limit or one below the current SPD in SStatus. SPD may not be accessible or valid when SPD down is requested making sata_down_spd_limit() fail when it's most needed. This patch makes the current SPD cached after each successful reset and forces GEN I speed (1.5Gbps) if neither of SStatus or the cached value is valid, so sata_down_spd_limit() is now guaranteed to lower the speed limit if lower speed is available. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit badc2341579511a247f5993865aa68379e283c5c Author: su henry Date: Fri Jul 20 08:07:46 2007 -0400 The SATA controller device ID is different according to the onchip SATA type set in the system BIOS: Device Device ID SATA in IDE mode 0x4390 SATA in AHCI mode 0x4391 SATA in non-raid5 driver 0x4392 SATA in raid5 driver 0x4393 Although the device ID is different, they use the same AHCI driver .The attached file is the patch for adding these device IDs for ATI SB700. Signed-off-by: henry.su.ati@gmail.com Signed-off-by: Jeff Garzik commit 203ef6c456ad70e660cca67921d3d872b13aa516 Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 ahci: implement SCR_NOTIFICATION r/w Make ahci_scr_read/write() handle SCR_NOTIFICATION if the controller supports it. Also, print "sntf" in the cap line if supported. While at it, convert eight space into a tab in ahci_print_info(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 274c1fde5c775a53331427d454745b9ecc5c783b Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 ahci: make NO_NCQ handling more consistent ahci_save_initial_config() is responsible for reading, screening the host CAP register and storing the modified result into hpriv->cap for the rest of the driver. Move ATA_FLAG_NO_NCQ handling into ahci_save_initial_config(). It's more consistent this way and the rest of the driver can always refer to hpriv->cap to determine configured capability. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit da3dbb17a0e9a9ec7f5aed95f1fddadb790edc9d Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: make ->scr_read/write callbacks return error code Convert ->scr_read/write callbacks to return error code to better indicate failure. This will help handling of SCR_NOTIFICATION. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5335b729064e03319cd2d5219770451dbb1d7f67 Author: Tejun Heo Date: Mon Jul 16 14:29:40 2007 +0900 libata: implement AC_ERR_NCQ When an NCQ command fails, all commands in flight are aborted and the offending one is reported using log page 10h. Depending on controller characteristics and LLD implementation, all commands may appear as having a device error due to shared TF status making it hard to determine what's actually going on. This patch adds AC_ERR_NCQ, marks the command reported by log page 10h with it and print extra "" after the error report for the command to help distinguishing the offending command. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b64bbc39f2122a2276578e40144af69ef01decd4 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 libata: improve EH report formatting Requiring LLDs to format multiple error description messages properly doesn't work too well. Help LLDs a bit by making ata_ehi_push_desc() insert ", " on each invocation. __ata_ehi_push_desc() is the raw version without the automatic separator. While at it, make ehi_desc interface proper functions instead of macros. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 975530e8a33fdeb1ad80d82fde11d56bf9ed2760 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 sata_sil24: separate out sil24_do_softreset() Separate out sil24_do_softreset() which takes @pmp as its last argument. This will be used to implement sil24_pmp_softreset(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 37b99cba8c2a3fd05a3a9f652cc2b3e48d1b9197 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 sata_sil24: separate out sil24_exec_polled_cmd() Separate out sil24_exec_polled_cmd() from sil24_softreset(). This will be used to implement sil24_pmp_read/write(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e59f0dad33176a13803ff8a41cc639a06c43d381 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 sata_sil24: replace sil24_update_tf() with sil24_read_tf() Replace sil24_update_tf() to sil24_read_tf() which reads TF into passed int result TF argument and can read TFs of PMP links. This will be used by PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a9cf5e858100b2f82ad61028c26a1a3de11c4839 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 ahci: separate out ahci_do_softreset() Separate out ahci_do_softreset() which takes @pmp as its last argument. This will be used to implement ahci_pmp_softreset(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 91c4a2e09267b0ddc8e59d121e3748cd18675739 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 ahci: separate out ahci_exec_polled_cmd() Separate out ahci_exec_polled_cmd() from ahci_softreset(). This will be used to implement ahci_pmp_read/write(). ahci_exec_polled_cmd() performs reset_engine before returning if the command fails (times out). This is to improve robustness. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d2e75dfffbe9e86e1d646264792ac9bcd2cc4267 Author: Tejun Heo Date: Mon Jul 16 14:29:39 2007 +0900 ahci: separate out ahci_kick_engine() Separate out stop_engine - CLO - start_engine sequence from ahci_softreset() and ahci_clo() into ahci_reset_engine() and use it in ahci_softreset() and ahci_post_internal_cmd(). The function will also be used to prepare for and clean up after PMP register access commands. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2cbb79ebbd4be07041368da5379a64f89f8ad518 Author: Tejun Heo Date: Mon Jul 16 14:29:38 2007 +0900 ahci: use deadline instead of fixed timeout for 1st FIS for SRST Use deadline instead of fixed timeout for 1st FIS for SRST to improve robustness of SRST. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9977126c4b65c1396b665f7a0eeb8c7dede336f9 Author: Tejun Heo Date: Mon Jul 16 14:29:38 2007 +0900 libata: add @is_cmd to ata_tf_to_fis() Add @is_cmd to ata_tf_to_fis(). This controls bit 7 of the second byte which tells the device whether this H2D FIS is for a command or not. This cleans up ahci a bit and will be used by PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fe36cb53cfd82f3c0796a0826e1c9caf198c8f97 Author: Petr Vandrovec Date: Fri Jul 20 07:44:44 2007 -0400 [libata] Fix reported task file values in sense data ata_tf_read was setting HOB bit when lba48 command was submitted, but was not clearing it before reading "normal" data. As it is only place which sets HOB bit in control register, and register reads should not be affected by other bits, let's just clear it when we are done with reading upper bytes so non-48bit commands do not have to touch ctl at all. pata_scc suffered from same problem... Signed-off-by: Petr Vandrovec Signed-off-by: Jeff Garzik commit f3a03b0934fb83a030ccd3e6f1fbe845a9c44d49 Author: Dave Jones Date: Mon Jul 16 11:23:03 2007 -0400 Correct comment in libata-sff.c The filename in the file header is incorrect. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit dcd0344775c1c0bf8ff3b9541863beea5088a7c9 Author: Akira Iguchi Date: Tue Jul 17 12:10:17 2007 +0900 pata_scc.c: small fixes (Workaround for errata A308) This patch fixes some issues of the previous patch: - Use mode_filter() hook to limit ATAPI UDMA mode - "data loss" warning message - handling of udma_mask Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Signed-off-by: Jeff Garzik commit 028a2596336b19a7e3713cfa9fe04d0d32e95876 Author: Alexey Dobriyan Date: Tue Jul 17 23:48:48 2007 +0400 ahci.c: fix CONFIG_PM=n compilation Commit df69c9c5438b4e396a64d42608b2a6c48a3e7475 moved only prototype of out of CONFIG_PM. Move function out as well. Box seems to boot fine. Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 3fb6589ceaf06d9c65bdf2382249d818771e913b Author: Tejun Heo Date: Fri Jul 20 12:49:38 2007 +0900 libata: add ST9160821AS 3.CLF to NONCQ blacklist Yay, the first one from Seagate. 3.ALC firmware is okay. This was reported by Sam Freed on bugzilla bug 8759. Signed-off-by: Tejun Heo Signed-off-by: Sam Freed Signed-off-by: Jeff Garzik commit 83b6839ec33becca78ebf6035489733a62e750bb Author: Magnus Damm Date: Fri Jul 20 12:50:58 2007 +0900 pata_platform: Fix NULL pointer dereference pata_platform: Fix NULL pointer dereference pata_platform currently dereferences a NULL pointer in pata_platform_probe() if pdev->dev.platform_data is set to NULL. This breakage was most likely introduced by commit 5f45bc50976ee1f408f7171af155aec646655a37. Signed-off-by: Magnus Damm Signed-off-by: Jeff Garzik commit 0ea9e179f436f153fc19fdaef7abbc1e0da20762 Author: Jeff Garzik Date: Fri Jul 13 17:06:45 2007 -0400 [libata] sata_mv: minor cleanups * trim trailing whitespace * document some flags, registers, and register bits * fix locking around EDMA on/off and configuration * continue replacing "constant OP var" with "var OP constant" * use new pci_try_set_mwi() Signed-off-by: Jeff Garzik commit 6c1153e00af8de755ec278d873a97c9ce2a72d10 Author: Jeff Garzik Date: Fri Jul 13 15:20:15 2007 -0400 [libata] sata_mv: Micro-optimization and cleanups * Micro-optimization in the EDMA interrupt handling code * s/EDMA_ERR_CRBQ_PAR/EDMA_ERR_CRQB_PAR/ * Document EDMA Error Interrupt Cause register bits Signed-off-by: Jeff Garzik commit 56386f6424f242cff46e2cfd7be44624cd37dce1 Author: Magnus Damm Date: Fri Jul 20 18:44:49 2007 +0900 sh: intc - add support for SH7750 and its variants This patch converts the cpu specific 7750 setup code to use the new intc controller. Many new vectors are added and multiple processor variants including 7091, 7750, 7750s, 7750r, 7751 and 7751r should all have the correct vectors hooked up. IRLM interrupts can be enabled using ipr_irq_enable_irlm() which now is marked as __init. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 53555eb758388fff3982875129ca96080caed147 Author: Jaroslav Kysela Date: Fri Jul 20 11:13:35 2007 +0200 [ALSA] version 1.0.14 Signed-off-by: Jaroslav Kysela commit 1f6268e982c7d35adee34d8f92a17644c7b3f78a Author: Jaroslav Kysela perex@suse.cz Date: Fri Jul 20 10:42:56 2007 +0200 [ALSA] remove duplicate Logitech Quickcam USB ID in usbquirks.h Signed-off-by: Jaroslav Kysela commit aafc03398baefaac380b34a1ee6356e7eed8e663 Author: Takashi Iwai Date: Tue May 29 18:01:06 2007 +0200 [ALSA] hda-codec - Fix input with STAC92xx The recent fix for STAC92xx surround outputs broke the input pin setting for shared line-in and mic jacks. This patch fixes the breakage. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c54728d8aa59283ece86cb745e5085ece8b4eedb Author: Nicola Fagnani Date: Thu Jul 19 23:28:52 2007 +0200 [ALSA] hda-intel: support for iMac 24'' released on 09/2006 Basic audio support for the iMac 24'' model released on 09/2006, including headphone jack detection with automatic speaker muting. This iMac uses the Realtek ALC885 codec, not a Sigmatel one as in other models. Functionality has been tested for internal speakers, headphone and microphone. Signed-off-by: Nicola Fagnani Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c5d9f1cdbf067b5500886c5171159e99657341ce Author: Claudio Matsuoka Date: Thu Jul 19 23:18:32 2007 +0200 [ALSA] hda-codec - Add quirk for Asus P5LD2 Without the proper model setting, the Asus P5LD2 rear outputs remain completely silent unlike other systems where the front speakers usually work. This patch adds the P5LD2 to the quirk table. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8632649b1c991aab883a8538e493c33e362d077a Author: James Courtier-Dutton Date: Fri May 18 20:35:50 2007 +0100 [ALSA] snd-ca0106: Add support for X-Fi Extreme Audio. This card is just a normal SB Live 24bit, but under a different marketing name. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit d9e8a552d486eff3281e58754d126500782dcd74 Author: James Courtier-Dutton Date: Sat Jul 14 10:24:49 2007 +0100 [ALSA] snd-emu10k1:Enable E-Mu 1616m notebook firmware loading. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 3663d845e557989d09e856c1e9e708e80a976dd4 Author: James Courtier-Dutton Date: Sat Jul 14 02:18:26 2007 +0100 [ALSA] snd-emu10k1: Initial support for E-Mu 1616 and 1616m. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 89f157d9e6bf08b65f93dcb1dca1de037079885f Author: Takashi Iwai Date: Thu Jul 19 11:23:21 2007 +0200 [ALSA] cs46xx - Fix PM resume Fixed PM resume of cs46xx devices. It now restores properly the DSP image and kick-off the DSP. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87d483630a4bd5af2beb2155c7ae8c408729a1a6 Author: Matthew Ranostay Date: Tue Jul 17 11:52:24 2007 +0200 [ALSA] hda: Enable SPDIF in/out on some stac9205 boards Added support for some boards with SPDIF in/out, and cleaned up the GPIO enable function. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7c64ec343a7d7b2d73b19e6bb8d9fd15f0462890 Author: Clemens Ladisch Date: Mon Jul 16 11:01:30 2007 +0200 [ALSA] timer: check for incorrect device state in non-debug compiles, too Convert the snd_assert()s to simple if()s to prevent crashes when one of the timer instance ioctls is called before the file is bound to a timer device. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c28054d4b31d78272f65c0d11db0796f50fb9569 Author: Yoann Padioleau Date: Sat Jul 14 00:33:15 2007 +0200 [ALSA] snd-aoa-codec-onyx: fix typo Parse error in ifdef or bad use of macro. Signed-off-by: Yoann Padioleau Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ef64adbbba1b215e8b523b50ef9d568b4bf2e1e3 Author: Claudio Matsuoka Date: Sat Jul 14 00:26:16 2007 +0200 [ALSA] hda-codec - Add quirks for HP dx2200/dx2250 HP dx2200 and dx2250 use Micro-Star International (MSI) motherboards (models MS-7254 and MS-7297 respectively) with an ALC862 codec in threestack configuration. Adding this quirk allows correct 5.1 sound output in these systems. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4723c022e1960abb5608b37ef61443da7d6296bb Author: Claudio Matsuoka Date: Fri Jul 13 14:36:19 2007 +0200 [ALSA] hda-codec - Rename HP model-specific quirks Rename ALC888_HP_NETTLE and ALC888_HP_LUCKNOW models to the more generic names ALC888_6ST_HP and ALC888_3ST_HP since HP seems to be consistent in the wiring of their 3stack and 6stack ALC888-based systems. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e87f97a3e842a816f30f087d5bfac68ef2afaef2 Author: Claudio Matsuoka Date: Fri Jul 13 11:51:32 2007 +0200 [ALSA] hda-codec - Add quirk for HP Samba This patch fixes 5.1 surround output for the HP Samba using the same quirk as the HP Lucknow. If HP machines are uniform in their wiring, we should rename ALC888_HP_NETTLE to ALC888_6ST_HP and ALC888_HP_LUCKNOW to ALC888_3ST_HP for generic HP 6stack and 3stack configurations. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e4f41da9e5f03e67ebe6067aad40c6a79443c3ae Author: Claudio Matsuoka Date: Fri Jul 13 11:51:06 2007 +0200 [ALSA] hda-codec - Add LG LW20 line-in capture source Add line-in to the list of LG LW20 capture sources. Also fix the LG LW pin assignment list comment. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cac19c3ba123369b7c1199e20bb01fb265004ff5 Author: Thibault Le Meur Date: Fri Jul 13 11:50:23 2007 +0200 [ALSA] usb-audio - Fix AC3 with M-Audio Audiophile USB Fixed AC3 interface in device_setup=0x00 mode thanks to Hakan Lennestal and updated documentation Signed-off-by: Thibault Le Meur Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1b290a510c12be91b6a2f7d6a07ef61b8ee9f06a Author: Matthew Ranostay Date: Thu Jul 12 15:17:34 2007 +0200 [ALSA] hda: stac9202 mixer fix Added support for line out controls for STAC9202 cards, and fixed issue where master mixer control was being created twice for headphone and speaker outs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 82fb159aa3d187aac0fce076739d7d8884e7a0af Author: Matt Reimer Date: Thu Jul 12 12:27:24 2007 +0200 [ALSA] Make s3c24xx_i2s_set_clkdiv() change the correct bits Make s3c24xx_i2s_set_clkdiv() change the correct bits. Signed-off-by: Matt Reimer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ef2ec0dd65bc542f9ab45ea2fac6920cb1afa13b Author: Claudio Matsuoka Date: Thu Jul 12 11:27:37 2007 +0200 [ALSA] hda-codec - Add LG LW20 si3054 modem id Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f8c78b82b9e47d933629e7060e4a83a277b15ffe Author: Thibault Le Meur Date: Thu Jul 12 11:26:35 2007 +0200 [ALSA] usb-audio - Fix audiophile-USB quirk for little-endian Audiophile-usb fix (corrects little-endianness in 16bit modes, resets interfaces at device initialization, and updates the documentation). Signed-off-by: Thibault Le Meur Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit be38114a49853e441e694d690e631937de5fc524 Author: Claudio Matsuoka Date: Wed Jul 11 10:31:08 2007 +0200 [ALSA] hda-codec - Add VIA HDA to si3054 Add VIA HDA identification to use the HDA-based Motorola modem of the Clevo m540 laptop. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2dcd522f89d17936d08665c22ab0ee415b8c5d56 Author: Tobin Davis Date: Tue Jul 10 17:04:57 2007 +0200 [ALSA] HDA-Intel - Add support for MSI K9AGM2-FIH motherboard This patch adds support for the MSI K9AGM2-FIH on-board audio. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cfc24ec89b488eeb5dfe4189761205fca38eb58e Author: Ritesh Raj Sarraf Date: Tue Jul 10 13:03:57 2007 +0200 [ALSA] USB ID for intergrated quickcam on dell xps m1210 This patch adds Logitech QuickCam USB ID for Dell's XPS M1210 notebooks. Signed-off-by: Ritesh Raj Sarraf Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 706568967c7d99a5975b2a21aacd791dc838ea8c Author: Adrian Bunk Date: Tue Jul 10 11:34:32 2007 +0200 [ALSA] fix SND_CS5530=y, ISA=n compilation This patch fixes the following compile error with CONFIG_SND_CS5530=y, CONFIG_ISA=n: <-- snip --> ... LD .tmp_vmlinux1 sound/built-in.o: In function 'snd_sb16_capture_trigger': sb16_main.c:(.text+0x212ad): undefined reference to 'snd_sbdsp_command' sb16_main.c:(.text+0x212cc): undefined reference to 'snd_sbdsp_command' sb16_main.c:(.text+0x212f7): undefined reference to 'snd_sbdsp_command' sound/built-in.o: In function 'snd_sb16_playback_trigger': sb16_main.c:(.text+0x2136d): undefined reference to 'snd_sbdsp_command' sb16_main.c:(.text+0x2138c): undefined reference to 'snd_sbdsp_command' ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f95474ec05106a2af46220fbf8624adc17fcb3e7 Author: Takashi Iwai Date: Tue Jul 10 00:47:43 2007 +0200 [ALSA] hda-codec - Fix default pin config of Abit AW9D-MAX Fix the default pin configuration of Abit AW9D-MAX. The board has a broken BIOS that doesn't set the correct pin default configs, which screws up the auto-configuration of snd-hda-intel driver. The patch enables the override of default pin config values. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 341d4eb0cffdcd5fbdbd696dc26671f91e7c418c Author: Takashi Iwai Date: Mon Jul 9 17:53:18 2007 +0200 [ALSA] hda-codec - Fix Toshiba A100 with ALC861 One of the newly added model entries causes a regression on Toshiba A100. It works fine with model=auto. So, let's deselect the entry again. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c34532da91c208bd5567419984ea6a4bf60dad60 Author: George Shapovalov Date: Mon Jul 9 10:42:35 2007 +0200 [ALSA] usb-audio: another Logitech camera/microphone ID match From: George Shapovalov Another case of ALSA ticket #3040: we need an explicit USB ID match for another Logitech camera/microphone device. Signed-off-by: Daniel Drake Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f167684a6454183d41588982ed26e4c6ee6feb48 Author: Takashi Iwai Date: Mon Jul 9 10:39:44 2007 +0200 [ALSA] usbaudio - Add quirk for Roland EXR series Added a quirk for Roland EXR series. Reported by Andre Coetzee. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d20b9b20e5f3bb82a6f38583154cb2f163d465d7 Author: Takashi Iwai Date: Mon Jul 9 10:36:22 2007 +0200 [ALSA] aica - fix behaviour in poor resource conditions Fix behaviour in poor resource conditions. With this new patch, tidied with indent and with SNDRV_PCM_TRIGGER_STOP being used. Signed-off by: Adrian McMenamin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 43bbb6ccc67775b432c31d5fd2e1050329ffdcbf Author: Takashi Iwai Date: Fri Jul 6 20:22:05 2007 +0200 [ALSA] hda-intel - Show the last command in warning messages Show the last issued command in warning messages when any communication error with CORB/RIRB occurs. Also, a bit code clean-up for composing the command value in *_send_cmd(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a4eed138add1018846d17e813560b0c7c0ae8e01 Author: Takashi Iwai Date: Fri Jul 6 18:17:04 2007 +0200 [ALSA] hda-codec - Fix number of pin widgets with STAC codecs Use ARRAY_SIZE() to calculate the number of pin widgets for each codec chip. This also fixes a typo in STAC9205 code that gives a wrong number (14 instead of 12), which resulted in fatal communication errors. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 47a2327eac01fa944ab935fc5bb03c3032b2ec37 Author: Robert P. J. Day Date: Fri Jul 6 13:27:16 2007 +0200 [ALSA] Remove unreferenced header file include/sound/wavefront_fx.h Signed-off-by: Robert P. J. Day Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1a7fa543cb5d8185d293a03842b33136d8dcc04c Author: Takashi Iwai Date: Fri Jul 6 12:27:25 2007 +0200 [ALSA] Fix substream to check in PCM drain The check of a substream in snd_pcm_drain() might not be always correct since runtime can point a different substream (although the PCM state of each linked substream should be same, in theory). This patch fixes it. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 940d244851f8a204b5aedae678d9ab96c20b2fec Author: Takashi Iwai Date: Fri Jul 6 12:24:55 2007 +0200 [ALSA] Add missing model entries for HD-audio codecs Added missing model entries for HD-audio codecs in the module option list. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0f40502e0b5300a37c4cfc7bf93f84c2702dbbe9 Author: Takashi Iwai Date: Fri Jul 6 12:24:11 2007 +0200 [ALSA] hda-codec - Add missing model parameter strings for ALC262 Added the missing model option values for ALC262. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cdb0e9a7af3ad34f3f879fda9251039c4cad3403 Author: Claudio Matsuoka Date: Fri Jul 6 12:11:22 2007 +0200 [ALSA] Update Claudio's CREDITS information Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8341de60c76c400eaa453c91810ba6995d2fdb57 Author: Claudio Matsuoka Date: Fri Jul 6 12:10:45 2007 +0200 [ALSA] hda-codec - Add HP Lucknow 5.1 support Added HP Lucknow (ALC888) 5.1 surround support based on ALC883 6-channel threestack with changes in channel routing. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cd1e3b40429c172b29c04a9c777be2ca1ac012e0 Author: Claudio Matsuoka Date: Fri Jul 6 12:10:01 2007 +0200 [ALSA] hda-codec - Fix HP Nettle 5.1 output Fixed HP Nettle 6ch/8ch channel routing based on ALC883 sixstack and swapping rear and center/LFE in verbs and mixer settings. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1624cb9a35d4276c8ea0d939d580a6945ac72ac1 Author: Takashi Iwai Date: Thu Jul 5 13:10:51 2007 +0200 [ALSA] hda-codec - Fix the recording selection on VAIO laptop Fix the mismatch of init verb and capture mux with VAIO STAC9872. Also, changed the item names to be more intuitive. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 067b5a844c7b9703b0bdcd8cf003a621734c3bae Author: Kailang Yang Date: Thu Jul 5 12:35:15 2007 +0200 [ALSA] hda-codec - Fix ALC662 auto mode Fixed ALC662 auto mode, wrong NIDs were chosen. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 83c34218a867085f7108438408c8323b46dbfc4a Author: Kailang Yang Date: Thu Jul 5 11:43:05 2007 +0200 [ALSA] hda-codec - Some fixes for Realtek codec supports - Added BenQ T31-16 AMD Turion64x2 (ALC262) support - Added models for ASUS machines with ALC861 Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0a8c5da3c066a1e92a66a493e6fe04d5ce7a206d Author: Claudio Matsuoka Date: Wed Jul 4 15:17:38 2007 +0200 [ALSA] hda-codec - Fix 5.1 output in LG LW20 Implemented LG LW20 5.1 support based on ALC880 threestack modes. It was previously set to use one DAC and 2 jack modes, giving 2-channel output only. Analog CD playing support is still missing. Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4210861964145617cf27b2b9c45860bff3e8290c Author: Paul Vojta Date: Wed Jul 4 10:35:29 2007 +0200 [ALSA] nm256 - Add mention of opl3sa2 to a diagnostic message Adds mention of opl3sa2 driver to a diagnostic message for NeoMagic nm256 driver. Signed-off-by: Paul Vojta Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4700418cfc045296ee453342dc2fb142dc752aed Author: Paul Vojta Date: Wed Jul 4 10:34:22 2007 +0200 [ALSA] opl3sa2 - Add Neomagic MagicWave 3D ISA PnP ID Add Neomagic MagicWave 3D to list of supported devices for opl3sa2 driver. Signed-off-by: Paul Vojta Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8f41b56645f03e6f50407211d6f0f0627ae95e4e Author: Claudio Matsuoka Date: Tue Jul 3 20:02:49 2007 +0200 [ALSA] hda-codec - Add support for HP Nettle Added the model for HP Nettle mobo with ALC883. From: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8481da5a8d009d9bbac3d1483b579940e6dd9d59 Author: Claudio Matsuoka Date: Tue Jul 3 20:05:19 2007 +0200 [ALSA] hda-codec - Add support for HP Spartan Added the model for HP Spartan with Conexant codec chip. From: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 95093a23b9090025f8a6be0ac93859210fbba678 Author: Claudio Matsuoka Date: Tue Jul 3 20:07:39 2007 +0200 [ALSA] usb-audio - Add quirk for Roland Juno-G Added a quirk for Roland Juno-G. It's simply a copy of Fantom-X with the IDs changed. From: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c454fd4e888dc2b1423b6a65106a619e99a2deb4 Author: Masakazu Mokuno Date: Tue Jul 3 12:54:49 2007 +0200 [ALSA] Add PS3 sound driver The patch adds the support for the sound feature of PS3 - the digital output of HDMI and SPDIF optical, and the analog output of AV multi. Signed-off-by: Masakazu Mokuno Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87823090a8bd373f34bdb6f1d5cdc5f2f4da4905 Author: Carlo Beccaria Date: Tue Jul 3 08:04:25 2007 +0200 [ALSA] usb-audio: add Roland SH-201 support Add quirks to detect the Roland SH-201. Signed-off-by: Carlo Beccaria Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit df802952b723cdb08f2f8a3cba396c357290850b Author: Takashi Iwai Date: Mon Jul 2 19:18:00 2007 +0200 [ALSA] hda-codec - Fix the error in DAC assignment of STAC codec The STAC codec support code has the automatic recognition of additional side-output pins, and this may result in an error when the assigned pin has no corresponding DAC connection. The patch fixes the problem -- it corrects the line_outs again without such additional pins. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d10ad1a26da03fe089c02846a95fa5938c3ca3ce Author: Adrian Bunk Date: Mon Jul 2 16:03:12 2007 +0200 [ALSA] sound/pci/hda/patch_realtek.c: remove dead code This patch removes some dead code spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3c2b576d58b4542b1adc56cbfb92dbfa5eef89ee Author: Randy Dunlap Date: Wed Jun 27 11:52:39 2007 +0200 [ALSA] portman2x4 section mismatch FIx section mismatch when CONFIG_HOTPLUG=n: WARNING: sound/built-in.o(.exit.text+0x271): Section mismatch: reference to .init.text:snd_p ortman_unregister_all (between 'snd_portman_module_exit' and 'alsa_mpu401_uart_exit') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 076c0e4fd80a43f64710fe9aabdc4c463b7f8621 Author: Randy Dunlap Date: Tue Jun 26 11:43:52 2007 +0200 [ALSA] fix ensoniq section mismatch Fix ensoniq driver sections when HOTPLUG=n, but code is used during resume, so it cannot be discarded: WARNING: sound/pci/snd-ens1371.o(.text+0x5c0): Section mismatch: reference to .init.text: (between 'snd_ensoniq_chip_init' and 'snd_ensoniq_free') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f8f794ab27dd3c6d9965ec5434775ead23d3d7a2 Author: Tobin Davis Date: Mon Jun 25 12:14:25 2007 +0200 [ALSA] HDA - Change default configuration for Fujitsu Si3515 This patch changes the default configuration for the Fujitsu Siemens Si3515 Laptop to the correct model=laptop. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6963f84c428ecd31780c97224004c2462b0664f7 Author: Mike Crash Date: Mon Jun 25 12:12:51 2007 +0200 [ALSA] hda: support for S/PDIF out on ASUS M2V Added support for S/PDIF digital output on ASUS M2V motheboard - added new model '3stack-660-digout' and ALC660VD_3ST_DIG Signed-off-by: Mike Crash Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e65365de5ba280e058bd6b8b80c8790253268887 Author: Takashi Iwai Date: Mon Jun 25 12:09:32 2007 +0200 [ALSA] Fix invalid schedule_timeout_interruptible() Fixed the invalid use of schedule_timeout_interruptible() without checking pending signals. Simply replaced with schedule_timeout(). Suggestions thanks to Jeff Garzik. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c12aad6efbee1d937438f1deabbef695add0628b Author: Randy Dunlap Date: Mon Jun 25 12:08:01 2007 +0200 [ALSA] more section mismatches Something about __init_or_module isn't working as expected (?). CONFIG_HOTPLUG=y CONFIG_MODULES=n Fix shared init/exit code helper: WARNING: sound/built-in.o(.exit.text+0x243): Section mismatch: reference to .init.text: (between 'alsa_card_mpu401_exit' and 'ac97_bus_exit') WARNING: sound/built-in.o(.exit.text+0x21b): Section mismatch: reference to .init.text: (between 'alsa_card_dummy_exit' and 'alsa_card_serial_exit') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bdec0c728256e1a3739820e244a5138bcfae5a91 Author: Randy Dunlap Date: Mon Jun 25 12:07:38 2007 +0200 [ALSA] fix section mismatch Fix shared init/exit function attributes: WARNING: sound/built-in.o(.exit.text+0x4a1): Section mismatch: reference to .init.text: (between 'alsa_card_virmidi_exit' and 'alsa_card_serial_exit') WARNING: sound/built-in.o(.exit.text+0x4c1): Section mismatch: reference to .init.text: (between 'alsa_card_serial_exit' and 'ac97_bus_exit') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0ac8551ea08e655fc6f35874803f091a17dacf90 Author: Takashi Iwai Date: Wed Jun 20 15:46:13 2007 +0200 [ALSA] hda-codec - Add AD1882 codec support Added AD1882 codec support. It has currently two models, 3stack and 6stack. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e25c05f1d5cf4e332db88b15e9daa1cabd6e17e0 Author: Jonathan Phenix Date: Tue Jun 19 18:31:28 2007 +0200 [ALSA] hda-codec - Output MFG information for HDA devices This patch output information about the MFG (Modem Function Group) to the /proc/asound/card?/codec#? file. This information is important to identify if a HDA device has a modem or not. Signed-off-by: Jonathan Phenix Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 92a22beb756c53985e8ba98d39f2c8fc834557a4 Author: Matthew Ranostay Date: Tue Jun 19 16:48:28 2007 +0200 [ALSA] hda: add eapd support to additional idt codecs Added support for EAPD on the 927x, and 9227-8 IDT HDA codecs. Enabling EAPD powers the internal speaker amp otherwise there is no sound on systems with an internal amp. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 76c08828709129bdce6c6a325e0342ba73f2618f Author: Takashi Iwai Date: Tue Jun 19 12:17:42 2007 +0200 [ALSA] hda-codec - Add model dell for Dell XPS M1210 Added a new model 'dell' for Dell XPS M1210 with STAC922x codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b69f3748400517d1023337b97456a0a1cdc74a79 Author: Tobin Davis Date: Tue Jun 19 12:13:32 2007 +0200 [ALSA] hda-codec - Add Fujitsu Siemens v3515 support to patch_conexant This patch adds support for the Fujitsu Seimens Amilo Pro v3515 notebook. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2723f2a46823465f24b91cca0ace1e1389fe3507 Author: Graeme Gregory Date: Tue Jun 19 12:12:33 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - lm4857-h missing patch Somewhere when dealing with the s3c24xx patches and requested changes I managed to miss this file on re-submission. Its a header file required for compilation of neo1973-wm8573.c and should be a no brainer. Signed-off-by: Graeme Gregory Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c87286fdcb67f796cc9477a9bc1a2f1e173d99f Author: Takashi Iwai Date: Tue Jun 19 12:11:16 2007 +0200 [ALSA] hda-codec - Fix ALC662 auto-configuration code The auto-configuration code didn't initialize the verbs correctly. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a18519e1e4783628182743e6cca5f9dfa6a9e3bd Author: Takashi Iwai Date: Thu Jun 14 12:58:23 2007 +0200 [ALSA] hda-codec - Add model for Toshiba A135 Added model=lenovo for Toshiba A135 with ALC861VD codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit febe3375ea690a6cf544c33fa0fea1a06ff451ee Author: Tobin Davis Date: Tue Jun 12 11:27:46 2007 +0200 [ALSA] hda-codec - Add HP Pavillion quirk to Realtek code This patch adds the HP Pavillion a1589L desktop system to the ALC883 configuration table. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1c3973240b94a48766b7bfe743a4fcaad4eab3eb Author: Andrew Morton Date: Mon Jun 11 12:23:31 2007 +0200 [ALSA] ali5451 warning fix sound/pci/ali5451/ali5451.c: In function 'snd_ali_prepare': sound/pci/ali5451/ali5451.c:716: warning: 'R2' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 13d457094bc364e942884266036fd1b2ab74308b Author: Pavel Hofman Date: Mon Jun 11 12:21:20 2007 +0200 [ALSA] emu10k1 - EMU 1212 with 16 capture channels * adding 8 more 32-bit capture channels (total of 16) for emu1010 cards * adding some code comments and card details description Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 15cc4458c5c93bd5a616410815d5d165f0fe0900 Author: Peer Chen Date: Fri Jun 8 13:55:10 2007 +0200 [ALSA] Add the MCP73/77 support to hda_intel driver Add the MCP73/MCP77 support to hda driver. The patch base on kernel 2.6.22-rc4 Signed-off-by: Peer Chen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b959d1f83fc9cb707aef86ccb3f65e20f9572428 Author: Takashi Iwai Date: Fri Jun 8 12:25:25 2007 +0200 [ALSA] hda-codec - Fix Thinkpad X61/T61 outputs Enable EAPD bit on Thinkpad X61/T61. The recent model requires it explicitly to make any sounds. In future, it should be toggled automatically on demand. Also, added a beep volume/switch. Some people like it although I don't understand why :) Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bc55197d5a19a58c63f826dbd326da70e97b88f8 Author: Manuel Lauss Date: Fri Jun 8 11:41:34 2007 +0200 [ALSA] soc/sh: let SND_SOC_PCM_SH7760 depend on SH_DMABRG Let SND_SOC_PCM_SH7760 depend on SH_DMABRG rather than select'ing it. Gets rid of the Kbuild warning about SH_DMABRG being undefined on non-sh builds. Signed-off-by: Manuel Lauss Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6f3bf657edf9c592cf9d92e07ab385bb0ede48c5 Author: Daniel T Chen Date: Fri Jun 8 11:39:35 2007 +0200 [ALSA] hda-codec - Add quirk for another MSI laptop to alc883_cfg_tbl[] This hg commit adds the SSID of another MSI laptop to the alc883_cfg_tbl[] quirk list. Verified in #alsa/Freenode on Thu, Jun 7, 2007. Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 35739bb179386cf52c13d0779a42ecfe18dedf7e Author: Dave Jones Date: Wed Jun 6 14:48:52 2007 +0200 [ALSA] Yet another Uniwill laptop with ALC861 codec From: Dave Jones Rediffed version of the patch from .. http://bugzilla.kernel.org/show_bug.cgi?id=8016 that seems to be lingering for some time. Original patch by: Andy Shevchenko Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a361d84bfcd938208dea6c84aa19994b3d69e15d Author: Kailang Yang Date: Tue Jun 5 12:30:55 2007 +0200 [ALSA] hda-codec - Add support of ALC268 codec Added the support of new ALC268 codec chip. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7d87de2db2213e6e9413532445b14c92dae42c85 Author: Kailang Yang Date: Tue Jun 5 12:17:21 2007 +0200 [ALSA] hda-codec - Add proper model for HP xw series Set the proper model for HP xw4550, xw4600, xw6600 and xw8600. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 538c49c41bf5a0a739ad2a5417ec25e060ee9d9e Author: Takashi Iwai Date: Tue Jun 5 12:13:34 2007 +0200 [ALSA] hda-codec - Fix AD1984 basic model Fix the amp direction of digital mic capture volume mixer, which resulted in -EINVAL. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1919de0a9e939ef4f9453ef1630ca1345991e144 Author: Alan Horstmann Date: Mon Jun 4 23:11:23 2007 +0200 [ALSA] More description on duplex streams with OSS emulation Add paragraph to the OSS document to clarify correct use of duplex streams. Signed-off-by: Alan Horstmann Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3b194401a31b8df9a07a1850e3fe44fc7ba832a4 Author: Takashi Iwai Date: Mon Jun 4 18:32:23 2007 +0200 [ALSA] hda-codec - Fix Oops with AD1984 thinkpad model Fixed Oops with AD1984 thinkpad model. Also fixed the wrong init verbs for NID 0x03 and 0x04, which have apparently no mute bit. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 304e3bb7a15d839cef64b24a1bcc1230b2ae6fa6 Author: Takashi Iwai Date: Wed May 30 12:46:21 2007 +0200 [ALSA] rme9652 - Fix the hw_pointer check The negative check in hw_pointer callback doesn't work because the value is unsigned. Cast to int in the comparison to fix this. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ba8c3c37db0d6bf5e6de25016975ebfb558d2aba Author: Takashi Iwai Date: Wed May 30 12:42:31 2007 +0200 [ALSA] ali5451 - Fix invalid type of codec->irq field The irq field of struct snd_ali shouldn't be unsigned since it's uninitialized value is -1. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 807a463603a2e014f36e88317aa5e07c15887fcd Author: Takashi Iwai Date: Tue May 29 19:01:37 2007 +0200 [ALSA] hda-codec - Fix STAC922x capture boost level STAC922x provides the capture boost level up to 4, but actually it works only up to 2. Since the range of the mixer is automatically defined from amp-capability bits, we need to override the value beforehand. snd_hda_override_amp_caps() is introduced for this purpose. The function patch_stac922x() calls this for NID 0x12 (Mux Capture Volume). This should fix another recording problem on Intel Macs. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5d5d3bc3eddf2ad97b2cb090b92580e7fed6cee1 Author: Ivan N. Zlatev Date: Tue May 29 16:03:00 2007 +0200 [ALSA] hda-codec - Fix pin configs for Intel Macs * adds the pinconfigs for all 5 Apple boards and 14 Subsystem IDs (support for possibly all iMac, Mac, MacMini etc etc) * adds 'intel-mac-v1' to v5 models which replace the current * reflects changes in Alsa-Configuration.txt Signed-off-by: Ivan N. Zlatev Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 65ff2357a7e40bf4b42858516861c3d0e19f512b Author: Ash Willis Date: Tue May 29 14:34:17 2007 +0200 [ALSA] Disable debugging output for the ALS300 driver Disables debugging output in the ALS300 driver. Also contains a whitespace cleanup and a fix for a potential bug. Signed-off-by: Ash Willis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dda369cf2022fb767b158c4ba2fe2f1ca1fba29c Author: Takashi Iwai Date: Fri May 25 11:50:33 2007 +0200 [ALSA] Fix SB-module dependency with PCI drivers A few PCI drivers like ALS4000 and CS5530 require the SB16-codes. This patch fixes / improves the dependency between SB modules and PCI drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 621887aee9c7b4b613c12b82b83df7e56877f303 Author: Takashi Iwai Date: Thu May 24 18:46:54 2007 +0200 [ALSA] Add support for Cyrix/NatSemi Geode CS5530 (VSA1) Add support for Cyrix/NatSemi Geode SC5530 (VSA1). The driver is snd-cs5530. Signed-off-by Ash Willis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0ba7962b9f06c02dd1af93002e8d757805d16758 Author: Takashi Iwai Date: Wed May 23 16:27:32 2007 +0200 [ALSA] hda-codec - Fix wrong mixer controls for AD1984 thinkpad model Fixed the wrong mixer controls for AD1984 thinkpad model. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0dae0f83cd9956d0959f6d6de9f5391da6483274 Author: Takashi Iwai Date: Mon May 21 12:41:29 2007 +0200 [ALSA] hda-codec - Add support of newer version of Intel iMac Added the pin configs for newer version of Intel iMac. The information provided by Ivan N. Zlatev . Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ea7cfcdfe6439cd98816da9d339a6bc9032d2084 Author: Pavel Hofman Date: Sat May 19 17:21:04 2007 +0200 [ALSA] ice1724 - Add PCM Playback Switch to Revo 7.1 This patch adds the support of mute for front channels of M-Audio Revolution 7.1 (the DAC AK4381 features a mute bit). Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 959047431a9e65f6ae25705e77a8e460a1aa04c0 Author: Takashi Iwai Date: Sat May 19 17:06:42 2007 +0200 [ALSA] Add description about probe_mask option for snd-hda-intel Added a brief description about probe_mask option for snd-hda-intel. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2bac647c45ed9b397ace9109e6935c1364690f8a Author: Takashi Iwai Date: Fri May 18 18:21:41 2007 +0200 [ALSA] hda-codec - Add AD1884 / AD1984 codec support Added the support of AD1884 and AD1984 codec chips. Also experimental quirks for Thinkpad T61/X61 laptops with AD1984. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 198de43d758ca2700e2b52b49c0b189b4931466c Author: Adrian McMenamin Date: Fri May 18 14:26:59 2007 +0200 [ALSA] Add ALSA support for the SEGA Dreamcast PCM device ALSA support for the SEGA Dreamcast Yamaha AICA sound device (pcm) This patch adds ALSA sound support for pcm playback on two channels on the SEGA Dreamcast built-in sound device (the Yamaha AICA) Add driver for the AICA sound device built into the SEGA Dreamcast Hook it all up with the build system. Signed-off-by: Adrian McMenamin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit aef3b06ac69783d6a6d1e4357c62bab46dd16141 Author: Manuel Lauss Date: Mon May 14 18:40:07 2007 +0200 [ALSA] SH7760 ASoC support ALSA ASoC support for SH7760 This patch adds ALSA ASoC drivers for the Audio interfaces of the SH7760 SoC: Add driver for the SH7760 DMA engine (dmabrg) Add AC97 driver for HAC unit(s) found on SH7760/SH7780 Add I2S driver for SSI unit(s) found on SH7760/SH7780 Add a generic SH7760-AC97 machine driver. Hook it all up with the build system. Signed-off-by: Manuel Lauss Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 80ab1c0e9ea90467e34dd3187b1d8162e8be314b Author: Graeme Gregory Date: Mon May 14 11:06:11 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - Kconfig This patch adds Kconfig and build support for the Neo1973, SMDK2443 and S3C2443 AC97 ALSA audio drivers. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7a05f067c0da139613cbe74583bb7d208a5f87b9 Author: Liam Girdwood Date: Mon May 14 11:05:09 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - I2C ID for LM4857 This patch adds I2C ID for the LM4857 audio amp and corrects the spacing of the WM8731, WM8750 and WM8753 ID's. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 438b76ad816ef7d8e523d7b10d113eeb0b9932b2 Author: Graeme Gregory Date: Mon May 14 11:04:34 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - SMDK 2443 This patch adds ALSA support for the SMDK2443 reference board. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 74930bb6db56bcc9899723c6c79fe681524e5b62 Author: Graeme Gregory Date: Mon May 14 11:03:52 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - Openmoko Neo1973 This patch adds ALSA support for the Openmoko Neo1973 phone. Features:- * HiFi Playback and capture. * Phone calls supported. * Support for BT PCM in WM8753 voice interface. * Support for LM4857 audio amp. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 050f05eaec1c7c5434c78d010ada3cfeb7d0b3b3 Author: Graeme Gregory Date: Mon May 14 11:02:51 2007 +0200 [ALSA] ASoC S3C24xx machine drivers - s3c2443-AC97 This patch adds AC97 support to the Samsung S3C2443 CPU. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c111b8de975a357ff58e73047e9af48afacf2347 Author: Richard Knutsson Date: Mon May 14 10:38:57 2007 +0200 [ALSA] usbusx2yaudio: kfree(NULL) is valid if (!x) kfree(x); is not needed since kfree(NULL) is valid. Signed-off-by: Richard Knutsson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 500bec3d2ba4787e6ab110d159b2926093c27304 Author: Daniel Drake Date: Thu May 10 08:52:19 2007 +0200 [ALSA] usb-audio: another Logitech QuickCam ID This patch adds the ID for another quickcam microphone, reported by freqmod on ALSA ticket #0003040 I'm going to submit a USB patch separately to provide a macro to simplify these entries, as suggested by Alan Stern. We could switch to using that in future. Signed-off-by: Daniel Drake Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 101f6f4ba7109aafd7b3f2eafd7124f854dda451 Author: Takashi Iwai Date: Wed Jun 20 12:03:09 2007 +0200 [ALSA] Fix unfreed pnp driver in opti9xx ISA driver - Added the missing pnp_unregister_card_driver() in the case ISA PnP isn't found, which caused an error at kobject_add with -EEXIST Jun 11 09:07:31 rain kernel: kobject_add failed for opti9xx with -EEXIST, don't try to register things with the same name in the same directory. Jun 11 09:07:31 rain kernel: [] kobject_shadow_add+0x12a/0x1c0 Jun 11 09:07:31 rain kernel: [] kobject_register+0x21/0x50 Jun 11 09:07:31 rain kernel: [] bus_add_driver+0x72/0x1b0 Jun 11 09:07:31 rain kernel: [] pnp_register_card_driver+0x4f/0xc0 Jun 11 09:07:31 rain kernel: [] alsa_card_opti9xx_init+0xa/0x25 [snd_opti92x_ad1848] Jun 11 09:07:31 rain kernel: [] sys_init_module+0x157/0x1610 Jun 11 09:07:31 rain kernel: [] syscall_call+0x7/0xb - Fixed the probe behavior when no PnP is set up. Now it behaves like the former version. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 26c671c6b7c02bc9f9c42331e6ecbeccdf67164c Author: Uwe Kleine-König Date: Thu Jul 19 22:13:05 2007 +0100 [ARM] 4493/1: ns9xxx: disable a non-reloading timer before ack'ing its irq The HRM states that is must be done this way ... Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 3945a567d0c1d6721994a88f58f028c27d8249d2 Author: Uwe Kleine-König Date: Tue Jul 17 22:36:09 2007 +0100 [ARM] 4487/1: ns9xxx: complete definition of GPIO related registers I changed the naming to be more obvious---unfortunately the HRM doesn't specify these. Moreover the numbering is changed to be zero indexed as this is more natural. Adjust all callers. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit f4ae6413f4d4889c8bf3fb90939d967ced65ece7 Author: Uwe Kleine-König Date: Tue Jul 17 22:35:52 2007 +0100 [ARM] 4486/1: ns9xxx: fix a typo in the register definitions. Fixed all users. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit cebfaf5f1c4dcf9456463c8411ae869f3c03619f Author: Uwe Kleine-König Date: Tue Jul 17 22:35:34 2007 +0100 [ARM] 4485/1: ns9xxx: pass the correct irq number to the interrupt handlers Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 70ca7d55e1e10a5b654295b04dc8854e245a352f Author: Uwe Kleine-König Date: Tue Jul 17 22:35:14 2007 +0100 [ARM] 4484/1: ns9xxx: fix definition of SYS_TCx_TEN_DIS Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit aa4db079f7c4cf389fc25f78b943589b4a6401de Author: Uwe Kleine-König Date: Tue Jul 17 22:34:28 2007 +0100 [ARM] 4483/1: ns9xxx: fix three sparse warnings: symbol 'xyz' was not declared. make ns9xxx_ack_irq_functions static and add one include to get declarations for ns9xxx_map_io and ns9xxx_init_machine. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 3f20246bb67594acae5a82a8b859f21579b0ff07 Author: Uwe Kleine-König Date: Tue Jul 17 22:33:18 2007 +0100 [ARM] 4482/1: ns9xxx: fix compilation for mach-type CC9P9360JS I must have written the patch introducing support for this machine deep in the night... Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit e09d02e123fb6944af23a0697369ebcfc15acf73 Author: Eric Miao Date: Tue Jul 17 10:45:58 2007 +0100 [ARM] 4480/1: pxa: change the pxa device naming scheme 1. for common devices across all the pxa variants, the names are changed to be: "pxa_device_xxx" 2. for pxa25x or pxa27x specific devices, the names are changed to be: "pxa25x_device_xxx", or "pxa27x_device_xxx" Signed-off-by: eric miao Signed-off-by: Russell King commit 4b300c362d690c8e0788f69ed91c22a0a76f7ce2 Author: Sascha Hauer Date: Tue Jul 17 13:35:46 2007 +0100 [ARM] 4481/1: Fix a bug when i.MX is compiled as a module Fix the unregistration order in the i.MX serial driver Signed-off-by: Sreekrishnan Venkateswaran Acked-by: Sascha Hauer Signed-off-by: Russell King commit 5c9b9123b35e28dd7cb3012f3f8d4ea13a30631c Author: Tim Harvey Date: Sat Jul 14 11:15:05 2007 +0200 [ARM] ixp4xx: fix IRQ GPIO direction configuration for GPIOs >= 8 I believe that the following patch is necessary to properly configure GPIO line configuration for IRQ's which are mapped to a GPIO line >= 8 (without this patch the wrong GPIO is configured as an input.) Signed-off-by: Tim Harvey Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 3be20cad15107adc423ac812ac7b3330ca195c74 Author: Russell King Date: Sun Jul 15 12:21:37 2007 +0100 [ARM] ks8695: no need to include linux/ptrace.h arch/arm/mach-ks8695/irq.c doesn't need to include linux/ptrace.h so remove it. Signed-off-by: Russell King commit fad9e7d95769ff6c0918b79d58a7ba03615c3ff9 Author: Paul Mundt Date: Fri Jul 20 17:46:42 2007 +0900 sh64: Flag sh64_get_page() as __init_refok. sh64_get_page() wraps in to regular allocators as well as the bootmem allocator for fetching pages, it carefully checks to see which one it can use depending on the system state, so the access is safe. Signed-off-by: Paul Mundt commit 56982002a359533d471834f4398e3002aeb6fbbc Author: Paul Mundt Date: Fri Jul 20 17:45:05 2007 +0900 sh64: Move entry point code to .text.head. Follow the sh and m68k changes to silence the modpost warnings. Signed-off-by: Paul Mundt commit ed54fcfd785e8fecfbd8b129466235fc4ab0a402 Author: Andrew Victor Date: Mon Jul 16 11:55:42 2007 +0100 [ARM] 4479/1: AT91: Define new MMC register bits Add definitions for RDPROOF, WRPROOF and PDCFBYTE bits of the Mode Register in the updated MMC controller found on the AT91SAM9260 and AT91SAM9263 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c06911c00b2af93e498ba45200ad903929e71529 Author: Andrew Victor Date: Mon Jul 16 11:35:40 2007 +0100 [ARM] 4478/1: AT91: Convert AT91RM9200 to use atmel_spi driver Convert the AT91RM9200 platform-setup code to use the new atmel_spi driver (and manually-driven chip-selects), instead of the legacy AT91-only SPI stack. The AT91SAM9 processors are already using the atmel_spi driver. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 339547bf5de1212c9c7b89b0e0d69620709729d2 Author: Paul Mundt Date: Fri Jul 20 17:40:03 2007 +0900 sh: Move entry point code to .text.head. Follow Al Viro's m68k change from l-k: i.e. tell modpost that entry point code (that has to be outside of .init.text for external reasons) is OK to refer to .init.* Shuts up some section mismatch warnings from modpost. Signed-off-by: Paul Mundt commit 6a4d0287c7418b24dd776d8977edff2bfa706539 Author: Kristoffer Ericson Date: Sat Jul 7 17:45:10 2007 +0100 [ARM] 4459/1: Changing email in MAINTAINERS file Updating email adress in MAINTAINER file. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 228adef16d6e7b7725ef6b9ba760810d5966afa5 Author: Russell King Date: Wed Jul 18 09:37:10 2007 +0100 [ARM] vfp: make fpexc bit names less verbose Use the fpexc abbreviated names instead of long verbose names for fpexc bits. Signed-off-by: Russell King commit 21d1ca04532005c50ed57c2b2948e465b2e90720 Author: Russell King Date: Sun Jul 15 14:52:16 2007 +0100 [ARM] avoid floppy warnings by using fd_dma_setup() Avoid the virt_to_bus()/bus_to_virt() warnings in floppy.c caused by the (useless) double conversion to/from bus addresses. Signed-off-by: Russell King commit 1ad2cdbd0eaf0ddb3f634d10d01a2710b00b2051 Author: Russell King Date: Sun Jul 15 13:01:59 2007 +0100 [ARM] remove asm/ptrace.h from asm/thread_info.h asm/thread_info.h doesn't need asm/ptrace.h, remove it. Signed-off-by: Russell King commit 07ed31319422e82d50dfae7aebf88514d258b8f3 Author: Russell King Date: Sun Jul 15 12:51:41 2007 +0100 [ARM] rpc: silence two section mismatch warnings WARNING: drivers/built-in.o(.text+0x3fd54): Section mismatch: reference to .init.data: (between 'ether3_probe' and 'ether1_setmulticastlist') WARNING: drivers/built-in.o(.text+0x40380): Section mismatch: reference to .init.data: (between 'ether1_probe' and 'ether1_interrupt') Signed-off-by: Russell King commit 40c3a578a76ce0b20d1716e03b5a4b407ca9ca51 Author: Russell King Date: Sun Jul 15 12:48:57 2007 +0100 [ARM] shut up "warning: "__IGNORE_sync_file_range" redefined" Signed-off-by: Russell King commit 6accc0575c6b2105bf9b00bfc8cfee2cead3df6d Author: Russell King Date: Sun Jul 15 12:33:16 2007 +0100 [ARM] rpc: remove linux/ptrace.h from ARM ether?.c drivers Signed-off-by: Russell King commit 70c14ff0e9f5e1f5456587b827620e636ba70a09 Author: Dan Williams Date: Fri Jul 20 02:07:26 2007 +0100 [ARM] 4495/1: iop: combined watchdog timer driver for iop3xx and iop13xx In order for this driver to be shared across the iop architectures the iop3xx and iop13xx header files are modified to present a common interface for the iop_wdt driver. Details: * iop13xx supports disabling the timer while iop3xx does not. This requires a few 'compatibility' definitions in include/asm-arm/hardware/iop3xx.h to preclude adding #ifdef CONFIG_ARCH_IOP13XX blocks to the driver code. * The heartbeat interval is derived from the internal bus clock rate, so this this patch also exports the tick rate to the iop_wdt driver. Cc: Curt Bruns Cc: Peter Milne Signed-off-by: Dan Williams Acked-by: Wim Van Sebroeck Signed-off-by: Russell King commit bf73af2314702fcf44fb2a098244e3927f459531 Author: Paul Mundt Date: Fri Jul 20 17:35:42 2007 +0900 sh: heartbeat: Shut up resource size warning. Signed-off-by: Paul Mundt commit 7dea1b20066cd30fb54da7e686b16b5e38b46b2d Author: Dan Williams Date: Fri Jul 20 02:07:31 2007 +0100 [ARM] 4494/1: iop13xx: fix up elf_hwcap compile breakage arch/arm/boot/compressed/misc.o: In function `valid_user_regs': misc.c:(.text+0x74): undefined reference to `elf_hwcap' This triggers after the various elf_hwcap cleanups in: f884b1cf578e079f01682514ae1ae64c74586602 d1cbbd6b413510c6512f4f80ffd48db1a8dd554a include/asm-arm/arch-iop13xx/uncompress.h calls cpu_relax while spinning on a register value. cpu_relax requires processor.h->ptrace.h->hwcap.h 'elf_hwcap' is defined as an extern, but since the uncompressor does not link against arch/arm/kernel/setup.c 'elf_hwcap' remains undefined. Fix is to open code the cpu_relax() call as barrier(). Cc: Lennert Buytenhek Cc: Catalin Marinas Signed-off-by: Dan Williams Signed-off-by: Russell King commit a8135fcfd0431eda3653c7069e7aefc8674fdfbe Author: Arnaud Patard Date: Sun Jul 15 20:12:23 2007 +0100 [ARM] 4476/1: EM7210/SS4000E support This patch adds the basic support for the em7210 board. It is similar to the iq31244 board and can be found on Intel "Baxter Creek" ss4000e nas. Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit ee54505199ad0d5819c613a68746d425a08fdc8f Author: Magnus Damm Date: Fri Jul 20 17:25:48 2007 +0900 sh: update r2d defconfig and fix SH7751R pci compliation This patch updates the r2d board support in a few ways: - CPU_SUBTYPE_SH7751R is selected in the defconfig to play well with the r2d board Kconfig entry. Without this the defconfig results in no board enabled. - Enable EARLY_PRINTK. - Enable SH_STANDARD_BIOS - this works well for early printk on the r2d board. - Add "earlyprink=bios" to the cmdline for early serial port output by default. - CONFIG_SUBTYPE_SH7751R support is added to the sh-specific pci makefile. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8350163a90f6003c9e60e8ebc0e00f654657645f Author: Alexey Dobriyan Date: Fri Jul 20 10:07:50 2007 +0200 cfq: Write-only stuff in CFQ data structures There are some leftover bits from the task cooperator patch, that was yanked out again. While it will get reintroduced, no point in having this write-only stuff in the tree. So yank it. Signed-off-by: Jens Axboe commit c2dea2d1fdbce86942dba0a968c523d8b7858bb5 Author: Vasily Tarasov Date: Fri Jul 20 10:06:38 2007 +0200 cfq: async queue allocation per priority If we have two processes with different ioprio_class, but the same ioprio_data, their async requests will fall into the same queue. I guess such behavior is not expected, because it's not right to put real-time requests and best-effort requests in the same queue. The attached patch fixes the problem by introducing additional *cfqq fields on cfqd, pointing to per-(class,priority) async queues. Signed-off-by: Jens Axboe commit 98d877c487a75af78f74780703aa6b174780788d Author: Paul Mundt Date: Fri Jul 20 16:59:49 2007 +0900 sh: Many symbol exports for nommu allmodconfig. allmodconfig generates a lot of interesting code, a lot of the generated symbols we've never exported before, so this fixes those up. Verified with both GCC3 and GCC4 toolchains. Signed-off-by: Paul Mundt commit 3a353824df7595165a162aee3b53e4d96e7dfa95 Author: Magnus Damm Date: Fri Jul 20 16:34:22 2007 +0900 sh: zero terminate 8250 platform data for r2d board struct plat_serial8250_port should contain a terminating zero entry Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6894e0a94350e8ba5c5c8342e916fde14df5fb43 Author: Paul Mundt Date: Fri Jul 20 16:03:02 2007 +0900 sh: cpufreq: Fix up the build for SH-2. Signed-off-by: Paul Mundt commit fc10020292c7a21d1c85a215fa266d4c7cf0f4eb Author: Paul Mundt Date: Fri Jul 20 14:24:57 2007 +0900 sh: Make on-chip DMA channel selection explicit. Currently this has a prompt to allow users to change it. There's no reason to do this, and it has caused breakage and confusion in the past, so remove it entirely. We'll get rid of this when the whole driver is tidied for the driver model. Signed-off-by: Paul Mundt commit 3e7678333a2b3bd89e3669535faa18d53a8fa054 Author: Paul Mundt Date: Fri Jul 20 14:23:04 2007 +0900 sh: Fix up CPU dependencies for on-chip DMAC. We only handle SH-3 and SH-4 at present, don't expose it to the other CPUs. Signed-off-by: Paul Mundt commit 78d00125398f18f7354e759ba7cd544a6b07f504 Author: David S. Miller Date: Thu Jul 19 21:50:09 2007 -0700 [SPARC64]: Fix two year old bug in early bootup asm. We try to fetch the CIF entry pointer from %o4, but that can get clobbered by the early OBP calls. It is saved in %l7 already, so actually this "mov %o4, %l7" can just be completely removed with no other changes. Signed-off-by: David S. Miller commit cb5ec75b8b0410bba4ae612d13a2f26e938bc49c Author: Paul Mundt Date: Fri Jul 20 13:38:19 2007 +0900 sh: cpufreq: clock framework support. This gets the SH cpufreq working again. We follow the changes in the AVR32 implementation for wrapping in to the clock framework. CPUs that wish to use this are required to define rate rounding primitives in order to satisfy clk_round_rate(). This works well enough for the common case, though we should look at unifying this driver across all of the platforms that implement clock framework support in one capacity or another. Signed-off-by: Paul Mundt commit cbc5a069373264dec320e887835390132c69b951 Author: David S. Miller Date: Thu Jul 19 21:30:56 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit fe04d7798f611bca333df27d44484bdd62eef53f Author: Paul Mundt Date: Fri Jul 20 13:30:07 2007 +0900 sh: Support rate rounding for SH7722 FRQCR clocks. Now that the round_rate() op is supported, hook it up on SH7722 for the FRQCR (CPU, PCLK, etc.) clocks. Signed-off-by: Paul Mundt commit 5a6eb676d3bc4d7a6feab200a92437b62ad298da Author: Soeren Sonnenburg Date: Fri Jul 20 00:29:32 2007 -0400 Input: appletouch - improve powersaving for Geyser3 devices The appletouch geyser3 devices found in the Intel Macs (and possibly some later PPC ones?) send a constant stream of packets after the first touch. This results in the kernel waking up around once every couple of milliseconds to process them, making it almost impossible to spend any significant amount of time in C3 state on a dynamic HZ kernel. Sending the mode initialization code makes the device shut up until it's touched again. This patch does so after receiving 10 packets with no interesting content. Signed-off-by: Soeren Sonnenburg Signed-off-by: Matthew Garrett Signed-off-by: Dmitry Torokhov commit e6b20d8d62d87451f41365945b27202d7dadaee6 Author: Dmitry Torokhov Date: Fri Jul 20 00:29:14 2007 -0400 Input: lifebook - fix an oops on Panasonic CF-18 Signed-off-by: Dmitry Torokhov commit f6991b0456416186b578d38717efcda2b012b79c Author: Paul Mundt Date: Fri Jul 20 13:29:09 2007 +0900 sh: Implement clk_round_rate() in the clock framework. This is an optional component of the clock framework. However, as we're going to be using this in the cpufreq drivers, add support for it to the framework. Signed-off-by: Paul Mundt commit 74121b699c7142cbf11b01212512a1824fbd5f19 Author: Fabio Massimo Di Nitto Date: Thu Jul 19 14:00:55 2007 -0700 [SPARC64]: Fix log message type in vio_create_one(). Signed-off-by: David S. Miller commit 5f7426c0e16dba118aa1b18f3c97c3d7adfb7540 Author: David S. Miller Date: Wed Jul 18 23:16:51 2007 -0700 [SPARC64]: Tweak assertions in sun4v_build_virq(). They are too strict. Signed-off-by: David S. Miller commit 2a26302164e0d26df94810ffa2eabcad0fc55c95 Author: David S. Miller Date: Wed Jul 18 21:18:50 2007 -0700 [SPARC64]: Tweak kernel log messages in power_probe(). Use KERN_INFO, add missing newline, etc. Signed-off-by: David S. Miller commit 91ba3c2128e9ee490a9f04bcd5b54749b18e4410 Author: David S. Miller Date: Wed Jul 18 15:15:45 2007 -0700 [SPARC64]: Fix handling of multiple vdc-port nodes. The "id" property in vdc-port nodes are not unique, they are all zero. Therefore assign ID's using the parent's "cfg-handle" property which will be unique. Signed-off-by: David S. Miller commit 48db7b7c50cdb06c85f0ff01b5c19ac34903048b Author: Fabio Massimo Di Nitto Date: Wed Jul 18 14:37:26 2007 -0700 [SPARC64]: Fix device type matching in VIO's devspec_show(). with the recent renames, we forgot to update the matches for devspec. This is required to keep udev working and autoload modules. Signed-off-by: David S. Miller commit da68e0814a83649f7063c33562f535b60396b566 Author: Fabio Massimo Di Nitto Date: Wed Jul 18 14:35:23 2007 -0700 [SPARC64]: Fix MODULE_DEVICE_TABLE() specification in VDC and VNET. Signed-off-by: David S. Miller commit bc5a2e64a185c4759a540becac34651443b2d2ab Author: David S. Miller Date: Wed Jul 18 14:28:59 2007 -0700 [SPARC]: Add sys_fallocate() entries. Signed-off-by: David S. Miller commit a376178011c9db0b704bb1f9b4719d873847362e Author: David S. Miller Date: Wed Jul 18 13:12:45 2007 -0700 [SPARC64]: Use orderly_poweroff(). Signed-off-by: David S. Miller commit 3f23de10f283819bcdc0d2282e8b5b14c2e96d3b Author: Stephen Rothwell Date: Thu May 3 02:38:57 2007 +1000 Create drivers/of/platform.c and populate it with the common parts from PowerPC and Sparc[64]. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit b41912ca345e6de8ec8469d57cd585881271e2b9 Author: Stephen Rothwell Date: Tue May 1 16:12:57 2007 +1000 Create linux/of_platorm.h Move common stuff from asm-powerpc/of_platform.h to here and move the common bits from asm-sparc*/of_device.h here as well. Create asm-sparc*/of_platform.h and move appropriate parts of of_device.h to them. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 37b7754aab9a6ad7ecbba45c87f8d8a1f81b3bcc Author: Stephen Rothwell Date: Mon Apr 30 17:43:56 2007 +1000 [SPARC/64] Rename some functions like PowerPC This is to make the of merge easier. Also rename of_bus_type. Signed-off-by: Stephen Rothwell Acked-by: David S. Miller commit bd5f0d1c256fdf286fab358a04e87476e3535075 Author: Paul Mundt Date: Fri Jul 20 13:22:47 2007 +0900 sh: Fix up PCI section mismatch warnings. Flag pcibios_setup() and pcibios_fixup_bus() as __devinit. Follows the sh64 change. Signed-off-by: Paul Mundt commit beeea6d6a1f9c39fbda3abdd2c528ba90422e4bf Author: Paul Mundt Date: Fri Jul 20 13:14:07 2007 +0900 sh64: Fix up PCI section mismatch warnings. pcibios_fixup_bus() and pcibios_setup() should be __devinit. Signed-off-by: Paul Mundt commit f898f8dbcec4848cddb8c5be2d0affd75779ebe2 Author: Stephen Rothwell Date: Tue May 1 16:49:51 2007 +1000 Begin consolidation of of_device.h This just moves the common stuff from the arch of_device.h files to linux/of_device.h. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit f85ff3056cefdf4635ebf98b30e9a7d86521567f Author: Stephen Rothwell Date: Tue May 1 16:40:36 2007 +1000 Begin to consolidate of_device.c This moves all the common parts for the Sparc, Sparc64 and PowerPC of_device.c files into drivers/of/device.c. Apart from the simple move, Sparc gains of_match_node() and a call to of_node_put in of_release_dev(). PowerPC gains better recovery if device_create_file() fails in of_device_register(). Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 207a130540b045d2dc7ce7becaa7a687b81548b9 Author: Paul Mundt Date: Fri Jul 20 12:39:54 2007 +0900 sh64: Update cayman defconfig. Signed-off-by: Paul Mundt commit 1ef4d4242d9c494c49ae1ae66dc938fce0272816 Author: Stephen Rothwell Date: Tue Apr 24 17:57:33 2007 +1000 Consolidate of_find_node_by routines This consolidates the routines of_find_node_by_path, of_find_node_by_name, of_find_node_by_type and of_find_compatible_device. Again, the comparison of strings are done differently by Sparc and PowerPC and also these add read_locks around the iterations. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit a13c16e847ee50d77546cffa596d3c573b3270b7 Author: Paul Mundt Date: Fri Jul 20 12:37:51 2007 +0900 sh64: Wire up fallocate() syscall. Signed-off-by: Paul Mundt commit d1cd355a5e44dfe993efc0c0458ca9f99a28a9a3 Author: Stephen Rothwell Date: Tue Apr 24 17:21:29 2007 +1000 Consolidate of_get_next_child This adds a read_lock around the child/next accesses on Sparc. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit e679c5f445fe142940e0962de9c5c82f10d9357c Author: Stephen Rothwell Date: Tue Apr 24 17:16:16 2007 +1000 Consolidate of_get_parent This requires creating dummy of_node_{get,put} routines for sparc and sparc64. It also adds a read_lock around the parent accesses. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 581b605a83ec241a2aff8ef780e08b9414c8dfd8 Author: Stephen Rothwell Date: Tue Apr 24 16:46:53 2007 +1000 Consolidate of_find_property The only change here is that a readlock is taken while the property list is being traversed on Sparc where it was not taken previously. Also, Sparc uses strcasecmp to compare property names while PowerPC uses strcmp. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 0081cbc3731de8ad4744ba433af51f17bf27eb9c Author: Stephen Rothwell Date: Tue May 1 16:29:19 2007 +1000 Consolidate of_device_is_compatible The only difference here is that Sparc uses strncmp to match compatibility names while PowerPC uses strncasecmp. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 97e873e5c8ad8711ce4cca080cff4eb5d21b3aeb Author: Stephen Rothwell Date: Tue May 1 16:26:07 2007 +1000 Start split out of common open firmware code This creates drivers/of/base.c (depending on CONFIG_OF) and puts the first trivially common bits from the prom.c files into it. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 0c99adb0a6dfe292842a8142b48e494d7731f5fe Author: Paul Mundt Date: Fri Jul 20 12:27:09 2007 +0900 sh: Wire up fallocate() syscall. Signed-off-by: Paul Mundt commit 39c7aa9ea9b6175f4313f69ef9f8e0a3a9bba5bb Author: Magnus Damm Date: Fri Jul 20 12:10:29 2007 +0900 sh: intc - add support for 7780 This patch converts the cpu specific 7780 setup code to use the new intc controller. Many new vectors are added and also support for external interrupt sense configuration. So with this patch it is now possible to configure external interrupt pins as edge or level triggered using set_irq_type(). No external interrupts are registered by default. Use plat_irq_setup_pins() to select between IRQ or IRL mode. This patch also fixes the Alarm IRQ for the RTC. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 680c45981ae2b4029878806d76aa17bb62d3c674 Author: Magnus Damm Date: Fri Jul 20 12:09:29 2007 +0900 sh: intc - improve group support This patch improves intc group support, ie it makes it possible to group interrupts together and mask / unmask the entire group. This also works with priorities, so setting a priority for an entire group is also possible. This patch is needed to properly support certain processors such as the 7780. Fixes for NULL pointers in DECLARE_INTC_DESC() are also included. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d0afa579698f33a65bc5c21d3d667dbb46f9e440 Author: Paul Mundt Date: Wed Jul 18 18:55:25 2007 +0900 sh: Fix up SH-3 and SH-4 driver dependencies. Both shwdt and rtc-sh are only supported on SH-3 and SH-4 at the moment, don't allow them to break the SH-2 and SH-5 (sh64) builds. Signed-off-by: Paul Mundt commit e5e3dfc80a7380abe101d5b5d5266bed2691de1d Author: Paul Mundt Date: Wed Jul 18 18:54:09 2007 +0900 sh: push-switch: Correct license string. This was accidentally set as "GPLv2", whereas the kernel expects v2 to be written "GPL v2", this caused complaints regarding the use of the platform device APIs when built as a module. Signed-off-by: Paul Mundt commit 792e947a29da618d0945048bd257f354f8a1dc89 Author: Paul Mundt Date: Wed Jul 18 18:53:09 2007 +0900 sh: cpufreq: Fix driver dependencies and flag as broken. This is only supported on SH-4, so don't expose it for the other CPUs. Additionally, it's suffered some bitrot, so add a BROKEN dependency as well until we fix it up. Signed-off-by: Paul Mundt commit 90015c89386ffb8967422fbe9f5e7babf1dc2c5e Author: Magnus Damm Date: Wed Jul 18 17:57:34 2007 +0900 sh: IPR/INTC2 IRQ setup consolidation. This patch unifies the cpu specific interrupt setup functions for interrupt controller blocks such as ipr, intc2 and intc. There is no point in having separate functions for each interrupt controller, so let's clean this up. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 493a358e0a8992ec13098dd084223b55b05a7f03 Author: Magnus Damm Date: Wed Jul 18 17:54:10 2007 +0900 sh: clean up interrupt code for solution engine 7722 board This patch cleans up solution engine 7722 specific interrupt code. The main purpose is to replace the mux function with use of set_irq_chained_handler() and replace hard coded register poking code with set_irq_type(). The board specific interrupts are also moved to start from SE7722_FPGA_IRQ_BASE. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1b06428ee56fadedd004bfc5e3fbb39fb8c99010 Author: Magnus Damm Date: Wed Jul 18 17:51:24 2007 +0900 sh: intc - add support for 7722 processor This patch converts the cpu specific 7722 setup code to use the new intc controller. Many new vectors are added and also support for external interrupt sense configuration. So with this patch it is now possible to configure external interrupt pins as edge or level triggered using set_irq_type(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 02ab3f70791f7d5c9098acaa31a72dd7d0961cb0 Author: Magnus Damm Date: Wed Jul 18 17:25:09 2007 +0900 sh: intc - shared IPR and INTC2 controller This is the second version of the shared interrupt controller patch for the sh architecture, fixing up handling of intc_reg_fns[]. The three main advantages with this controller over the existing ones are: - Both priority (ipr) and bitmap (intc2) registers are supported - External pin sense configuration is supported, ie edge vs level triggered - CPU/Board specific code maps 1:1 with datasheet for easy verification This controller can easily coexist with the current IPR and INTC2 controllers, but the idea is that CPUs/Boards should be moved over to this controller over time so we have a single code base to maintain. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 53aba19f82045c1df838570b8484043e93c4442a Author: Magnus Damm Date: Tue Jul 17 18:10:11 2007 +0900 sh: Fix irq assignment for uarts on sh7722 This patch contains two serial port related fixes for sh7722: - Make sure the irqs for the first serial port is correct - Add the second and third serial port to the platform data Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4aafae27d0ce73f8507b8983b36006b734aa343a Author: Kristoffer Ericson Date: Tue Jul 17 13:52:38 2007 +0900 sh: hd64461 tidying. Kill off the hd64461 io.c, as all of the hd64461 users are now using the generic I/O routines. [ hd64461/ moved to hd64461.c by Paul ] Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit e6c972f21828f16d12704e5cf67d6f79c26cb53b Author: Yoshihiro Shimoda Date: Tue Jul 17 13:38:54 2007 +0900 sh: r7780rp: Add R8A66597 and M66592 support. This wires up the platform devices for the USB expansion boards for the Highlander boards. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 76c1ce7870fd9b05431da1bbd47fdafcc029a25b Author: Stephen Rothwell Date: Tue May 1 16:19:07 2007 +1000 Split out common parts of prom.h This creates linux/of.h and includes asm/prom.h from it. We also include linux/of.h from asm/prom.h while we transition. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: David S. Miller commit 75473c1d3930896bbabcc99bb58fafd53ef42473 Author: Al Viro Date: Fri Jul 20 02:01:16 2007 +0100 fallout from kbuild changes Change in 'kbuild: do section mismatch check on full vmlinux' should've been replicated in arch/um/Makefile. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 20c2df83d25c6a95affe6157a4c9cac4cf5ffaac Author: Paul Mundt Date: Fri Jul 20 10:11:58 2007 +0900 mm: Remove slab destructors from kmem_cache_create(). Slab destructors were no longer supported after Christoph's c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been BUGs for both slab and slub, and slob never supported them either. This rips out support for the dtor pointer from kmem_cache_create() completely and fixes up every single callsite in the kernel (there were about 224, not including the slab allocator definitions themselves, or the documentation references). Signed-off-by: Paul Mundt commit d20da3c39b9d5b04f0258ba74643533268f56e30 Author: S.Caglar Onur Date: Mon Jul 16 13:41:45 2007 +0300 USB: drivers/usb/storage/dpcm.c whitespace cleanup Following trivial patch converts smarttabs/whitespaces into real tabs. Signed-off-by: S.Caglar Onur Signed-off-by: Greg Kroah-Hartman commit e294531dc9f2c1f5291373dcdd5013c0cdcbdee2 Author: Yoshihiro Shimoda Date: Wed Jul 18 23:10:34 2007 +0900 USB: r8a66597-hcd: fixes some problem This patch incorporates some updates. Updates include: - Fix the problem that control transfer might fail - Change from GFP_KERNEL to GFP_ATOMIC - Clean up some coding style issue Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 809a58b896ba07e771adc76a47c83e4ca1969da8 Author: Alan Stern Date: Wed Jul 18 12:14:24 2007 -0400 USB: change name of spinlock in hcd.c This patch (as940 renames hcd_data_lock in hcd.c to hcd_urb_list_lock, which is more descriptive of the lock's job. It also introduces a convenient inline routine for testing whether a particular USB device is a root hub. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 32aca5600526189dd876e6c92b64fd88cf052c8d Author: Alan Stern Date: Wed Jul 18 12:08:02 2007 -0400 USB: move routines in hcd.c This patch (as939) moves a couple of routine in hcd.c around. The purpose is to put all the general URB- and endpoint-related routines (submit, unlink, giveback, and disable) together in one spot. There are no functional changes. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 82210d377468f59745303b96473e30e60b33434d Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: uss720: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 59d99785a9f8294f9e38ac677df8526e44462f66 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: usbtest: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 0723af13bf5c6710af99531fc4862622f3c2d637 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: usblcd: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit a95a03811beb4ac4b9ac4a39486b912d07d64d64 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: phidgetmotorcontrol: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 2fe8c3f1538e8db2b853f10480584679b0c336f1 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: phidgetkit: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 64771a0f19320f73ab4be69db591ba51a17d7748 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: legousbtower: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 491c021e0beafe4146f6a1c9a1c58bd0fb2a42d0 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: ldusb: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit fb3abee69de583180348b9029378e31574c31cfd Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: iowarrior: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 84346269f9a05e66ff2973916776a080d566f9ab Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: ftdi-elan: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 22bea334c941bcece2ddcc79201de4437803e3a5 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: auerswald: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 13f9782d8e2e6a20e5fc44dd758d5747fdfd76ab Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: appledisplay: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 24497a00114ef42a752d614635168db9e2192f5e Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: misc: adtux: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 3fc3e8269fa5c1f35b518dbe18dc48acef3c7684 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: core: message: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit b44cd112a0400d5eb381f3c1a1e7a6925911c835 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: image: microtek: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit dd6fa4d755fb1e2822406ab8ce3d28db217acc01 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: image: mdc800: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 62e5a330dc1354d98f73a82f3d13517805f061f6 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: storage: onetouch: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 18ac3016055b58d676f6148a77dcf539d05ce215 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: class: usblp: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 185d40587d22fe604962fb53c0c9a9f1670feb66 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: class: cdc-acm: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 33fea2b2f523251d29619641451bfebdc35f4950 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: usbatm: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 508330ebdacb3df07ee2a75aee8caf2c205befc8 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: ueagle-atm: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 9a5a3e95b49c93813476974abaa038c9d36bdd14 Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: speedtch: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit c35f68a05d0916e89ae2aab1a456f96fea9190cd Author: Greg Kroah-Hartman Date: Wed Jul 18 10:58:02 2007 -0700 USB: atm: cxacru: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Signed-off-by: Greg Kroah-Hartman commit 598f22e11bef8171f2244128bf0341da38fe8a23 Author: Yoshihiro Shimoda Date: Tue Jul 17 21:01:17 2007 +0900 USB: m66592-udc: fixes some problems This patch incorporates some updates from the review of the Renesas m66592-udc driver. Updates include: - Fix some locking bugs; and add a few sparse annotations - Don't #define __iomem ! - Lots of whitespace fixes (most of the patch by volume) - Some #include file trimmage - Other checkpatch.pl and sparse updates - Alphabetized and slightly-more-informative Kconfig - Don't use the ID which was assigned to the amd5536udc driver. - Remove pointless suspend/resume methods updating obsolete field. - Some section fixups - Fix some leak bugs - Fix byteswapping Signed-off-by: David Brownell Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit d8fbba2f59c0c131a1babf5a66f003faee02e01a Author: Alan Stern Date: Mon Jul 16 15:30:20 2007 -0400 USB: usb-storage: unusual_devs entry for Nikon D100 This patch (as938) adds an unusual_devs entry for the Nikon DSC D100. Signed-off-by: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 0d46c0079a8eeed25105fa374f79862842ee80c1 Author: Jesper Juhl Date: Mon Jul 16 22:17:25 2007 +0200 USB: Remove pointless conditional in drivers/usb/serial/io_ti.c::edge_shutdown() Coverity scan found (CID: 1708) this in drivers/usb/serial/io_ti.c::edge_shutdown() : ... 2797 for (i=0; i < serial->num_ports; ++i) { 2798 edge_port = usb_get_serial_port_data(serial->port[i]); 2799 edge_remove_sysfs_attrs(edge_port->port); 2800 if (edge_port) { 2801 edge_buf_free(edge_port->ep_out_buf); 2802 kfree(edge_port); 2803 } 2804 usb_set_serial_port_data(serial->port[i], NULL); 2805 } ... It's complaining that we dereference 'edge_port' in line 2799 which makes the test of that pointer against NULL in 2800 pointless, since if edge_port was actually NULL we'd have crashed already before reaching line 2800. Reading the edge_open() function it seems to me that the pointer returned by usb_get_serial_port_data(serial->port[i]) and stored in 'edge_port' can never actually be NULL here, so the test is entirely superfluous (even if it could be NULL it would be pointless here, ignoring the then possible crash in that case, since both edge_buf_free() and kfree() can handle being passed NULL pointers. This patch removes the pointless conditional (and also makes a few tiny style corrections now that I was in the area anyway). Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 167a675a8caa249f8bc9053c02d711545d1f7662 Author: Thomas Dahlmann Date: Thu Jul 12 09:30:39 2007 -0700 USB: MAINTAINERS entry for amd5536udc MAINTAINERS entry for amd5536udc driver. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 55d402d854ade6b63b26e958f201ee2ef00b7b15 Author: Thomas Dahlmann Date: Mon Jul 16 21:40:54 2007 -0700 USB: amd5536 UDC driver (in GEODE southbridge) Driver for the AMD5536 UDC, as found in the AMD Geode CS5536 (southbridge). This is a high speed DMA-capable controller, which can also be used in OTG configurations (which are not supported by this patch). Acked-by: Jordan Crouse Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit beafef072af10bc8497c9ee51ce2804aa7da26be Author: Alan Stern Date: Fri Jul 13 15:47:16 2007 -0400 USB: documentation update for usb_unlink_urb This patch (as936) updates the kerneldoc for usb_unlink_urb. The explanation of how endpoint queues are meant to work is now clearer and in better agreement with reality. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7e7c360fb07020b24652843aec442325baad0ce Author: Alan Stern Date: Fri Jul 13 15:46:29 2007 -0400 UHCI: short control URBs get a status stage It has recently been pointed out that short control transfers should have a status stage, even if they generate an error because URB_SHORT_NOT_OK was set. This patch (as935) changes uhci-hcd to enable the status stage when this happens. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e94fa28f137813c2f6e05470b41bd8f3c5422a04 Author: Florin Malita Date: Mon Jul 16 11:50:53 2007 -0400 USB: mos7720, mos7840: remove redundant urb check Coverity (1709, 1710, 1711, 1712, 1713) actually flagged these as REVERSE_INULLs (NULL check performed after dereference). But looking at the other drivers I can't see any similar tests and the USB core already makes sure urb is non-null - so might as well get rid of the checks. Signed-off-by: Florin Malita Signed-off-by: Greg Kroah-Hartman commit 195af2cce5ff81c4609c7ba585b6698a7771cbfc Author: Alan Stern Date: Mon Jul 16 15:28:19 2007 -0400 USB: fix warning caused by autosuspend counter going negative This patch (as937) fixes a minor bug in the autosuspend usage-counting code. Each hub's usage counter keeps track of the number of unsuspended children. However the current driver increments the counter after registering a new child, by which time the child may already have been suspended and caused the counter to go negative. The obvious solution is to increment the counter before registering the child. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 69d42a78f935d19384d1f6e4f94b65bb162b36df Author: Alan Stern Date: Thu Jul 12 17:06:23 2007 -0400 USB: add "descriptors" binary sysfs attribute This patch (as934) adds a new readonly binary sysfs attribute file called "descriptors" for each USB device. The attribute contains the device descriptor followed by the raw descriptor entry (config plug subsidiary descriptors) for the current configuration. Having this information available in fixed-format binary makes life a lot easier for user programs by avoiding the need to open, read, and parse multiple sysfs text files. The information in this attribute file is much like that in usbfs's device file, but there are some significant differences: The 2-byte fields in the device descriptor are left in little-endian byte order, as they appear on the bus and in the kernel. Only one raw descriptor set is presented, that of the current configuration. Opening this file will not cause a suspended device to be autoresumed. The last item in particular should be a big selling point for libusb, which currently forces all USB devices to be resumed as it scans the device tree. Signed-off-by: Alan Stern Cc: Dave Mielke Signed-off-by: Greg Kroah-Hartman commit 1b4cd43bd3f9aa7a794e29b80b0d984a8e144df4 Author: Alan Stern Date: Thu Jul 12 17:03:01 2007 -0400 isp116x-hcd: prepare for urb->status This patch (as931b), adapted from a patch by Olav Kongas, makes a small set of conservative changes to the isp116x-hcd driver in preparation for the removal of urb->status. finish_request() is moved up in the source and is called as soon as the URB is known to have completed, rather than after all the active endpoints have been scanned. The status of a completed URB is kept in a local variable and copied to urb->status only when the URB is about to be given back. -EREMOTEIO error status for control transfers is set after the status stage rather than when the short packet arrives. Some unnecessary uses of urb->lock are removed. Signed-off-by: Alan Stern Cc: Olav Kongas Signed-off-by: Greg Kroah-Hartman commit 10e485221edd2799dc495e4cde98fe74aeb292b1 Author: Pete Zaitcev Date: Tue Jul 10 20:09:58 2007 -0700 USB: usblp: "Big cleanup" breaks O_NONBLOCK I found the first regresson in the rewritten ("all dynamic" and "no races") driver. If application uses O_NONBLOCK, I return -EAGAIN despite the URB being submitted successfuly. This causes the application to resubmit the same data erroneously. The fix is to pretend that the transfer has succeeded even if URB was merely queued. It is the same behaviour as with the old version. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 9454c46a89c13fe82a28c91706b86f612fd19462 Author: Kevin Lloyd Date: Mon Jul 16 13:49:29 2007 -0700 USB: sierra: Add new devices This patch adds new devices to the Sierra Wireless driver. This is being resubmitted because the dependent patch (patch 01/02) needed to be resubmitted. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 112225b13cedd53dfd6455038b8843cf004ddec9 Author: Kevin Lloyd Date: Mon Jul 16 13:49:27 2007 -0700 USB: sierra: Add TRU-Install (c) Support This patch adds compatibility with Sierra Wireless' new TRU-Install feature. Future devices that use this feature will not work unless this patch has been applied. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit eb33caec1ed29fa2b04a2c5f02e3fed2add91db4 Author: Matthias Kaehlcke Date: Fri Jul 13 21:29:46 2007 +0200 USB: use mutex instead of semaphore in the FTDI ELAN driver The FTDI ELAN driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit 8293c568b25611cdc4ac54ded438d8d7938c593c Author: Matthias Kaehlcke Date: Fri Jul 13 21:28:31 2007 +0200 USB: use mutex instead of semaphore in the Adutux driver The Adutux driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit d2066eb659e6ee915383510c136da38eff86ef15 Author: Matthias Kaehlcke Date: Fri Jul 13 21:26:59 2007 +0200 USB: use mutex instead of semaphore in the ELAN U132 adapter driver The ELAN U132 adapter driver uses the semaphore u132_module_lock as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit 831c70fc13ca8c6074ab0c9d1121a93fd6c5a34a Author: Matthias Kaehlcke Date: Fri Jul 13 21:25:25 2007 +0200 USB: use mutex instead of semaphore in the USB gadget serial driver The USB gadget serial driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ffc720409ae8d1cb16ae4b9c39e9e744e4c59898 Author: Tony Luck Date: Thu Jul 19 14:00:34 2007 -0700 [IA64] refresh some config files for 64K pagesize Update arch/ia64/defconfig: select 64K pagesize Same for arch/ia64/configs/tiger_defconfig + CONFIG_COMPAT=n Signed-off-by: Tony Luck commit 5f47c7eac65a45e33d7fe390effe75ec5c74f8bf Author: Al Viro Date: Fri Jul 20 00:23:31 2007 +0100 coda breakage a) switch by loff_t == __cmpdi2 use. Replaced with a couple of obvious ifs; update of ->f_pos in the first one makes sure that we do the right thing in all cases. b) block_signals() and unblock_signals() are globals on UML. Renamed coda ones; in principle UML probably ought to do rename as well, but that's another story. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c65c5131b349b08f3292b1cd10239cf376bfcb15 Author: Al Viro Date: Fri Jul 20 00:17:45 2007 +0100 missed cong_avoid() instance Removal of rtt argument in ->cong_avoid() had missed tcp_htcp.c instance. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 89636af25d75d8672aea05d258be357d0dc4bd70 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: add support for SCSI ioctls to ide-floppy Now that ide-floppy supports SG_IO we can add support for SCSI ioctls (except deprecated SCSI_IOCTL_SEND_COMMAND and legacy CDROM_SEND_PACKET ones - we can add them later iff really needed). While at it remove handling of CDROMEJECT and CDROMCLOSETRAY ioctls from generic_ide_ioctl(): - This prevents ide-{disk,tape,scsi} device drivers from obtaining REQ_TYPE_BLOCK_PC type requests which are currently unsupported by these drivers and which are potentially harmful (as reported by Andrew). - There is no functionality loss since aforementioned ioctls will now be handled by idefloppy_ioctl()->scsi_cmd_ioctl() (for devices using ide-floppy driver) and by idecd_ioctl->cdrom_ioctl()->scsi_cmd_ioctl() (for devices using ide-cd driver). Cc: Jens Axboe Cc: FUJITA Tomonori Cc: James Bottomley Cc: Jeff Garzik Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 4bf9fdf7f21f118e2c5052ec8e46faf00eb5a4ea Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: remove stale changelog from setup-pci.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 74565073cbf6b3c1746ee623e97b2ba0fcd3fbb6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: remove stale changelog/comments/TODO from ide.c Signed-off-by: Bartlomiej Zolnierkiewicz commit d281e9ad87f79fd01ce1fc2d2f258e2ee765bc5a Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide-cris: handle PIO auto-tuning in tune_cris_ide() Signed-off-by: Bartlomiej Zolnierkiewicz commit 4099d14322149c7a467e4997b87be4ba8eb78697 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:59 2007 +0200 ide: add PIO masks * Add ATA_PIO[0-6] defines to . * Add ->pio_mask field to ide_pci_device_t and ide_hwif_t. * Add PIO masks to host drivers. change ACK-ed by Jeff Garzik . Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6a824c92db4d606c324272c4eed366fb71672440 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:58 2007 +0200 ide: remove ide_find_best_pio_mode() * Add ->host_flags to ide_hwif_t to store ide_pci_device_t.host_flags, assign it in setup-pci.c:ide_pci_setup_ports(). * Add IDE_HFLAG_PIO_NO_{BLACKLIST,DOWNGRADE} to ide_pci_device_t.host_flags and teach ide_get_best_pio_mode() about them. Also remove needless !drive->id check while at it (drive->id is always present). * Convert amd74xx, via82cxxx and ide-timing.h to use ide_get_best_pio_mode() and then remove no longer needed ide_find_best_pio_mode(). There should be no functionality changes caused by this patch. Acked-by: Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2134758d2a5429325cee4d4ce8959af5314eeba1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:58 2007 +0200 ide: drop "PIO data" argument from ide_get_best_pio_mode() * Drop no longer needed "PIO data" argument from ide_get_best_pio_mode() and convert all users accordingly. * Remove no longer needed ide_pio_data_t. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e5fa4b2968ff0f32b5ecfa082fd6db50b731055e Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:57 2007 +0200 ide: ide_find_best_pio_mode() fixes (take 2) * Check IORDY bit for PIO modes > 2. * Some devices claim maximum PIO mode > 2 in id->tPIO, they were punished too severly for this by being limited to PIO_SLOW. Limit them to PIO2 instead. v2: * Fix PIO number being returned incorrectly instead of PIO mode (Noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7dd00083b1160b560fa2a0a486799b57baa5d035 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 ide: add ide_pio_cycle_time() helper (take 2) * Add ide_pio_cycle_time() helper. * Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers (previously cycle time given by the device was only used for "pio" == 255). * Remove no longer needed ide_pio_data_t.cycle_time field. v2: * Fix "ata_" prefix (Noticed by Jeff). Acked-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 31c4df441cce6b9ec541e7f722f50bfbc617dd76 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 sc1200: remove stale Power Management code * Nowadays core IDE code handles restoring of PIO and DMA modes (ide-io.c:ide_start_power_step() etc) so remove open-coded version from sc1200_resume(). There should be no change in behavior because settings done by sc1200_resume() were always overridden by generic_ide_resume() and ide_{start,stop}_power_step(). * Bump driver version. Cc: Mark Lord Signed-off-by: Bartlomiej Zolnierkiewicz commit 8987d21ba6a426b0685257866ce366055930b57f Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 ide: ide_start_power_step() fix WRT disabling DMA * Do the same thing as probe_hwif() and always disable DMA so chipset DMA enabled bit gets cleared (if the drive doesn't support DMA ide_set_dma() won't try to tune it anyway). * Add TODO comment about respecting ->using_dma setting. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c164acf50146d8a82caed642951390e073620f1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 serverworks: fix DMA The driver used to depend on BIOS settings for deciding whether it is OK to use DMA. However it seems that BIOS doesn't always handle all cases correctly so just let IDE core to decide about this. It should be a safe thing to do now, after the driver went through heavy bugfixing. Thanks for bugreport and testing the patch goes out to Sven Niedner. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1880a8d7f2d0587e657e3292166003636067b7ea Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:56 2007 +0200 serverworks: always tune PIO * Always set ->autotune so PIO gets correctly auto-tuned (previously ->autotune was only set when ->dma_base wasn't available, however ->ide_dma_check()/->speedproc() was always trying to tune PIO when tuning DMA). * Move code responsible for programming chipset for PIO mode from svwks_tune_chipset() to svwks_tune_pio(). Don't tune PIO when tuning DMA (this is no longer needed since ->autotune is always set now). * Handle PIO modes early in svwks_tune_chipset() so DMA configuration registers don't get cleared when programming PIO mode. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit a5d8c5c834d3cabf4b7b477c3f6ee923c25026fc Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:55 2007 +0200 ide: add ide_pci_device_t.host_flags (take 2) * Rename ide_pci_device_t.flags to ide_pci_device_t.host_flags and IDEPCI_FLAG_ISA_PORTS flag to IDE_HFLAG_ISA_PORTS. * Add IDE_HFLAG_SINGLE flag for single channel devices. * Convert core code and all IDE PCI drivers to use IDE_HFLAG_SINGLE and remove no longer needed ide_pci_device_t.channels field. v2: * Fix issues noticed by Sergei: - correct code alignment in scc_pata.c - s/IDE_HFLAG_SINGLE/~IDE_HFLAG_SINGLE/ in serverworks.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2229833c1365346b64357a9263fa724f74f5e376 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:55 2007 +0200 ide: add ide_dev_has_iordy() helper (take 4) * Add ide_dev_has_iordy() helper and use it sl82c105 host driver. * Remove no longer needed ide_pio_data_t.use_iordy field. v2/v3: * Fix issues noticed by Sergei: - correct patch description - fix comment in ide_get_best_pio_mode() v4: * Fix "ata_" prefix (Noticed by Jeff). Acked-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 342cdb6d4739cee430efc3eafcacd1605db66036 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:55 2007 +0200 ide: make ide_get_best_pio_mode() print info if overriding PIO mode * Print info about overriding PIO mode in ide_get_best_pio_mode(). * Remove info about overriding PIO mode from cmd64{0,x} host drivers. * Remove no longer needed ide_pio_data_t.overridden field. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 328dcbb63657ebbb2dd26982fa9e1fa9e04b6fa2 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:54 2007 +0200 siimage: PIO mode setup fixes (take 2) * Add sil_tuneproc() wrapper for siimage_tuneproc() which also sets PIO mode on the device. * Add missing ide_get_best_pio_mode() call to sil_tuneproc() so "pio" == 255 (autotune) is handled correctly (previously PIO0 was used) and "pio" values > 4 && < 255 are filtered to PIO4 (instead of PIO0). * Add code limiting maximum PIO mode according to the pair device capabilities to sil_tuneproc(). * Convert users of config_siimage_chipset_for_pio() to use sil_tune_pio() and sil_tuneproc(). This fixes PIO fallback in siimage_config_drive_for_dma() to use max PIO mode available instead of PIO4 (config_siimage_chipset_for_pio() used wrong arguments for ide_get_best_pio_mode() and as a results always tried to set PIO4). * Remove no longer needed siimage_taskfile_timing() and config_siimage_chipset_for_pio(). * Enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes from siimage_speedproc() * Bump driver version. v2: * Fix issues noticed by Sergei: - correct pair device check - trim only taskfile PIO to the slowest of the master/slave - enable ->autotune unconditionally and remove PIO tuning for UDMA/MDMA modes from siimage_speedproc() - add TODO item for IORDY bugs - minor cleanups Reviewed-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 485efc6cf507eae2b8e83b56e179c8fa3980641a Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 20 01:11:54 2007 +0200 atiixp: PIO mode setup fixes * Split off exisiting atiixp_tuneproc() into atiixp_tune_pio() and then add setting device PIO mode to atiixp_tuneproc(). * Add missing ide_get_best_pio_mode() call to atiixp_tuneproc() so "pio" == 255 (autotune) is handled correctly and "pio" values > 4 && < 255 are filtered to PIO4 (previously "pio" == 5 could result in wrong timings being used and "pio" values > 4 && < 255 in an OOPS). * Handle PIO modes early in atiixp_speedproc() so save_mdma_mode[] doesn't get cleared. * In atiixp_dma_check(): - fix max_mode argument for ide_get_best_pio_mode() - don't call atiixp_dma_2_pio() so PIO1 doesn't get remapped to PIO0 - use atiixp_tuneproc() instead of atiixp_speedproc() * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9702b5d5c26be12d376e1baf2a8e5b82e6c06b66 Author: Alan Cox Date: Fri Jul 20 01:11:54 2007 +0200 ide: Stop mapping ROMs Various old IDE drivers go mapping ROM devices for no apparent reason and without using the ROM mapping API we now have. They don't actually use the ROM they map and the new libata drivers are happy without it being mapped so rather than port them lets just junk it for the next -rc1. Signed-off-by: Alan Cox Acked-by: Sergei Shtylyov Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit c82d72f5c521434c36b9550b3ac6601eb8167687 Author: Robert P. J. Day Date: Fri Jul 20 01:11:54 2007 +0200 IDE: Remove references to dead ETRAX-related variables. The two CONFIG variables CONFIG_ETRAX_IDE_CSE1_16_RESET CONFIG_ETRAX_IDE_CSP0_8_RESET appear to have been dead since way back in 2.5.xx days: http://www.linuxhq.com/kernel/v2.5/75/arch/cris/drivers/Kconfig Signed-off-by: Robert P. J. Day Cc: Michael Starvik Signed-off-by: Bartlomiej Zolnierkiewicz commit 363f7e428dcf9f90d726481029f7b4a0ed6d55ce Author: Marcin Juszkiewicz Date: Fri Jul 20 01:11:53 2007 +0200 PCMCIA: Add another MemoryCard to ide-cs/pata_pcmcia One card submitted by user. Signed-off-by: Marcin Juszkiewicz Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 4ae41ff887224b39c3c3c673a918193e90be558f Author: Kou Ishizaki Date: Fri Jul 20 01:11:53 2007 +0200 scc_pata.c: Workaround for errata A308 (take 2) Workaround for errata A308: turn down the UDMA mode and retry the DMA command when the data lost condition is detected. take2: udma_filter() hook is used to limit ATAPI UDMA mode. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f644d47af3834b603d909c212287d0c21ec3ebbb Author: Kumar Gala Date: Fri Jul 20 01:11:53 2007 +0200 scc_pata: Use inline function for eieio Move to using inline function variant of eieio instead of inline assmebly. Signed-off-by: Kumar Gala Cc: kou.ishizaki@toshiba.co.jp Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2d9ce177e68645945e3366cfe2d66ee3c28cd4f2 Author: Avi Kivity Date: Thu Jul 19 14:30:14 2007 +0300 i386: Allow KVM on i386 nonpae Currently, CONFIG_X86_CMPXCHG64 both enables boot-time checking of the cmpxchg64b feature and enables compilation of the set_64bit() family. Since the option is dependent on PAE, and since KVM depends on set_64bit(), this effectively disables KVM on i386 nopae. Simplify by removing the config option altogether: the boot check is made dependent on CONFIG_X86_PAE directly, and the set_64bit() family is exposed without constraints. It is up to users to check for the feature flag (KVM does not as virtualiation extensions imply its existence). Signed-off-by: Avi Kivity Signed-off-by: Linus Torvalds commit 12795067cfa595434be0236b102a8eb20d578741 Author: Matthew Wilcox Date: Thu Jul 19 13:09:10 2007 -0600 Update .gitignore for arch/i386/boot With the new setup code, we generate a couple more files Signed-off-by: Matthew Wilcox [ .. and do the same for x86-64 - Alexey ] Acked-by: Alexey Dobriyan Acked-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 80422977478775fe03f25e57b67efe9f0a67e50c Author: Christoph Hellwig Date: Thu Jul 19 12:05:58 2007 -0700 fix spufs build after ->fault changes 83c54070ee1a2d05c89793884bea1a03f2851ed4 broke spufs by incorrectly updating the code, this patch gets it to compile again. It's probably still broken due to the scheduler changes, but this at least makes sure cell kernels can still be built. Signed-off-by: Christoph Hellwig Cc: Arnd Bergmann Acked-by: Geoff Levand Cc: Paul Mackerras Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a021e9ffd56c22700133ebc37d607f95be8f7bd Author: Matt Mackall Date: Thu Jul 19 11:30:14 2007 -0700 random: fix bound check ordering (CVE-2007-3105) If root raised the default wakeup threshold over the size of the output pool, the pool transfer function could overflow the stack with RNG bytes, causing a DoS or potential privilege escalation. (Bug reported by the PaX Team ) Cc: Theodore Tso Cc: Willy Tarreau Signed-off-by: Matt Mackall Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds commit 626ac545c12e5f9bffe93086d1d03d26c99987ea Author: Serge E. Hallyn Date: Tue Jul 17 15:28:17 2007 -0400 user namespace: fix copy_user_ns return value When a CONFIG_USER_NS=n and a user tries to unshare some namespace other than the user namespace, the dummy copy_user_ns returns NULL rather than the old_ns. This value then gets assigned to task->nsproxy->user_ns, so that a subsequent setuid, which uses task->nsproxy->user_ns, causes a NULL pointer deref. Fix this by returning old_ns. Signed-off-by: Serge E. Hallyn Signed-off-by: Linus Torvalds commit bf903d0a4503db8ac166ca6135a59bc5f9b91a45 Author: Yasuaki Ishimatsu Date: Wed Jul 18 15:47:34 2007 +0900 [IA64] Delete iosapic_free_rte() > arch/ia64/kernel/iosapic.c:597: warning: 'iosapic_free_rte' defined but not used > > This isn't spurious, the only call to iosapic_free_rte() has been removed, but there > is still a call to iosapic_alloc_rte() ... which means we must have a memory leak. I did it on purpose (and gave the warning a miss...) and I consider iosapic_free_rte() is no longer needed. I decided to remain iosapic_rte_info to keep gsi-to-irq binding after device disable. Indeed it needs some extra memory, but it is only "sizeof(iosapic_rte_info) * " bytes and has no memory leak becasue re-enabled devices use the iosapic_rte_info which they used before disabling. Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 3d7559e677deafefe134f36c1e75f9119b956672 Author: David Chinner Date: Mon Jul 16 15:33:40 2007 +1000 [IA64] fallocate system call sys_fallocate for ia64. This uses an empty slot #1303 erroneously marked as reserved for move_pages (which had already been allocated as syscall #1276) Signed-Off-By: Dave Chinner Signed-off-by: Tony Luck commit 9550b105b8646f916862aee3ab7b25020ca14159 Author: Linus Torvalds Date: Thu Jul 19 13:21:34 2007 -0700 slub: fix ksize() for zero-sized pointers The slab and slob allocators already did this right, but slub would call "get_object_page()" on the magic ZERO_SIZE_PTR, with all kinds of nasty end results. Noted by Ingo Molnar. Cc: Ingo Molnar Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Linus Torvalds commit a5c96d8a1c67f31ef48935a78da2d2076513842b Author: Linus Torvalds Date: Thu Jul 19 13:17:15 2007 -0700 Fix up non-NUMA SLAB configuration for zero-sized allocations I suspect Christoph tested his code only in the NUMA configuration, for the combination of SLAB+non-NUMA the zero-sized kmalloc's would not work. Of course, this would only trigger in configurations where those zero- sized allocations happen (not very common), so that may explain why it wasn't more widely noticed. Seen by by Andi Kleen under qemu, and there seems to be a report by Michael Tsirkin on it too. Cc: Andi Kleen Cc: Roland Dreier Cc: Michael S. Tsirkin Cc: Pekka Enberg Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Linus Torvalds commit e436d80085133858bf2613a630365e8a0459fd58 Author: Ingo Molnar Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: implement cpu_clock(cpu) high-speed time source Implement the cpu_clock(cpu) interface for kernel-internal use: high-speed (but slightly incorrect) per-cpu clock constructed from sched_clock(). This API, unused at the moment, will be used in the future by blktrace, by the softlockup-watchdog, by printk and by lockstat. Signed-off-by: Ingo Molnar commit 969bb4e4032dac67287951d8f6642a3b5119694e Author: Suresh Siddha Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: fix the all pinned logic in load_balance_newidle() nr_moved is not the correct check for triggering all pinned logic. Fix the all pinned logic in the case of load_balance_newidle(). Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 9439aab8dbc33c2c03c3a19dba267360383ba38c Author: Suresh Siddha Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: fix newly idle load balance in case of SMT In the presence of SMT, newly idle balance was never happening for multi-core and SMP domains (even when both the logical siblings are idle). If thread 0 is already idle and when thread 1 is about to go to idle, newly idle load balance always think that one of the threads is not idle and skips doing the newly idle load balance for multi-core and SMP domains. This is because of the idle_cpu() macro, which checks if the current process on a cpu is an idle process. But this is not the case for the thread doing the load_balance_newidle(). Fix this by using runqueue's nr_running field instead of idle_cpu(). And also skip the logic of 'only one idle cpu in the group will be doing load balancing' during newly idle case. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit c41917df8a1adde34864116ce2231a7fe308d2ff Author: Ralf Baechle Date: Thu Jul 19 21:28:35 2007 +0200 [PATCH] sched: sched_cacheflush is now unused Since Ingo's recent scheduler rewrite which was merged as commit 0437e109e1841607f2988891eaa36c531c6aa6ac sched_cacheflush is unused. Signed-off-by: Ralf Baechle Signed-off-by: Ingo Molnar commit 0a87cf128f3d3bc6aa7b1040e73109c974ed875a Author: Jeff Layton Date: Wed Jul 18 11:28:43 2007 -0400 NFSv4: handle lack of clientaddr in option string If a NFSv4 mount is attempted with string based options, and the option string doesn't contain a clientaddr= option, the kernel will currently oops. Check for this situation and return a proper error. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit f9d888fcd9665b863fa042212a3ee7b4c51399f6 Author: Benny Halevy Date: Sun Jul 15 20:14:32 2007 +0300 NFSv4: debug print ntohl(status) in nfs client callback xdr code status in nfs client callback xdr code is passed in network order. print it in host order for better readability. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e4eff1a622edd6ab7b73acd5d8763aa2fa3fee49 Author: Trond Myklebust Date: Sat Jul 14 15:39:58 2007 -0400 SUNRPC: Clean up the sillyrename code Fix a couple of bugs: - Don't rely on the parent dentry still being valid when the call completes. Fixes a race with shrink_dcache_for_umount_subtree() - Don't remove the file if the filehandle has been labelled as stale. Fix a couple of inefficiencies - Remove the global list of sillyrenamed files. Instead we can cache the sillyrename information in the dentry->d_fsdata - Move common code from unlink_setup/unlink_done into fs/nfs/unlink.c Signed-off-by: Trond Myklebust commit 4fdc17b2a7f4d9db5b08e0f963d0027f714e4104 Author: Trond Myklebust Date: Sat Jul 14 15:39:57 2007 -0400 NFS: Introduce struct nfs_removeargs+nfs_removeres We need a common structure for setting up an unlink() rpc call in order to fix the asynchronous unlink code. Signed-off-by: Trond Myklebust commit 3062c532ad410fe0e8320566fe2879a396be6701 Author: Trond Myklebust Date: Sat Jul 14 17:36:45 2007 -0400 NFS: Use dentry->d_time to store the parent directory verifier. This will free up the d_fsdata field for other use. Signed-off-by: Trond Myklebust commit be879c4e249a8875d7129f3b0c1bb62584dafbd8 Author: J. Bruce Fields Date: Wed Jul 11 18:39:02 2007 -0400 SUNRPC: move bkl locking and xdr proc invocation into a common helper Since every invocation of xdr encode or decode functions takes the BKL now, there's a lot of redundant lock_kernel/unlock_kernel pairs that we can pull out into a common function. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit e3a535e1739a9da3cc316ccdfe5cd4bf84d745ac Author: Trond Myklebust Date: Thu Jul 19 10:03:38 2007 -0400 NFSv4: Fix the nfsv4 readlink reply buffer alignment Signed-off-by: Trond Myklebust commit d6ac02dfaa6c423874839fe289c7320624aa9288 Author: Trond Myklebust Date: Thu Jul 19 10:03:37 2007 -0400 NFSv4: Fix the readdir reply buffer alignment Signed-off-by: Trond Myklebust commit 9104a55dc382c4aae42dff3f54351085cbcb7317 Author: Trond Myklebust Date: Tue Jul 17 21:52:42 2007 -0400 NFSv4: More NFSv4 xdr cleanups Signed-off-by: Trond Myklebust commit 9936781d0147e13cbc6df02f5265e0b9999ce3cf Author: Trond Myklebust Date: Tue Jul 17 21:52:41 2007 -0400 NFSv4: Try to recover from getfh failures in nfs4_xdr_dec_open Try harder to recover the open state if the server failed to return a filehandle. Signed-off-by: Trond Myklebust commit 56659e9926ef5996398924c799ecac39ca8b6223 Author: Trond Myklebust Date: Tue Jul 17 21:52:39 2007 -0400 NFSv4: 'constify' lookup arguments. Signed-off-by: Trond Myklebust commit 365c8f589afbc27d8cf42d396475017bc1c462fd Author: Trond Myklebust Date: Tue Jul 17 21:52:37 2007 -0400 NFSv4: Don't fail nfs4_xdr_dec_open if decode_restorefh() failed We can already easily recover from that inside _nfs4_proc_open(). Signed-off-by: Trond Myklebust commit 6f220ed5a84d87645a84ae22105dc565f3f248b5 Author: Trond Myklebust Date: Tue Jul 17 21:50:45 2007 -0400 NFSv4: Fix open state recovery Ensure that opendata->state is always initialised when we do state recovery. Ensure that we set the filehandle in the case where we're doing an "OPEN_CLAIM_PREVIOUS" call due to a server reboot. Signed-off-by: Trond Myklebust commit 8cd69e1bc7970bfb032b425043cc0d4e4345c74c Author: Trond Myklebust Date: Thu Jul 19 10:03:34 2007 -0400 NFSD/SUNRPC: Fix the automatic selection of RPCSEC_GSS Bruce's patch broke the ability to compile RPCSEC_GSS as a module. Signed-off-by: Trond Myklebust commit e24b8cb4fa2bb779bdf48656152366b6f52f748f Author: Jean Delvare Date: Sun Jul 8 14:26:37 2007 +0200 i2c: Delete the i2c-isa pseudo bus driver There are no users of i2c-isa left, so we can finally get rid of it. Signed-off-by: Jean Delvare commit c182f5bbfb399b1fa2ad65107b3caf9c1c69435e Author: Hans de Goede Date: Tue Jul 10 17:09:57 2007 +0200 hwmon: refuse to load abituguru driver on non-Abit boards With this patch the abituguru refuses to load on non Abit motherboards, as discussed in lkml CONFIG_BREAK_MY_MACHINE thread. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 9c2e14afb98f761ec80ea809adbc87b15b060e7b Author: Hans de Goede Date: Mon Jul 2 23:08:26 2007 +0200 hwmon: fix Abit Uguru3 driver detection on some motherboards This patch changes the driver to also detect uguru3's which hold 0x08 at DATA initially, as has been reported here: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=220160 Also when an uguru3's holds 0x0014 in the ID register it will now report "Abit AB9 Pro" as motherboard identification. Signed-off-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 9f66036b4f95f5e830d68a3ce90aeece0e0c4bf3 Author: Jean Delvare Date: Sun Jun 24 11:23:41 2007 +0200 hwmon/w83627ehf: Be quiet when no chip is found This fixes bug #8593: http://bugzilla.kernel.org/show_bug.cgi?id=8593 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7cb7273f8ce9c5790a7b64208172b4203977e0a3 Author: Jean Delvare Date: Sun Jun 24 11:21:43 2007 +0200 hwmon/w83627ehf: No need to initialize fan_min We don't need to initialize fan_min in this driver, as the fan_div attributes are read-only. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit da667365befb2846485b82c4e6c57729dd513fd2 Author: Jean Delvare Date: Sun Jun 24 11:21:02 2007 +0200 hwmon/w83627ehf: Export the thermal sensor types Add support for the w83627ehf thermal sensor types. I made them read-only, as the BIOS is supposed to set them up properly. This information makes it easier to find out which temperature channel corresponds to the CPU. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d3130f0e30745b406af233897a27834eb5285f45 Author: Jean Delvare Date: Sun Jun 24 11:20:13 2007 +0200 hwmon/w83627ehf: Enable VBAT monitoring If VBAT monitoring is disabled, enable it. Original patch from an anonymous contributor on the lm-sensors trac system: http://lm-sensors.org/ticket/2218 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit fc18d6c0479d5b6da281590a8caf166d60cc748b Author: Jean Delvare Date: Sun Jun 24 11:19:42 2007 +0200 hwmon/w83627ehf: Add support for the VID inputs The W83627EHF and similar chips have 6 VID input pins, add support for them. The driver changes the input voltage level automatically if the current setting is not correct for the detected CPU model. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6b3e46458049fe556c2346a347c4540e532db288 Author: Jean Delvare Date: Sun Jun 24 11:19:01 2007 +0200 hwmon/w83627ehf: Fix timing issues * I have experimental evidence that the W83627EHG needs more than 1 second to refresh all the measured values. Increase the caching time to 1.5 second. * When changing a fan clock divider, the corresponding fan speed measurement register is no longer valid, until the next time the chip will refresh it. One way to fix this is to pretend that the cache is still valid for one more period (1.5 second.) Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 475ef85512900dcb87435e13656c1f5e724de379 Author: David Hubbard Date: Sun Jun 24 11:17:09 2007 +0200 hwmon/w83627ehf: Add error messages for two error cases If the Super-I/O device is disabled, it is likely the BIOS has a good reason for leaving it disabled, so give a warning when enabling it -- it's not likely to be wired correctly or be able to give good data. Also, if the Super-I/O device is configured with an address of 0, the driver refuses to initialize it. Signed-off-by: David Hubbard Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1ea6dd3840e5a22924d78299fee018c82e425d80 Author: David Hubbard Date: Sun Jun 24 11:16:15 2007 +0200 hwmon/w83627ehf: Convert to a platform driver Remove i2c-isa from the w83627ehf driver, and use a platform driver instead. Signed-off-by: David Hubbard Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 658291fc38715c8723372a869c22b700ec41c972 Author: David Hubbard Date: Sun Jun 24 11:15:03 2007 +0200 hwmon/w83627ehf: Update the Kconfig entry Add description for the W83627DHG chip to Kconfig. Signed-off-by: David Hubbard Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d2bc7b135a948f788646e3a7aff9ac5597f42f4f Author: Adrian Bunk Date: Fri Jul 6 01:23:06 2007 +0200 make coretemp_device_remove() static coretemp_device_remove() can become static. Signed-off-by: Adrian Bunk Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e46957edfb85e3054ed49350777833e18564c9ff Author: Hans-Jürgen Koch Date: Thu Jul 5 17:58:29 2007 +0200 hwmon: Add LM93 support This patch adds support for the LM93 hardware monitoring chip. Signed-off-by: Hans J. Koch Signed-off-by: Mark M. Hoffman commit 875f25d5f553f7cf3e6a59c50b32e5fc06442945 Author: Jean Delvare Date: Wed Jun 27 21:26:08 2007 +0200 hwmon: Improve the pwmN_enable documentation The documentation of the pwmN_enable interface file is not very clear, and has been confusing several driver authors already. Make it clearer. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 90205c6cbb8fd9880bf798903a99f5b8903455e2 Author: Jean Delvare Date: Sat Jun 23 14:58:22 2007 +0200 hwmon/smsc47b397: Don't report missing fans as spinning at 82 RPM Also protects ourselves against a possible division by zero. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 3faa1ffb4f4be7d10715f4b003ff7b27d14eae26 Author: Hans de Goede Date: Sun Jun 17 00:28:45 2007 +0200 hwmon: Add support for newer uGuru's This patch adds a new driver for the hardware monitoring features of the third revision of the Abit uGuru chip, found on recent Abit motherboards. This is an entirely different beast then the first and second revision (its again a winbond microcontroller, but the "protocol" to talk to it and the bank addresses are very different. Signed-off-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit aba5073d3f4c928c89c483d85f8cff7cc9aa3312 Author: Phil Endecott Date: Fri Jun 29 09:19:14 2007 +0200 hwmon/f71805f: Add temperature-tracking fan control mode Add support for the "temperature mode" fan speed control. In this mode, the user can define 3 temperature/speed trip points, and the chip will set the speed automatically according to the temperature changes. Signed-off-by: Phil Endecott Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 158ce07564b68d4215b9560213a089d6f7c5a4ea Author: Jean Delvare Date: Sun Jun 17 16:09:12 2007 +0200 hwmon/w83627ehf: Preserve speed reading when changing fan min The w83627ehf driver changes the fan clock divider automatically when a new min fan speed is set. It is supposed to preserve the fan speed reading while doing so, bug doesn't really. Fix it. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e432dc811bfb6b3d3ad618d99bd8d58132fec316 Author: Hans de Goede Date: Mon Jun 18 22:59:34 2007 +0200 hwmon: fix detection of abituguru volt inputs This patch fixes the detection of volt inputs with a reading of more then 240 units. Signed-off-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 2dbbdb35746fdc1a3c3bc5b07f197a90e53b059e Author: Juerg Haefliger Date: Wed Jun 20 15:41:33 2007 -0700 hwmon: add SCH5317 to smsc47b397 driver This patch adds the SMSC SCH5317 chip (device ID 0x85) as a supported device to the smsc47b397 driver. Signed-off-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit b74f3fdd98c7186930b8ee841dc542dfdba95473 Author: corentin.labbe Date: Wed Jun 13 20:27:36 2007 +0200 hwmon: convert it87 to platform driver This is the patch for converting it87 to a platform driver (and remove i2c-isa). Signed-off-by: Corentin LABBE Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 04a6217df28e3004ba4e76eb0a356a30f72c564f Author: Jean Delvare Date: Tue Jun 12 13:57:19 2007 +0200 hwmon: Fix a potential race condition on unload Fix a potential race condition when some hardware monitoring platform drivers are being unloaded. I believe that the driver data pointer shouldn't be cleared before all the sysfs files are removed, otherwise a sysfs callback might attempt to dereference a NULL pointer. I'm not sure exactly what the driver core protects drivers against, so let's play it safe. While we're here, clear the driver data pointer when probe fails, so as to not leave an invalid pointer behind us. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ec5e1a4b8faa6a3522171a185a5c6ac9609e14b4 Author: Roger Lucas Date: Tue Jun 12 21:04:08 2007 +0200 hwmon: Convert vt8231 to a platform driver Convert the vt8231 driver from the nonsensical i2c-isa hack to a regular platform driver. Signed-off-by: Roger Lucas Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 2f6ae157905c393f7372607bc2954f7689838199 Author: Jean Delvare Date: Sat Jun 9 10:11:17 2007 -0400 hwmon/sis5595: Use PCI_REVISION_ID Use PCI_REVISION_ID instead of our own define. Signed-off-by: Jean Delvare commit 1f5f48dde709ae6951a2f1e044c21f5641684b0a Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/sis5595: Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 7%. Signed-off-by: Jean Delvare commit 17e7dc4373dfcf2a3058d307665263df29dd5fe7 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/sis5595: Convert to a platform driver Convert the sis5595 driver from the nonsensical i2c-isa hack to a regular platform driver. Signed-off-by: Jean Delvare commit 1e71a5a2ce40425e3bf1bbce021a443ec8a24043 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/via686a: Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 9%. Signed-off-by: Jean Delvare commit 2ec342e68453d9f3a1ac28ab80ffa8faacf58710 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/via686a: Convert to a platform driver Convert the via686a driver from the nonsensical i2c-isa hack to a regular platform driver. Signed-off-by: Jean Delvare commit 58fe0809cc02d51b7aca05ee858c8bbb0af9e0b6 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/via686a: Temperature interrupt configuration fix Fix the writing of the temperature interrupt configuration. The old code was working only by accident. Signed-off-by: Jean Delvare commit 1550cb6d7e78c7cfdd7b48bee6809795d43d6a33 Author: Carlos Olalla Martinez Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/w83627hf: Add PWM frequency selection support Signed-off-by: Carlos Olalla Signed-off-by: Jean Delvare commit 08a8f6e9e63a4317f716749ba9f828351bd4af35 Author: Rudolf Marek Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/it87: Add IT8726F support Add support for IT8726F chip driver, which is just same as IT8716F with additional glue logic for AMD power sequencing. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 7817a39e65f04abe136d94a65fa26b7fe3334a1f Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon: Fault files naming convention We have the following naming convention documented in Documentation/hwmon/sysfs-interface for fault files: in[0-*]_input_fault fan[1-*]_input_fault temp[1-*]_input_fault Some drivers follow this convention (lm63, lm83, lm90, smsc47m192). However some drivers omit the "input" part and create files named fan1_fault (pc87427) or temp1_fault (dme1737). And the new "generic" libsensors follows this second (non-standard) convention, so it fails to report fault conditions for drivers which follow the standard. We want a single naming scheme, and everyone seems to prefer the shorter variant, so let's go for it. Signed-off-by: Jean Delvare commit 32c82a934759b2c9939c9e25865c2d7d1204b9e8 Author: Rainer Birkenmaier Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/lm90: Add support for the Maxim MAX6680/MAX6681 Signed-off-by: Rainer Birkenmaier Signed-off-by: Jean Delvare commit 2df6d811574f46bea0d38bf91aa54df4c05488cd Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon: Use platform_device_add_data() Use platform_device_add_data() in hardware monitoring drivers. This makes the code nicer and smaller too. Reported by David Hubbard. Signed-off-by: Jean Delvare Cc: David Hubbard commit f641b588fdfd25e73c73f6e4977cd2daf8a5e363 Author: Jean Delvare Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/pc87360: Convert to a platform driver Convert the pc87360 driver from the nonsensical i2c-isa hack to a regular platform driver. This is a direct conversion, other cleanups could happen on top of that. Signed-off-by: Jean Delvare Acked-by: Jim Cromie commit b825037d185549825d4f35504f2085ec86037110 Author: Juerg Haefliger Date: Sat Jun 9 10:11:16 2007 -0400 hwmon/dme1737: Add documentation Add documentation for the new SMSC DME1737 driver. Signed-off-by: Juerg Haefliger Signed-off-by: Jean Delvare commit 9431996f55f8a3c04cdcb63895cf7661e135fadb Author: Juerg Haefliger Date: Sat Jun 9 10:11:16 2007 -0400 hwmon: New SMSC DME1737 driver Add support for the hardware monitoring and fan control capabilities of the SMSC DME1737 and Asus A8000 Super-I/O chips. The hardware monitoring logic of this chip is similar to the LM85 but has some additional features that this driver supports. Even though it's a Super-I/O chip, the hardware monitoring logic can only be accessed via SMBus. Signed-off-by: Juerg Haefliger Signed-off-by: Jean Delvare commit 87f0f31baf9ea2cb273d7fb56b3ebf9df5096884 Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/ds1621: Create individual alarm files Future versions of libsensors will need this. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 46a2e71ced949ecf238f796c178f85f03501ce88 Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/ds1621: Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 8%. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 75819f01af77d6d70abc7777e450a0848a9b898b Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/ds1621: Minor cleanups * Discard comments which do not apply or are redundant. * Remove a few useless instructions. * Rename new_client to just client. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit e4a7167f82130fa95005097797bb1ec9c76201fd Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/smsc47m192: Semaphore to mutex conversion Signed-off-by: Jean Delvare commit 0966415d7267c860b88fe96f7e83cfd687efe0bd Author: Jean Delvare Date: Sat Jun 9 10:11:15 2007 -0400 hwmon/lm90: Spelling fix: explicitly Signed-off-by: Jean Delvare commit 6ea884dbc6eedd28af0fdb4577cdcb033d459543 Author: Mark M. Hoffman Date: Sat Jun 9 10:11:15 2007 -0400 hwmon: New maintainer Mark M. Hoffman is taking over for Jean Delvare as maintainer of the hwmon subsystem. He is also the author/maintainer for several existing drivers. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 80ed71ce1a3369521c693ebf30abb9cfe1dc7e66 Author: James Bottomley Date: Thu Jul 19 10:15:10 2007 -0500 [SCSI] bsg: separate bsg and SCSI (so SCSI can be modular) This patch moves the bsg registration into SCSI so that bsg no longer has a dependency on the scsi_interface_register API. This can be viewed as a temporary expedient until we can get universal bsg binding sorted out properly. Also use the sdev bus_id as the generic bsg name (to avoid clashes with the queue name). Acked-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 41e9d344bf52c57ec16648d08618b61d3f1d4bdc Author: Jens Axboe Date: Thu Jul 19 08:13:01 2007 +0200 IDE: fix termination of non-fs requests ide-disk calls ide_end_request(drive, 0, 0); to finish an unknown request, but this doesn't work so well for non-fs requests, since ide_end_request() internally looks at ->hard_cur_sectors to see how much data to end. Only file system requests store a transfer value in there, pc requests fill out ->data_len as a byte based transfer value instead. Since we ask to end 0 bytes of that request, it will never be terminated and ide-disk gets stuck in a loop "handling" that same request over and over. Switch __ide_end_request() to take a byte based transfer count, and adjust ide_end_request() to look at the right field to determine how much IO to end when it's being passed in 0. Acked-by: Bartlomiej Zolnierkiewicz Tested-By: Giacomo Catenazzi Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit b02b6bc46571b21a545c9e697df1e226ff22bc81 Author: Kristian Høgsberg Date: Wed May 9 19:23:12 2007 -0400 [SCSI] Make scsi_host_template::proc_name const char * instead of char *. Signed-off-by: Kristian Høgsberg collapsed with fw-sbp2 patch "Drop cast to non-const char * in host template initialization." from Kristian Høgsberg Signed-off-by: Stefan Richter Signed-off-by: James Bottomley commit 275afcac9953ece0828972edeab9684cfe1a5ef3 Author: Andrew Morton Date: Thu Jul 19 01:50:35 2007 -0700 afs build fix Bruce and David's patches clashed. fs/afs/flock.c: In function 'afs_do_getlk': fs/afs/flock.c:459: error: void value not ignored as it ought to be Cc: "J. Bruce Fields" Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2c12f323e8fafbc94f9bcfb924f9df36e64dc7 Author: Andrew Morton Date: Thu Jul 19 01:50:35 2007 -0700 kernel/sysctl.c: finish off the warning comments I've been chasing these comments around this file all week. Hopefully we're straight now. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87f24c3ac399e82c578e71311251f00618fc5203 Author: Doug Thompson Date: Thu Jul 19 01:50:34 2007 -0700 drivers/edac: add to edac docs Updated the EDAC kernel documentation Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2a4ac0c2860b27670bce99e8c9c281bf431c272 Author: Doug Thompson Date: Thu Jul 19 01:50:33 2007 -0700 drivers/edac: fix edac_device sysfs corner case bug Some simple fixes to properly reference counter values from the block attribute level of edac_device objects. Properly sequencing the array pointer was added, resulting in correct identification of block level attributes from their base class functions. Added more verbose debug statement for event tracking. Also during some corner testing, found a bug in the store/show sequence of operations for the block attribute/controls management. An old intermediate structure for 'blocks' was still in the processing pipeline. This patch removes that old structure and correctly utilizes the new struct edac_dev_sysfs_block_attribute for passing control from the sysfs to the low level store/show function of the edac driver. Now the proper kobj pointer to passed downward to the store/show functions. Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba9a5918c86762fa7fae353c635bb6ed5221dfb8 Author: Douglas Thompson Date: Thu Jul 19 01:50:32 2007 -0700 drivers/edac: add to maintainers new info Update maintainer information on edac components Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 420390f06a5afd3e130b960ef99bc4bd4286e535 Author: Ranganathan Desikan Date: Thu Jul 19 01:50:31 2007 -0700 drivers/edac: new i82975x driver New EDAC driver for the i82975x memory controller chipset Used on ASUS motherboards [akpm@linux-foundation.org: fix multiple coding-style bloopers] Signed-off-by: Signed-off-by: Ranganathan Desikan Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf52fa4a26567bfbf5b1d30f84cf0226e61d26cd Author: Doug Thompson Date: Thu Jul 19 01:50:30 2007 -0700 drivers/edac: fix workq reset deadlock Fix mutex locking deadlock on the device controller linked list. Was calling a lock then a function that could call the same lock. Moved the cancel workq function to outside the lock Added some short circuit logic in the workq code Added comments of description Code tidying Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb3fb2068775a1363265edc00870aa5e2f0e3631 Author: Doug Thompson Date: Thu Jul 19 01:50:30 2007 -0700 drivers/edac: code tidying on export-gpl Change EXPORT_SYMBOLs to EXPORT_SYMBOLS_GPL Tidy changes: blank lines, inline removal, add comment Signed-off-by: Doug Thompson Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c3631ff1f805cb72644fcde02b7c58950f21cd5 Author: Douglas Thompson Date: Thu Jul 19 01:50:29 2007 -0700 drivers/edac: fix edac_device sysfs completion code With feedback, this patch corrects operation of the kobject release operation on kobjects, attributes and controls for the edac_device. Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8096cfafbb7ad3cb1a286ae7e8086167f4ebb4b6 Author: Doug Thompson Date: Thu Jul 19 01:50:27 2007 -0700 drivers/edac: fix edac_mc sysfs completion code This patch refactors the 'releasing' of kobjects for the edac_mc type of device. The correct pattern of kobject release is followed. As internal kobjs are allocated they bump a ref count on the top level kobj. It in turn has a module ref count on the edac_core module. When internal kobjects are released, they dec the ref count on the top level kobj. When the top level kobj reaches zero, it decrements the ref count on the edac_core object, allow it to be unloaded, as all resources have all now been released. Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45e7823baf655ced91c7987fb4ba9aae990ad6d Author: Doug Thompson Date: Thu Jul 19 01:50:27 2007 -0700 drivers/edac: fix edac_device init apis Refactoring of sysfs code necessitated the refactoring of the edac_device_alloc() and edac_device_add_device() apis, of moving the index value to the alloc() function. This patch alters the in tree drivers to utilize this new api signature. Having the index value performed later created a chicken-and-the-egg issue. Moving it to the alloc() function allows for creating the necessary sysfs entries with the proper index number Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8f6f9755248026f21282e25cac49a1af698056c Author: Doug Thompson Date: Thu Jul 19 01:50:26 2007 -0700 drivers/edac: fix edac_mc init apis Refactoring of sysfs code necessitated the refactoring of the edac_mc_alloc() and edac_mc_add_mc() apis, of moving the index value to the alloc() function. This patch alters the in tree drivers to utilize this new api signature. Having the index value performed later created a chicken-and-the-egg issue. Moving it to the alloc() function allows for creating the necessary sysfs entries with the proper index number Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd309a9d8e63e9176759d00630b65d772ae06e0c Author: Douglas Thompson Date: Thu Jul 19 01:50:25 2007 -0700 drivers/edac: fix leaf sysfs attribute This patch fixes and enhances the driver level set of sysfs attributes that can be added to the 'block' level of an edac_device type of driver. There is a controller information structure, which contains one or more instances of device. Each instance will have one or more blocks of device specific counters. This patch fixes the ability to have more detailed attributes/controls for each of the 'blocks', providing for the addition of controls/attributes from the low level driver to user space via sysfs. Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Douglas Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8536fb484360f35c0a9e3631641948bf168e2b Author: Egor Martovetsky Date: Thu Jul 19 01:50:24 2007 -0700 drivers/edac: new pasemi driver NEW EDAC driver for the memory controllers on PA Semi PA6T-1682M. Changes since last submission: * Rebased on top of 2.6.22-rc4-mm2 with the EDAC changes merged there. * Minor checkpatch.pl cleanups * Renamed ctl_name * Added dev_name * edac_mc.h -> edac_core.h [akpm@linux-foundation.org: make printk more informative] Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Egor Martovetsky Signed-off-by: Olof Johansson Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7297c2617f6465d7862e156d4db5d812744280f1 Author: Mark Grondona Date: Thu Jul 19 01:50:23 2007 -0700 drivers/edac: fix e752x reversed csrows Found a 'reversal' decoding bug in the driver. This patch fixes that mapping to correctly display the CSROW entries in their proper order. Users will be enable to correctly identifiy the failing DIMM with this fix. [akpm@linux-foundation.org: unneeded (and undesirable) cast of void*] Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Mark Grondona Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ca84761faeb9d49301d45b39859411c7a124690 Author: Doug Thompson Date: Thu Jul 19 01:50:22 2007 -0700 drivers/edac: fix edac_device semaphore to mutex A previous patch changed the edac_mc src file from semaphore usage to mutex This patch changes the edac_device src file as well, from semaphore use to mutex operation. Use a mutex primitive for mutex operations, as it does not require a semaphore Cc: Alan Cox alan@lxorguk.ukuu.org.uk Signed-off-by: Doug Thompson Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f065e723b02afb0d36a2aae8e6d206ba2667fc6 Author: Douglas Thompson Date: Thu Jul 19 01:50:22 2007 -0700 drivers/edac: remove file edac_mc.h Removed the no-longer-needed file edac_mc.h Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 494d0d55bcc7ef94c744a59779327e45a27f7801 Author: Douglas Thompson Date: Thu Jul 19 01:50:21 2007 -0700 drivers/edac: mod edac_opt_state_to_string function Refactored the function edac_op_state_toString() to be edac_op_state_to_string() for consistent style, and its callers Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7391c6dcab3094610cb99bbd559beaa282582eac Author: Douglas Thompson Date: Thu Jul 19 01:50:21 2007 -0700 drivers/edac: mod edac_align_ptr function Refactor the edac_align_ptr() function to reduce the noise of casting the aligned pointer to the various types of data objects and modified its callers to its new signature Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52490c8d07680a7ecc3c1a70a16841455d37e96a Author: Douglas Thompson Date: Thu Jul 19 01:50:20 2007 -0700 drivers/edac: edac_device code tidying For the file edac_device.c perform some coding style enhancements Add some function header comments Made for better readability commands Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2ccaecad2b00bf7bc72d5b864425daf43a4080d Author: Douglas Thompson Date: Thu Jul 19 01:50:19 2007 -0700 drivers/edac: i5000 code tidying Various code style conformance patches on the i5000 driver Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f044091ca4c0b05be8f83748d76d4fbba4fc74cf Author: Douglas Thompson Date: Thu Jul 19 01:50:19 2007 -0700 drivers/edac: remove null from statics Patches to conform to coding style, namely static don't need to be initialized to NULL nor '0', as that is the default Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 977c76bd687585f4528c6c9c6966842955771f52 Author: Marisuz Kozlowski Date: Thu Jul 19 01:50:18 2007 -0700 drivers/edac: i5000 define typo Found a typo in one of the #defines in the driver MTR_DIM_RANKS --> MTR_DIMM_RANK Signed-off-by: Marisuz Kozlowski Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53078ca84b1c01f36c306d1f52e2f88c7bb2f9e4 Author: Douglas Thompson Date: Thu Jul 19 01:50:17 2007 -0700 include/linux/pci_id.h: add amd northbridge defines pci_ids.h needs two of the AMD NB device-ids namely, Addressmap and the Memory Controller devices This patch adds those to the pci_id.h include file Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c52152b3008b7bdcc3b94d0be4d0b814dce1530 Author: Douglas Thompson Date: Thu Jul 19 01:50:17 2007 -0700 drivers/edac: fix ignored return i82875p Compiling this module gave a warning that the return value of 'pci_bus_add_device()' was not checked. This patch adds that check and an output message Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 654ede200fe028373852bbca387ab4834ddb7228 Author: Jason Uhlenkott Date: Thu Jul 19 01:50:16 2007 -0700 drivers/edac: mod race fix i82875p If ERRSTS indicates that there's no error then we don't need to bother reading the other registers. In addition to making the common case faster, this actually fixes a small race where we don't see an error but we clear the error bits anyway, potentially wiping away info on an error that happened in the interim (or where a CE arrives between the first and second read of ERRSTS, causing us to falsely claim "UE overwrote CE"). Signed-off-by: Jason Uhlenkott Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b113a3f7e85d7f97c8383a88a5bc7c2ea8daeb2f Author: Douglas Thompson Date: Thu Jul 19 01:50:15 2007 -0700 drivers/edac: add mips and ppc visibility 1) Remove an old CVS ID string 2) change EDAC from a tristate option to a simple bool option 3) In addition to the X86 arch, PPC and MIPS also have drivers in the submission queue. This patch turns on the EDAC flag for those archs. Each driver will have its respective 'depends on ARCH' set. Signed-off-by: Douglas Thompson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 052dfb45ccb5ea354a426b52556bcfee75b9d2f5 Author: Douglas Thompson Date: Thu Jul 19 01:50:13 2007 -0700 drivers/edac: cleanup spaces-gotos after Lindent messup This patch fixes some remnant spaces inserted by the use of Lindent. Seems Lindent adds some spaces when it shoulded. These have been fixed. In addition, goto targets have issues, these have been fixed in this patch. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bc7840411b8c7fe11e1879d882c88119d1c033e Author: Douglas Thompson Date: Thu Jul 19 01:50:12 2007 -0700 drivers/edac: update MAINTAINERS files for EDAC Added new maintainers for the new EDAC drivers. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cb2a39831b25f2289a2a6571666a135e475035c Author: Douglas Thompson Date: Thu Jul 19 01:50:12 2007 -0700 drivers/edac: add info kconfig Kconfig - modified the help of EDAC Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d391a7b8147d12b0e5141fb65829856fb0c289dc Author: Douglas Thompson Date: Thu Jul 19 01:50:11 2007 -0700 drivers/edac: device output clenaup The error handling output strings needed to be refactored for better displaying of the error informaton. Also needed to added offset_value for output as well Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a8e397a80c277afb2aeb22232bc70114035bb1 Author: Douglas Thompson Date: Thu Jul 19 01:50:10 2007 -0700 drivers/edac: add device sysfs attributes Added new controls for the edac_device and edac_mc sysfs folder. These can be initialized by the low level driver to provide misc controls into the low level driver for its use Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 456a2f9552e7849475f4aea1a9aa4c0e54b3ddda Author: Dave Jiang Date: Thu Jul 19 01:50:10 2007 -0700 drivers/edac: drivers to use new PCI operation Move x86 drivers to new pci controller setup Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cddbfcacf02dc2d5b074fc2717358a7529a190db Author: Douglas Thompson Date: Thu Jul 19 01:50:08 2007 -0700 drivers/edac: Lindent r82600 Run r82600_edac.c file through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11116601092c42364892d3f59c8f4a8a30916867 Author: Douglas Thompson Date: Thu Jul 19 01:50:07 2007 -0700 drivers/edac: Lindent i82443bxgx Run i82443bxgx.c file through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 203333cbbaae3941504c2b6e92850783bf361b6f Author: Dave Jiang Date: Thu Jul 19 01:50:06 2007 -0700 drivers/edac: Lindent e752x Run e752x_edac.c file through Lindent for cleanup Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 466b71d58413a515a8029b4eccf98c08b8bb5aca Author: Dave Jiang Date: Thu Jul 19 01:50:05 2007 -0700 drivers/edac: Lindent i82875p Lindent cleanup of i82875p_edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4e8b37201d647e4b4abb89d57ebdb8c739d5405 Author: Dave Jiang Date: Thu Jul 19 01:50:04 2007 -0700 drivers/edac: Lindent i82860 Lindent cleanup of i82860 edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36b8289e249f800a57a4c908a9a7e91345f516ef Author: Dave Jiang Date: Thu Jul 19 01:50:04 2007 -0700 drivers/edac: Lindent i3000 Lindent cleanup of i3000_edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 849a4c375a8e06cd000399dceb25888d356d021f Author: Dave Jiang Date: Thu Jul 19 01:50:03 2007 -0700 drivers/edac: Lindent e7xxx Lindent cleanup of e7xxx_edac driver Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4aff426533f62c46d4e4d104572d838d35034eb Author: Douglas Thompson Date: Thu Jul 19 01:50:03 2007 -0700 drivers/edac: Lindent i5000 Ran e752x_edac.c file through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67cb2b61225601ef1ead842c7a012bb6da19f847 Author: Douglas Thompson Date: Thu Jul 19 01:50:02 2007 -0700 drivers/edac: Lindent amd76x Ran this driver through Lindent for cleanup Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86aa8cb7bc47fe786df073246055d69d98e6330a Author: Douglas Thompson Date: Thu Jul 19 01:50:01 2007 -0700 drivers/edac: cleanup workq ifdefs The origin of this code comes from patches at sourceforge, that allow EDAC to be updated to various kernels. With kernel version 2.6.20 a new workq system was installed, thus the patches needed to be modified based on the kernel version. For submitting to the latest kernel.org those #ifdefs are removed Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 542b25881a6ae1bf0804d4d39bf8b4d2cfc25e42 Author: Douglas Thompson Date: Thu Jul 19 01:50:01 2007 -0700 drivers/edac: edac_device sysfs cleanup Removal of some old dead and disabled code from the edac_device sysfs code Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 079708b9173595bf74b31b14c36e946359ae6c7e Author: Douglas Thompson Date: Thu Jul 19 01:49:58 2007 -0700 drivers/edac: core Lindent cleanup Run the EDAC CORE files through Lindent for cleanup Signed-off-by: Douglas Thompson Signed-off-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4de78c6877ec21142582ac19453c2d453d1ea298 Author: Dave Jiang Date: Thu Jul 19 01:49:54 2007 -0700 drivers/edac: mod PCI poll names Fixup poll values for MC and PCI. Also make mc function names unique to mc. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66ee2f940ac8ab25f0c43a1e717d25dc46bfe74d Author: Dave Jiang Date: Thu Jul 19 01:49:54 2007 -0700 drivers/edac: mod assert_error check Change error check and clear variable from an atomic to an int Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Linus Torvalds commit 91b99041c1d577ded1da599ddc28cec2e07253cf Author: Dave Jiang Date: Thu Jul 19 01:49:52 2007 -0700 drivers/edac: updated PCI monitoring Moving PCI to a per-instance device model This should include the correct sysfs setup as well. Please review. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81d87cb13e367bb804bf44889ae0de7369705d6c Author: Dave Jiang Date: Thu Jul 19 01:49:52 2007 -0700 drivers/edac: mod MC to use workq instead of kthread Move the memory controller object to work queue based implementation from the kernel thread based. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535c6a53035d8911f6b90455550c5fde0da7b866 Author: Jason Uhlenkott Date: Thu Jul 19 01:49:48 2007 -0700 drivers/edac: new inte 30x0 MC driver Here's a driver for the Intel 3000 and 3010 memory controllers, relative to today's Sourceforge code drop. This has only had light testing (I've yet to actually see it handle a memory error) but it detects my hardware correctly. Signed-off-by: Jason Uhlenkott Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4192705fec85219086231a1c0fa61e8776e2c3b Author: Dave Jiang Date: Thu Jul 19 01:49:47 2007 -0700 drivers/edac: add dev_name getter function Move dev_name() macro to a more generic interface since it's not possible to determine whether a device is pci, platform, or of_device easily. Now each low level driver sets the name into the control structure, and the EDAC core references the control structure for the information. Better abstraction. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20bcb7a81dee21bfa3408f03f46b2891c9b5c84b Author: Douglas Thompson Date: Thu Jul 19 01:49:47 2007 -0700 drivers/edac: mod use edac_core.h In the refactoring of edac_mc.c into several subsystem files, the header file edac_mc.h became meaningless. A new header file edac_core.h was created. All the files that previously included "edac_mc.h" are changed to include "edac_core.h". Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0d121720220584bba2876b032e58a076b843fa1 Author: Dave Jiang Date: Thu Jul 19 01:49:46 2007 -0700 drivers/edac: add new nmi rescan Provides a way for NMI reported errors on x86 to notify the EDAC subsystem pending ECC errors by writing to a software state variable. Here's the reworked patch. I added an EDAC stub to the kernel so we can have variables that are in the kernel even if EDAC is a module. I also implemented the idea of using the chip driver to select error detection mode via module parameter and eliminate the kernel compile option. Please review/test. Thx! Also, I only made changes to some of the chipset drivers since I am unfamiliar with the other ones. We can add similar changes as we go. Signed-off-by: Dave Jiang Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f96eeafc89643d411d54c258788a8573576127 Author: Andrew Morton Date: Thu Jul 19 01:49:45 2007 -0700 drivers/edac-new-i82443bxgz-mc-driver: mark as broken It will claim the PCI devices from under intel_agp.ko's feet. Greg is brewing some fix for that. Cc: Douglas Thompson Cc: Tim Small Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a2c675c891960f86c025d4ab3d3904364bf4f96 Author: Tim Small Date: Thu Jul 19 01:49:42 2007 -0700 drivers/edac: new i82443bxgz MC driver This is a NEW EDAC Memory Controller driver for the 440BX chipset (I82443BXGX) created and submitted by Timm Small Signed-off-by: Tim Small Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 522a94bd1e18a2acf9428f48db585a2fc816559e Author: Douglas Thompson Date: Thu Jul 19 01:49:41 2007 -0700 drivers/edac: core.h fix scrubdefs Patch to fix some scrubbing #defines in the edac_core.h file Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb60705ac5a9869b2d078f0b472ea64b9b52b684 Author: Eric Wollesen Date: Thu Jul 19 01:49:39 2007 -0700 drivers/edac: new intel 5000 MC driver Eric Wollesen ported the Bluesmoke Memory Controller driver (written by Doug Thompson) for the Intel 5000X/V/P (Blackford/Greencreek) chipset to the in kernel EDAC model. This patch incorporates the module for the 5000X/V/P chipset family [m.kozlowski@tuxland.pl: edac i5000 parenthesis balance fix] Signed-off-by: Eric Wollesen Signed-off-by: Doug Thompson Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63b7df9101895d1f0a259c567b3bab949a23075f Author: Matthias Kaehlcke Date: Thu Jul 19 01:49:38 2007 -0700 drivers/edac: change from semaphore to mutex operation The EDAC core code uses a semaphore as mutex. use the mutex API instead of the (binary) semaphore. Matthaias wrote this, but since I had some patches ahead of it, I need to modify it to follow my patches. Signed-off-by: Matthias Kaehlcke Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a9b85e6b36cdd046b0a354c38af20a7155272b8 Author: Dave Jiang Date: Thu Jul 19 01:49:38 2007 -0700 drivers/edac: mc sysfs add missing mem types Adding missing mem types for use in the sysfs presentation file for Memory Controller device objects. Signed-off-by: Dave Jiang Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e27e3dac651771fe3250f6305dee277bce29fc5d Author: Douglas Thompson Date: Thu Jul 19 01:49:36 2007 -0700 drivers/edac: add edac_device class This patch adds the new 'class' of object to be managed, named: 'edac_device'. As a peer of the 'edac_mc' class of object, it provides a non-memory centric view of an ERROR DETECTING device in hardware. It provides a sysfs interface and an abstraction for varioius EDAC type devices. Multiple 'instances' within the class are possible, with each 'instance' able to have multiple 'blocks', and each 'block' having 'attributes'. At the 'block' level there are the 'ce_count' and 'ue_count' fields which the device driver can update and/or call edac_device_handle_XX() functions. At each higher level are additional 'total' count fields, which are a summation of counts below that level. This 'edac_device' has been used to capture and present ECC errors which are found in a a L1 and L2 system on a per CORE/CPU basis. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c9281d76c1c0b130f79d5fc021084e9749959d4 Author: Douglas Thompson Date: Thu Jul 19 01:49:33 2007 -0700 drivers/edac: split out functions to unique files This is a large patch to refactor the original EDAC module in the kernel and to break it up into better file granularity, such that each source file contains a given subsystem of the EDAC CORE. Originally, the EDAC 'core' was contained in one source file: edac_mc.c with it corresponding edac_mc.h file. Now, there are the following files: edac_module.c The main module init/exit function and other overhead edac_mc.c Code handling the edac_mc class of object edac_mc_sysfs.c Code handling for sysfs presentation edac_pci_sysfs.c Code handling for PCI sysfs presentation edac_core.h CORE .h include file for 'edac_mc' and 'edac_device' drivers edac_module.h Internal CORE .h include file This forms a foundation upon which a later patch can create the 'edac_device' class of object code in a new file 'edac_device.c'. Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d56933e018b14fc7cad322f413eecc6cb6edf12e Author: Douglas Thompson Date: Thu Jul 19 01:49:32 2007 -0700 drivers/edac: add RDDR2 memory types Add Registered RDDR2 memory types for displaying DDR2 memories Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2da1c119fd999cb834b4fe0c1a5a8c36195df1cb Author: Adrian Bunk Date: Thu Jul 19 01:49:32 2007 -0700 drivers/edac: core: make functions static This patch makes needlessly global code static, in the edac core Signed-off-by: Adrian Bunk Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5da0831c598f94582bce6bb0a55b8de2f9897cb1 Author: Douglas Thompson Date: Thu Jul 19 01:49:31 2007 -0700 drivers/edac: add edac_mc_find API This simple patch adds an important CORE API for EDAC that EDAC drivers can use to find their edac_mc control structure by passing a mem_ctl_info 'instance' value Needed for subsequent patches Signed-off-by: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca47e00690914a9e5e6c734baa37c829a2f2fa1 Author: Rusty Russell Date: Thu Jul 19 01:49:29 2007 -0700 lguest: the documentation, example launcher A brief document describing how to use lguest. Because lguest doesn't have an ABI we also include an example launcher in the Documentation directory. [jmorris@namei.org: Fix up nat example in documentation] Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: James Morris Cc: Matias Zabaljauregui Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b754416bfe9adac6468e45fba244d77f52048aeb Author: Rusty Russell Date: Thu Jul 19 01:49:29 2007 -0700 lguest: the block driver Lguest block driver A simple block driver for lguest. Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d503e2fa5aecef99675c5a81b61321a5407bf61f Author: Rusty Russell Date: Thu Jul 19 01:49:28 2007 -0700 lguest: the net driver Lguest net driver A simple net driver for lguest. [akpm@linux-foundation.org: include fix] Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Jeff Garzik Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f8c4d3f82c564e5e27c6375fe17544f694359dc Author: Rusty Russell Date: Thu Jul 19 01:49:27 2007 -0700 lguest: the console driver A simple console driver for lguest. Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 709e89266b60eff444fc512400321eb02d2474eb Author: Rusty Russell Date: Thu Jul 19 01:49:27 2007 -0700 lguest: the Makefile and Kconfig This is the Kconfig and Makefile to allow lguest to actually be compiled. Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6db7016d17b235a24e0c1544c202defa47ae7247 Author: Rusty Russell Date: Thu Jul 19 01:49:26 2007 -0700 lguest: the asm offsets This is the structure offsets required by lg.ko's switcher.S. Unfortunately we don't have infrastructure for private asm-offsets creation. Signed-off-by: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7e28ffe6c74416b54345d6004fd0964c115b12c Author: Rusty Russell Date: Thu Jul 19 01:49:23 2007 -0700 lguest: the host code This is the code for the "lg.ko" module, which allows lguest guests to be launched. [akpm@linux-foundation.org: update for futex-new-private-futexes] [akpm@linux-foundation.org: build fix] [jmorris@namei.org: lguest: use hrtimers] [akpm@linux-foundation.org: x86_64 build fix] Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Eric Dumazet Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07ad157f6e5d228be78acd5cea0291e5d0360398 Author: Rusty Russell Date: Thu Jul 19 01:49:22 2007 -0700 lguest: the guest code lguest is a simple hypervisor for Linux on Linux. Unlike kvm it doesn't need VT/SVM hardware. Unlike Xen it's simply "modprobe and go". Unlike both, it's 5000 lines and self-contained. Performance is ok, but not great (-30% on kernel compile). But given its hackability, I expect this to improve, along with the paravirt_ops code which it supplies a complete example for. There's also a 64-bit version being worked on and other craziness. But most of all, lguest is awesome fun! Too much of the kernel is a big ball of hair. lguest is simple enough to dive into and hack, plus has some warts which scream "fork me!". This patch: This is the code and headers required to make an i386 kernel an lguest guest. Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5992b6dac0d23a2b51a1ccbaf8f1a2e62097b12b Author: Rusty Russell Date: Thu Jul 19 01:49:21 2007 -0700 lguest: export symbols for lguest as a module lguest does some fairly lowlevel things to support a host, which normal modules don't need: math_state_restore: When the guest triggers a Device Not Available fault, we need to be able to restore the FPU __put_task_struct: We need to hold a reference to another task for inter-guest I/O, and put_task_struct() is an inline function which calls __put_task_struct. access_process_vm: We need to access another task for inter-guest I/O. map_vm_area & __get_vm_area: We need to map the switcher shim (ie. monitor) at 0xFFC01000. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57deb52622f3700d154e32662f36cd5f4053f6ed Author: Alessandro Zummo Date: Thu Jul 19 01:49:21 2007 -0700 RTC: add periodic irq support to rtc-cmos Adds support for periodic irq enabling in rtc-cmos. This could be used by the ALSA driver and is already being tested with the zaptel ztdummy module. Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7d51402d2a64c5b96531f9900bb368020ebbbbb Author: J. Bruce Fields Date: Thu Jul 19 01:49:20 2007 -0700 knfsd: clean up EX_RDONLY Share a little common code, reverse the arguments for consistency, drop the unnecessary "inline", and lowercase the name. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e22841c637dc8b308b40f59d64a5b6683d458ab7 Author: J. Bruce Fields Date: Thu Jul 19 01:49:20 2007 -0700 knfsd: move EX_RDONLY out of header EX_RDONLY is only called in one place; just put it there. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1 Author: J. Bruce Fields Date: Thu Jul 19 01:49:19 2007 -0700 nfsd: remove unnecessary NULL checks from nfsd_cross_mnt We can now assume that rqst_exp_get_by_name() does not return NULL; so clean up some unnecessary checks. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7 Author: J. Bruce Fields Date: Thu Jul 19 01:49:18 2007 -0700 nfsd: return errors, not NULL, from export functions I converted the various export-returning functions to return -ENOENT instead of NULL, but missed a few cases. This particular case could cause actual bugs in the case of a krb5 client that doesn't match any ip-based client and that is trying to access a filesystem not exported to krb5 clients. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a280df32db291f41b3922ac218674be526af5b9b Author: J. Bruce Fields Date: Thu Jul 19 01:49:18 2007 -0700 nfsd: fix possible read-ahead cache and export table corruption The value of nperbucket calculated here is too small--we should be rounding up instead of down--with the result that the index j in the following loop can overflow the raparm_hash array. At least in my case, the next thing in memory turns out to be export_table, so the symptoms I see are crashes caused by the appearance of four zeroed-out export entries in the first bucket of the hash table of exports (which were actually entries in the readahead cache, a pointer to which had been written to the export table in this initialization code). It looks like the bug was probably introduced with commit fce1456a19f5c08b688c29f00ef90fdfa074c79b ("knfsd: make the readahead params cache SMP-friendly"). Cc: Cc: Greg Banks Signed-off-by: "J. Bruce Fields" Acked-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d688abf50bd5a30d2c44dea2a72dd59052cd3cce Author: Andrew Morton Date: Thu Jul 19 01:49:17 2007 -0700 move page writeback acounting out of macros page-writeback accounting is presently performed in the page-flags macros. This is inconsistent and a bit ugly and makes it awkward to implement per-backing_dev under-writeback page accounting. So move this accounting down to the callsite(s). Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6819457d2cb7fe4fdb0fc3655b6b6dc71a86bee9 Author: Thomas Gleixner Date: Thu Jul 19 01:49:16 2007 -0700 timer.c: cleanup recently introduced whitespace damage Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71120f183bff04ba4f7ba3cc554202061912d548 Author: Thomas Gleixner Date: Thu Jul 19 01:49:16 2007 -0700 timekeeping: fixup shadow variable argument clocksource_adjust() has a clock argument, which shadows the file global clock variable. Fix this up. Signed-off-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10146801e8b960d7473e350b60458d9d5a2be1cf Author: Greg Ungerer Date: Thu Jul 19 01:49:15 2007 -0700 m68knommu: remove is_in_rom() function Remove is_in_rom() function. It doesn't actually serve the purpose it was intended to. If you look at the use of it _access_ok() (which is the only use of it) then it is obvious that most of memory is marked as access_ok. No point having is_in_rom() then, so remove it. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4c8b9159000018b0c641b844795a4de4e954582 Author: Greg Ungerer Date: Thu Jul 19 01:49:14 2007 -0700 m68knommu: start dump from exception stack In die_if_kernel() start the stack dump at the exception-time SP, not at the SP with all the saved registers; the stack below exception-time sp contains only exception-saved values and is already printed in details just before. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2502b667ea835ee16685c74b2a0d89ba8afe117a Author: Greg Ungerer Date: Thu Jul 19 01:49:12 2007 -0700 m68knommu: generic irq handling Change the m68knommu irq handling to use the generic irq framework. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8af0bb890d6cdcb09ec042c128e217a7c500355 Author: Akinobu Mita Date: Thu Jul 19 01:49:12 2007 -0700 hugetlb: use set_compound_page_dtor Use appropriate accessor function to set compound page destructor function. Cc: William Irwin Signed-off-by: Akinobu Mita Acked-by: Adam Litke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ed5cb2b73d0c4165c0504c95454fade0c0bf3d9 Author: Hugh Dickins Date: Thu Jul 19 01:49:11 2007 -0700 Remove nid_lock from alloc_fresh_huge_page The fix to that race in alloc_fresh_huge_page() which could give an illegal node ID did not need nid_lock at all: the fix was to replace static int nid by static int prev_nid and do the work on local int nid. nid_lock did make sure that racers strictly roundrobin the nodes, but that's not something we need to enforce strictly. Kill nid_lock. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3aded3cc289113c7bc729ef4cb75e56d9aa71be Author: Alexey Dobriyan Date: Thu Jul 19 01:49:10 2007 -0700 isdn/sc: compile breakage re check_reset() There is check_reset() -- global function in drivers/isdn/sc/ There is check_reset -- variable holding module param in aacraid driver. On allyesconfig they clash with: LD drivers/built-in.o drivers/isdn/built-in.o: In function `check_reset': : multiple definition of `check_reset' drivers/scsi/built-in.o:(.data+0xe458): first defined here ld: Warning: size of symbol `check_reset' changed from 4 in drivers/scsi/built-in.o to 219 in drivers/isdn/built-in.o ld: Warning: type of symbol `check_reset' changed from 1 to 2 in drivers/isdn/built-in.o Rename the former. Signed-off-by: Alexey Dobriyan Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ac674f52778b95450509357435320be1d795248 Author: Benjamin Herrenschmidt Date: Thu Jul 19 01:49:10 2007 -0700 vmalloc_32 should use GFP_KERNEL I've noticed lots of failures of vmalloc_32 on machines where it shouldn't have failed unless it was doing an atomic operation. Looking closely, I noticed that: #if defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA32) #define GFP_VMALLOC32 GFP_DMA32 #elif defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA) #define GFP_VMALLOC32 GFP_DMA #else #define GFP_VMALLOC32 GFP_KERNEL #endif Which seems to be incorrect, it should always -or- in the DMA flags on top of GFP_KERNEL, thus this patch. This fixes frequent errors launchin X with the nouveau DRM for example. Signed-off-by: Benjamin Herrenschmidt Cc: Andi Kleen Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea02e3dde3509ffa7fda7f8de9c8a366e03f7bbd Author: David Howells Date: Thu Jul 19 01:49:09 2007 -0700 FRV: work around a possible compiler bug Work around a possible bug in the FRV compiler. What appears to be happening is that gcc resolves the __builtin_constant_p() in kmalloc() to true, but then fails to reduce the therefore constant conditions in the if-statements it guards to constant results. When compiling with -O2 or -Os, one single spurious error crops up in cpuup_callback() in mm/slab.c. This can be avoided by making the memsize variable const. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3abf7afd406866a84276d3ed04f4edf6070c9cb5 Author: Andrew Morton Date: Thu Jul 19 01:49:08 2007 -0700 dequeue_huge_page() warning fix mm/hugetlb.c: In function `dequeue_huge_page': mm/hugetlb.c:72: warning: 'nid' might be used uninitialized in this function Cc: Christoph Lameter Cc: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd00cc486ab1c17049a535413d1751ef3482141c Author: Yoann Padioleau Date: Thu Jul 19 01:49:03 2007 -0700 some kmalloc/memset ->kzalloc (tree wide) Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) [akpm@linux-foundation.org: get kcalloc args the right way around] Signed-off-by: Yoann Padioleau Cc: Richard Henderson Cc: Ivan Kokshaysky Acked-by: Russell King Cc: Bryan Wu Acked-by: Jiri Slaby Cc: Dave Airlie Acked-by: Roland Dreier Cc: Jiri Kosina Acked-by: Dmitry Torokhov Cc: Benjamin Herrenschmidt Acked-by: Mauro Carvalho Chehab Acked-by: Pierre Ossman Cc: Jeff Garzik Cc: "David S. Miller" Acked-by: Greg KH Cc: James Bottomley Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b5ad0797c0e4049001f961a8b58f1d0ce532072 Author: Johannes Berg Date: Thu Jul 19 01:49:02 2007 -0700 stacktrace: fix header file for !CONFIG_STACKTRACE The print_stack_trace macro in stacktrace.h has a wrong number of arguments, fix it. Signed-off-by: Johannes Berg Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c71063c9c9dc232d0d51f936f237f7dc5681e8e3 Author: Johannes Berg Date: Thu Jul 19 01:49:02 2007 -0700 lockdep debugging: give stacktrace for init_error When I started adding support for lockdep to 64-bit powerpc, I got a lockdep_init_error and with this patch was able to pinpoint why and where to put lockdep_init(). Let's support this generally for others adding lockdep support to their architecture. Signed-off-by: Johannes Berg Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d38e1d5aaee384698fcef9455d6e2df1d062a1d0 Author: Peter Zijlstra Date: Thu Jul 19 01:49:01 2007 -0700 lockstat: better class name representation optionally add class->name_version and class->subclass to the class name Signed-off-by: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96645678cd726e87ce42a0664de71e047e32bca4 Author: Peter Zijlstra Date: Thu Jul 19 01:49:00 2007 -0700 lockstat: measure lock bouncing __acquire | lock _____ | \ | __contended | | | wait | _______/ |/ | __acquired | __release | unlock We measure acquisition and contention bouncing. This is done by recording a cpu stamp in each lock instance. Contention bouncing requires the cpu stamp to be set on acquisition. Hence we move __acquired into the generic path. __acquired is then used to measure acquisition bouncing by comparing the current cpu with the old stamp before replacing it. __contended is used to measure contention bouncing (only useful for preemptable locks) [akpm@linux-foundation.org: cleanups] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 443aef0eddfa44c158d1b94ebb431a70638fcab4 Author: Peter Zijlstra Date: Thu Jul 19 01:49:00 2007 -0700 lockdep: fixup sk_callback_lock annotation the two init sites resulted in inconsistend names for the lock class. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b32d0a4e9ec07808a5c406a416c6576c986b047 Author: Peter Zijlstra Date: Thu Jul 19 01:48:59 2007 -0700 lockdep: various fixes - update the copyright notices - use the default hash function - fix a thinko in a BUILD_BUG_ON - add a WARN_ON to spot inconsitent naming - fix a termination issue in /proc/lock_stat [akpm@linux-foundation.org: cleanups] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fe87745a6722d42ff27a60768c77958fa1fc498 Author: Peter Zijlstra Date: Thu Jul 19 01:48:58 2007 -0700 lockstat: hook into spinlock_t, rwlock_t, rwsem and mutex Call the new lockstat tracking functions from the various lock primitives. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c46261de0d98372112d8edf16f74ce418a268d46 Author: Peter Zijlstra Date: Thu Jul 19 01:48:57 2007 -0700 lockstat: human readability tweaks Present all this fancy new lock statistics information: *warning, _wide_ output ahead* (output edited for purpose of brevity) # cat /proc/lock_stat lock_stat version 0.1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------- class name contentions waittime-min waittime-max waittime-total acquisitions holdtime-min holdtime-max holdtime-total ----------------------------------------------------------------------------------------------------------------------------------------------------------------- &inode->i_mutex: 14458 6.57 398832.75 2469412.23 6768876 0.34 11398383.65 339410830.89 --------------- &inode->i_mutex 4486 [] pipe_wait+0x86/0x8d &inode->i_mutex 0 [] pipe_write_fasync+0x29/0x5d &inode->i_mutex 0 [] pipe_read+0x74/0x3a5 &inode->i_mutex 0 [] do_lookup+0x81/0x1ae ................................................................................................................................................................. &inode->i_data.tree_lock-W: 491 0.27 62.47 493.89 2477833 0.39 468.89 1146584.25 &inode->i_data.tree_lock-R: 65 0.44 4.27 48.78 26288792 0.36 184.62 10197458.24 -------------------------- &inode->i_data.tree_lock 46 [] __do_page_cache_readahead+0x69/0x24f &inode->i_data.tree_lock 31 [] add_to_page_cache+0x31/0xba &inode->i_data.tree_lock 0 [] __do_page_cache_readahead+0xc2/0x24f &inode->i_data.tree_lock 0 [] find_get_page+0x1a/0x58 ................................................................................................................................................................. proc_inum_idr.lock: 0 0.00 0.00 0.00 36 0.00 65.60 148.26 proc_subdir_lock: 0 0.00 0.00 0.00 3049859 0.00 106.81 1563212.42 shrinker_rwsem-W: 0 0.00 0.00 0.00 5 0.00 1.73 3.68 shrinker_rwsem-R: 0 0.00 0.00 0.00 633 2.57 246.57 10909.76 'contentions' and 'acquisitions' are the number of such events measured (since the last reset). The waittime- and holdtime- (min, max, total) numbers are presented in microseconds. If there are any contention points, the lock class is presented in the block format (as i_mutex and tree_lock above), otherwise a single line of output is presented. The output is sorted on absolute number of contentions (read + write), this should get the worst offenders presented first, so that: # grep : /proc/lock_stat | head will quickly show who's bad. The stats can be reset using: # echo 0 > /proc/lock_stat [bunk@stusta.de: make 2 functions static] [akpm@linux-foundation.org: fix printk warning] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f20786ff4da51e56b1956acf30be2552be266746 Author: Peter Zijlstra Date: Thu Jul 19 01:48:56 2007 -0700 lockstat: core infrastructure Introduce the core lock statistics code. Lock statistics provides lock wait-time and hold-time (as well as the count of corresponding contention and acquisitions events). Also, the first few call-sites that encounter contention are tracked. Lock wait-time is the time spent waiting on the lock. This provides insight into the locking scheme, that is, a heavily contended lock is indicative of a too coarse locking scheme. Lock hold-time is the duration the lock was held, this provides a reference for the wait-time numbers, so they can be put into perspective. 1) lock 2) ... do stuff .. unlock 3) The time between 1 and 2 is the wait-time. The time between 2 and 3 is the hold-time. The lockdep held-lock tracking code is reused, because it already collects locks into meaningful groups (classes), and because it is an existing infrastructure for lock instrumentation. Currently lockdep tracks lock acquisition with two hooks: lock() lock_acquire() _lock() ... code protected by lock ... unlock() lock_release() _unlock() We need to extend this with two more hooks, in order to measure contention. lock_contended() - used to measure contention events lock_acquired() - completion of the contention These are then placed the following way: lock() lock_acquire() if (!_try_lock()) lock_contended() _lock() lock_acquired() ... do locked stuff ... unlock() lock_release() _unlock() (Note: the try_lock() 'trick' is used to avoid instrumenting all platform dependent lock primitive implementations.) It is also possible to toggle the two lockdep features at runtime using: /proc/sys/kernel/prove_locking /proc/sys/kernel/lock_stat (esp. turning off the O(n^2) prove_locking functionaliy can help) [akpm@linux-foundation.org: build fixes] [akpm@linux-foundation.org: nuke unneeded ifdefs] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e18257d29238311e82085152741f0c3aa18b74d Author: Peter Zijlstra Date: Thu Jul 19 01:48:54 2007 -0700 lockdep: reduce the ifdeffery Move code around to get fewer but larger #ifdef sections. Break some in-function #ifdefs out into their own functions. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca58abcb4a6d52ee2db1b1130cea3ca2a76677b9 Author: Peter Zijlstra Date: Thu Jul 19 01:48:53 2007 -0700 lockdep: sanitise CONFIG_PROVE_LOCKING Ensure that all of the lock dependency tracking code is under CONFIG_PROVE_LOCKING. This allows us to use the held lock tracking code for other purposes. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Acked-by: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21f8ca3bf6198bd21e3c4cc820af2ccf753a6ec8 Author: Peter Zijlstra Date: Thu Jul 19 01:48:53 2007 -0700 fix raw_spinlock_t vs lockdep Use the lockdep infrastructure to track lock contention and other lock statistics. It tracks lock contention events, and the first four unique call-sites that encountered contention. It also measures lock wait-time and hold-time in nanoseconds. The minimum and maximum times are tracked, as well as a total (which together with the number of event can give the avg). All statistics are done per lock class, per write (exclusive state) and per read (shared state). The statistics are collected per-cpu, so that the collection overhead is minimized via having no global cachemisses. This new lock statistics feature is independent of the lock dependency checking traditionally done by lockdep; it just shares the lock tracking code. It is also possible to enable both and runtime disabled either component - thereby avoiding the O(n^2) lock chain walks for instance. This patch: raw_spinlock_t should not use lockdep (and doesn't) since lockdep itself relies on it. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b7f13bd26a0c1d394a1a1f2bb6de5130c3a3843 Author: Jan Harkes Date: Thu Jul 19 01:48:52 2007 -0700 coda: update module information Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cf01f28c303be34f18cb4f6204cf1bdfe12ba7c Author: Jan Harkes Date: Thu Jul 19 01:48:51 2007 -0700 coda: remove statistics counters from /proc/fs/coda Similar information can easily be obtained with strace -c. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1b0aa87647493c0201821ab884e86298d5da7d6 Author: Jan Harkes Date: Thu Jul 19 01:48:50 2007 -0700 coda: remove struct coda_sb_info The sb_info structure only contains a single pointer to the character device, there is no need for the added indirection. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fd31e9a67dd6c80e49240514cf854c1f054aca2 Author: Jan Harkes Date: Thu Jul 19 01:48:49 2007 -0700 coda: cleanup downcall handler Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed36f723676b208053d0655cee7e7f1601a2d356 Author: Jan Harkes Date: Thu Jul 19 01:48:49 2007 -0700 coda: cleanup coda_lookup, use dsplice_alias Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 970648eb03cca7d7405f9a3a5d3fe29929e48aa6 Author: Jan Harkes Date: Thu Jul 19 01:48:48 2007 -0700 coda: ignore returned values when upcalls return errors Venus returns an ENOENT error on open, so we shouldn't try to grab the filehandle for the returned fd. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37461e1957e6262278342a0c1a78e46996b7ff88 Author: Jan Harkes Date: Thu Jul 19 01:48:48 2007 -0700 coda: replace upc_alloc/upc_free with kmalloc/kfree Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 978752534e94b50c8078b229134a37bad9db88b2 Author: Jan Harkes Date: Thu Jul 19 01:48:47 2007 -0700 coda: avoid lockdep warning in coda_readdir Signed-off-by: Jan Harkes Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9664c95afe5baa92ea56eff6a1c18e7b7a2cbe7 Author: Jan Harkes Date: Thu Jul 19 01:48:46 2007 -0700 coda: block signals during upcall processing We ignore signals for about 30 seconds to give userspace a chance to see the upcall. As we did not block signals we ended up in a busy loop for the remainder of the period when a signal is received. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe71b5f3871af2c281a08acd4bedd2da25e46bc3 Author: Jan Harkes Date: Thu Jul 19 01:48:46 2007 -0700 coda: cleanup for upcall handling path Make the code that processes upcall responses more straightforward, uncovered at least one bad assumption. We trusted that vc_inuse would be 0 when upcalls are aborted, however the device may have been reopened. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87065519633af79e0577e32a58dcd9cf3c45a8a0 Author: Jan Harkes Date: Thu Jul 19 01:48:45 2007 -0700 coda: cleanup /dev/cfs open and close handling - Make sure device index is not a negative number. - Unlink queued requests when the device is closed to avoid passing them to the next opener. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed31a7dd636b296746c131b7386023aa1ef84309 Author: Jan Harkes Date: Thu Jul 19 01:48:44 2007 -0700 coda: use ilookup5 Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fac1f0e34026a656174102ebad4d1cd71cd4fe2c Author: Jan Harkes Date: Thu Jul 19 01:48:44 2007 -0700 coda: coda doesn't track atime Set MS_NOATIME flag to avoid unnecessary calls when the coda inode is accessed. Also, set statfs.f_bsize to 4k. 1k is obviously too small for the suggested IO size. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c6d21528406ec719aaea9d589876fd105c31646 Author: Jan Harkes Date: Thu Jul 19 01:48:43 2007 -0700 coda: allow removal of busy directories A directory without children may still be busy when it is the cwd for some process. We can safely remove such a directory because the VFS prevents further operations. Also we don't need to call d_delete as it is already called in vfs_rmdir. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d728900cd5502927158db747c653007cf72e2e49 Author: Jan Harkes Date: Thu Jul 19 01:48:43 2007 -0700 coda: fix nlink updates for directories The Coda client sets the directory link count to 1 when it isn't sure how many subdirectories we have. In this case we shouldn't change the link count in the kernel when a subdirectory is created or removed. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56ee3547940f895a2cf20f2ac462fbeaee55fa2a Author: Jan Harkes Date: Thu Jul 19 01:48:42 2007 -0700 coda: correctly invalidate cached access rights Change the epoch value to forces a refresh instead of clearing the cached rights mask and block all further accesses to the object. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38c2e4370da495813ca93d7cad31ed5090e8c310 Author: Jan Harkes Date: Thu Jul 19 01:48:41 2007 -0700 coda: do not grab an uninitialized fd when the open upcall returns an error When open fails the fd in the response is uninitialized and we ended up taking a reference on the file struct and never released it. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18991197b4b588255ccabf472ebc84db7b66a19c Author: Roland McGrath Date: Thu Jul 19 01:48:40 2007 -0700 Use --build-id ld option This change passes the --build-id when linking the kernel and when linking modules, if ld supports it. This is a new GNU ld option that synthesizes an ELF note section inside the read-only data. The note in this section contains unique identifying bits called the "build ID", which are generated so as to be different for any two linked ELF files that aren't identical. The build ID can be recovered from stripped files, memory dumps, etc. and used to look up the original program built, locate debuginfo or other details or history associated with it. For normal program linking, the compiler passes --build-id to ld by default, but the option is needed when using ld directly as we do. Signed-off-by: Roland McGrath Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da1a679cde9b12d6e331f43d2d92a234f2d1f9b0 Author: Roland McGrath Date: Thu Jul 19 01:48:39 2007 -0700 Add /sys/kernel/notes This patch adds the /sys/kernel/notes magic file. Reading this delivers the contents of the kernel's .notes section. This lets userland easily glean any detailed information about the running kernel's build that was stored there at compile time. Signed-off-by: Roland McGrath Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86ead9caf9a9f265f6065c46080d046230e25d78 Author: Roland McGrath Date: Thu Jul 19 01:48:39 2007 -0700 s390: Put allocated ELF notes in read-only data segment This changes the s390 linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fb775ee582999ea45503f0c4e9393c2df065a81 Author: Roland McGrath Date: Thu Jul 19 01:48:38 2007 -0700 powerpc: Put allocated ELF notes in read-only data segment This changes the powerpc linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caf45dd92677b2001123cc06b5835052ccfee76f Author: Roland McGrath Date: Thu Jul 19 01:48:37 2007 -0700 alpha: Put allocated ELF notes in read-only data segment This changes the alpha linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e1d5b8f24a887caded5ae3ceb2f341d4fbd1861 Author: Roland McGrath Date: Thu Jul 19 01:48:37 2007 -0700 x86_64: Put allocated ELF notes in read-only data segment This changes the x86_64 linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbe87121f1545bb3e98ae114519bf0c4db27d6ab Author: Roland McGrath Date: Thu Jul 19 01:48:36 2007 -0700 i386: Put allocated ELF notes in read-only data segment This changes the i386 linker script and the asm-generic macro it uses so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b38bd33a6bf5095736620ca8e85fe61820c2d312 Author: Mingming Cao Date: Thu Jul 19 01:48:35 2007 -0700 fix ext4/JBD2 build warnings Looking at the current linus-git tree jbd_debug() define in include/linux/jbd2.h extern u8 journal_enable_debug; #define jbd_debug(n, f, a...) \ do { \ if ((n) <= journal_enable_debug) { \ printk (KERN_DEBUG "(%s, %d): %s: ", \ __FILE__, __LINE__, __FUNCTION__); \ printk (f, ## a); \ } \ } while (0) > fs/ext4/inode.c: In function ‘ext4_write_inode’: > fs/ext4/inode.c:2906: warning: comparison is always true due to limited > range of data type > > fs/jbd2/recovery.c: In function ‘jbd2_journal_recover’: > fs/jbd2/recovery.c:254: warning: comparison is always true due to > limited range of data type > fs/jbd2/recovery.c:257: warning: comparison is always true due to > limited range of data type > > fs/jbd2/recovery.c: In function ‘jbd2_journal_skip_recovery’: > fs/jbd2/recovery.c:301: warning: comparison is always true due to > limited range of data type > Noticed all warnings are occurs when the debug level is 0. Then found the "jbd2: Move jbd2-debug file to debugfs" patch http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f49d5d019afa4e94253bfc92f0daca3badb990b changed the jbd2_journal_enable_debug from int type to u8, makes the jbd_debug comparision is always true when the debugging level is 0. Thus the compile warning occurs. Thought about changing the jbd2_journal_enable_debug data type back to int, but can't, because the jbd2-debug is moved to debug fs, where calling debugfs_create_u8() to create the debugfs entry needs the value to be u8 type. Even if we changed the data type back to int, the code is still buggy, kernel should not print jbd2 debug message if the jbd2_journal_enable_debug is set to 0. But this is not the case. The fix is change the level of debugging to 1. The same should fixed in ext3/JBD, but currently ext3 jbd-debug via /proc fs is broken, so we probably should fix it all together. Signed-off-by: Mingming Cao Cc: Jeff Garzik Cc: Theodore Tso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0a594c1c74fedbd838402e7372030311be8cc6e Author: Andy Whitcroft Date: Thu Jul 19 01:48:34 2007 -0700 update checkpatch.pl to version 0.08 This version brings a number of new checks, and a number of bug fixes. Of note: - warnings for multiple assignments per line - warnings for multiple declarations per line - checks for single statement blocks with braces This patch includes an update for feature-removal-schedule.txt to better target checks. Andy Whitcroft (12): Version: 0.08 only apply printk checks where there is a string literal allow suppression of errors for when no patch is found warn about multiple assignments warn on declaration of multiple variables check for kfree() with needless null check check for single statement braced blocks check for aggregate initialisation on the next line handle the => operator check for spaces between function name and open parenthesis move to explicit Check: entries in feature-removal-schedule.txt handle pointer attributes Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b8a8b812edd7067fffcc4a85b8aa3adae081535 Author: Rolf Eike Beer Date: Thu Jul 19 01:48:33 2007 -0700 Typo: fro -> from Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa781aeb49752e5654241b53368c80362ad7bea3 Author: Ingo Molnar Date: Thu Jul 19 01:48:32 2007 -0700 add POSIX clocks and timers maintainer Update the MAINTAINERS file: Thomas Gleixner has been the de-facto maintainer of POSIX timers and clocks for quite some time. Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01c55ed3260e130f152b7fbab2e18f23980b59a4 Author: Adrian Bunk Date: Thu Jul 19 01:48:32 2007 -0700 kernel/relay.c: make functions static Signed-off-by: Adrian Bunk Cc: Tom Zanussi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb90110dcb9e93bf79e3c988abc6cbcabd46d57f Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:31 2007 -0700 coredump masking: documentation for /proc/pid/coredump_filter This patch adds the documentation for /proc//coredump_filter. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee78b0a61f0514ffc3d59257fbe6863b43477829 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:30 2007 -0700 coredump masking: ELF-FDPIC: enable core dump filtering This patch enables core dump filtering for ELF-FDPIC-formatted core file. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2e00906a06f7e74c49ca0ca85b960f270c83d5e Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:30 2007 -0700 coredump masking: ELF-FDPIC: remove an unused argument This patch removes an unused argument from elf_fdpic_dump_segments(). Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1b59e802f846b6b0e057507386068fcc6dff442 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:29 2007 -0700 coredump masking: ELF: enable core dump filtering This patch enables core dump filtering for ELF-formatted core file. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cb4a0bb1e773e3c41800b33a3f7dab32bd06c64 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:28 2007 -0700 coredump masking: add an interface for core dump filter This patch adds an interface to set/reset flags which determines each memory segment should be dumped or not when a core file is generated. /proc//coredump_filter file is provided to access the flags. You can change the flag status for a particular process by writing to or reading from the file. The flag status is inherited to the child process when it is created. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5d523826dc639df709ed0f88c5d2ce25379652 Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:27 2007 -0700 coredump masking: reimplementation of dumpable using two flags This patch changes mm_struct.dumpable to a pair of bit flags. set_dumpable() converts three-value dumpable to two flags and stores it into lower two bits of mm_struct.flags instead of mm_struct.dumpable. get_dumpable() behaves in the opposite way. [akpm@linux-foundation.org: export set_dumpable] Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76fdbb25f963de5dc1e308325f0578a2f92b1c2d Author: Kawai, Hidehiro Date: Thu Jul 19 01:48:26 2007 -0700 coredump masking: bound suid_dumpable sysctl This patch series is version 5 of the core dump masking feature, which controls which VMAs should be dumped based on their memory types and per-process flags. I adopted most of Andrew's suggestion at the previous version. He also suggested using system call instead of /proc// interface, I decided to use the latter continuously because adding new system call with pid argument will give a big impact on the kernel. You can access the per-process flags via /proc//coredump_filter interface. coredump_filter represents a bitmask of memory types, and if a bit is set, VMAs of corresponding memory type are written into a core file when the process is dumped. The bitmask is inherited from the parent process when a process is created. The original purpose is to avoid longtime system slowdown when a number of processes which share a huge shared memory are dumped at the same time. To achieve this purpose, this patch series adds an ability to suppress dumping anonymous shared memory for specified processes. In this version, three other memory types are also supported. Here are the coredump_filter bits: bit 0: anonymous private memory bit 1: anonymous shared memory bit 2: file-backed private memory bit 3: file-backed shared memory The default value of coredump_filter is 0x3. This means the new core dump routine has the same behavior as conventional behavior by default. In this version, coredump_filter bits and mm.dumpable are merged into mm.flags, and it is accessed by atomic bitops. The supported core file formats are ELF and ELF-FDPIC. ELF has been tested, but ELF-FDPIC has not been built and tested because I don't have the test environment. This patch limits a value of suid_dumpable sysctl to the range of 0 to 2. Signed-off-by: Hidehiro Kawai Cc: Alan Cox Cc: David Howells Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86fd6dfc0990d81123dca19541554426c9e9de3e Author: Randy Dunlap Date: Thu Jul 19 01:48:25 2007 -0700 docbook: don't reference file without kernel-doc Remove include/linux/rmap.h from kernel-api.tmpl since it no longer contains kernel-doc. Fixes this warning: Warning(linux-2.6.22//include/linux/rmap.h): no structured comments found Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdccb316c0860b26ad52f622a7592122a62d02b4 Author: Randy Dunlap Date: Thu Jul 19 01:48:25 2007 -0700 kernel-doc: fix leading dot in man-mode output If a parameter description begins with a '.', this indicates a "request" for "man" mode output (*roff), so it needs special handling. Problem case is in include/asm-i386/atomic.h for function atomic_add_unless(): * @u: ...unless v is equal to u. This parameter description is currently not printed in man mode output. [akpm@linux-foundation.org: cleanup] Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51f5a0c8f63990fcb6e09ed52be348df58c9e416 Author: Randy Dunlap Date: Thu Jul 19 01:48:24 2007 -0700 kernel-doc: strip C99 comments Strip C99-style comments from the input stream. /*...*/ comments are already stripped. C99 comments confuse the kernel-doc script. Also update some comments. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f8c7c98ae3888cf0a2cf320f514f75cc92f00be Author: Randy Dunlap Date: Thu Jul 19 01:48:24 2007 -0700 kernel-doc: fix unnamed struct/union warning Fix kernel-doc warning: Warning(linux-2.6.22-rc2-git2/include/linux/skbuff.h:316): No description found for parameter '}' which is caused by nested anonymous structs/unions ending with: }; }; Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ac534bc127bcf31f8cb76f65b1b0b7cba5e81ac Author: Randy Dunlap Date: Thu Jul 19 01:48:23 2007 -0700 kernel-doc: add tools doc in Makefile Add kernel-doc tools info in Makefile. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79c20f52532d38fd0aee7ef64e138cc1613c484 Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:22 2007 -0700 fs: remove path_walk export Signed-off-by: Josef 'Jeff' Sipek Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4a7808fc3d7a346d5d12e0d69d76d66d821488b Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:22 2007 -0700 fs: mark link_path_walk static Signed-off-by: Josef 'Jeff' Sipek Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16b6287a5286e872abece4f42a6eb5899157a836 Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:21 2007 -0700 nfsctl: use vfs_path_lookup use vfs_path_lookup instead of open-coding the necessary functionality. Signed-off-by: Josef 'Jeff' Sipek Acked-by: NeilBrown Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ac4efc1f5575a268417f80ef4059aee383f8331 Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:20 2007 -0700 sunrpc: use vfs_path_lookup use vfs_path_lookup instead of open-coding the necessary functionality. Signed-off-by: Josef 'Jeff' Sipek Acked-by: Trond Myklebust Cc: Al Viro Acked-by: Christoph Hellwig Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16f1820028d660d9da9c03b2ae7e98253c11795b Author: Josef 'Jeff' Sipek Date: Thu Jul 19 01:48:18 2007 -0700 fs: introduce vfs_path_lookup Stackable file systems, among others, frequently need to lookup paths or path components starting from an arbitrary point in the namespace (identified by a dentry and a vfsmount). Currently, such file systems use lookup_one_len, which is frowned upon [1] as it does not pass the lookup intent along; not passing a lookup intent, for example, can trigger BUG_ON's when stacking on top of NFSv4. The first patch introduces a new lookup function to allow lookup starting from an arbitrary point in the namespace. This approach has been suggested by Christoph Hellwig [2]. The second patch changes sunrpc to use vfs_path_lookup. The third patch changes nfsctl.c to use vfs_path_lookup. The fourth patch marks link_path_walk static. The fifth, and last patch, unexports path_walk because it is no longer unnecessary to call it directly, and using the new vfs_path_lookup is cleaner. For example, the following snippet of code, looks up "some/path/component" in a directory pointed to by parent_{dentry,vfsmnt}: err = vfs_path_lookup(parent_dentry, parent_vfsmnt, "some/path/component", 0, &nd); if (!err) { /* exits */ ... /* once done, release the references */ path_release(&nd); } else if (err == -ENOENT) { /* doesn't exist */ } else { /* other error */ } VFS functions such as lookup_create can be used on the nameidata structure to pass the create intent to the file system. Signed-off-by: Josef 'Jeff' Sipek Cc: Al Viro Acked-by: Christoph Hellwig Cc: Trond Myklebust Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba Author: Ollie Wild Date: Thu Jul 19 01:48:16 2007 -0700 mm: variable length argument support Remove the arg+env limit of MAX_ARG_PAGES by copying the strings directly from the old mm into the new mm. We create the new mm before the binfmt code runs, and place the new stack at the very top of the address space. Once the binfmt code runs and figures out where the stack should be, we move it downwards. It is a bit peculiar in that we have one task with two mm's, one of which is inactive. [a.p.zijlstra@chello.nl: limit stack size] Signed-off-by: Ollie Wild Signed-off-by: Peter Zijlstra Cc: Cc: Hugh Dickins [bunk@stusta.de: unexport bprm_mm_init] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf4c48af20a3b0f01671799ace345e3d49576da Author: Peter Zijlstra Date: Thu Jul 19 01:48:15 2007 -0700 audit: rework execve audit The purpose of audit_bprm() is to log the argv array to a userspace daemon at the end of the execve system call. Since user-space hasn't had time to run, this array is still in pristine state on the process' stack; so no need to copy it, we can just grab it from there. In order to minimize the damage to audit_log_*() copy each string into a temporary kernel buffer first. Currently the audit code requires that the full argument vector fits in a single packet. So currently it does clip the argv size to a (sysctl) limit, but only when execve auditing is enabled. If the audit protocol gets extended to allow for multiple packets this check can be removed. Signed-off-by: Peter Zijlstra Signed-off-by: Ollie Wild Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b111757c50ee30dad162192df6168e270a90c252 Author: Peter Zijlstra Date: Thu Jul 19 01:48:14 2007 -0700 arch: personality independent stack top New arch macro STACK_TOP_MAX it gives the larges valid stack address for the architecture in question. It differs from STACK_TOP in that it will not distinguish between personalities but will always return the largest possible address. This is used to create the initial stack on execve, which we will move down to the proper location once the binfmt code has figured out where that is. Signed-off-by: Peter Zijlstra Signed-off-by: Ollie Wild Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34e3b61f2be9628bd41244f3ecc42009c5eced5 Author: Fenghua Yu Date: Thu Jul 19 01:48:13 2007 -0700 use the new percpu interface for shared data Currently most of the per cpu data, which is accessed by different cpus, has a ____cacheline_aligned_in_smp attribute. Move all this data to the new per cpu shared data section: .data.percpu.shared_aligned. This will seperate the percpu data which is referenced frequently by other cpus from the local only percpu data. Signed-off-by: Fenghua Yu Acked-by: Suresh Siddha Cc: Rusty Russell Cc: Christoph Lameter Cc: "Luck, Tony" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fb7dc37dc16fbc8b80d81318a582201ef7e280d Author: Fenghua Yu Date: Thu Jul 19 01:48:12 2007 -0700 define new percpu interface for shared data per cpu data section contains two types of data. One set which is exclusively accessed by the local cpu and the other set which is per cpu, but also shared by remote cpus. In the current kernel, these two sets are not clearely separated out. This can potentially cause the same data cacheline shared between the two sets of data, which will result in unnecessary bouncing of the cacheline between cpus. One way to fix the problem is to cacheline align the remotely accessed per cpu data, both at the beginning and at the end. Because of the padding at both ends, this will likely cause some memory wastage and also the interface to achieve this is not clean. This patch: Moves the remotely accessed per cpu data (which is currently marked as ____cacheline_aligned_in_smp) into a different section, where all the data elements are cacheline aligned. And as such, this differentiates the local only data and remotely accessed data cleanly. Signed-off-by: Fenghua Yu Acked-by: Suresh Siddha Cc: Rusty Russell Cc: Christoph Lameter Cc: Cc: "Luck, Tony" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d7e33825d8799115dd2495c9944badd3272a623 Author: Michael Ellerman Date: Thu Jul 19 01:48:11 2007 -0700 jprobes: make jprobes a little safer for users I realise jprobes are a razor-blades-included type of interface, but that doesn't mean we can't try and make them safer to use. This guy I know once wrote code like this: struct jprobe jp = { .kp.symbol_name = "foo", .entry = "jprobe_foo" }; And then his kernel exploded. Oops. This patch adds an arch hook, arch_deref_entry_point() (I don't like it either) which takes the void * in a struct jprobe, and gives back the text address that it represents. We can then use that in register_jprobe() to check that the entry point we're passed is actually in the kernel text, rather than just some random value. Signed-off-by: Michael Ellerman Cc: Prasanna S Panchamukhi Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e367d859297b9377d65574f538cf52730e9eda8 Author: Michael Ellerman Date: Thu Jul 19 01:48:10 2007 -0700 jprobes: remove JPROBE_ENTRY() AFAICT now that jprobe.entry is a void *, JPROBE_ENTRY doesn't do anything useful - so remove it .. I've left a do-nothing version so that out-of-tree jprobes code will still compile without modifications. Signed-off-by: Michael Ellerman Cc: Prasanna S Panchamukhi Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81eae375eceba481ca4c605d42913871f093f6d5 Author: Michael Ellerman Date: Thu Jul 19 01:48:09 2007 -0700 jprobes: make struct jprobe.entry a void * Currently jprobe.entry is a kprobe_opcode_t *, but that's a lie. On some platforms it doesn't point to an opcode at all, it points to a function descriptor. It's really a pointer to something that the arch code can turn into a function entry point. And that's what actually happens, none of the generic code ever looks at jprobe.entry, it's only ever dereferenced by arch code. So just make it a void *. Signed-off-by: Michael Ellerman Cc: Prasanna S Panchamukhi Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9acc8c7b35a100f3a9e0e6977f7807b0169f9a5 Author: Fengguang Wu Date: Thu Jul 19 01:48:08 2007 -0700 readahead: sanify file_ra_state names Rename some file_ra_state variables and remove some accessors. It results in much simpler code. Kudos to Rusty! Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf914a7d656e62b9dd3e0dffe4f62b953ae6048d Author: Rusty Russell Date: Thu Jul 19 01:48:08 2007 -0700 readahead: split ondemand readahead interface into two functions Split ondemand readahead interface into two functions. I think this makes it a little clearer for non-readahead experts (like Rusty). Internally they both call ondemand_readahead(), but the page argument is changed to an obvious boolean flag. Signed-off-by: Rusty Russell Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe3cba17c49471e99d3421e675fc8b3deaaf0b70 Author: Fengguang Wu Date: Thu Jul 19 01:48:07 2007 -0700 mm: share PG_readahead and PG_reclaim Share the same page flag bit for PG_readahead and PG_reclaim. One is used only on file reads, another is only for emergency writes. One is used mostly for fresh/young pages, another is for old pages. Combinations of possible interactions are: a) clear PG_reclaim => implicit clear of PG_readahead it will delay an asynchronous readahead into a synchronous one it actually does _good_ for readahead: the pages will be reclaimed soon, it's readahead thrashing! in this case, synchronous readahead makes more sense. b) clear PG_readahead => implicit clear of PG_reclaim one(and only one) page will not be reclaimed in time it can be avoided by checking PageWriteback(page) in readahead first c) set PG_reclaim => implicit set of PG_readahead will confuse readahead and make it restart the size rampup process it's a trivial problem, and can mostly be avoided by checking PageWriteback(page) first in readahead d) set PG_readahead => implicit set of PG_reclaim PG_readahead will never be set on already cached pages. PG_reclaim will always be cleared on dirtying a page. so not a problem. In summary, a) we get better behavior b,d) possible interactions can be avoided c) racy condition exists that might affect readahead, but the chance is _really_ low, and the hurt on readahead is trivial. Compound pages also use PG_reclaim, but for now they do not interact with reclaim/readahead code. Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8983910a4045fa21022cfccf76ed13eb40fd7f5 Author: Fengguang Wu Date: Thu Jul 19 01:48:06 2007 -0700 readahead: pass real splice size Pass real splice size to page_cache_readahead_ondemand(). The splice code works in chunks of 16 pages internally. The readahead code should be told of the overall splice size, instead of the internal chunk size. Otherwize bad things may happen. Imagine some 17-page random splice reads. The code before this patch will result in two readahead calls: readahead(16); readahead(1); That leads to one 16-page I/O and one 32-page I/O: one extra I/O and 31 readahead miss pages. Signed-off-by: Fengguang Wu Cc: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 431a4820bfcdf7ff530e745230bafb06c9bf2d6d Author: Fengguang Wu Date: Thu Jul 19 01:48:05 2007 -0700 readahead: move synchronous readahead call out of splice loop Move synchronous page_cache_readahead_ondemand() call out of splice loop. This avoids one pointless page allocation/insertion in case of non-zero ra_pages, or many pointless readahead calls in case of zero ra_pages. Note that if a user sets ra_pages to less than PIPE_BUFFERS=16 pages, he will not get expected readahead behavior anyway. The splice code works in batches of 16 pages, which can be taken as another form of synchronous readahead. Signed-off-by: Fengguang Wu Cc: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c743d96b6d2ff55a94df7b5ac7c74987bb9c343b Author: Fengguang Wu Date: Thu Jul 19 01:48:04 2007 -0700 readahead: remove the old algorithm Remove the old readahead algorithm. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc7868fcb9a73990e6f30371c1be465c436a7a7f Author: Fengguang Wu Date: Thu Jul 19 01:48:04 2007 -0700 readahead: convert ext3/ext4 invocations Convert ext3/ext4 dir reads to use on-demand readahead. Readahead for dirs operates _not_ on file level, but on blockdev level. This makes a difference when the data blocks are not continuous. And the read routine is somehow opaque: there's no handy info about the status of current page. So a simplified call scheme is employed: to call into readahead whenever the current page falls out of readahead windows. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a08a166fe77d9f9ad88ed6d06b97e73453661f89 Author: Fengguang Wu Date: Thu Jul 19 01:48:03 2007 -0700 readahead: convert splice invocations Convert splice reads to use on-demand readahead. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ea89ee86a82e9fbde37018d9b9e92a552e5fd13 Author: Fengguang Wu Date: Thu Jul 19 01:48:02 2007 -0700 readahead: convert filemap invocations Convert filemap reads to use on-demand readahead. The new call scheme is to - call readahead on non-cached page - call readahead on look-ahead page - update prev_index when finished with the read request Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 122a21d11cbfda6d1e33cbc8ae9e4c4ee2f1886e Author: Fengguang Wu Date: Thu Jul 19 01:48:01 2007 -0700 readahead: on-demand readahead logic This is a minimal readahead algorithm that aims to replace the current one. It is more flexible and reliable, while maintaining almost the same behavior and performance. Also it is full integrated with adaptive readahead. It is designed to be called on demand: - on a missing page, to do synchronous readahead - on a lookahead page, to do asynchronous readahead In this way it eliminated the awkward workarounds for cache hit/miss, readahead thrashing, retried read, and unaligned read. It also adopts the data structure introduced by adaptive readahead, parameterizes readahead pipelining with `lookahead_index', and reduces the current/ahead windows to one single window. HEURISTICS The logic deals with four cases: - sequential-next found a consistent readahead window, so push it forward - random standalone small read, so read as is - sequential-first create a new readahead window for a sequential/oversize request - lookahead-clueless hit a lookahead page not associated with the readahead window, so create a new readahead window and ramp it up In each case, three parameters are determined: - readahead index: where the next readahead begins - readahead size: how much to readahead - lookahead size: when to do the next readahead (for pipelining) BEHAVIORS The old behaviors are maximally preserved for trivial sequential/random reads. Notable changes are: - It no longer imposes strict sequential checks. It might help some interleaved cases, and clustered random reads. It does introduce risks of a random lookahead hit triggering an unexpected readahead. But in general it is more likely to do good than to do evil. - Interleaved reads are supported in a minimal way. Their chances of being detected and proper handled are still low. - Readahead thrashings are better handled. The current readahead leads to tiny average I/O sizes, because it never turn back for the thrashed pages. They have to be fault in by do_generic_mapping_read() one by one. Whereas the on-demand readahead will redo readahead for them. OVERHEADS The new code reduced the overheads of - excessively calling the readahead routine on small sized reads (the current readahead code insists on seeing all requests) - doing a lot of pointless page-cache lookups for small cached files (the current readahead only turns itself off after 256 cache hits, unfortunately most files are < 1MB, so never see that chance) That accounts for speedup of - 0.3% on 1-page sequential reads on sparse file - 1.2% on 1-page cache hot sequential reads - 3.2% on 256-page cache hot sequential reads - 1.3% on cache hot `tar /lib` However, it does introduce one extra page-cache lookup per cache miss, which impacts random reads slightly. That's 1% overheads for 1-page random reads on sparse file. PERFORMANCE The basic benchmark setup is - 2.6.20 kernel with on-demand readahead - 1MB max readahead size - 2.9GHz Intel Core 2 CPU - 2GB memory - 160G/8M Hitachi SATA II 7200 RPM disk The benchmarks show that - it maintains the same performance for trivial sequential/random reads - sysbench/OLTP performance on MySQL gains up to 8% - performance on readahead thrashing gains up to 3 times iozone throughput (KB/s): roughly the same ========================================== iozone -c -t1 -s 4096m -r 64k 2.6.20 on-demand gain first run " Initial write " 61437.27 64521.53 +5.0% " Rewrite " 47893.02 48335.20 +0.9% " Read " 62111.84 62141.49 +0.0% " Re-read " 62242.66 62193.17 -0.1% " Reverse Read " 50031.46 49989.79 -0.1% " Stride read " 8657.61 8652.81 -0.1% " Random read " 13914.28 13898.23 -0.1% " Mixed workload " 19069.27 19033.32 -0.2% " Random write " 14849.80 14104.38 -5.0% " Pwrite " 62955.30 65701.57 +4.4% " Pread " 62209.99 62256.26 +0.1% second run " Initial write " 60810.31 66258.69 +9.0% " Rewrite " 49373.89 57833.66 +17.1% " Read " 62059.39 62251.28 +0.3% " Re-read " 62264.32 62256.82 -0.0% " Reverse Read " 49970.96 50565.72 +1.2% " Stride read " 8654.81 8638.45 -0.2% " Random read " 13901.44 13949.91 +0.3% " Mixed workload " 19041.32 19092.04 +0.3% " Random write " 14019.99 14161.72 +1.0% " Pwrite " 64121.67 68224.17 +6.4% " Pread " 62225.08 62274.28 +0.1% In summary, writes are unstable, reads are pretty close on average: access pattern 2.6.20 on-demand gain Read 62085.61 62196.38 +0.2% Re-read 62253.49 62224.99 -0.0% Reverse Read 50001.21 50277.75 +0.6% Stride read 8656.21 8645.63 -0.1% Random read 13907.86 13924.07 +0.1% Mixed workload 19055.29 19062.68 +0.0% Pread 62217.53 62265.27 +0.1% aio-stress: roughly the same ============================ aio-stress -l -s4096 -r128 -t1 -o1 knoppix511-dvd-cn.iso aio-stress -l -s4096 -r128 -t1 -o3 knoppix511-dvd-cn.iso 2.6.20 on-demand delta sequential 92.57s 92.54s -0.0% random 311.87s 312.15s +0.1% sysbench fileio: roughly the same ================================= sysbench --test=fileio --file-io-mode=async --file-test-mode=rndrw \ --file-total-size=4G --file-block-size=64K \ --num-threads=001 --max-requests=10000 --max-time=900 run threads 2.6.20 on-demand delta first run 1 59.1974s 59.2262s +0.0% 2 58.0575s 58.2269s +0.3% 4 48.0545s 47.1164s -2.0% 8 41.0684s 41.2229s +0.4% 16 35.8817s 36.4448s +1.6% 32 32.6614s 32.8240s +0.5% 64 23.7601s 24.1481s +1.6% 128 24.3719s 23.8225s -2.3% 256 23.2366s 22.0488s -5.1% second run 1 59.6720s 59.5671s -0.2% 8 41.5158s 41.9541s +1.1% 64 25.0200s 23.9634s -4.2% 256 22.5491s 20.9486s -7.1% Note that the numbers are not very stable because of the writes. The overall performance is close when we sum all seconds up: sum all up 495.046s 491.514s -0.7% sysbench oltp (trans/sec): up to 8% gain ======================================== sysbench --test=oltp --oltp-table-size=10000000 --oltp-read-only \ --mysql-socket=/var/run/mysqld/mysqld.sock \ --mysql-user=root --mysql-password=readahead \ --num-threads=064 --max-requests=10000 --max-time=900 run 10000-transactions run threads 2.6.20 on-demand gain 1 62.81 64.56 +2.8% 2 67.97 70.93 +4.4% 4 81.81 85.87 +5.0% 8 94.60 97.89 +3.5% 16 99.07 104.68 +5.7% 32 95.93 104.28 +8.7% 64 96.48 103.68 +7.5% 5000-transactions run 1 48.21 48.65 +0.9% 8 68.60 70.19 +2.3% 64 70.57 74.72 +5.9% 2000-transactions run 1 37.57 38.04 +1.3% 2 38.43 38.99 +1.5% 4 45.39 46.45 +2.3% 8 51.64 52.36 +1.4% 16 54.39 55.18 +1.5% 32 52.13 54.49 +4.5% 64 54.13 54.61 +0.9% That's interesting results. Some investigations show that - MySQL is accessing the db file non-uniformly: some parts are more hot than others - It is mostly doing 4-page random reads, and sometimes doing two reads in a row, the latter one triggers a 16-page readahead. - The on-demand readahead leaves many lookahead pages (flagged PG_readahead) there. Many of them will be hit, and trigger more readahead pages. Which might save more seeks. - Naturally, the readahead windows tend to lie in hot areas, and the lookahead pages in hot areas is more likely to be hit. - The more overall read density, the more possible gain. That also explains the adaptive readahead tricks for clustered random reads. readahead thrashing: 3 times better =================================== We boot kernel with "mem=128m single", and start a 100KB/s stream on every second, until reaching 200 streams. max throughput min avg I/O size 2.6.20: 5MB/s 16KB on-demand: 15MB/s 140KB Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ce1110b92b31d079aa443e967f43a2294e01194 Author: Fengguang Wu Date: Thu Jul 19 01:47:59 2007 -0700 readahead: data structure and routines Extend struct file_ra_state to support the on-demand readahead logic. Also define some helpers for it. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f615bfca468c9b80ed2d09be5fdbaf470a32c045 Author: Fengguang Wu Date: Thu Jul 19 01:47:58 2007 -0700 readahead: MIN_RA_PAGES/MAX_RA_PAGES macros Define two convenient macros for read-ahead: - MAX_RA_PAGES: rounded down counterpart of VM_MAX_READAHEAD - MIN_RA_PAGES: rounded _up_ counterpart of VM_MIN_READAHEAD Note that the rounded up MIN_RA_PAGES will work flawlessly with _large_ page sizes like 64k. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46fc3e7b4e7233a0ac981ac9084b55217318d04d Author: Fengguang Wu Date: Thu Jul 19 01:47:57 2007 -0700 readahead: add look-ahead support to __do_page_cache_readahead() Add look-ahead support to __do_page_cache_readahead(). It works by - mark the Nth backwards page with PG_readahead, (which instructs the page's first reader to invoke readahead) - and only do the marking for newly allocated pages. (to prevent blindly doing readahead on already cached pages) Look-ahead is a technique to achieve I/O pipelining: While the application is working through a chunk of cached pages, the kernel reads-ahead the next chunk of pages _before_ time of need. It effectively hides low level I/O latencies to high level applications. Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d77c2d7cc5126639a47d73300b40d461f2811a0f Author: Fengguang Wu Date: Thu Jul 19 01:47:55 2007 -0700 readahead: introduce PG_readahead Introduce a new page flag: PG_readahead. It acts as a look-ahead mark, which tells the page reader: Hey, it's time to invoke the read-ahead logic. For the sake of I/O pipelining, don't wait until it runs out of cached pages! Signed-off-by: Fengguang Wu Cc: Steven Pratt Cc: Ram Pai Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ba2d00363975242dee9bb22cf798b487e3cd61e Author: David Brownell Date: Thu Jul 19 01:47:55 2007 -0700 AIO sparse fix (type of ki_flags) Fix type issue reported by latest 'sparse': kiocb.ki_flags should be "unsigned long" (not "long"), to match bitop type signature. Signed-off-by: David Brownell Signed-off-by: Benjamin LaHaise Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64ee4808a786caade50362d5057f65314fdf2f36 Author: Michael Halcrow Date: Thu Jul 19 01:47:54 2007 -0700 eCryptfs: ecryptfs_setattr() bugfix There is another bug recently introduced into the ecryptfs_setattr() function in 2.6.22. eCryptfs will attempt to treat special files like regular eCryptfs files on chmod, chown, and so forth. This leads to a NULL pointer dereference. This patch validates that the file is a regular file before proceeding with operations related to the inode's crypt_stat. Thanks to Ryusuke Konishi for finding this bug and suggesting the fix. Signed-off-by: Michael Halcrow Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39ef01e00daf6d860783f1a836f765265a9d3b47 Author: Alan Cox Date: Thu Jul 19 01:47:53 2007 -0700 mbcs: Remove lots of global symbols MBCS has a collection of things that searches say are not used elsewhere and could be static. If this is the case they should be static, if not then someone at SGI should rename things like "soft_list" so they don't pollute the global namespace with generic names... Signed-off-by: Alan Cox Acked-by: Bruce Losure Cc: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4004c69ad68dd03733179277280ea2946990ba36 Author: Ravikiran G Thirumalai Date: Thu Jul 19 01:47:53 2007 -0700 Avoid too many remote cpu references due to /proc/stat Optimize show_stat to collect per-irq information just once. On x86_64, with newer kernel versions, kstat_irqs is a bit of a problem. On every call to kstat_irqs, the process brings in per-cpu data from all online cpus. Doing this for NR_IRQS, which is now 256 + 32 * NR_CPUS results in (256+32*63) * 63 remote cpu references on a 64 cpu config. Considering the fact that we already compute this value per-cpu, we can save on the remote references as below. Signed-off-by: Alok N Kataria Signed-off-by: Ravikiran Thirumalai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0a9983509f45b2225ca87fdcf7b40ea916834ed Author: David Brownell Date: Thu Jul 19 01:47:52 2007 -0700 gpio calls don't need i/o barriers Clarify that drivers using the GPIO operations don't need to issue io barrier instructions themselves. Previously this wasn't clear, and at least one platform assumed otherwise (and would thus break various otherwise-portable drivers which don't issue barriers). Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e53252d97e670a38b1d2e9723b48077bba11ddda Author: Akinobu Mita Date: Thu Jul 19 01:47:51 2007 -0700 unregister_chrdev() return void unregister_chrdev() does not return meaningful value. This patch makes it return void like most unregister_* functions. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68fc4fabca897a09f75f53bac14cdc7a98f52210 Author: Akinobu Mita Date: Thu Jul 19 01:47:50 2007 -0700 unregister_chrdev(): ignore the return value unregister_chrdev() always returns 0. There is no need to check the return value. Signed-off-by: Akinobu Mita Cc: "David S. Miller" Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb00ea3528eb3c09eae9871d6e7d038776e952e2 Author: Cyrill Gorcunov Date: Thu Jul 19 01:47:43 2007 -0700 UDF: coding style conversion - lindent This patch converts UDF coding style to kernel coding style using Lindent. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95a631e2d9853c9138e14fbaa9a51e6451f040b4 Author: Pavel Machek Date: Thu Jul 19 01:47:42 2007 -0700 Suspend MAINTAINERS update I guess it is time to clarify that suspend and hibernation are separate things, and add Rafael as a maintainer. Plus, people blame us for suspend problems, anyway, I guess it is fair to mark us as suspend maintainers, too. Signed-off-by: Pavel Machek Acked-by: Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77afcf78a2ded9a91838734234949c0ead5feb12 Author: Pavel Machek Date: Thu Jul 19 01:47:41 2007 -0700 PM: Integrate beeping flag with existing acpi_sleep flags Move "debug during resume from s2ram" into the variable we already use for real-mode flags to simplify code. It also closes nasty trap for the user in acpi_sleep_setup; order of parameters actually mattered there, acpi_sleep=s3_bios,s3_mode doing something different from acpi_sleep=s3_mode,s3_bios. Signed-off-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a60d6235c8352ade8f2699e72fcdfe853730456 Author: Nigel Cunningham Date: Thu Jul 19 01:47:41 2007 -0700 PM: Optional beeping during resume from suspend to RAM Add a feature allowing the user to make the system beep during a resume from suspend to RAM, on x86_64 and i386. This is useful for the users with broken resume from RAM, so that they can verify if the control reaches the kernel after a wake-up event. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd804eba1c8597cbb7cd5a5f9fe886aae16a079a Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:40 2007 -0700 PM: Introduce pm_power_off_prepare Introduce the pm_power_off_prepare() callback that can be registered by the interested platforms in analogy with pm_idle() and pm_power_off(), used for preparing the system to power off (needed by ACPI). This allows us to drop acpi_sysclass and device_acpi that are only defined in order to register the ACPI power off preparation callback, which is needed by pm_power_off() registered in a much different way. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7372cdf6938ccea23ec9fc68970702fed9ec3c8 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:39 2007 -0700 ACPI: Do not prepare for hibernation in acpi_shutdown Since we are now explicitly calling hibernation_ops->prepare() before hibernation_ops->enter() in hibernation_platform_enter() (defined in kernel/power/disk.c), ACPI should not call acpi_sleep_prepare(ACPI_STATE_S4) from acpi_shutdown(). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c961dfb7c903cfd1cd71b506863894038fd704f Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:38 2007 -0700 PM: Reduce code duplication between main.c and user.c The SNAPSHOT_S2RAM ioctl code is outdated and it should not duplicate the suspend code in kernel/power/main.c. Fix that. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccd4b65aef4be2278543fde5b999e55a4d694fd8 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:37 2007 -0700 PM: prevent frozen user mode helpers from failing the freezing of tasks At present, if a user mode helper is running while usermodehelper_pm_callback() is executed, the helper may be frozen and the completion in call_usermodehelper_exec() won't be completed until user space processes are thawed. As a result, the freezing of kernel threads may fail, which is not desirable. Prevent this from happening by introducing a counter of running user mode helpers and allowing usermodehelper_pm_callback() to succeed for action = PM_HIBERNATION_PREPARE or action = PM_SUSPEND_PREPARE only if there are no helpers running. [Namely, usermodehelper_pm_callback() waits for at most RUNNING_HELPERS_TIMEOUT for the number of running helpers to become zero and fails if that doesn't happen.] Special thanks to Uli Luckas , Pavel Machek and Oleg Nesterov for reviewing the previous versions of this patch and for very useful comments. Signed-off-by: Rafael J. Wysocki Acked-by: Uli Luckas Acked-by: Nigel Cunningham Acked-by: Pavel Machek Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cdd4936c17bd8085cb0dfacc4a37ccf8d0ada7b Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:36 2007 -0700 PM: disable usermode helper before hibernation and suspend Use a hibernation and suspend notifier to disable the user mode helper before a hibernation/suspend and enable it after the operation. [akpm@linux-foundation.org: build fix] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b10d911749d37dccfa5873d2088aea3f074b9e45 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:36 2007 -0700 PM: introduce hibernation and suspend notifiers Make it possible to register hibernation and suspend notifiers, so that subsystems can perform hibernation-related or suspend-related operations that should not be carried out by device drivers' .suspend() and .resume() routines. [akpm@linux-foundation.org: build fixes] [akpm@linux-foundation.org: cleanups] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2cf7d87d804c66e063829d5ca739053e901dc15 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:35 2007 -0700 Freezer: remove redundant check in try_to_freeze_tasks We don't need to check if todo is positive before calling time_after() in try_to_freeze_tasks(), because if todo is zero at this point, the loop will be broken anyway due to the while () condition being false. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7cd8a722745a01bcfac4d4a52d53391d177da20 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:34 2007 -0700 Freezer: return int from freeze_processes Make try_to_freeze_tasks() and freeze_processes() return -EBUSY on failure instead of the number of unfrozen tasks (none of the callers actually uses this number). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4a3a7d60c9c9a961e4c970f6eb41dd1c9d3ec21 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:33 2007 -0700 Freezer: use __set_current_state in refrigerator Use __set_current_state() as appropriate in refrigerator() instead of accessing current->state directly. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c1eecfb345401629aa57c9d3b077273e56c45a7 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:33 2007 -0700 Freezer: avoid freezing kernel threads prematurely Kernel threads should not have TIF_FREEZE set when user space processes are being frozen, since otherwise some of them might be frozen prematurely. To prevent this from happening we can (1) make exit_mm() unset TIF_FREEZE unconditionally just after clearing tsk->mm and (2) make try_to_freeze_tasks() check if p->mm is different from zero and PF_BORROWED_MM is unset in p->flags when user space processes are to be frozen. Namely, when user space processes are being frozen, we only should set TIF_FREEZE for tasks that have p->mm different from NULL and don't have PF_BORROWED_MM set in p->flags. For this reason task_lock() must be used to prevent try_to_freeze_tasks() from racing with use_mm()/unuse_mm(), in which p->mm and p->flags.PF_BORROWED_MM are changed under task_lock(p). Also, we need to prevent the following scenario from happening: * daemonize() is called by a task spawned from a user space code path * freezer checks if the task has p->mm set and the result is positive * task enters exit_mm() and clears its TIF_FREEZE * freezer sets TIF_FREEZE for the task * task calls try_to_freeze() and goes to the refrigerator, which is wrong at that point This requires us to acquire task_lock(p) before p->flags.PF_BORROWED_MM and p->mm are examined and release it after TIF_FREEZE is set for p (or it turns out that TIF_FREEZE should not be set). Signed-off-by: Rafael J. Wysocki Cc: Gautham R Shenoy Cc: Pavel Machek Cc: Nigel Cunningham Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1457bcc3a00a0446c7f6e2f22fd24b6d8d0a309 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:31 2007 -0700 Hibernation: prepare to enter the low power state During hibernation we call hibernation_ops->prepare() before creating the image, but then, before saving it, we cancel the power transition by calling hibernation_ops->finish(). Thus prior to calling hibernation_ops->enter() we should let the platform firmware know that we're going to enter the low power state after all. Signed-off-by: Rafael J. Wysocki Cc: Gautham R Shenoy Cc: Pavel Machek Cc: Nigel Cunningham Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10a1803d667e209914eaada9b95525252f23ec78 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:31 2007 -0700 swsusp: fix hibernation code ordering Change the code ordering so that hibernation_ops->prepare() is called after device_suspend(). This is needed so that we don't violate the ACPI specification, which states that the _PTS and _GTS system-control methods, executed from acpi_sleep_prepare(), ought to be called after devices have been put in low power states. The "Finish" label in hibernation_restore() is moved, because device_suspend() resumes devices if the suspending of them fails and the restore code ordering should reflect the hibernation code ordering. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a634cc10164d1c229fbeca33923e6a0ed939e894 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:30 2007 -0700 swsusp: introduce restore platform operations At least on some machines it is necessary to prepare the ACPI firmware for the restoration of the system memory state from the hibernation image if the "platform" mode of hibernation has been used. Namely, in that cases we need to disable the GPEs before replacing the "boot" kernel with the "frozen" kernel (cf. http://bugzilla.kernel.org/show_bug.cgi?id=7887). After the restore they will be re-enabled by hibernation_ops->finish(), but if the restore fails, they have to be re-enabled by the restore code explicitly. For this purpose we can introduce two additional hibernation operations, called pre_restore() and restore_cleanup() and call them from the restore code path. Still, they should be called if the "platform" mode of hibernation has been used, so we need to pass the information about the hibernation mode from the "frozen" kernel to the "boot" kernel in the image header. Apparently, we can't drop the disabling of GPEs before the restore because of Bug #7887 .  We also can't do it unconditionally, because the GPEs wouldn't have been enabled after a successful restore if the suspend had been done in the 'shutdown' or 'reboot' mode. In principle we could (and probably should) unconditionally disable the GPEs before each snapshot creation *and* before the restore, but then we'd have to unconditionally enable them after the snapshot creation as well as after the restore (or restore failure)   Still, for this purpose we'd need to modify acpi_enter_sleep_state_prep() and acpi_leave_sleep_state() and we'd have to introduce some mechanism synchronizing the disablind/enabling of the GPEs with the device drivers' .suspend()/.resume() routines and with disable_/enable_nonboot_cpus().  However, this would have affected the suspend (ie. s2ram) code as well as the hibernation, which I'd like to avoid in this patch series. Signed-off-by: Rafael J. Wysocki Cc: Nigel Cunningham Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7777fab989b5d006903188c966058ebcd2d6342a Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:29 2007 -0700 swsusp: remove code duplication between disk.c and user.c Currently, much of the code in kernel/power/disk.c is duplicated in kernel/power/user.c , mainly for historical reasons. By eliminating this code duplication we can reduce the size of user.c quite substantially and remove the maintenance difficulty resulting from it. [bunk@stusta.de: kernel/power/disk.c: make code static] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 127067a9c994dff16b280f409cc7b18a54a63719 Author: Rafael J. Wysocki Date: Thu Jul 19 01:47:28 2007 -0700 swsusp: remove incorrect code from user.c In the face of the recent change of suspend code ordering (cf. http://marc.info/?l=linux-acpi&m=117938245931603&w=2) we should also modify the code ordering in swsusp so that hibernation_ops->prepare() is executed after device_suspend(). However, for this purpose it seems reasonable to eliminate the code duplication between kernel/power/disk.c and kernel/power/user.c first. By eliminating it we can reduce the size of user.c quite substantially and remove the maintenance difficulty with making essentially the same changes in two different places. Moreover, we should also remove the calls to "platform" functions from the restore code path, since it doesn't carry out any power transition of the system, but we generally need to disable the GPEs before the restore if the 'platform' hibernation mode has been used. To do this, we can introduce two new hibernation_ops to be used in the restore code. This patch: Make the code hibernation code in kernel/power/user.c be functionally equivalent to the corresponding code in kernel/power/disk.c , as it should be. The calls to the platform functions removed by this patch are incorrect. They should be replaced with some other "platform" invocations that will be introduced in one of the subsequent patches. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0349828d6d6f95c445674c2953ee9db75c11f8f Author: Ben Collins Date: Thu Jul 19 01:47:27 2007 -0700 PM: Do not require dev spew to get PM_DEBUG In order to enable things like PM_TRACE, you're required to enable PM_DEBUG, which sends a large spew of messages on boot, and often times can overflow dmesg buffer. Create new PM_VERBOSE and shift that to be the option that enables drivers/base/power's messages. Signed-off-by: Ben Collins Cc: "Rafael J. Wysocki" Cc: Pavel Machek Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 328616e3b76859f1abdd08a8df1ddbb7bb81f807 Author: Andrew Morton Date: Thu Jul 19 01:47:26 2007 -0700 freezer: run show_state() when freezing times out To see which tasks are stuck where. Cc: "Rafael J. Wysocki" Cc: Oleg Nesterov Cc: Alan Stern Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ee6dafc677a68e461a7ddafc94a580ebab80735 Author: Miklos Szeredi Date: Thu Jul 19 01:47:24 2007 -0700 only allow nonlinear vmas for ram backed filesystems page_mkclean() doesn't re-protect ptes for non-linear mappings, so a later re-dirty through such a mapping will not generate a fault, PG_dirty will not reflect the dirty state and the dirty count will be skewed. This implies that msync() is also currently broken for nonlinear mappings. The easiest solution is to emulate remap_file_pages on non-linear mappings with simple mmap() for non ram-backed filesystems. Applications continue to work (albeit slower), as long as the number of remappings remain below the maximum vma count. However all currently known real uses of non-linear mappings are for ram backed filesystems, which this patch doesn't affect. Signed-off-by: Miklos Szeredi Acked-by: Peter Zijlstra Cc: William Lee Irwin III Cc: Nick Piggin Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb2d5ce16409efcdf94017a6b6fecd468226e29c Author: Mel Gorman Date: Thu Jul 19 01:47:23 2007 -0700 Remove alloc_zeroed_user_highpage() alloc_zeroed_user_highpage() has no in-tree users and it is not exported. As it is not exported, it can simply be removed. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79352894b28550ee0eee919149f57626ec1b3572 Author: Nick Piggin Date: Thu Jul 19 01:47:22 2007 -0700 mm: fix clear_page_dirty_for_io vs fault race Fix msync data loss and (less importantly) dirty page accounting inaccuracies due to the race remaining in clear_page_dirty_for_io(). The deleted comment explains what the race was, and the added comments explain how it is fixed. Signed-off-by: Nick Piggin Acked-by: Linus Torvalds Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83c54070ee1a2d05c89793884bea1a03f2851ed4 Author: Nick Piggin Date: Thu Jul 19 01:47:05 2007 -0700 mm: fault feedback #2 This patch completes Linus's wish that the fault return codes be made into bit flags, which I agree makes everything nicer. This requires requires all handle_mm_fault callers to be modified (possibly the modifications should go further and do things like fault accounting in handle_mm_fault -- however that would be for another patch). [akpm@linux-foundation.org: fix alpha build] [akpm@linux-foundation.org: fix s390 build] [akpm@linux-foundation.org: fix sparc build] [akpm@linux-foundation.org: fix sparc64 build] [akpm@linux-foundation.org: fix ia64 build] Signed-off-by: Nick Piggin Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Ian Molton Cc: Bryan Wu Cc: Mikael Starvik Cc: David Howells Cc: Yoshinori Sato Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Cc: Matthew Wilcox Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: William Lee Irwin III Cc: "David S. Miller" Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Miles Bader Cc: Chris Zankel Acked-by: Kyle McMartin Acked-by: Haavard Skinnemoen Acked-by: Ralf Baechle Acked-by: Andi Kleen Signed-off-by: Andrew Morton [ Still apparently needs some ARM and PPC loving - Linus ] Signed-off-by: Linus Torvalds commit d0217ac04ca6591841e5665f518e38064f4e65bd Author: Nick Piggin Date: Thu Jul 19 01:47:03 2007 -0700 mm: fault feedback #1 Change ->fault prototype. We now return an int, which contains VM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte. FAULT_RET_ code tells the VM whether a page was found, whether it has been locked, and potentially other things. This is not quite the way he wanted it yet, but that's changed in the next patch (which requires changes to arch code). This means we no longer set VM_CAN_INVALIDATE in the vma in order to say that a page is locked which requires filemap_nopage to go away (because we can no longer remain backward compatible without that flag), but we were going to do that anyway. struct fault_data is renamed to struct vm_fault as Linus asked. address is now a void __user * that we should firmly encourage drivers not to use without really good reason. The page is now returned via a page pointer in the vm_fault struct. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7 Author: Mark Fasheh Date: Thu Jul 19 01:47:01 2007 -0700 Document ->page_mkwrite() locking There seems to be very little documentation about this callback in general. The locking in particular is a bit tricky, so it's worth having this in writing. Signed-off-by: Mark Fasheh Cc: Nick Piggin Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6967614761fd305b3414d9485d89dc2e0a407410 Author: Mark Fasheh Date: Thu Jul 19 01:47:00 2007 -0700 ocfs2: release page lock before calling ->page_mkwrite __do_fault() was calling ->page_mkwrite() with the page lock held, which violates the locking rules for that callback. Release and retake the page lock around the callback to avoid deadlocking file systems which manually take it. Signed-off-by: Mark Fasheh Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 Author: Nick Piggin Date: Thu Jul 19 01:46:59 2007 -0700 mm: merge populate and nopage into fault (fixes nonlinear) Nonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes the virtual address -> file offset differently from linear mappings. ->populate is a layering violation because the filesystem/pagecache code should need to know anything about the virtual memory mapping. The hitch here is that the ->nopage handler didn't pass down enough information (ie. pgoff). But it is more logical to pass pgoff rather than have the ->nopage function calculate it itself anyway (because that's a similar layering violation). Having the populate handler install the pte itself is likewise a nasty thing to be doing. This patch introduces a new fault handler that replaces ->nopage and ->populate and (later) ->nopfn. Most of the old mechanism is still in place so there is a lot of duplication and nice cleanups that can be removed if everyone switches over. The rationale for doing this in the first place is that nonlinear mappings are subject to the pagefault vs invalidate/truncate race too, and it seemed stupid to duplicate the synchronisation logic rather than just consolidate the two. After this patch, MAP_NONBLOCK no longer sets up ptes for pages present in pagecache. Seems like a fringe functionality anyway. NOPAGE_REFAULT is removed. This should be implemented with ->fault, and no users have hit mainline yet. [akpm@linux-foundation.org: cleanup] [randy.dunlap@oracle.com: doc. fixes for readahead] [akpm@linux-foundation.org: build fix] Signed-off-by: Nick Piggin Signed-off-by: Randy Dunlap Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d00806b183152af6d24f46f0c33f14162ca1262a Author: Nick Piggin Date: Thu Jul 19 01:46:57 2007 -0700 mm: fix fault vs invalidate race for linear mappings Fix the race between invalidate_inode_pages and do_no_page. Andrea Arcangeli identified a subtle race between invalidation of pages from pagecache with userspace mappings, and do_no_page. The issue is that invalidation has to shoot down all mappings to the page, before it can be discarded from the pagecache. Between shooting down ptes to a particular page, and actually dropping the struct page from the pagecache, do_no_page from any process might fault on that page and establish a new mapping to the page just before it gets discarded from the pagecache. The most common case where such invalidation is used is in file truncation. This case was catered for by doing a sort of open-coded seqlock between the file's i_size, and its truncate_count. Truncation will decrease i_size, then increment truncate_count before unmapping userspace pages; do_no_page will read truncate_count, then find the page if it is within i_size, and then check truncate_count under the page table lock and back out and retry if it had subsequently been changed (ptl will serialise against unmapping, and ensure a potentially updated truncate_count is actually visible). Complexity and documentation issues aside, the locking protocol fails in the case where we would like to invalidate pagecache inside i_size. do_no_page can come in anytime and filemap_nopage is not aware of the invalidation in progress (as it is when it is outside i_size). The end result is that dangling (->mapping == NULL) pages that appear to be from a particular file may be mapped into userspace with nonsense data. Valid mappings to the same place will see a different page. Andrea implemented two working fixes, one using a real seqlock, another using a page->flags bit. He also proposed using the page lock in do_no_page, but that was initially considered too heavyweight. However, it is not a global or per-file lock, and the page cacheline is modified in do_no_page to increment _count and _mapcount anyway, so a further modification should not be a large performance hit. Scalability is not an issue. This patch implements this latter approach. ->nopage implementations return with the page locked if it is possible for their underlying file to be invalidated (in that case, they must set a special vm_flags bit to indicate so). do_no_page only unlocks the page after setting up the mapping completely. invalidation is excluded because it holds the page lock during invalidation of each page (and ensures that the page is not mapped while holding the lock). This also allows significant simplifications in do_no_page, because we have the page locked in the right place in the pagecache from the start. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f36158c410651fe66f438c17b2ab3ae813f8c060 Author: Paul Moore Date: Wed Jul 18 12:28:46 2007 -0400 SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel These changes will make NetLabel behave like labeled IPsec where there is an access check for both labeled and unlabeled packets as well as providing the ability to restrict domains to receiving only labeled packets when NetLabel is in use. The changes to the policy are straight forward with the following necessary to receive labeled traffic (with SECINITSID_NETMSG defined as "netlabel_peer_t"): allow mydom_t netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; The policy for unlabeled traffic would be: allow mydom_t unlabeled_t:{ tcp_socket udp_socket rawip_socket } recvfrom; These policy changes, as well as more general NetLabel support, are included in the latest SELinux Reference Policy release 20070629 or later. Users who make use of NetLabel are strongly encouraged to upgrade their policy to avoid network problems. Users who do not make use of NetLabel will not notice any difference. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 23bcdc1adebd3cb47d5666f2e9ecada95c0134e4 Author: Paul Moore Date: Wed Jul 18 12:28:45 2007 -0400 SELinux: enable dynamic activation/deactivation of NetLabel/SELinux enforcement Create a new NetLabel KAPI interface, netlbl_enabled(), which reports on the current runtime status of NetLabel based on the existing configuration. LSMs that make use of NetLabel, i.e. SELinux, can use this new function to determine if they should perform NetLabel access checks. This patch changes the NetLabel/SELinux glue code such that SELinux only enforces NetLabel related access checks when netlbl_enabled() returns true. At present NetLabel is considered to be enabled when there is at least one labeled protocol configuration present. The result is that by default NetLabel is considered to be disabled, however, as soon as an administrator configured a CIPSO DOI definition NetLabel is enabled and SELinux starts enforcing NetLabel related access controls - including unlabeled packet controls. This patch also tries to consolidate the multiple "#ifdef CONFIG_NETLABEL" blocks into a single block to ease future review as recommended by Linus. Signed-off-by: Paul Moore Signed-off-by: James Morris commit c32676eea19ce29cb74dba0f97b085e83f6b8915 Author: David Chinner Date: Thu Jul 19 16:28:58 2007 +1000 [XFS] Fix inode size update before data write in xfs_setattr When changing the file size by a truncate() call, we log the change in the inode size. However, we do not flush any outstanding data that might not have been written to disk, thereby violating the data/inode size update order. This can leave files full of NULLs on crash. Hence if we are truncating the file, flush any unwritten data that may lie between the curret on disk inode size and the new inode size that is being logged to ensure that ordering is preserved. SGI-PV: 966308 SGI-Modid: xfs-linux-melb:xfs-kern:29174a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 91ebecc74eeeeea0a2aa50bf1964ec2214a229c9 Author: David Chinner Date: Thu Jul 19 16:28:30 2007 +1000 [XFS] Allow punching holes to free space when at ENOSPC Make the free file space transaction able to dip into the reserved blocks to ensure that we can successfully free blocks when the filesystem is at ENOSPC. SGI-PV: 967788 SGI-Modid: xfs-linux-melb:xfs-kern:29167a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 4f57dbc6b5bae5a3978d429f45ac597ca7a3b8c6 Author: David Chinner Date: Thu Jul 19 16:28:17 2007 +1000 [XFS] Implement ->page_mkwrite in XFS. Hook XFS up to ->page_mkwrite to ensure that we know about mmap pages being written to. This allows use to do correct delayed allocation and ENOSPC checking as well as remap unwritten extents so that they get converted correctly during writeback. This is done via the generic block_page_mkwrite code. SGI-PV: 940392 SGI-Modid: xfs-linux-melb:xfs-kern:29149a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 5417169026c3df151adf5a65eb061278b0a72e69 Author: David Chinner Date: Thu Jul 19 17:39:55 2007 +1000 [FS] Implement block_page_mkwrite. Many filesystems need a ->page-mkwrite callout to correctly set up pages that have been written to by mmap. This is especially important when mmap is writing into holes as it allows filesystems to correctly account for and allocate space before the mmap write is allowed to proceed. Protection against truncate races is provided by locking the page and checking to see whether the page mapping is correct and whether it is beyond EOF so we don't end up allowing allocations beyond the current EOF or changing EOF as a result of a mmap write. SGI-PV: 940392 SGI-Modid: 2.6.x-xfs-melb:linux:29146a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 385820a38d5e7c70b20af4d68767b1920b1e4133 Author: Mark Fasheh Date: Thu Jul 19 00:14:38 2007 -0700 ocfs2: ->fallocate() support Plug ocfs2 into the ->fallocate() callback. This just re-uses the existing preallocation code. Signed-off-by: Mark Fasheh commit ee6a99b539a50b4e9398938a0a6d37f8bf911550 Author: Michael Chan Date: Wed Jul 18 21:49:10 2007 -0700 [TG3]: Fix msi issue with kexec/kdump. Tina Yang discovered an MSI related problem when doing kdump. The problem is that the kexec kernel is booted without going through system reset, and as a result, MSI may already be enabled when tg3_init_one() is called. tg3_init_one() calls pci_save_state() which will save the stale MSI state. Later on in tg3_open(), we call pci_enable_msi() to reconfigure MSI on the chip before we reset the chip. After chip reset, we call pci_restore_state() which will put the stale MSI address/data back onto the chip. This is no longer a problem in the latest kernel because pci_restore_state() has been changed to restore MSI state from internal data structures which will guarantee restoring the proper MSI state. But I think we should still fix it. Our save and restore sequence can still cause very subtle problems down the road. The fix is to have our own functions save and restore precisely what we need. We also change it to save and restore state inside tg3_chip_reset() in a more straight forward way. Thanks to Tina for helping to test and debug the problem. [ Bump driver version and release date. -DaveM ] Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7dc12d6dd6cc1aa489c6f3e34a75e8023c945da8 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:45:15 2007 +0900 [NET] XFRM: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 8238745a39606738c1d8d39f2052959b3e594b04 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:56 2007 +0900 [NET] TIPC: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit fb1416a59b070d2dea280bfac3313bf3b8a17cd2 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:53 2007 +0900 [NET] SUNRPC: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 9cbcbf4e010ec253df686257f99c819da9b895da Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:50 2007 +0900 [NET] SCTP: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 1c899641acd18b8d9d8a61dcb5dd8826fc6c87ea Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:44 2007 +0900 [NET] RXRPC: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 6140efb536e7758cd300461981634ebfd4f51efa Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:40 2007 +0900 [NET] ROSE: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 2b81bff416c4413333b19af627e11fddc620bd84 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:38 2007 +0900 [NET] RFKILL: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit db0c58f998eeb552fb47b82915005259a83613ae Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:35 2007 +0900 [NET] PACKET: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 639fc4c381456df0564b23540e0f60b0af83093b Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:32 2007 +0900 [NET] NETROM: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit a5d292646ebf2ee51086f59899a377c85e5d50b2 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:44:21 2007 +0900 [NET] NETFILTER: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 9c681b43fae1e402e39d157feaa5df454b9e4f1f Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:47 2007 +0900 [NET] IPV4: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 23248005fbe5fa32a3f6d00cdec1ecfb115d28eb Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:28 2007 +0900 [NET] DCCP: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 40b77c943468236c6dfad3e7b94348fe70c70331 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:23 2007 +0900 [NET] CORE: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit 18eab8550397f1f3d4b8b2c5257c88dae25d58ed Author: Venkatesh Pallipadi Date: Fri Jun 15 19:37:00 2007 -0400 ACPI: Enable C3 even when PM2_control is zero On systems that do not have pm2_control_block, we cannot really use ARB_DISABLE before C3. We used to disable C3 totally on such systems. To be compatible with Windows, we need to enable C3 on such systems now. We just skip ARB_DISABLE step before entering the C3-state and assume hardware is handling things correctly. Also, ACPI spec is not clear about pm2_control is _needed_ for C3 or not. We have atleast one system that need this to enable C3. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 00ae02f31519e8d6e374424bbdf0c7381489e416 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:16 2007 +0900 [NET] BLUETOOTH: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit bd3b071b91a8acfe93b01567f556c879db049f99 Author: YOSHIFUJI Hideaki Date: Thu Jul 19 10:43:13 2007 +0900 [NET] AX25: Fix whitespace errors. Signed-off-by: YOSHIFUJI Hideaki commit e6917317c0f6a930442c40dc38a6f21710adf961 Author: Jesper Juhl Date: Thu Jul 19 00:48:03 2007 +0200 ACPICA: fix memory leak in acpi_ev_pci_config_region_setup() error path acpi_ev_pci_config_region_setup() leaks pci_id in the error case of "if (!pci_device_node)" Signed-off-by: Jesper Juhl Signed-off-by: Len Brown commit 9254bc845db90a123cf992e983539d0ee409f22a Author: Dmitry Torokhov Date: Wed Jul 18 01:10:24 2007 -0400 ACPI: dock: fix oops when _DCK evaluation fails Data returned by acpi_get_name in acpi_buffer is not acpi_object and therefore should not be cast to it, otherwise we'll get an nice oops trying to print error message. Also print name of the ACPI object corresponding to the docking station and elevate severity of the message printed when _DCK fails to KERN_ERR. Signed-off-by: Dmitry Torokhov Cc: Kristen Carlson Accardi Signed-off-by: Len Brown commit cfb7267aaba2b59374d7bc765f038698711b09d8 Author: Michael Wu Date: Thu Jun 28 23:14:35 2007 -0700 [PATCH] mac80211: remove rtnl locking in ieee80211_sta.c The rtnl is held in ieee80211_sta.c to prevent some potential configuration races with userspace. Unfortunately, it also has the potential for deadlocks on interface down. This patch removes the rtnl locking to eliminate the deadlocks. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 33ccad35a21df51c0d23f3e3e88688524e7b51ed Author: Jiri Benc Date: Wed Jul 18 17:10:44 2007 +0200 [PATCH] mac80211: fix GCC warning on 64bit platforms net/mac80211/ieee80211.c: In function ieee80211_register_hw: net/mac80211/ieee80211.c:4989: warning: comparison of distinct pointer types lacks a cast Size of ieee80211_tx_status_rtap_hdr structure will never be greater than unsigned int. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 70b315b0dd3879cb3ab8aadffb14f10b2d19b9c3 Author: Steve French Date: Thu Jul 19 00:32:25 2007 +0000 [CIFS] merge conflict in fs/cifs/export.c Signed-off-by: Steve French commit c18c842b1fdf527717303a4e173cbece7ab2deb8 Author: Steve French Date: Wed Jul 18 23:21:09 2007 +0000 [CIFS] Allow disabling CIFS Unix Extensions as mount option Previously the only way to do this was to umount all mounts to that server, turn off a proc setting (/proc/fs/cifs/LinuxExtensionsEnabled). Fixes Samba bugzilla bug number: 4582 (and also 2008) Signed-off-by: Steve French commit 6924c55492c904695f13c552c461c2211f4fdd6a Author: J. Bruce Fields Date: Fri May 11 16:22:50 2007 -0400 locks: fix vfs_test_lock() comment Thanks to Doug Chapman for pointing out that the comment here is inconsistent with the function prototype. Signed-off-by: "J. Bruce Fields" commit 6d34ac199a4af5c678a3a8f3275aeb2586b72da3 Author: J. Bruce Fields Date: Fri May 11 16:09:32 2007 -0400 locks: make posix_test_lock() interface more consistent Since posix_test_lock(), like fcntl() and ->lock(), indicates absence or presence of a conflict lock by setting fl_type to, respectively, F_UNLCK or something other than F_UNLCK, the return value is no longer needed. Signed-off-by: "J. Bruce Fields" commit 370f6599e8bc03fd9fc6d1a1be00ae0c6373ca59 Author: J. Bruce Fields Date: Fri Jun 8 15:23:34 2007 -0400 nfs: disable leases over NFS As Peter Staubach says elsewhere (http://marc.info/?l=linux-kernel&m=118113649526444&w=2): > The problem is that some file system such as NFSv2 and NFSv3 do > not have sufficient support to be able to support leases correctly. > In particular for these two file systems, there is no over the wire > protocol support. > > Currently, these two file systems fail the fcntl(F_SETLEASE) call > accidentally, due to a reference counting difference. These file > systems should fail more consciously, with a proper error to > indicate that the call is invalid for them. Define an nfs setlease method that just returns -EINVAL. If someone can demonstrate a real need, perhaps we could reenable them in the presence of the "nolock" mount option. Signed-off-by: "J. Bruce Fields" Cc: Peter Staubach Cc: Trond Myklebust commit 60446067ba7a8e890a91db3b4a7436fe0ebd2dee Author: Marc Eshel Date: Mon Jan 15 18:33:36 2007 -0500 gfs2: stop giving out non-cluster-coherent leases Since gfs2 can't prevent conflicting opens or leases on other nodes, we probably shouldn't allow it to give out leases at all. Put the newly defined lease operation into use in gfs2 by turning off lease, unless we're using the "nolock' locking module (in which case all locking is local anyway). Signed-off-by: Marc Eshel Signed-off-by: J. Bruce Fields Cc: Steven Whitehouse commit 4698afe8e3a725576366f86560a8a8242b21b9f7 Author: J. Bruce Fields Date: Wed Jul 4 17:21:37 2007 -0400 locks: export setlease to filesystems Export setlease so it can used by filesystems to implement their lease methods. Signed-off-by: "J. Bruce Fields" commit f9ffed26d6f3e6ac9988947242821579d615fda7 Author: J. Bruce Fields Date: Tue Nov 14 15:51:40 2006 -0500 locks: provide a file lease method enabling cluster-coherent leases Currently leases are only kept locally, so there's no way for a distributed filesystem to enforce them against multiple clients. We're particularly interested in the case of nfsd exporting a cluster filesystem, in which case nfsd needs cluster-coherent leases in order to implement delegations correctly. Also add some documentation. Signed-off-by: J. Bruce Fields commit a9933cea7a1d80dd9efae9f1acd857f5dce742b9 Author: J. Bruce Fields Date: Thu Jun 7 17:09:49 2007 -0400 locks: rename lease functions to reflect locks.c conventions We've been using the convention that vfs_foo is the function that calls a filesystem-specific foo method if it exists, or falls back on a generic method if it doesn't; thus vfs_foo is what is called when some other part of the kernel (normally lockd or nfsd) wants to get a lock, whereas foo is what filesystems call to use the underlying local functionality as part of their lock implementation. So rename setlease to vfs_setlease (which will call a filesystem-specific setlease after a later patch) and __setlease to setlease. Also, vfs_setlease need only be GPL-exported as long as it's only needed by lockd and nfsd. Signed-off-by: "J. Bruce Fields" commit 6d5e8b05caf074ae5676ad9aaf92e381226a14a7 Author: J. Bruce Fields Date: Thu May 31 17:03:46 2007 -0400 locks: share more common lease code Share more code between setlease (used by nfsd) and fcntl. Also some minor cleanup. Signed-off-by: "J. Bruce Fields" Acked-by: Christoph Hellwig commit e32b8ee27b486f682a6d13533cfe6549c8abcdef Author: J. Bruce Fields Date: Thu Mar 1 14:34:35 2007 -0500 locks: clean up lease_alloc() Return the newly allocated structure as the return value instead of using a struct ** parameter. Signed-off-by: J. Bruce Fields commit d2ab0b0c4c2570921a9ec1eff1e3a5143e05b231 Author: J. Bruce Fields Date: Sat Jun 30 12:40:32 2007 -0400 locks: convert an -EINVAL return to a BUG There's no point trying to return an error in these cases, which all represent bugs in the callers. Signed-off-by: J. Bruce Fields commit 87250dd26a34c65ae31d08837174222889007641 Author: david m. richter Date: Wed May 9 16:10:27 2007 -0400 leases: minor break_lease() comment clarification clarify that break_lease() checks for presence of any lock, not just leases. Signed-off-by: David M. Richter Signed-off-by: "J. Bruce Fields" commit ede178e216b5dd9200cf2c483c746e0672fbe503 Author: Li Yang Date: Tue Jun 26 11:15:27 2007 +0800 zh_CN/HOWTO: update URLs of git trees Addressing patch from Stefan Richter: HOWTO: update URLs of git trees (It will be better if we update this to commit-id later) Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 29a68ee73ec6a5510cbf9d803cbf6190b615e276 Author: TripleX Date: Fri Jun 22 01:20:36 2007 +0800 Chinese translation of Documentation/stable_api_nonsense.txt This is a Chinese translated version of Documentation/stable_api_nonsense.txt. From: TripleX Signed-off-by: WANG Cong Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 0da1fa0aa2b438aaee6764742d45766d6a9283bc Author: Li Yang Date: Thu Jun 21 22:40:17 2007 +0800 HOWTO: add Chinese translation of Documentation/HOWTO This is a Chinese translated version of Documentation/HOWTO. Currently Chinese involvement in Linux kernel is very low, especially comparing to its largest population base. Language could be the main obstacle. Hope this document will help more Chinese to contribute to Linux kernel. Signed-off-by: Li Yang Signed-off-by: TripleX Chung Signed-off-by: Maggie Chen Signed-off-by: WANG Cong Signed-off-by: Greg Kroah-Hartman commit 5d329e6bb513323bde40668a31e1d734a16eb7b2 Author: IKEDA, Munehiro Date: Tue Jun 12 09:46:04 2007 +0900 Documentation: add Japanese translated stable_api_nonsense.txt Signed-off-by: IKEDA, Munehiro Signed-off-by: Greg Kroah-Hartman commit 73fd625371db08377b7053816c7e486b9bffc18d Author: Tsugikazu Shibata Date: Tue Jun 12 17:16:12 2007 +0900 HOWTO: add Japanese translation of Documentation/HOWTO Add the japanese translation of the Documentation/HOWTO file. Signed-off-by: Tsugikazu Shibata Cc: IKEDA Munehiro Signed-off-by: Greg Kroah-Hartman commit bc4c4f45acbe1f1528d654b0b1793f25c175bf8f Author: Hans-Jürgen Koch Date: Fri Mar 2 13:03:12 2007 +0100 UIO: Hilscher CIF card driver this is a patch that adds support for Hilscher CIF DeviceNet and Profibus cards. I tested it on a Kontron CPX board, and Thomas reviewed it. You can find the user space part here: http://www.osadl.org/projects/downloads/UIO/user/cif-0.1.0.tar.gz Notes: cif_api.c is the main file you want to look at. It contains the functions to open, close, mmap and so on. cif_dps.c adds functions specific to Profibus cards, and cif_dn.c contains functions for DeviceNet cards. cif.c is a universal playground, it's just a small test program. The user space part of this UIO driver is still work in progress, and not everything is tested yet. At the moment, the thread in cif_api.c contains some code that artificially makes the card generate interrupts, this was added for testing and will be removed later. But the driver already contains all the functions needed for useful operation, so it gives a good idea of how such a thing looks like. For comparison, here's what you get from the manufacturer (www.hilscher.com) when you ask for a Linux 2.6 driver: http://www.tglx.de/private/hjk/cif-orig-2.6.tar.bz2 WARNING: Don't look at the code for too long, you might become sick :-) Signed-off-by: Hans-Jürgen Koch Signed-off-by: Greg Kroah-Hartman commit e3e0a28b5b067d16b8e2e5ddaedecda5bd0c3ec2 Author: Hans J. Koch Date: Mon Dec 11 16:59:59 2006 +0100 UIO: Documentation Documentation for the UIO interface From: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit beafc54c4e2fba24e1ca45cdb7f79d9aa83e3db1 Author: Hans J. Koch Date: Thu Dec 7 10:58:29 2006 +0100 UIO: Add the User IO core code This interface allows the ability to write the majority of a driver in userspace with only a very small shell of a driver in the kernel itself. It uses a char device and sysfs to interact with a userspace process to process interrupts and control memory accesses. See the docbook documentation for more details on how to use this interface. From: Hans J. Koch Cc: Thomas Gleixner Cc: Benedikt Spranger Signed-off-by: Greg Kroah-Hartman commit 967e35dcc9ac194b4a6fad69a5a51f93d69bb0d1 Author: Tejun Heo Date: Wed Jul 18 16:38:11 2007 +0900 sysfs: cosmetic clean up on node creation failure paths Node addition failure is detected by testing return value of sysfs_addfm_finish() which returns the number of added and removed nodes. As the function is called as the last step of addition right on top of error handling block, the if blocks looked like the following. if (sysfs_addrm_finish(&acxt)) success handling, usually return; /* fall through to error handling */ This is the opposite of usual convention in sysfs and makes the code difficult to understand. This patch inverts the test and makes those blocks look more like others. Signed-off-by: Tejun Heo Cc: Gabriel C Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit a1da4dfe35bc36c3bc9716d995c85b7983c38a76 Author: Tejun Heo Date: Wed Jul 18 16:14:45 2007 +0900 sysfs: kill an extra put in sysfs_create_link() failure path There is a subtle bug in sysfs_create_link() failure path. When symlink creation fails because there's already a node with the same name, the target sysfs_dirent is put twice - once by failure path of sysfs_create_link() and once more when the symlink is released. Fix it by making only the symlink node responsible for putting target_sd. Signed-off-by: Tejun Heo Cc: Gabriel C Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit 2ee97caf0a6602f749ddbfdb1449e383e1212707 Author: Cornelia Huck Date: Wed Jul 18 01:43:47 2007 -0700 Driver core: check return code of sysfs_create_link() Check for return value of sysfs_create_link() in device_add() and device_rename(). Add helper functions device_add_class_symlinks() and device_remove_class_symlinks() to make the code easier to read. [akpm@linux-foundation.org: fix unused var warnings] Signed-off-by: Cornelia Huck Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit be3884943674f8ee7656b1d8b71c087ec900c836 Author: Paolo Ciarrocchi Date: Mon Jul 16 23:55:05 2007 +0200 HOWTO: Add the knwon_regression URI to the documentation We should let everybody know about where the regression list is hosted. The more is known the more it is used. Signed-off-by: Paolo Ciarrocchi Cc: Li Yang Cc: TripleX Chung Cc: Maggie Chen Cc: WANG Cong Cc: Tsugikazu Shibata Cc: IKEDA Munehiro Signed-off-by: Greg Kroah-Hartman commit 6b09448ab81e90e59c09cfbc6d0d612dc84a2b1d Author: David Brownell Date: Fri Jul 13 16:32:09 2007 -0700 dev_vdbg() documentation Update CodingStyle to talk about "-DDEBUG" message conventions and the new "-DVERBOSE_DEBUG" convention. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit aebdc3b450a3febf7d7d00cd2235509055ec7082 Author: David Brownell Date: Thu Jul 12 22:08:22 2007 -0700 dev_vdbg(), available with -DVERBOSE_DEBUG This defines a dev_vdbg() call, which is enabled with -DVERBOSE_DEBUG. When enabled, dev_vdbg() acts just like dev_dbg(). When disabled, it is a NOP ... just like dev_dbg() without -DDEBUG. The specific code was moved out of a USB patch, but lots of drivers have similar support. That is, code can now be written to use an additional level of debug output, selected at compile time. Many driver authors have found this idiom to be very useful. A typical usage model is for "normal" debug messages to focus on fault paths and not be very "chatty", so that those messages can be left on during normal operation without much of a performance or syslog load. On the other hand "verbose" messages would be noisy enough that they wouldn't normally be enabled; they might even affect timings enough to change system or driver behavior. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit bc37e2830339cbfa42ac8579a7bf62fc4cdd360d Author: Tejun Heo Date: Wed Jul 18 14:30:28 2007 +0900 sysfs: make sysfs_init_inode() static With sysfs_fill_super() converted to use sysfs_get_inode(), there is no user of sysfs_init_inode() outside of fs/sysfs/inode.c. Make it static. Signed-off-by: Tejun Heo Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit e080e436f605877e47e4950f5386ed843badbb1b Author: Tejun Heo Date: Wed Jul 18 14:29:06 2007 +0900 sysfs: fix sysfs root inode nlink accounting While making sysfs indoes hashed, sysfs root inode was left out. Now that nlink accounting depends on the inode being on the hash, sysfs root inode nlink isn't adjusted properly. Put sysfs root inode on the inode hash by allocating it using sysfs_get_inode() like other sysfs inodes. While at it, massage comments a bit. Signed-off-by: Tejun Heo Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 2c19c49a59ccf2162c0eb999de1ec60c0e07a533 Author: Brandon Philips Date: Tue Jul 17 22:09:34 2007 -0700 Documentation fix devres.txt: lib/iomap.c -> lib/devres.c Signed-off-by: Brandon Philips Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 01da2425f327d7ac673e594bee5655523115970b Author: Akinobu Mita Date: Sat Jul 14 11:03:35 2007 +0900 sysfs: avoid kmem_cache_free(NULL) kmem_cache_free() with NULL is not allowed. But it may happen if out of memory error is triggered in sysfs_new_dirent(). This patch fixes that error handling. Signed-off-by: Akinobu Mita Signed-off-by: Greg Kroah-Hartman commit 3f8df781fc5f9ee5253a54ba669e1c8872844b86 Author: Alan Stern Date: Thu Jul 12 16:57:22 2007 -0400 PM: remove deprecated dpm_runtime_* routines This patch (as933) removes the deprecated dpm_runtime_suspend() and dpm_runtime_resume() routines from the PM core. The only user of those routines is the PCMCIA ds driver; local replacements are added. Signed-off-by: Alan Stern CC: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 471d0558045fe35f8c5f291c1ee63815eb9c2dcd Author: Alan Stern Date: Thu Jul 12 16:55:07 2007 -0400 PM: Remove deprecated sysfs files This patch (as932) removes the deprecated sysfs .../power/state attribute files. Signed-off-by: Alan Stern Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 60a96a59569bab85571d0089682109bd3324e896 Author: Kay Sievers Date: Sun Jul 8 22:29:26 2007 +0200 Driver core: accept all valid action-strings in uevent-trigger This allows the uevent file to handle any type of uevent action to be triggered by userspace instead of just the "add" uevent. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a6bb340da32f0abf76656be1619fb85150eef61b Author: Jens Axboe Date: Wed Jul 11 14:53:28 2007 +0200 debugfs: remove rmdir() non-empty complaint Hi, This patch kills the pointless debugfs rmdir() printk() when called on a non-empty directory. blktrace will sometimes have to call it a few times when forcefully ending a trace, which polutes the log with pointless warnings. Rationale: - It's more code to work-around this "problem" in the debugfs users, and you would have to add code to check for empty directories to do so (or assume that debugfs is using simple_ helpers, but that would be a layering violation). - Other rmdir() implementations don't complain about something this silly. Signed-off-by: Jens Axboe Signed-off-by: Greg Kroah-Hartman commit 2dbba6f773d1e1e4c78f03b0dbf19790d9017693 Author: Johannes Berg Date: Wed Jul 18 15:47:52 2007 -0700 [GENETLINK]: Dynamic multicast groups. Introduce API to dynamically register and unregister multicast groups. Signed-off-by: Johannes Berg Acked-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 84659eb529b33572bb3f8c94e0978bd5d084bc7e Author: Johannes Berg Date: Wed Jul 18 15:47:05 2007 -0700 [NETLIKN]: Allow removing multicast groups. Allow kicking listeners out of a multicast group when necessary (for example if that group is going to be removed.) Signed-off-by: Johannes Berg Acked-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit b4ff4f0419ae5db83553fab79d03a89c10d540a8 Author: Johannes Berg Date: Wed Jul 18 15:46:06 2007 -0700 [NETLINK]: allocate group bitmaps dynamically Allow changing the number of groups for a netlink family after it has been created, use RCU to protect the listeners bitmap keeping netlink_has_listeners() lock-free. Signed-off-by: Johannes Berg Acked-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit f9e29228e6f2058e7b086115ecb7008630ebd832 Author: Thomas Klein Date: Wed Jul 18 17:34:09 2007 +0200 eHEA: Fix bonding support The driver didn't allow an interface's MAC address to be modified if the respective interface wasn't setup - a failing Hcall was the result. Thus bonding wasn't usable. The fix moves the failing Hcall which was registering a MAC address for the reception of BC packets in firmware from the port up and down functions to the port resources setup functions. Additionally the missing update of the last_rx member of the netdev structure was added. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit e190d6b140079c104ba57e5130a9b4ebea618e92 Author: Bryan Wu Date: Tue Jul 17 14:43:44 2007 +0800 Blackfin ethernet driver: on chip ethernet MAC controller driver This patch implements the driver necessary use the Analog Devices Blackfin processor's on-chip ethernet MAC controller. [try#2] - add timeout control - kill dma_config_reg bitfields - some trivial cleanup [try#3] - add endianess check - add DRV_NAME, DRV_VERSION... driver information string - add some comments for silicon anomaly and dma API confusion - some code trivial cleanup [try#4] - add Blackfin latest GPIO pin mux opertion with Michael Hennerich's help and Dan's review - rewrite the DMA descriptor list operation in a more readable way by Joe's review [try#5] - cleanup some coding style by Joe's review. [try#6] - 1.1 version fix a bug when set up multicast list pointed by Mr. yoshfuji - rearrange the desc_list_free function. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Michael Buesch Cc: Mike Frysinger Cc: Jeff Garzik Cc: Christoph Hellwig Cc: Dan Williams Cc: Joe Perches Cc: YOSHIFUJI Hideaki Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 308a90683da9a3e3da1023a88496f76f95c5dcd8 Author: Yoichi Yuasa Date: Wed Jul 18 11:13:42 2007 +0900 fix wrong argument of tc35815_read_plat_dev_addr() Fix wrong argument of tc35815_read_plat_dev_addr() Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit c81de6addb913423acef6e692fd70688180ab5dd Author: Ivo van Doorn Date: Wed Jul 18 15:38:03 2007 -0700 [RFKILL]: Make state sysfs writable The rfkill state Sysfs attribute should be made writable, we already pass the argument for the store handler, so we only need to update the permissions flag. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit dbf812d6ae6da1bfd01ea6abc5af60b358e4f9ba Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:45:43 2007 +0900 ARM/ETHER3: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit 82a0244df8165b0345cde5258afe176c12dd1e99 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:46:00 2007 +0900 SAA9730: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit b947dd4b62a6adfd78292319a9d2e6396c1fb064 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:45:50 2007 +0900 NI5010: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit e78af36623b8eeead1c8590b43616eab159526fa Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Jul 17 13:45:54 2007 +0900 NS83820: Handle multicast frames. Signed-off-by: YOSHIFUJI Hideaki -- Signed-off-by: Jeff Garzik commit 7132ab7f6e0309bb8e0424e395ba149aee0c750e Author: Andy Fleming Date: Wed Jul 11 11:43:07 2007 -0500 Fix RGMII-ID handling in gianfar The TSEC/eTSEC can detect the interface to the PHY automatically, but it isn't able to detect whether the RGMII connection needs internal delay. So we need to detect that change in the device tree, propagate it to the platform data, and then check it if we're in RGMII. This fixes a bug on the 8641D HPCN board where the Vitesse PHY doesn't use the delay for RGMII. Signed-off-by: Andy Fleming commit af2d940df2b60b15c271033d381c2f3ead655562 Author: Andy Fleming Date: Wed Jul 11 11:42:35 2007 -0500 Fix Vitesse RGMII-ID support The Vitesse PHY on the 8641D needs to be set up with internal delay to work in RGMII mode. So we add skew when it is set to RGMII_ID mode. Signed-off-by: Andy Fleming Signed-off-by: Haruki Dai Signed-off-by: Haiying Wang commit cc65185d400c4e8698ff1c1b59f90bd491e9bda5 Author: Andy Fleming Date: Tue Jul 10 17:28:49 2007 -0500 Add phy-connection-type to gianfar nodes The TSEC/eTSEC automatically detect their PHY interface type, unless the type is RGMII-ID (RGMII with internal delay). In that situation, it just detects RGMII. In order to fix this, we need to pass in rgmii-id if that is the connection type. Signed-off-by: Andy Fleming commit 1d5e83aac54b64b71b225fd5cf2e82491ad145f6 Author: Andy Fleming Date: Tue Jul 10 16:42:04 2007 -0500 Fix Vitesse 824x PHY interrupt acking The Vitesse 824x PHY doesn't allow an interrupt to be cleared if the mask bit for that interrupt isn't set. This means that the PHY Lib's order of handling interrupts (disable, then clear) breaks on this PHY. However, clearing then disabling the interrupt opens up the code for a silly race condition. So rather than change the PHY Lib, we change the Vitesse driver so it always clears interrupts before disabling them. Further, the ack function only clears the interrupt if interrupts are enabled. Signed-off-by: Andy Fleming Signed-off-by: York Sun Acked-by: Haiying Wang commit 9ee0be05dc69b61e5a869bffebd638b31898dae2 Author: Florin Malita Date: Wed Jul 18 18:04:46 2007 -0400 ISDN HiSax: uninitialized return in hisax_cs_setup Coverity (1792) spotted a possibly uninitialized return value in case of kmalloc() failure: 1116 static int hisax_cs_setup(int cardnr, struct IsdnCard *card, 1117 struct IsdnCardState *cs) 1119 int ret; 1120 1121 if (!(cs->rcvbuf = kmalloc(MAX_DFRAME_LEN_L1, GFP_ATOMIC))) { 1122 printk(KERN_WARNING "HiSax: No memory for isac rcvbuf\n"); 1123 ll_unload(cs); 1124 goto outf_cs; ... 1165 outf_cs: 1166 kfree(cs); 1167 card->cs = NULL; 1168 return ret; The straightforward solution would be to just add the missing initialization but hardcoding the return value in the out_cs branch (only taken on failure) seems to work just as well and it allows killing a couple of other lines too. Signed-off-by: Florin Malita Signed-off-by: Jeff Garzik commit 412edf654a04138805fcda2b46a842f681023eeb Author: Stefan Richter Date: Mon Jul 16 21:05:41 2007 +0200 firewire: fw-sbp2: convert to new SCSI data buffer accessors Signed-off-by: Stefan Richter commit 9c9bdf4d50730fd04b06077e22d7a83b585f26b5 Author: Stefan Richter Date: Tue Jul 17 02:15:36 2007 +0200 firewire: fix memory leak of fw_request instances Found and debugged by Jay Fenlason . The bug was especially noticeable with direct I/O over fw-sbp2. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 5d59a6f1ba90f15132d55d9d4d5a632f15a43d84 Author: Stefan Richter Date: Tue Jul 17 02:13:48 2007 +0200 firewire: remove bogus check in fw_core_handle_request This check is bogus: - Maximum asynchronous payload size for S800...S3200 is 4096. - The p->payload_length is totally uninteresting. Only the request->length of the subsequently allocated and initialized struct fw_request is of significance. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit b980f5a224f3df6c884dbf5ae48797ce352ba139 Author: Stefan Richter Date: Thu Jul 12 22:25:14 2007 +0200 firewire: fw-ohci: fix "scheduling while atomic" context_stop is called by bus_reset_tasklet, among else. Signed-off-by: Stefan Richter commit 362e901c65123e0e72a764fcbe6c3d6a2505c7a6 Author: Stefan Richter Date: Thu Jul 12 22:24:19 2007 +0200 firewire: fw-ohci: flush MMIO write before msleep Signed-off-by: Stefan Richter commit 43509d1fece975ac457282ca1137fe438894a81d Author: Roland Dreier Date: Wed Jul 18 13:28:29 2007 -0700 IB/mthca: Simplify use of size0 in work request posting Current code sets size0 to 0 at the start of work request posting functions and then handles size0 == 0 specially within the loop over work requests. Change this so size0 is set along with f0 the first time through the loop (when nreq == 0). This makes the code easier to understand by making it clearer that f0 and size0 are always initialized if nreq != 0 without having to know that size0 == 0 implies nreq == 0. Also annotate size0 with uninitialized_var() so that this doesn't introduce a new compiler warning. Signed-off-by: Roland Dreier commit e535c699bfeafd0380418156f93494e370613e9d Author: Roland Dreier Date: Wed Jul 18 13:21:14 2007 -0700 IB/mthca: Factor out setting WQE UD segment entries Factor code to set UD entries out of the work request posting functions into inline functions set_tavor_ud_seg() and set_arbel_ud_seg(). This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier commit 400ddc11eb01a8d04c580892fde3adbd45ebdc9e Author: Roland Dreier Date: Wed Jul 18 12:55:42 2007 -0700 IB/mthca: Factor out setting WQE remote address and atomic segment entries Factor code to set remote address and atomic segment entries out of the work request posting functions into inline functions set_raddr_seg() and set_atomic_seg(). This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier commit a10d9a71bafd3a283da240d2868e71346d2aef6f Author: Peter Zijlstra Date: Wed Jul 18 20:59:22 2007 +0200 i386: fixup TRACE_IRQ breakage The TRACE_IRQS_ON function in iret_exc: calls a C function without ensuring that the segments are set properly. Move the trace function and the enabling of interrupt into the C stub. Signed-off-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit 29eb51101c02df517ca64ec472d7501127ad1da8 Author: Roland McGrath Date: Mon Jul 16 01:03:16 2007 -0700 Handle bogus %cs selector in single-step instruction decoding The code for LDT segment selectors was not robust in the face of a bogus selector set in %cs via ptrace before the single-step was done. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 0fbfa6a9062c71b62ec216c0294b676b76e41661 Author: Roland Dreier Date: Wed Jul 18 11:47:55 2007 -0700 IB/mlx4: Factor out setting other WQE segments Factor code to set remote address, atomic and datagram segments out of mlx4_ib_post_send() into small helper functions. This doesn't change the generated code in any significant way, and makes the source easier on the eyes. Signed-off-by: Roland Dreier commit 587ca7619a150cef0ce0dd8fd08c367e502f0421 Author: Haavard Skinnemoen Date: Wed Jul 18 20:32:49 2007 +0200 [AVR32] Initialize phy_mask for both macb devices The STK1000 uses pullups on the MDIO lines to the PHY, but they are too weak. This causes the PHY layer to detect PHYs on all possible MII addresses. Mask out all but the correct address to prevent this from happening. Signed-off-by: Haavard Skinnemoen commit 3da86ee4f1884c70edbf76f61bfbbe028d2d1685 Author: Haavard Skinnemoen Date: Wed Jul 18 20:06:04 2007 +0200 [AVR32] Fix atomic_add_unless() and atomic_sub_unless() These functions depend on "result" being initalized to 0, but "result" is not included as an input constraint to the inline assembly block following its initialization, only as an output constraint. Thus gcc thinks it doesn't need to initialize it, so result ends up undefined if the "unless" condition is true. This fixes an oops in sunrpc where the faulty atomics caused rpciod_up() to not start the workqueue as it should. Signed-off-by: Haavard Skinnemoen commit f3e26984f1794f3472a50f330c5561766faa477b Author: Robert P. J. Day Date: Thu Jul 12 18:31:08 2007 -0400 [AVR32] Correct misspelled CONFIG_BLK_DEV_INITRD variable. Signed-off-by: Robert P. J. Day Signed-off-by: Haavard Skinnemoen commit aa15f63790cfd4110ff57c37aa1c6c34133d8a09 Author: Haavard Skinnemoen Date: Fri Jul 13 11:26:01 2007 +0200 [AVR32] Fix build error in parse_tag_rdimg() This code is inside an #ifdef with a misspelled config symbol, so it hasn't been used for a long time. Fix it before fixing the config symbol to keep bisection working. Signed-off-by: Haavard Skinnemoen commit d420d9e32f4bd741b2f0b7227a91941107f96b47 Author: Roland Dreier Date: Wed Jul 18 11:46:27 2007 -0700 IB/mlx4: Factor out setting WQE data segment entries Factor code to set data segment entries out of mlx4_ib_post_send() into set_data_seg(). This cleans up the code and lets the compiler do a better job -- on x86_64: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-16 (-16) function old new delta mlx4_ib_post_send 1598 1582 -16 Signed-off-by: Roland Dreier commit d4003ba0a11f9fb484bd45fd83b75f7108871ef2 Author: Kristoffer Nyborg Gregertsen Date: Fri Jul 6 14:37:30 2007 +0200 [AVR32] Don't wire up macb0 unless SW6 is in default position If the user wants to sacrifice macb0 for more GPIOs, let him. Signed-off-by: Haavard Skinnemoen commit 95a42267cd933a95275c1d6835010d662259f74e Author: Hans-Christian Egtvedt Date: Fri Jul 6 14:34:03 2007 +0200 [AVR32] Wire up SSC platform device 0 as TX on ATSTK1000 board Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 9cf6cf58d06527fc5bc8e2965ddccdeca59ccee3 Author: Hans-Christian Egtvedt Date: Fri Jul 6 14:31:55 2007 +0200 [AVR32] Add Atmel SSC driver platform device to AT32AP architecture This patch adds register definitions, clocks and IRQs to the platform devices. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit e122eaf69422e5d9ce93fc9786099098e3b9e1c4 Author: Haavard Skinnemoen Date: Wed Jun 20 15:29:15 2007 +0200 [AVR32] Remove optimization of unaligned word loads If we let unaligned word loads bypass the generic unaligned handling, gcc may combine it with a swap.b instruction and turn it into a ldwsp instruction, which does not work with unaligned addresses. Revert the optimization to prevent the RNDIS driver from crashing. Hopefully we'll figure something out later (it may be better to do the optimization in gcc.) Signed-off-by: Haavard Skinnemoen commit a8e93ed8cb3d9aa22d192033009357526548c825 Author: David Brownell Date: Tue Jun 12 14:34:47 2007 +0200 [AVR32] Make STK1000 mux settings configurable This adds some STK1002-specific config options covering the jumper settings, so the kernel can automatically be configured to include the relevant devices. One of them replaces the previous internal SW2_DEFAULT setting; SPI config is affected by two of the jumpers; and a fourth one switches between LCD and the second Ethernet connector. (There's more that to be done.) Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 9e58e1855c9815ad4944df90f695a7645c50f463 Author: Hans-Christian Egtvedt Date: Mon Jun 4 16:10:57 2007 +0200 [AVR32] CPU frequency scaling for AT32AP This patch enables CPU frequency scaling for AT32AP devices. This will enable the CPU to scale between the speed of the high speed bus and the master clock and thus save some power. The patch also adds a parent to cpu_clk and a cpu_clk_set_rate to enable changing the CPU clock divider in a sane way. The driver does not check if the given rate is 0, thus resulting in a div by 0. I think this check should be go into the clk_set_rate framework, and not here. Tested on AT32AP7000/ATSTK1000. Hardware documentation can be found in the AT32AP7000 datasheet. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 7a5b80590772c29bba1d54d3685622177d6fe39f Author: Haavard Skinnemoen Date: Mon Jun 4 12:58:30 2007 +0200 [AVR32] Split SM device into PM, RTC, WDT and EIC Split the SM platform device into separate platform devices for PM, RTC, WDT and EIC. This is more correct according to the documentation and allows us to simplify the code a little. Also turn the EIC driver into a real platform driver. Signed-off-by: Haavard Skinnemoen Acked-by: Hans-Christian Egtvedt commit c6083cd61b5a64a1c73d1634744382f54cb99595 Author: David Brownell Date: Fri May 25 18:47:47 2007 -0700 [AVR32] faster avr32 unaligned access Use a more conventional implementation for unaligned access, and include an AT32AP-specific optimization: the CPU will handle unaligned words. The result is always faster and smaller for 8, 16, and 32 bit values. For 64 bit quantities, it's presumably larger. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 3fbc54165d7217abf62b871c0dd074e76ce0eb31 Author: Sam Ravnborg Date: Tue Jul 17 22:27:22 2007 +0200 [PATCH] x86: do not recompile boot for each build Keep the arch/i386/boot directory from being rebuilt every time. Signed-off-by: Sam Ravnborg Signed-off-by: H. Peter Anvin commit 8c027ae2dcfa7b9130941a2a743c735c1fee04ee Author: H. Peter Anvin Date: Mon Jul 16 11:58:24 2007 -0700 [x86 setup] Save/restore DS around invocations of INT 10h There exists at least one card, Trident TVGA8900CL (BIOS dated 1992/9/8) which clobbers DS when "scrolling in an SVGA text mode of more than 800x600 pixels." Although we are extremely unlikely to run into that situation, it is cheap insurance to save and restore DS, and it only adds a grand total of 50 bytes to the total output. Pointed out by Etienne Lorrain. Cc: Etienne Lorrain Signed-off-by: H. Peter Anvin commit 7ad37df02c529525c4ad19035359af89d2d2a5bd Author: H. Peter Anvin Date: Tue Jul 17 16:16:10 2007 -0700 [x86 setup] VGA: Clear the Protect bit before setting the vertical height If the user has asked for the vertical height registers to be recomputed by setting bit 15 in the video mode number, we do so without clearing the Protect bit in the Vertical Retrace Register before setting the Overflow register. As a result, if the VGA BIOS had set the Protect bit, the write to the Overflow register will be dropped, and bits [9:8] of the vertical height will be left unchanged. This is a bug imported from the assembly version of this code. It was pointed out by Etienne Lorrain. Cc: Etienne Lorrain Signed-off-by: H. Peter Anvin commit 5593eaa854d0b23c3b270933a93b9b82946df729 Author: H. Peter Anvin Date: Sat Jul 14 16:47:13 2007 -0700 [x86 setup] Fix assembly constraints Fix incorrect assembly constraints. In particular, fix memory constraints used inside push..pop, which can cause invalid operation since gcc may generate %esp-relative references. Additionally: outl() should have "dN" not "dn". query_mca() shouldn't listen 16/32-bit registers in an 8-bit only context. has_eflag(): the "mask" is only used well after both the stack pointer and the output registers have been touched; this requires the output registers to be earlyclobbers (=&) and the input to exclude memory (so "ri", not "g"). Thanks to Etienne Lorrain and Chuck Ebbert for prompting this review. Cc: Etienne Lorrain Cc: Chuck Ebbert Signed-off-by: H. Peter Anvin commit 9aa3909c0ea33da41755e15182fa4f88ae036d83 Author: H. Peter Anvin Date: Fri Jul 13 16:28:27 2007 -0700 [x86 setup] build/tools.c: fix comment Correct a comment in arch/i386/boot/build/tools.c; we now build the kernel from only two components instead of three, since the boot sector has been integrated in the setup code. Signed-off-by: H. Peter Anvin commit 72af61c6ae6ce6e6b3935a11073b193508cb3b39 Author: H. Peter Anvin Date: Fri Jul 13 16:26:55 2007 -0700 [x86 setup] MAINTAINERS: document x86 setup code git tree Document the existence of a published git tree for the x86 setup code. Signed-off-by: H. Peter Anvin commit 80885456e844552044c8c5f1f9bf0f6773b187ea Author: Roland Dreier Date: Wed Jul 18 11:30:34 2007 -0700 IB/mthca: Factor out setting WQE data segment entries Factor code to set data segment entries out of the work request posting functions into inline functions mthca_set_data_seg() and mthca_set_data_seg_inval(). This makes the code more readable and also allows the compiler to do a better job -- on x86_64: add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-69 (-69) function old new delta mthca_arbel_post_srq_recv 373 369 -4 mthca_arbel_post_receive 570 562 -8 mthca_tavor_post_srq_recv 520 508 -12 mthca_tavor_post_send 1344 1330 -14 mthca_arbel_post_send 1481 1467 -14 mthca_tavor_post_receive 792 775 -17 Signed-off-by: Roland Dreier commit 97989ada7628da262eafb4bebce0a319c7cb0f5f Author: Robert P. J. Day Date: Mon Jul 16 10:47:51 2007 -0300 V4L/DVB (5847): Clean up schedule_timeout calls in cpia2 and ivtv code Signed-off-by: Robert P. J. Day Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f3a43d3082cd9c2308612e0331ad3b1b9d3a7a33 Author: Robert P. J. Day Date: Mon Jul 16 10:46:42 2007 -0300 V4L/DVB (5846): Clean up setting state and scheduling timeouts Replace assignments to "current->state" with the preferred calls to schedule_timeout_interruptible(). Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit bd58df6d522d5a9c791f6a4820e480e9be60650d Author: Hans Verkuil Date: Tue Jul 10 17:47:07 2007 -0300 V4L/DVB (5844): ivtv: add high volume debugging flag Add support for high volume debug messages, allowing them to be turned on selectively. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 90851fe9fad68db24da8cb497bad7327b97ed3d2 Author: Hans Verkuil Date: Tue Jul 10 15:08:33 2007 -0300 V4L/DVB (5843): ivtv: fix missing signal_pending check. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f885969196da6ae905162c0d1c5f0553de12cb40 Author: Hans Verkuil Date: Tue Jul 10 14:58:33 2007 -0300 V4L/DVB (5842): ivtv: Add locking to ensure stream setup is atomic. Starting an MPEG and VBI capture simultaneously caused errors in the VBI setup: this setup was done twice when it should be done only for the first stream that is opened. Added a mutex to prevent this from happening. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0901973f4bde9c1004795c9c2321bdc51f3996f1 Author: Hans Verkuil Date: Tue Jul 10 14:51:33 2007 -0300 V4L/DVB (5841): tveeprom: add support for Philips FQ1216LME MK3 tuner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3ea96615381157fc7b94549db559adabd7d4233f Author: Mauro Carvalho Chehab Date: Mon Jul 16 09:27:20 2007 -0300 V4L/DVB (5840): fix dst and cx24123: tune() callback changed signess for delay tune() dvb_frontend callback changed delay signess: int (*tune)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params, unsigned int mode_flags, - int *delay, + unsigned int *delay, This change caused warnings on cx24123 and dst modules: /home/v4l/master/v4l/cx24123.c:1034: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1782: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1808: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1837: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1860: warning: initialization from incompatible pointer type This patch corrects the function prototype on both modules to follow the core change. Signed-off-by: Mauro Carvalho Chehab commit 260f8d7c4cda79b087a182eb03e8574ba41a171e Author: Oliver Endriss Date: Fri Jul 13 11:54:35 2007 -0300 V4L/DVB (5838): dvb-core: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) Fix signedness warnings (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 0402a6c2aadbd5ff0e70a67f80a4907bf76792c6 Author: Oliver Endriss Date: Thu Jul 12 23:22:59 2007 -0300 V4L/DVB (5837): stv0299: Fix signedness warning (gcc 4.1.1, kernel 2.6.22) Fix signedness warning (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit defd574ec07edaa1587da144d03b18495ab484b1 Author: Oliver Endriss Date: Thu Jul 12 23:08:07 2007 -0300 V4L/DVB (5836): dvb-ttpci: re-initialize aspect ratio and pan scan after arm crash Re-initialize aspect ratio and pan scan after arm crash. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 804b4458943f14bf144d3c3ba50097ced9b27b29 Author: Oliver Endriss Date: Thu Jul 12 20:37:50 2007 -0300 V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22) Fix signedness warnings (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 372280d2a3593e90d8849a5dc5676d2e9799e3a3 Author: Trent Piepho Date: Fri Jul 13 18:46:19 2007 -0300 V4L/DVB (5834): dvb-core: fix signedness warnings and const stripping Make some pointers const, and then delete some now unnecessary casts, which were the wrong signedness anyway, being used to strip the const from another pointer. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit d67be61ebe5efaf9c4c11bf168781d678854c966 Author: Trent Piepho Date: Wed Jul 11 20:28:44 2007 -0300 V4L/DVB (5832): ir-common: optimize bit extract function New code is simpler, shorter, compiles to about half the size, and is 2 to 4 times faster depending on how many bits in the mask are set. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ba2cf98249795f03792d1409a3b6aaa589ea0745 Author: Trent Piepho Date: Thu Jul 5 19:04:27 2007 -0300 V4L/DVB (5831): stradis: use ARRAY_SIZE sizeof(palette2fmt) / sizeof(u32) => ARRAY_SIZE(palette2fmt) Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 59800555f79a52394c3c29e19e448b4635daf14c Author: Marco Gittler Date: Wed Jul 4 19:18:34 2007 -0300 V4L/DVB (5829): Firmware extract and loading for opera dvb-usb update Better way of creating and loading the firmware used. Update for get_dvb_firmware script to extract the files for opera usb-box Help file for creating the firmware added Signed-off-by: Marco Gittler Signed-off-by: Mauro Carvalho Chehab commit b31c33bd8b339e426138dd267ec969291f802a0d Author: Douglas Schilling Landgraf Date: Mon Jul 2 23:16:17 2007 -0300 V4L/DVB (5828): Kconfig: Added GemTek USB radio and removed experimental dependency. Added GemTek USB radio and removed experimental dependency. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 66a17879e9f18a38c4ca5e6ba600a3f5b1b51188 Author: Thierry MERLE Date: Tue Jun 26 16:35:30 2007 -0300 V4L/DVB (5826): Usbvision: video mux cleanup - usbvision_muxsel simplified, now uses some well known constants. - since the decoder needs to change input norm, call to muxsel added when changing video standard. Signed-off-by: Thierry MERLE Acked-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit ffddcaa6ec4e85ed8504deac1f51f44c86ec1d23 Author: Matthew Garrett Date: Sat Jun 30 15:41:27 2007 -0300 V4L/DVB (5825): Alter the tuner type for the WinTV USB UK PAL model. Alter the tuner type for the WinTV USB UK PAL model. Signed-off-by: Matthew Garrett Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit a1bad7773e562f331b5951def24f73c38579e0cb Author: Thierry MERLE Date: Tue Jun 26 16:35:30 2007 -0300 V4L/DVB (5824): Usbvision: Hauppauge WinTV USB SECAM_L fix - Hauppauge WinTV USB SECAM_L fixed (needed some picture X and Y shiftings) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f5c965abdf44ee6983712e54bbbcc7905af56d39 Author: James Le Cuirot Date: Mon Jul 2 12:53:25 2007 -0300 V4L/DVB (5821): Saa7134: add remote control support for LifeView FlyDVB-S LR300 It has been confirmed that the FlyDVB IR codes currently in the kernel work with the LifeView FlyDVB-S LR300. This one line addition adds it to the list of supported cards. Signed-off-by: James Le Cuirot Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9b7cc42917ed07ab75269d35cd7709a5fd6336e0 Author: Mauro Carvalho Chehab Date: Mon Jul 2 15:48:40 2007 -0300 V4L/DVB (5820): Cleanup on cinergyT2: Remove unneeded if(1) Before kernel 2.6.14, the driver checked for status before stopping the thread. So, a compatibility test did exist. After 2.6.14, the if (state) were replaced by: if (1) However, it makes no sense to keep the if(1). Signed-off-by: Mauro Carvalho Chehab commit 18f3fa1e2eab297a2f7ec704385fa0ecfda0de55 Author: Mauro Carvalho Chehab Date: Mon Jul 2 15:39:57 2007 -0300 V4L/DVB (5819): Cleanup: reorder some includes Some includes were added after some non-include macros, on old drivers. Better to keep all includes at the beginning of the files. This change also helps to make backports to properly work at the development tree. Signed-off-by: Mauro Carvalho Chehab commit 7e520d09f1a4b3da1d09a4540e3f4fa852658a0d Author: Jean Delvare Date: Sun Jul 1 18:37:51 2007 -0300 V4L/DVB (5815): Cx88: i2c structure templates clean-up Clean up the use of structure templates in cx88-i2c and cx88-vp3054-i2c. For one thing, a real template is supposed to be read-only. And in some cases it's more efficient to initialize the few fields we need individually. This clean-up shrinks cx88-i2c.o by 33% and cx88-vp3054-i2c.o by 49% (x86_64). Signed-off-by: Jean Delvare Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4de7bb44cc6aa6e0a74f80c628f600da5b8fcd47 Author: Adrian Bunk Date: Sun Jul 1 18:24:33 2007 -0300 V4L/DVB (5814): Unexport dvb_pll_configure Now that it's static, it should no longer be exported to modules... Signed-off-by: Adrian Bunk Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8fb2191a74a0e2a29002c06084e015d33d2ecdda Author: Adrian Bunk Date: Sun Jul 1 18:22:00 2007 -0300 V4L/DVB (5813): TUNER_TEA5761 kconfig fixes The following doesn't make much sense: drivers/media/video/Kconfig: ... config TUNER_TEA5761 tristate "TEA 5761 radio tuner (EXPERIMENTAL)" ... drivers/media/video/Makefile: ... ifneq ($(CONFIG_TUNER_TEA5761),) tuner-objs += tea5761.o endif ... With this setup, TUNER_TEA5761=m is equivalent to TUNER_TEA5761=y. This patch therefore changes TUNER_TEA5761 to a bool. The missing dependency on EXPERIMENTAL the prompt text indicates also gets added by this patch. Additionally, the Makefile entry can now be written in a more compact way. Signed-off-by: Adrian Bunk Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 51b540292a349b380ccc0572401c6ac343acdf4a Author: Matthias Kaehlcke Date: Mon Jul 2 10:19:38 2007 -0300 V4L/DVB (5811): Use mutex instead of semaphore in Virtual Video driver The Virtual Video driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Mauro Carvalho Chehab commit b9378fdbc334d1575b492108eac822a78c0c46d9 Author: Matthias Kaehlcke Date: Mon Jul 2 10:04:52 2007 -0300 V4L/DVB (5809): Use mutex instead of semaphore in Philips webcam driver The Philips webcam driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. -- Signed-off-by: Matthias Kaehlcke Signed-off-by: Mauro Carvalho Chehab commit 55c0d1005a0e5f590f71f918e49bdc81362f93a6 Author: Trent Piepho Date: Fri Jun 29 00:17:36 2007 -0300 V4L/DVB (5807): Bttv: Add support for DBG_[SG]_REGISTER ioctls Adds the advanced debugging register read/write ioctl support to the bttv driver. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8c2c0dfe4da28a152c0de2c2ca3a66c1bc2fef7c Author: Trent Piepho Date: Thu Jun 28 18:30:36 2007 -0300 V4L/DVB (5806): Bttv: Be consistent in using symbolic names instead of constants For svhs, tuner, and tuner_type, be consistent in using UNSET instead of -1. For tuner_type also consistently use the existing constants: 0 => TUNER_TEMIC_PAL 1 => TUNER_PHILIPS_PAL_I 2 => TUNER_PHILIPS_NTSC 4 => TUNER_ABSENT 5 => TUNER_PHILIPS_PAL 21 => TUNER_TEMIC_4039FR5_NTSC 25 => TUNER_LG_PAL_I_FM Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ac7dc84584310a836d13236767d71545f5b695b3 Author: Trent Piepho Date: Thu Jun 28 17:51:08 2007 -0300 V4L/DVB (5805): Bttv: Fix problems with probing for non-existent tuners The bttv driver has code to detect if a tda9887 is present, that was previous used to auto-load the tda9887 driver. Now there is no tda9887 driver, so the code is pointless; it just figures out if it should load the driver and then does nothing. For cards that are defined as having no tuner, the init code would still do i2c probes for various tuner devices and auto-load the tuner module. That can be skipped for cards that don't need it. The code is made to understand that in addition to 'UNSET', 'TUNER_ABSENT' also means no tuner. The tuner into printk()s are also made nicer. Levels are added, INFO or WARNING, depending on the meaning. For cards with no tuner, or no tuner defined, a more informative message is printed. Card has no tuner, before patch: bttv0: tuner type=-1 or bttv0: tuner type=4 After patch: bttv0: tuner absent Card has a tuner, but the type isn't defined, before patch: bttv0: tuner type=-1 After patch: bttv0: tuner type unset [<- also warning now, as the tuner won't work right] Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 27cb786f4ec5fe85e9e2deffa4d33eed2f588cb0 Author: Michael Krufky Date: Thu Jun 28 12:19:20 2007 -0300 V4L/DVB (5803): Bttv: add support for DViCO FusionHDTV 2 add analog video support for DViCO FusionHDTV 2 Thanks to Todd Ignasiak for donating the card. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c350f617ff5440dedea63b9d7826644742ec215d Author: Michael Krufky Date: Wed Jun 27 16:26:32 2007 -0300 V4L/DVB (5801): Tuner: update FCV1236D ranges to match the datasheet Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b82736362b24046d6d2279260ce0b88653dc43da Author: Michael Krufky Date: Wed Jun 27 14:38:45 2007 -0300 V4L/DVB (5800): Tuner: correct description of Philips FCV1236D tuner The old description was "Philips 1236D ATSC/NTSC dual in", which can be confused with other Philips tuner models. This patch corrects the name to "Philips FCV1236D ATSC/NTSC dual in", and updates the range and params array names to match the description. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cd2cd0aad0c8d5d29492335307b371f247b7a60f Author: Michael Krufky Date: Sun Jun 24 18:14:52 2007 -0300 V4L/DVB (5799): Or51211: remove hardcoded fcv1236d tuner programming - Remove hardcoded fcv1236d tuner programmming from or51211.c - Alter dvb-bt8xx for the pcHDTV-2000 to use dvb-pll for fcv1236d support. Thanks to Jarom Hatch for testing this change. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f1b24397e86c4c5b6984e2e67c17a53cdab14b35 Author: Michael Krufky Date: Fri Oct 13 22:18:01 2006 -0300 V4L/DVB (5798): Dvb-pll: add support for Philips fcv1236d This patch adds support to the dvb-pll library for the Philips fcv1236d tuner, based on the FCV1236D datasheet. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d06cdbe59068a143ff2de2474fea62923cb7026f Author: Marco Gittler Date: Thu Jun 28 10:10:00 2007 -0300 V4L/DVB (5795): Fix: remove unused struct that could avoiding load the firmware The dvb_usb_device* d is not used anymore and can be removed. Signed-off-by: Marco Gittler Signed-off-by: Mauro Carvalho Chehab commit 8218b0b2caecf4af55742e12e9986c15605bb197 Author: Michael Krufky Date: Tue Jun 26 13:12:08 2007 -0300 V4L/DVB (5793): Tuner: remove hardware-specific info from public header Move internal structures and debug macros to drivers/media/video/tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bebeaea0a54869b59b45ea22a93f325ce0369d61 Author: Antoine Jacquet Date: Mon Jun 25 16:00:34 2007 -0300 V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970Z Add Trust Powerc@m 970Z (0x06d6:0x003b) to the list of supported devices. Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit ea6337417da26a74a3b91c554ae9823995f8a84d Author: Mauro Carvalho Chehab Date: Mon Jun 25 15:42:01 2007 -0300 V4L/DVB (5791): Fix Kbuild for kbd-ir-i2c Potentially, all board types with I2C and IR support can use an i2c based IR. Currently, the driver is selected only if bt848 or saa7134 boards are selected. Signed-off-by: Mauro Carvalho Chehab commit 2f3ed0538b2ac6d63b95c04b0ee0e7b9ac1ee220 Author: Mauro Carvalho Chehab Date: Mon Jun 25 15:33:41 2007 -0300 V4L/DVB (5790): Fix error handling for stv680 Signed-off-by: Mauro Carvalho Chehab commit 2d9078f73eafb2606e1adbb4e551d0cf1f5daf89 Author: Mauro Carvalho Chehab Date: Mon Jun 25 15:21:05 2007 -0300 V4L/DVB (5789): Fix 3dfx Voodoo entries on Cardlist Signed-off-by: Mauro Carvalho Chehab commit 829ea96477e775df0698b54dbfa913b6b55a4d6d Author: Michael Krufky Date: Mon Jun 25 14:54:09 2007 -0300 V4L/DVB (5788): Cx88-input: convert nested if's to switch..case In the function, cx88_ir_handle_key: - convert nested if statement to a switch..case block Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e7d11ecbde987e56845cff012b4a28d7001667b8 Author: Edgar Pisani Date: Mon Jun 25 14:46:05 2007 -0300 V4L/DVB (5787): Cx88: add remote control support for Leadtek Winfast DTV1000 Signed-off-by: Edgar Pisani Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 39cf1e810a6b464a8469bf318f21206d84ffb1d8 Author: Jan Frey Date: Mon Jun 25 14:34:06 2007 -0300 V4L/DVB (5786): Ir-kbd-i2c: add support for Hauppauge HVR1300 remote - add support for the I2C based IR transceiver of the Hauppauge HVR-1300 - remove bad code from cx88-input.c Signed-off-by: Jan Frey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 434b25263a236c9dd980617d69863ba0eff8c744 Author: Wade Berrier Date: Mon Jun 25 13:02:16 2007 -0300 V4L/DVB (5785): Revisited: 3dfx Voodoo TV 200 (US) Fix support for 3dfx Voodoo TV 200 variant Signed-off-by: Wade Berrier Signed-off-by: Mauro Carvalho Chehab commit 096bb77abac4e44c37870f4f8adaec813295eb23 Author: Michael Krufky Date: Fri Jun 22 17:41:07 2007 -0300 V4L/DVB (5784): Dibusb-mb: fix tuner autodetection regression We must set i2c_msg.addr in order for the autodetection test to succeed! Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7d816b256df83070e75d4f738c10d66bfc192040 Author: Mauro Carvalho Chehab Date: Fri Jun 22 17:26:54 2007 -0300 V4L/DVB (5783): Fix excess of debug messages on cx88-mpeg Closes the issue opened on Kernel bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=8383 There's no need to print timeout without debug turned on: Apr 27 23:02:14 video kernel: cx88[1]/2-mpeg: cx8802_timeout Signed-off-by: Mauro Carvalho Chehab commit 47a9991e806940f400f90d7b9cbcf7c2925e4fce Author: Michael Krufky Date: Tue Jun 12 16:10:51 2007 -0300 V4L/DVB (5780): Dvb: Remove static dependencies on dvb-pll This patch removes all static dependencies on the dvb-pll module. All exported dvb_pll_desc's have been UNexported, and the caller will reference the individual dvb_pll_desc by it's index in the pll_list array. Signed-off-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Patrick Boettcher Acked-by: Oliver Endriss Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6c08d9290e2fc87b217d0f7c9cd67c9240ad7147 Author: Michael Krufky Date: Tue Jun 12 12:43:25 2007 -0300 V4L/DVB (5779): Dibusb-mb: fix broken 'tuner_pass_ctrl' functionality 'tuner_pass_ctrl' functionality of the dib3000-mb devices was broken in the previous changeset: "dibusb-mb: convert pll handling to properly use dvb-pll" This patch fixes this problem by assigning this functionality to the i2c_gate_ctrl callback Signed-off-by: Michael Krufky Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 865dd115c95df6997f3d9dd638e6f92298f0422f Author: Michael Krufky Date: Tue Jun 12 12:40:35 2007 -0300 V4L/DVB (5778): Dvb-usb: kill unused tuner/i2c functions These two functions are no longer being used: dvb_usb_tuner_init_i2c dvb_usb_tuner_set_params_i2c This functionality has been taken over by dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4ce15678926cef4886df46964142fc2520c216cd Author: Trent Piepho Date: Sat Jun 2 16:30:46 2007 -0300 V4L/DVB (5777): Dvb-pll digitv dvb-usb: Eliminate last user of dvb_pll_configure The last user of dvb_pll_configure was the dvb-usb function dvb_usb_tuner_calc_regs(), which was nothing more than a wrapper around dvb_pll_configure(). It's just a copy of the functionality provided by the tuner_ops calc_regs method, and can be deleted. There were two users of dvb_usb_tuner_calc_regs(). One was dvb_usb_tuner_set_params_i2c(), which is converted to use fe->ops.tuner_ops.calc_regs(). The other was the digitv driver. This driver can use one of two demods, mt352 or nxt6000. For the mt352, the driver would set tuner_ops.calc_regs to dvb_usb_tuner_calc_regs(). We can just attach dvb_pll and use the tuner_ops.calc_regs() provided by that module. For the nxt600, the driver would set tuner_ops.set_params to digitv_nxt6000_tuner_set_params. That function would in turn use dvb_usb_tuner_calc_regs(). We convert it to use tuner_ops.calc_regs() instead, and use dvb_pll_attach. The digitv_tuner_attach() needs to know which frontend was attached by digitv_frontend_attach(), since the nxt6000 needs tuner_ops.set_params() to be overridden with digitv_nxt6000_tuner_set_params(). So, to do this a digitv_state that says which frontend was used is added to the dvb_usb_device private state field. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b784e526a8333db57d1b9f385a12553066bdba64 Author: Rafael Bilski Date: Wed Jun 20 05:37:27 2007 -0300 V4L/DVB (5776): Hardware MPEG audio fix for SAA7134 based "KNC One TV-Station DVR" card With previous patch card is generating MPEG audio stream too. Unfortunatly I2S audio output is muted. Unmute it. Signed-off-by: Rafal Bilski Signed-off-by: Mauro Carvalho Chehab commit aac0ca6a8b84541b28af9d18d8b84f90653ce0d0 Author: Rafał Bilski Date: Wed Jun 20 05:36:26 2007 -0300 V4L/DVB (5775): Alsa fix for SAA7134 based "KNC One TV-Station DVR" card Sound recording doesn't work for this card because ACNI and ACPF are not set before snd_card_saa7134_capture_prepare(). As a result timeout occurs. These registers aren't poked because thread never gets wake up signal. ACNI initialization is done in the thread. Sound is muted when capture stops. Shouldn't be because it may be used during TV playback. Signed-off-by: Rafal Bilski Signed-off-by: Mauro Carvalho Chehab commit 6d7930e0cde1b27c3beca399e233be058ac0b93f Author: Michael Krufky Date: Fri Jun 15 19:17:46 2007 -0300 V4L/DVB (5772): Cx88: remove two unused pointers from struct cx8802_dev The following two pointers in struct cx8802_dev are unused - remove them: void* fe_handle; int (*fe_release)(void *handle); Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 302170a4b47e869372974abd885dd11d5536b64a Author: Michael Krufky Date: Fri Jun 15 19:14:52 2007 -0300 V4L/DVB (5771): Get_dvb_firmware: update script for new location Get_dvb_firmware: update script for new location of sp8870 firmware This url is no longer valid: http://www.technotrend.de/new/217g/tt_Premium_217g.zip Replace with: http://www.softwarepatch.pl/9999ccd06a4813cb827dbb0005071c71/tt_Premium_217g.zip Thanks-to: Tobias Stoeber Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f5948bbab04988f2b58e1a7ca893ffcf5dcfa243 Author: Hans Verkuil Date: Sat Jun 16 18:24:47 2007 -0300 V4L/DVB (5770): Ivtv: fix return code of VIDIOC_G/S_FBUF when no FB is present Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 47fd3ba9fc62d23a985f4969719c3091438d21c5 Author: Hans Verkuil Date: Sat Jun 16 17:02:11 2007 -0300 V4L/DVB (5769): Ivtv: fix broken VBI output support The old service_set_out setting was still tested, even though it no longer was ever set and was in fact obsolete. This meant that everything that was written to /dev/vbi16 was ignored. Removed the service_set_out variable altogether and now it works again. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 27b5a3957a205bcaa07952ed27981f69b2b2f764 Author: Hans Verkuil Date: Sat Jun 16 16:46:56 2007 -0300 V4L/DVB (5768): Ivtv: fix converity warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4052fcc7ba32ebd54cc907991cb855d909ce9d1c Author: Luca Risolia Date: Wed Jun 13 15:11:15 2007 -0300 V4L/DVB (5767): ZC0301 driver updates - Make the driver depend on V4L2 only (KConfig) - Better and safe locking mechanism of the device structure on open(), close() and disconnect() - Use kref for handling device deallocation - Generic cleanups Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 3b2ae0be9e246974db65a5bf4ccd2de328f3dede Author: Luca Risolia Date: Wed Jun 13 14:52:01 2007 -0300 V4L/DVB (5766): ET61x251 driver updates - Make the driver depend on V4L2 only (KConfig) - Better and safe locking mechanism of the device structure on open(), close() and disconnect() - Use kref for handling device deallocation - Generic cleanups Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 3770be34199ace8c497ce454cebd7d63347dc4c3 Author: Luca Risolia Date: Wed Jun 13 14:37:50 2007 -0300 V4L/DVB (5765): SN9C1xx driver updates - Add support for pair OV7630+SN9C120 - Better and safe locking mechanism of the device structure on open(), close() and disconnect() - Use kref for handling device deallocation - Generic cleanups Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit a6e2b40cb430e1e3a22fbb56807edebf71bf6188 Author: Mauro Carvalho Chehab Date: Fri Jun 8 08:21:27 2007 -0300 V4L/DVB (5763): Fix tea5761 unselection Signed-off-by: Mauro Carvalho Chehab commit 5d807c9fc3fe8a88f1bb95a54da11cebed1612a6 Author: Michael Krufky Date: Wed Jun 6 16:17:57 2007 -0300 V4L/DVB (5759): Tuner-simple: store tuning operations in tuner_operations struct Create static struct tuner_operations simple_tuner_ops for tuner-simple tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0f838f8d02415a25358850cc32d36cd72c2a798b Author: Michael Krufky Date: Wed Jun 6 16:17:17 2007 -0300 V4L/DVB (5758): Tea5767: store tuning operations in tuner_operations structure Create static struct tuner_operations tea5767_tuner_ops for tea5767 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e407cd54eecc955b2658106403a294612bf4ed66 Author: Michael Krufky Date: Wed Jun 6 16:16:29 2007 -0300 V4L/DVB (5757): Tea5761: store tuning operations in tuner_operations structure Create static struct tuner_operations tea5761_tuner_ops for tea5761 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9af596ebc7ad3afb0df520b4becad915dd5a5584 Author: Michael Krufky Date: Wed Jun 6 16:15:48 2007 -0300 V4L/DVB (5756): Tda9887: store tuning operations in tuner_operations structure Create static struct tuner_operations tda9887_tuner_ops for tda9887 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7fd8b263678ab8430b49c99976ade681f8a78439 Author: Michael Krufky Date: Wed Jun 6 16:15:15 2007 -0300 V4L/DVB (5755): Tda8290: store tuning operations in tuner_operations structure Create static struct tuner_operations tda8290_tuner_ops for tda8290 tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c22bcb07ad4555fe7ac4ce724c8ad1de889f9477 Author: Michael Krufky Date: Wed Jun 6 16:14:18 2007 -0300 V4L/DVB (5754): Mt20xx: store tuning operations in tuner_operations structure Create static struct tuner_operations mt2050_tuner_ops and mt2032_tuner_ops for mt20xx tuning function callback pointers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a91a80a0d1a0a83a94e773ec6245b31b7c4ceed Author: Michael Krufky Date: Wed Jun 6 16:10:39 2007 -0300 V4L/DVB (5753): Tuner: create struct tuner_operations Move tuner callback function pointers out of struct tuner, into struct tuner_operations. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 018ec5440b4994f560cdde78be6fb10d7ab370d7 Author: Mauro Carvalho Chehab Date: Thu Jun 7 08:26:37 2007 -0300 V4L/DVB (5750): Remove obsoleted support for PROC_FS on vicam.c Procfs support on V4L were converted to sysfs support by a pre-2.6 patch: http://www.ussg.iu.edu/hypermail/linux/kernel/0307.1/2356.html There's no sense on keeping the dead code inside vicam.c. Also,it won't work anyway, as part of proc_fs support were previously inside videodev.c. Signed-off-by: Mauro Carvalho Chehab commit 890be2bb55774290479672b98fcb0486b57e758e Author: Mauro Carvalho Chehab Date: Thu Jun 7 08:10:41 2007 -0300 V4L/DVB (5774a): Remove CONFIG_BIGPHYS_AREA from zoran_driver CONFIG_BIGPHYS_AREA is an out-of-tree kernel patch. It makes no sense to keep supporting this on mainstream. The out-of-tree compilation with CONFIG_BIGPHYS_AREA will still be preserved at the v4l-dvb development tree at: http://linuxtv.org/hg/v4l-dvb Signed-off-by: Mauro Carvalho Chehab commit b7c97abd8171709cc35d8aab70b9962fcad9f9fa Author: Michael Krufky Date: Wed Jun 6 15:28:10 2007 -0300 V4L/DVB (5747): Tea5761: remove duplicated "#include " The line, "#include " appears twice. This patch removes the second occurance. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f3a0d86f1dc60c3ae13ccde188c533e58e7e3197 Author: Trent Piepho Date: Mon Jun 4 20:18:51 2007 -0300 V4L/DVB (5745): Dvb: use '+=' instead of '=' for EXTRA_CFLAGS The Makefiles in the dvb directory tree used '=' when defining EXTRA_CFLAGS rather than '+=', which is far more common in the rest of the kernel source. = 14 times (9 of which this patch removes) := 25 times += 123 times This change also has certain advantages for the out of kernel v4l-dvb build system. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 052c50d91642f10e10c3c10837c89a7355881e76 Author: Michael Krufky Date: Mon Jun 4 16:00:45 2007 -0300 V4L/DVB (5743): Tuner: clean up kfree() after release Although it is safe to kfree(NULL), We only need to kfree(priv) if the release callback is undefined. As it stands now, there is some redundancy in the operation of releasing the priv data structures. This patch will call kfree(priv) and set priv to NULL, if the release callback isnt defined. Otherwise, let the release callback handle this itself. Thanks to Mauro Carvalho Chehab for suggesting this. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 024cf53089f7c8e58934407f07ca2a7b5bed3b06 Author: Michael Krufky Date: Mon Jun 4 15:20:11 2007 -0300 V4L/DVB (5742): Tuner: define release callback for mt20xx, tda9887 and tda8290 Define tuner release callbacks for mt20xx, tda9887 and tda8290, so that these drivers can release their own private structures themselves. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit be2b85a13543bbaf1a141b3a54f84c1e3b059e69 Author: Michael Krufky Date: Mon Jun 4 14:40:27 2007 -0300 V4L/DVB (5741): Tuner: add release callback Individual tuner drivers are now allocating memory themselves for their own private data structures. This changeset adds a release callback to the tuner operations, so that newer drivers that may require more complex data structures may release this private data themselves. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9ee476a56c3ee119a02b6823659f5698b1241f04 Author: Adrian Bunk Date: Tue Jun 5 05:22:00 2007 -0300 V4L/DVB (5740): Git-dvb: fix the tea5761 tuner support Due to a typo the tea5761 tuner support was dead code. This patch also fixes a bug in the no longer dead code: A void function can't return anything. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0c71bf1c3065e80cc3ab91293829169bdeda2c42 Author: Robert P. J. Day Date: Tue Jun 5 05:20:56 2007 -0300 V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro. Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit e0099e9edabd855bf83d3f57b1843f0b06bfb19d Author: Michael Krufky Date: Wed May 30 13:29:32 2007 -0300 V4L/DVB (5734): Cx88: kill dev->fw_size Now that cx88-blackbird is only accepting the official firmware image, we no longer have any need to store the size of the firmware inside the cx88 data structure. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 25472237320b4979d38eb15bc842f592c94d20f5 Author: Hans Verkuil Date: Wed May 30 09:39:46 2007 -0300 V4L/DVB (5733): Blackbird should accept only new cx2341x encoding firmwares Remove temporary support for older 256 kB firmwares. ivtv, pvrusb2 and blackbird can now all handle the newer larger firmwares, so support for the older (buggier) firmware can be removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a957641bbafc9f44050c965fe1ddc0f7b771d416 Author: Hans Verkuil Date: Tue May 29 07:18:55 2007 -0300 V4L/DVB (5729): Remove support for 256 Kb firmware files. For backwards compatibility firmware files of 256 Kb were allowed: all drivers have now been updated to support the newer larger firmwares so remove this compatibility code and only support the newer firmware. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 74fa39e5902faf1f5eb3ee642e2e069875a0343e Author: Mauro Carvalho Chehab Date: Tue May 29 07:14:59 2007 -0300 V4L/DVB (5727): Remove VIVI_SCATTER vivi scatter method were used as a proof of concept. It can be safelly removed from mainstream, since the current method is faster and better than the previous solution. Signed-off-by: Mauro Carvalho Chehab commit 3e0e38e6e4b6f64f22f2fb6aca36b25f10f779cb Author: Christoph Hellwig Date: Fri Jun 1 20:15:26 2007 -0300 V4L/DVB (5724): Saa7134-tvaudio: kthread conversion Acked-by: Hermann Pitton Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit b208319993ceff7ebfcc6bb914fe94d29e48a891 Author: Michael Krufky Date: Tue May 29 22:54:06 2007 -0300 V4L/DVB (5719): Tuner: Move device-specific private data out of tuner struct Create private data struct for device specific private data. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 56584c9ea9a6dcd672f97ebfeebc4903e8b903bc Author: Michael Krufky Date: Tue May 29 15:36:37 2007 -0300 V4L/DVB (5718): Mt20xx: whitespace cleanup replace leading spaces with tabs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e02b9a717388c99f2c2ef0aa03f86334bbf8fc7 Author: Douglas Schilling Landgraf Date: Sun May 27 14:05:01 2007 -0300 V4L/DVB (5705): Removed unnecessary .hardware from video_device struct. From: Douglas Schilling Landgraf Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 805b35634b6c349738664619a6d2eb8ece02fe63 Author: Robert P. J. Day Date: Mon May 28 16:21:40 2007 -0300 V4L/DVB (5704): Remove worthless references to obsolete MODULE_PARM macro. Remove the long-dead references to the obsolete MODULE_PARM macro. Given that the first one of those is actually misspelled as "MODULE_PARAM", it's clear that they can't have been doing any good. Acked-by: Thierry Merle Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit 2c8a3a33558d3f5aa18b56eada66fbe712ee6bb7 Author: Dmitry Torokhov Date: Mon Jul 16 09:28:15 2007 -0300 V4L/DVB (5698): Input: drivers/media - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov Acked-by: Thierry Merle Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit afb758c4b03b17ff856f2bd58e488d152b342875 Author: Uwe Bugla Date: Sat May 26 07:56:29 2007 -0300 V4L/DVB (5701): Documentation/dvb/bt8xx.txt update This patch synchronizes the Documentation for bt8xx-based cards to the actual state of kernel 2.6.22-rc1. Signed-off-by: Uwe Bugla Signed-off-by: Manu Abraham Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit d577ee004d1bb4620ae43758ca7a0aa35319faaa Author: Aapo Tahkola Date: Tue May 8 18:33:52 2007 -0300 V4L/DVB (5696): M920x: add missing error handling to prevent syslog spamming Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 3ab3b69de52460ee676304aa773cd37b0b952905 Author: Aapo Tahkola Date: Tue May 8 18:23:38 2007 -0300 V4L/DVB (5695): M920x: enable second adapter on LifeView TV Walker Twin Enable second adapter on LifeView TV Walker Twin DVB-T USB2.0 Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 3847b22ab59a9110c9e7433ac75751070047280e Author: Aapo Tahkola Date: Tue May 8 18:21:47 2007 -0300 V4L/DVB (5694): M920x: fix for Dposh devices Make sure devices manufactured by Dposh are not affected by previous hw pid filtering changes Doing so might crash it. Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 55bbe5ea203373c07c10a9d1d5088dd013345027 Author: Aapo Tahkola Date: Tue May 8 12:56:54 2007 -0300 V4L/DVB (5693): M920x: second endpoint also needs to be changed to alt setting Spotted by Jeremy Nysen. Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 47f8df0fc0a5bd2e7e46ca438715ffa290051f72 Author: Aapo Tahkola Date: Tue May 8 12:03:55 2007 -0300 V4L/DVB (5692): M920x: attempt to fix hw pid filters on second endpoint Signed-off-by: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit 7cb47a14609eed6db2041fd1fe888027b2a3c3e0 Author: Daniel Gimpelevich Date: Thu May 17 18:10:17 2007 -0300 V4L/DVB (5685): Cx88: add support for ADS Tech Instant Video PCI Signed-off-by: Daniel Gimpelevich Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8083c5200e74a5db11c9671bfc1bcaefe8c48737 Author: Dmitry Torokhov Date: Mon May 21 11:51:11 2007 -0300 V4L/DVB (5684): V4L: ir-kbd-i2c - switch to using msecs_to_jiffies() Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit 749823a06e74620ff3fefc75eab9d6fa473a9b39 Author: Dmitry Torokhov Date: Mon May 21 11:48:11 2007 -0300 V4L/DVB (5683): V4L: cx88 - switch to using msecs_to_jiffies() Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit b4ba788425f83e0b402a543c816a1cad01873699 Author: Dmitry Torokhov Date: Mon May 21 11:41:02 2007 -0300 V4L/DVB (5682): SAA7134 - switch to use msecs_to_jiffies() Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit c57032decdd07e531fc557a207c9ecd5eef9274d Author: Mauro Carvalho Chehab Date: Mon May 21 11:39:21 2007 -0300 V4L/DVB (5681): Correct aliases for STD/L and STD/Lc Some macros were using very weird names, like PAL/L (this std doesn't exist). Fixing it. Signed-off-by: Mauro Carvalho Chehab commit 783aa8fa1fe666a039edb784d9458647da97d28a Author: Akinobu Mita Date: Sun May 20 09:12:10 2007 -0300 V4L/DVB (5678): Zr364xx: fix return values This patch fixes several return value related problems in zr364xx. - return -ENOMEM instead of -ENODEV on out of memory - zr364xx checks video_register_device() error only when its return value is -1. But video_register_device() doesn't always return -1 on error. - If usb_register() returns error, module_init() wrongly returns 1: retval = usb_register(&zr364xx_driver) < 0; ... return retval; And it allows the module to be loaded. Because sys_init_module() doesn't see positive return value as error. Signed-off-by: Akinobu Mita Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 1b9d313c38291c6d60f1fbf6a2bc62c484fdaa21 Author: Hans Verkuil Date: Fri May 18 16:18:17 2007 -0300 V4L/DVB (5674): Models 30012-30039 are for a low profile PVR250, not PVR150. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e80666b87b7f832cad7f824c4ec5799b1c99fa5e Author: Hans Verkuil Date: Thu May 17 06:52:32 2007 -0300 V4L/DVB (5671): Autodetect new PVR150 low profile cards. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f72ce644479fc06774367ed3c80d0f94e54d938b Author: Oliver Endriss Date: Sun May 13 23:25:57 2007 -0300 V4L/DVB (5669): Budget-av: Add support for EasyWatch DVB-S (0x1894:0x001b) Add support for Satelco EasyWatch PCI DVB-S card (subsystem 0x1894:0x001b). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 7b68814d797ae29095b7651e172c28a31ee37fda Author: Michael Krufky Date: Tue May 8 18:23:40 2007 -0300 V4L/DVB (5637): Cx88: kill core->pll_desc and core->pll_addr Now that dvb-pll is being used properly in all cx88-dvb instances, the cx88 driver no longer needs to store pll_desc nor pll_addr. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b7754d74d20b701603eacf587a92ec6f71a302e1 Author: Trent Piepho Date: Tue May 8 18:05:16 2007 -0300 V4L/DVB (5636): Integrate all users of the fmd1216 tuner with dvb-pll Enhance the dvb-pll definition of the fmd1216 tuner by adding an init sequence and a sleep sequence. The init sequence sets the AGC control register to 0xa0, selecting the fast time constant and 112 dBuV take-over point. This the recommended value for DVB-T operation. The sleep sequence sets bit P4 (which is believed to turn the analog demodulator on), turns off the tuning voltage, and sets the AGC control register to 0x60 (external AGC voltage, the recommended value for analog operation). The existing dvb-pll users in the cx88 driver, listed below, will gain these init and sleep sequences. CX88_BOARD_HAUPPAUGE_HVR1100 Hauppauge WinTV-HVR1100 DVB-T/Hybrid CX88_BOARD_HAUPPAUGE_HVR1100LP Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profi CX88_BOARD_WINFAST_DTV2000H WinFast DTV2000 H CX88_BOARD_HAUPPAUGE_HVR3000 Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DV CX88_BOARD_HAUPPAUGE_HVR1300 Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encod This non-dvb-pll user in the cx88 driver should only gain the sleep sequence, as it already had an equivalent init sequence. The non-dvb-pll code for this user is removed. X88_BOARD_DNTV_LIVE_DVB_T_PRO digitalnow DNTV Live! DVB-T Pro In these saa7134 driver, these non-dvb-pll users are converted to use dvb-pll: SAA7134_BOARD_MD7134 Medion 7134 SAA7134_BOARD_ASUS_EUROPA2_HYBRID Asus Europa2 OEM The saa7134 functions philips_fmd1216_tuner_init(), philips_fmd1216_tuner_sleep(), and philips_fmd1216_tuner_set_params() are deleted and the dvb-pll versions are used. This should result in equivalent sleep, init, and tuning sequences being sent to the tuner. For the cxusb driver, only one board is effected: USB_PID_MEDION_MD95700 Medion MD95700 This board used dvb_usb_tuner_init_i2c() and dvb_usb_tuner_set_params_i2c() for init and tuning, respectively. These functions are effectively the same as the dvb-pll versions. They call a tuner pass control function defined at the dvb-usb level, but this does not matter, as this card does not have a tuner pass control function (only the dib3000mb does). This board will gain the sleep sequence, while init and tuning should be unchanged. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4919c49278b3299c1373912dec9c3d9cf27ec56d Author: Aapo Tahkola Date: Tue May 8 17:36:40 2007 -0300 V4L/DVB (5628): Add support for A-LINK DTU dvb-t adapter Support for A-LINK DTU(m) is not included in this patch. Signed-off-by: Aapo Tahkola Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit e62a42090cdeaa6bbd3d22fa25309592c5eebbbd Author: Luca Olivetti Date: Mon May 7 16:57:57 2007 -0300 V4L/DVB (5626): Marked af9005 driver as experimental and fix dependencies Marked af9005 driver as experimental and add dependency for qt1010; Added a dependency on qt1010 in Kconfig; Corrected the experimental gain reduction of the mt2060 in case of strong signal (though it is code included in #ifdef 0). Signed-off-by: Luca Olivetti Signed-off-by: Mauro Carvalho Chehab commit af4e067e1dcf926d9523dff11e46c45fd9fa9da2 Author: Luca Olivetti Date: Mon May 7 15:19:32 2007 -0300 V4L/DVB (5625): Add support for the AF9005 demodulator from Afatech Signed-off-by: Luca Olivetti Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 79d3a8bede9350e2ff28b950341dcfead85ba04b Author: Michael Krufky Date: Wed May 9 14:52:52 2007 -0300 V4L/DVB (5652): Dibusb-mb: use dvb_attach for dib3000mb_attach convert calls to dib3000mb_attach to use dvb_attach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fbfee8684ff235c8cc4e8859913a017dabd59c03 Author: Michael Krufky Date: Wed May 9 15:58:17 2007 -0300 V4L/DVB (5651): Dibusb-mb: convert pll handling to properly use dvb-pll moved tda665x pll_init into dvb_pll_desc dvb_pll_tda665x.initdata convert handling of tda665x and tua6010xs to properly use dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9bc7c04852194377fc276072359a19b5134250cc Author: Michael Krufky Date: Wed May 9 13:34:54 2007 -0300 V4L/DVB (5650): Umt-010: trivial whitespace cleanup Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a3497135d829a7911b1b6a7e81ab78066cfa4131 Author: Michael Krufky Date: Wed May 9 13:33:21 2007 -0300 V4L/DVB (5649): Umt-010: convert tua6034 handling to properly use dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 890693925218501f7f7afc4cd6706fc76f395b91 Author: Michael Krufky Date: Wed May 9 11:49:24 2007 -0300 V4L/DVB (5648): Dvb/frontends: remove unnecessary #include's of "dvb-pll.h" These sources do not need to #include "dvb-pll.h" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 480f75acbc1452c0fc7b2ee595bde17c18f798aa Author: Tony Wan Date: Fri May 11 11:33:50 2007 -0300 V4L/DVB (5647): Saa7134: enable ir-remote for 10moons TM300 Using Encore's key codes, we needn't add any additional key table. Signed-off-by: Tony Wan Signed-off-by: Mauro Carvalho Chehab commit aaccb82bdb93889987497b2b712c5160cdf79240 Author: Tony Wan Date: Thu May 10 12:16:47 2007 -0300 V4L/DVB (5646): V4l: saa7134: add support for 10moons TM300 card Support the 10moons TM300 TV card (so called TV Master 3), which is a 10moons saa7130 based board. Here not include features for the IR-remote. It has been tested using TVTIME. The card was auto-detected and all the input sources worked correct with sound. Signed-off-by: Tony Wan Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit c5f48367fe54c46805774eeea8e828de54a5ad7b Author: Thierry MERLE Date: Tue May 8 17:22:29 2007 -0300 V4L/DVB (5644): Usbvision: video_ioctl2 conversion The ioctl entry point, a big switch/case, is splitted in little functions. These functions are set as callbacks for the video_ioctl2 video4linux facility. This improves the driver memory consumption and enables the v4l1 compatibility as a side effect. Signed-off-by: Thierry MERLE Acked-by: Dwaine P. Garden Signed-off-by: Mauro Carvalho Chehab commit ea1f83cee96badc28d3f67ef29ac29c9d0eb0a1b Author: Thierry MERLE Date: Wed May 2 18:43:55 2007 -0300 V4L/DVB (5643): Usbvision: make common video and radio ioctls Radio and video ioctls are the same, delete the usbvision_do_radio_ioctl function add the special cases for radio in usbvision_v4l2_do_ioctl Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 8c7189d1939f6e15c4ebc23a98b3b9f34bd004d7 Author: David Warman Date: Mon Apr 30 14:17:04 2007 -0300 V4L/DVB (5642): add comment that VO_MODE is also being set. usbvision_set_video_format: add comment that VO_MODE is also being set. Signed-off-by: David Warman Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 9fe01e5c297e716c6b50166c3c032a6c07604e5b Author: David Warman Date: Mon Apr 30 14:12:19 2007 -0300 V4L/DVB (5641): change VideoNorm to NTSC for Belkin USB Videobus II Signed-off-by: David Warman Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 9b98fd28b4a181cafaa5247a04d1be6d2ca7c863 Author: Michael Krufky Date: Mon May 7 01:48:56 2007 -0300 V4L/DVB (5635): Budget-av: convert philips sd1878 / tda8261 to use dvb-pll removed philips_sd1878_tda8261_tuner_set_params, using dvb_pll_attach, instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8511df9ec2ef4c33a6b1e76527d5b47da8bc0bb6 Author: Michael Krufky Date: Mon May 7 01:34:36 2007 -0300 V4L/DVB (5634): Saa7134-dvb: convert philips td1316 handling to use dvb-pll removed mt352_aver777_tuner_calc_regs, using dvb_pll_attach, instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4abe9f9d94e60303c30b1a9bbbc8e6532f6138cb Author: Michael Krufky Date: Sat May 5 12:15:57 2007 -0300 V4L/DVB (5633): Tuv1236d: move rf input switching code into dvb-pll This patch removes duplicate code from cx88-dvb and saa7134-dvb that handles rf input switching for the TUV1236d tuner. The functionality is added to dvb-pll, where all the other code that handles the TUV1236d is kept. Signed-off-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 77d675047062d514acdc1bbe9f84658b39f99abe Author: Michael Krufky Date: Sat May 5 12:05:39 2007 -0300 V4L/DVB (5632): Dvb-pll: pass dvb_frontend_parameters to generic set() function Rename dvb_pll_desc.setbw() to set(), and accept struct dvb_frontend_parameters instead of passing both freq and bandwidth, so that this may be used as a generic function. In order to do this, dvb_pll_configure must also be altered in the same manner, to take struct dvb_frontend_parameters instead of freq and bandwidth. Signed-off-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 900858ecb30c27ac94369052be650e25c0fd7d2a Author: Simon Arlott Date: Sun May 6 21:06:32 2007 -0300 V4L/DVB (5631): Dvb-core: Add level fixes to printk()s, plus spelling/grammer All the printks had missing level prefixes so I've fixed these too. Also fixed some grammer errors. Signed-off-by: Simon Arlott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ecf854df72847d90d5e44b6676a855677b5a33df Author: Trent Piepho Date: Sat May 5 20:11:32 2007 -0300 V4L/DVB (5629): Cx88: VP3054 support can't be a module when cx88 is compiled in If cx88 support is compiled into the kernel while vp3054 is left as a module, the kernel will fail to link. Adjust the existing "#if" code in cx88 so that it won't consider vp3054 to be supported in this case. It might make sense to move vp3054 selection into the "customisation" menu instead of a cx88 sub-option (though this is a cx88 feature, there is no extra chip involved). It might also make sense to use dvb_attach() to load vp3054 support. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8573a9e6a8ed724b7e3074dc8762d4117ed0b3aa Author: Mauro Carvalho Chehab Date: Sun Apr 8 01:09:11 2007 -0300 V4L/DVB (5563a): Add experimental support for tea5761 tuner This driver were made based on tea5761 specs. Signed-off-by: Mauro Carvalho Chehab commit 826ea8f22cf612d534f33c492c98f7895043bfd1 Author: Tony Breeds Date: Wed Jul 18 16:17:48 2007 +1000 Revert "[POWERPC] Do firmware feature fixups after features are initialised" This reverts commit 5a26f6bbb767d7ad23311a1e81cfdd2bebefb855. The original patch causes boot failures when built with ppc64_defconfig. The quickest fix is to revert it while alterates are investigated. Signed-off-by: Tony Breeds Signed-off-by: Linus Torvalds commit 4f3731da16678026a564b1d7ae218131e4af6810 Author: Tony Breeds Date: Wed Jul 18 11:03:55 2007 +1000 Fix compile failure in arch/powerpc/kernel/pci-common.c This fixes the fallout from the recent powerpc merge (commit 489de30259e667d7bc47da9da44a0270b050cd97): CC arch/powerpc/kernel/pci-common.o arch/powerpc/kernel/pci-common.c:160: error: conflicting types for 'pcibios_add_platform_entries' include/linux/pci.h:889: error: previous declaration of 'pcibios_add_platform_entries' was here Signed-off-by: Tony Breeds Tested-by: Bret Towe Signed-off-by: Linus Torvalds commit b4e44590f0811e629faf2de4aea15e752d83ce3d Author: Swen Schillig Date: Wed Jul 18 10:55:13 2007 +0200 [SCSI] zfcp: code cleanup improve code for buffer enqueue. easy readability and maintainability. Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit aa551daf5cc6fb6c6e09bb993737f9cd46dc7145 Author: Heiko Carstens Date: Wed Jul 18 10:55:10 2007 +0200 [SCSI] zfcp: NULL vs 0 usage Get rid of two 'warning: Using plain integer as NULL pointer'. Signed-off-by: Heiko Carstens Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 0d661327a7578c3fca43db78f32e92a902237e7a Author: Swen Schillig Date: Wed Jul 18 10:55:08 2007 +0200 [SCSI] zfcp: Replace kmalloc/memset with kzalloc Memory allocated with kmalloc is always initialzed to 0 with memset. Replace the two calls with kzalloc, that already does both steps. Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 08547354c17a50a54906b7936d6ecb05ea39bedd Author: FUJITA Tomonori Date: Sat Jul 7 18:11:35 2007 +0900 [SCSI] libsas: kill unused smp_portal code Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit ba1fc175cc6c0af7e78241e50160344f0f198282 Author: FUJITA Tomonori Date: Mon Jul 9 12:52:08 2007 +0900 [SCSI] libsas: add SAS management protocol handler This patch adds support for SAS Management Protocol (SMP) passthrough support via bsg. aic94xx can use this. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 7aa68e80bd481faae1234bc2a7e4bcc9348f98b4 Author: FUJITA Tomonori Date: Mon Jul 9 12:52:06 2007 +0900 [SCSI] transport_sas: add SAS management protocol support The sas transport class attaches one bsg device to every SAS object (host, device, expander, etc). LLDs can define a function to handle SMP requests via sas_function_template::smp_handler. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3ac709c113daa19e375e8b0fef318fab1713f687 Author: Matthew Wilcox Date: Tue Jul 17 13:38:03 2007 -0600 [SCSI] a4000t, zorro7xx, mvme16x, bvme6000,sim710: xxx_device_remove seems buggy Fix drivers misusing dev_to_shost Some drivers were using dev_to_shost to go from a struct device to the corresponding shost. Unfortunately, dev_to_shost only looks up the tree to find an shost (it's designed to go from a scsi_device or a scsi_target to the parent scsi_host), and these drivers were calling it with the parent of the scsi_host. I've fixed this by saving a pointer to the Scsi_Host in the drvdata, which matches what most scsi drivers do. Signed-off-by: Matthew Wilcox Cc: Geert Uytterhoeven Signed-off-by: James Bottomley commit 88e2f98e1b3eb27ae708daa3b37dd50f3f06c952 Author: Salyzyn, Mark Date: Tue Jul 17 14:01:28 2007 -0400 [SCSI] aacraid: add vpd to inquiry Report VPD inquiry page 0x80 with an unique array creation serial number (CUID). When an array is created, the metadata stored on the physical drives gets an unique serial number. This serial number remains constant through array morphing or migration to other controllers. This patch is a forward port and modification to survive morphing and migration operations, of a similar piece of (un-attributed author) code added to the SLES10 SP1 aacraid driver. To test the results of the patch, observe that /dev/disk/by-id/ entries will show up for the arrays resulting from the udev rules. Also, as per the udev rules, 'scsi_id -g -x -a -s /block/sd? -d /dev/sd?' will report the ID_SERIAL as constructed from the inquiry data. It was reported to me that the 'ADPT' leading the serial number was bad form, that the inquiry vendor field was enough to differentiate the storage uniquely. Subsequent search found that another Adaptec AAC based driver reported the 8 hex serial number only without such adornments, so dropped ADPT to match. Resubmitting the patch with this alteration. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 9ad5204d68a3b48b92907d88d1c28d33fde6ba2a Author: Salyzyn, Mark Date: Tue Jul 17 11:15:08 2007 -0400 [SCSI] aacraid: incorrect dma mapping mask during blinkled recover or user initiated reset Incorrect dma mask was used for blinkled (firmware assert) recovery or user initiated reset during initialization portion. Ensure that all callers of aac_fib_map_free null out the fib allocation references to prevent multiple free. Although serious sounding, no reports of these problems have surfaced... Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit fd622b1b4ef976fab4d2ac1cd5c8f4aece805765 Author: Salyzyn, Mark Date: Tue Jul 17 10:59:19 2007 -0400 [SCSI] aacraid: correct valid container response in management ioctl During an Adapter Initiated scan request, the query disk ioctl reports a value of 2 rather than 1 for the valid field. This presents a problem for some legacy management applications. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit ef1d8df72fce074584244a8e3c4ae91606ccd784 Author: Prakash, Sathya Date: Tue Jul 17 14:18:41 2007 +0530 [SCSI] mpt fusion: add support for Brocade branded LSI FC HBA Add support for Brocade 410/420 4Gbit FC HBAs. They are re-branded LSI HBAs [LSI7104EP-LC/LSI7204EP-LC] Signed-off-by: Sathya Prakash Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 57ce21bfccaf3b24296f1e097682177e49017a57 Author: Prakash, Sathya Date: Mon Jul 2 17:04:10 2007 +0530 [SCSI] mpt fusion: deregister from transport layer if PCI registration failed The mptspi and mptsas drivers are modified to deregister from transport layer if registration with PCI driver failed Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 0c8db6beb81a07147f64cffd33bd43b9e96f4f40 Author: Prakash, Sathya Date: Tue Jul 17 13:40:10 2007 +0530 [SCSI] add PCI_VENDOR_ID macro for Brocade in pci_ids.h Adds PCI_VENDOR_ID_BROCADE macro in include/linux/pci_ids.h file. This macro is used in MPT Fusion FC drivers to support Brocade branded FC controllers signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit edb9068d0d7a3ba92f66b8c86cba625f3a439f64 Author: Prakash, Sathya Date: Tue Jul 17 14:39:14 2007 +0530 [SCSI] mpt fusion: add sysfs attributes to display IOC parameters New sysfs scsi_host attributes are added to provide information about Firmware version, BIOS version, MPI version and other product related information signed-off-by: Sathya Praksh Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit fc6e740d0b8619b7e5b6a1899d2db73e309de6a5 Author: Jan Engelhardt Date: Mon Jul 9 12:00:08 2007 -0700 [SCSI] Use menuconfig objects 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 Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 072c3a9d4fe8d270d0b0a8e2c2e34b7f253ceab1 Author: Adrian Bunk Date: Mon Jul 9 12:00:01 2007 -0700 [SCSI] seagate: make seagate_st0x_detect() static seagate_st0x_detect() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 078dda95c521b1c78d1b5da69ac90d581abc9951 Author: Adrian Bunk Date: Mon Jul 9 12:00:01 2007 -0700 [SCSI] wd33c93: cleanups - #include for getting the prototypes of {dis,en}able_irq() - make the needlessly global wd33c93_setup() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 44818efbad185eea75adad0e8cab97650a7370ab Author: Adrian Bunk Date: Mon Jul 9 11:59:59 2007 -0700 [SCSI] small cleanups This patch contains the following cleanups: - make needlessly global functions static - every file should #include the headers containing the prototypes for it's global functions Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9d720d82dc295521d70939c3f5edd54050730f09 Author: James Bottomley Date: Mon Jul 16 13:15:51 2007 -0500 [SCSI] libsas: fix lockdep issue with ATA lockdep noticed that with ATA support the port->dev_list_lock was entangled at irq context, so it now needs to become IRQ safe Signed-off-by: James Bottomley commit 0f05df8b3b41bc258bdf520b72e8cf7c524048b7 Author: James Bottomley Date: Mon Jul 16 13:41:04 2007 -0500 [SCSI] libsas, aic94xx: fix dma mapping cockups with ATA This one was noticed by Gilbert Wu of Adaptec: The libata core actually does the DMA mapping for you, so there has to be an exception in the device drivers that *don't* do dma mapping for ATA commands. However, since we've already done this, libsas must now dma map any ATA commands that it wishes to issue ... and yes, this is a horrible mess. Additionally, the test in aic94xx for ATA protocols isn't quite right. Signed-off-by: James Bottomley commit 3a2755af37b317d47fdc3dd15178adaf5d47263e Author: Darrick J. Wong Date: Tue Jan 30 01:18:58 2007 -0800 [SCSI] sas_ata: Implement sas_task_abort for ATA devices ATA devices need special handling for sas_task_abort. If the ATA command came from SCSI, then we merely need to tell SCSI to abort the scsi_cmnd. However, internal commands require a bit more work--we need to fill the qc with the appropriate error status and complete the command, and eventually post_internal will issue the actual ABORT TASK. Signed-off-by: James Bottomley commit fe059f122fb9d1bd3a629d4215a4dde11df66f98 Author: Darrick J. Wong Date: Tue Jan 30 01:18:55 2007 -0800 [SCSI] sas_ata: Assign sas_task to scsi_cmnd to enable EH for ATA devices The SATL should connect the scsi_cmnd to the sas_task (despite the presence of libata) so that requests to abort scsi_cmnds headed to the ATA device can be processed by the EH and aborted correctly. The abort status should still be propagated from sas -> ata -> scsi. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 5986c3d305f497d3ff33d65e4d9ff6d00121407b Author: Darrick J. Wong Date: Tue Jan 30 01:18:52 2007 -0800 [SCSI] libsas: Unknown STP devices should be reported to libata as unknown. When libsas encounters a STP device whose protocol isn't recognized (i.e. not ATA or ATAPI), we should set the ata_device's class to ATA_DEV_UNKNOWN instead of ATA_DEV_ATA. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit d97db63f8dd22e7b669982e47db0c5e3f569a6b5 Author: Darrick J. Wong Date: Tue Jan 30 01:18:49 2007 -0800 [SCSI] libsas: Accept SAM_GOOD for ATAPI devices in sas_ata_task_done A sas_task sent to an ATAPI devices returns SAM_GOOD if successful. Therefore, we should treat this the same way we treat ATA commands that succeed. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 38691593cda9674f41d8708eaa73b0b7e14e95c3 Author: Darrick J. Wong Date: Tue Jan 30 01:18:44 2007 -0800 [SCSI] sas_ata: Don't copy aic94xx's sactive to ata_port Since the aic94xx sequencer assigns its own NCQ tags to ATA commands, it no longer makes any sense to copy the sactive field in the STP response to ata_port->sactive, as that will confuse libata. Also, libata seems to be capable of managing sactive on its own. The attached patch gets rid of one of the causes of the BUG messages in ata_qc_new, and seems to work without problems on an IBM x206m. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 1c50dc83f9ca752b1e1b985f1ce33d2695103ffa Author: Darrick J. Wong Date: Tue Jan 30 01:18:41 2007 -0800 [SCSI] sas_ata: ata_post_internal should abort the sas_task This patch adds a new field, lldd_task, to ata_queued_cmd so that libata users such as libsas can associate some data with a qc. The particular ambition with this patch is to associate a sas_task with a qc; that way, if libata decides to timeout a command, we can come back (in sas_ata_post_internal) and abort the sas task. One question remains: Is it necessary to reset the phy on error, or will the libata error handler take care of it? (Assuming that one is written, of course.) This patch, as it is today, works well enough to clean things up when an ATA device probe attempt fails halfway through the probe, though I'm not sure this is always the right thing to do. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 35a7f2f698d309cc50d98e56312dd907427b7ba4 Author: Darrick J. Wong Date: Tue Jan 30 01:18:38 2007 -0800 [SCSI] sas_ata: sas_ata_qc_issue should return AC_ERR_* The sas_ata_qc_issue function was incorrectly written to return error codes such as -ENOMEM. Since libata OR's qc->err_mask with the return value, It is necessary to make my code return one of the AC_ERR_ codes instead. For now, use AC_ERR_SYSTEM because an error here means that the OS couldn't send the command to the controller. If anybody has a suggestion for a better AC_ERR_ code to use, please suggest it. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 3eb7a51a3ae0ed0227e051ecf75199fccbb4cc73 Author: Darrick J. Wong Date: Tue Jan 30 01:18:35 2007 -0800 [SCSI] sas_ata: Satisfy libata qc function locking requirements ata_qc_complete and ata_sas_queuecmd require that the port lock be held when they are called. sas_ata doesn't do this, leading to BUG messages about qc tags newly allocated qc tags already being in use. This patch fixes the locking, which should clean up the rest of those messages. So far I've tested this against an IBM x206m with two SATA disks with no BUG messages and no other signs of things going wrong, and the machine finally passed the pounder stress test. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit ba330ffebb43c37cabc765c7cb0a80df01554657 Author: Darrick J. Wong Date: Fri Nov 10 16:59:24 2006 -0800 [SCSI] aic94xx: Don't call pci_map_sg for already-mapped scatterlists It turns out that libata has already dma_map_sg'd the scatterlist entries that go with an ata_queued_cmd by the time it calls sas_ata_qc_issue. sas_ata_qc_issue passes this scatterlist to aic94xx. Unfortunately, aic94xx assumes that any scatterlist passed to it needs to be pci_map_sg'd... which blows away the mapping that libata created! This causes (on a x260) Calgary IOMMU table leaks and duplicate frees when aic94xx and libata try to {pci,dma}_unmap_sg the scatterlist. Signed-off-by: Darrick J. Wong Key this check off ATA_PROTOCOL_STP Signed-off-by: James Bottomley commit 338ec57003ff9d7bc1471677e61872455977a5de Author: Darrick J. Wong Date: Wed Oct 18 14:43:37 2006 -0700 [SCSI] Migrate libsas ATA code into a separate file This is a respin of my earlier patch that migrates the ATA support code into a separate file. For now, the controversial linking bits have been removed per James Bottomley's request for a patch that contains only the migration diffs, which means that libsas continues to require libata. I intend to address that problem in a separate patch. This patch is against the aic94xx-sas-2.6 git tree, and it has been sanity tested on my x206m with Seagate SATA and SAS disks without uncovering any new problems. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 0281e02c5671f50701924465744edd3e2feb5d6f Author: James Bottomley Date: Mon Oct 16 13:25:30 2006 -0500 [SCSI] libsas: fixup NCQ for SATA disks We actually had two problems: the one with the tag (which is fixed by zeroing the tag before sending the taskfile to the sequencer) but the other with the fact that we sent our first NCQ command to the device before the sequencer had been informed of the NCQ tagging capabilities. I fixed the latter by moving the rphy_add() to the correct point in the code after the NCQ capabilities are set up. Signed-off-by: James Bottomley commit 528fd55200ec135548e71aee43650bca92a041aa Author: James Bottomley Date: Mon Oct 16 10:57:05 2006 -0500 [SCSI] libsas: better error handling in sas_ex_discover_end_dev() This replaces a few BUG_ON() statements with the correct failure error handling. There are still many more to do. Signed-off-by: James Bottomley commit 27e92471b5d8b3e70646dfaf9369d96773972efd Author: James Bottomley Date: Sun Oct 15 20:24:35 2006 -0500 [SCSI] aic94xx: add SATAPI support It turns out this is fairly easy to plumb in by recognising the three command types and copying the CDB. The protocol response path needs to be amended to cope with SAS_PROTO_RESPONSE. Signed-off-by: James Bottomley commit bdab4e877819cc8b682797901c8b37567fec3c5e Author: Darrick J. Wong Date: Fri Oct 13 16:56:25 2006 -0700 [SCSI] libsas: support NCQ for SATA disks This patch adds SATAII NCQ support to libsas. Both the use_ncq and the dma_xfer flags in ata_task must be set for NCQ to work correctly on the Adaptec SAS controller. The rest of the patch adds ATA_FLAG_NCQ to sata_port_info and sets up ap->scsi_host so that ata_setup_ncq doesn't crash. Please note that this patch is against the aic94xx-sas git tree, not scsi-misc. Thanks also to James Bottomley for providing an earlier version of this patch from which to work. I've tested this patch on a x206m with a ST380819AS SATA2 disk plugged into the Adaptec SAS controller. The drive came up with a queue depth of 31, and I successfully ran an I/O flood test to coerce libata into sending multiple commands simultaneously. A kernel probe recorded the maximum tag number that had been seen before and after the flood test; before the test it was 2 and after it was 30, as I expected. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 797f49de3d95d964a360bcf0167cc20e249bb90b Author: Darrick J. Wong Date: Thu Oct 5 15:12:37 2006 -0700 [SCSI] aic94xx: SATA tag mask not set correctly The aic94xx controller has a bitmask establishing which tags are ok to use with a SATA NCQ disk. When the queue depth is 32, however, the expression that is used sets the mask to zero, not 0xFFFFFFFF. This patch widens the width of the integer so that this case is handled properly. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 38e2f035587b0674b3168931c8402f4d719fdd76 Author: James Bottomley Date: Thu Sep 7 15:52:09 2006 -0500 [SCSI] libsas: fix up sas_smp_phy_control() The prototype of this has changed for the link speed setting patch. Need to update the SATA use of this. Signed-off-by: James Bottomley commit 1acce1942a32296f7c25ba82776c97e9c04c8e1e Author: James Bottomley Date: Tue Aug 22 12:39:19 2006 -0500 [SCSI] libsas: Add SATA support to STP piece for SATA on SAS expanders This patch adds support for SATA over SAS expanders to the previous two SATA support in libsas patches. There were a couple of nasty non trivial things to sort out before this one could be made to work. Firstly, I'd like to thank Doug Gilbert for diagnosing a problem with the LSI expanders where the REPORT_SATA_PHY command was returning the D2H FIS in the wrong order (Although, here, I think I have to blame the SAS standards which specifies the FIS "shall be returned in little endian format" and later on "which means resp[24] shall be FIS type" The latter, of course, implying big endian format). Just to make sure, I put a check for the D2H FIS type being in the wrong position and reverse the FIS data if it is. The second is a problem outlined in Annex G of the SAS standard (again, a technical point with D2H FIS ... necessitating a phy reset on certain conditions). With the patch, I can now see my SATA-1 disk in a cascaded expander configuration. Signed-off-by: James Bottomley commit fa1c1e8f1ece48c7baa3ba529bfd0d10a0bdf4eb Author: Darrick J. Wong Date: Thu Aug 10 19:19:47 2006 -0700 [SCSI] Add SATA support to libsas Hook the scsi_host_template functions in libsas to delegate functionality to libata when appropriate. Signed-off-by: Darrick J. Wong Misc code changes and merge fixes and update for libata->drivers/ata move Signed-off-by: James Bottomley commit dfdcdd42fdf63452ddd1bed6f49ae2a35dfb5d6c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: disable all non-virtual drivers A domU Xen environment has no non-virtual drivers, so make sure they're all disabled at once. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell commit 9ec2b804e099e8a326369e6cccab10dee1d172ee Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: use iret directly when possible Most of the time we can simply use the iret instruction to exit the kernel, rather than having to use the iret hypercall - the only exception is if we're returning into vm86 mode, or from delivering an NMI (which we don't support yet). When running native, iret has the behaviour of testing for a pending interrupt atomically with re-enabling interrupts. Unfortunately there's no way to do this with Xen, so there's a window in which we could get a recursive exception after enabling events but before actually returning to userspace. This causes a problem: if the nested interrupt causes one of the task's TIF_WORK_MASK flags to be set, they will not be checked again before returning to userspace. This means that pending work may be left pending indefinitely, until the process enters and leaves the kernel again. The net effect is that a pending signal or reschedule event could be delayed for an unbounded amount of time. To deal with this, the xen event upcall handler checks to see if the EIP is within the critical section of the iret code, after events are (potentially) enabled up to the iret itself. If its within this range, it calls the iret critical section fixup, which adjusts the stack to deal with any unrestored registers, and then shifts the stack frame up to replace the previous invocation. Signed-off-by: Jeremy Fitzhardinge commit 600b2fc242992e552e0b4e24c8c1f084b341f39b Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: suppress abs symbol warnings for unused reloc pointers arch/i386/xen/xen-asm.S defines some small pieces of code which are used to implement a few paravirt_ops. They're designed so they can be used either in-place, or be inline patched into their callsites if there's enough space. Some of those operations need to make calls out (specifically, if you re-enable events [interrupts], and there's a pending event at that time). These calls need the call instruction to be relocated if the code is patched inline. In this case xen_foo_reloc is a section-relative symbol which points to xen_foo's required relocation. Other operations have no need of a relocation, and so their corresponding xen_bar_reloc is absolute 0. These are the cases which are triggering the warning. This patch adds those symbols to the list of safe abs symbols. Signed-off-by: Jeremy Fitzhardinge Cc: Adrian Bunk commit 6487673b8a858f99a5348e1078b3f5aec700f9e0 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: Attempt to patch inline versions of common operations This patchs adds the mechanism to allow us to patch inline versions of common operations. The implementations of the direct-access versions save_fl, restore_fl, irq_enable and irq_disable are now in assembler, and the same code is used for both out of line and inline uses. Signed-off-by: Jeremy Fitzhardinge Cc: Chris Wright Cc: Keir Fraser commit 60223a326fc8fa6e90e2c3fd28ae6de4a311d731 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: Place vcpu_info structure into per-cpu memory An experimental patch for Xen allows guests to place their vcpu_info structs anywhere. We try to use this to place the vcpu_info into the PDA, which allows direct access. If this works, then switch to using direct access operations for irq_enable, disable, save_fl and restore_fl. Signed-off-by: Jeremy Fitzhardinge Cc: Chris Wright Cc: Keir Fraser commit 3e2b8fbeec8f005672f2a2e862fb9c26a0bafedc Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: handle external requests for shutdown, reboot and sysrq The guest domain can be asked to shutdown or reboot itself, or have a sysrq key injected, via xenbus. This patch adds a watcher for those events, and does the appropriate action. Signed-off-by: Jeremy Fitzhardinge Cc: Chris Wright commit fefa629abebe328cf6d07f99fe5796dbfc3e4981 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:07 2007 -0700 xen: machine operations Make the appropriate hypercalls to halt and reboot the virtual machine. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright commit 0d160211965b79de989cf2d170985abeb8da5ec6 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: add virtual network device driver The network device frontend driver allows the kernel to access network devices exported exported by a virtual machine containing a physical network device driver. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Acked-by: Jeff Garzik Cc: Ian Pratt Cc: Christian Limpach Cc: Stephen Hemminger Cc: Christoph Hellwig Cc: Rusty Russell Cc: Herbert Xu Cc: Keir Fraser Cc: netdev@vger.kernel.org commit 9f27ee595038653ddf8bca871200d39247d6f4fc Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: add virtual block device driver. The block device frontend driver allows the kernel to access block devices exported exported by a virtual machine containing a physical block device driver. Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright Cc: Arjan van de Ven Cc: Greg KH Cc: Jens Axboe commit 4bac07c993d03434ea902d3d4290d9e45944b66c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: add the Xenbus sysfs and virtual device hotplug driver This communicates with the machine control software via a registry residing in a controlling virtual machine. This allows dynamic creation, destruction and modification of virtual device configurations (network devices, block devices and CPUS, to name some examples). [ Greg, would you mind giving this a review? Thanks -J ] Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Greg KH commit ad9a86121f5a374b48ce2924f8a9d7e94a04db27 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: Add grant table support Add Xen 'grant table' driver which allows granting of access to selected local memory pages by other virtual machines and, symmetrically, the mapping of remote memory pages which other virtual machines have granted access to. This driver is a prerequisite for many of the Xen virtual device drivers, which grant the 'device driver domain' restricted and temporary access to only those memory pages that are currently involved in I/O operations. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright commit b536b4b9623084d86f2b1f19cb44a2d6d74f00bf Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: use the hvc console infrastructure for Xen console Implement a Xen back-end for hvc console. * * * Add early printk support via hvc console, enable using "earlyprintk=xen" on the kernel command line. From: Gerd Hoffmann Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Acked-by: Ingo Molnar Acked-by: Olof Johansson commit 8b84ad942b534f8faeb34b68f0f7277ea375fed0 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: hack to prevent bad segment register reload The hypervisor saves and restores the segment registers as part of the state is saves while context switching. If, during a context switch, the next process doesn't use the TLS segments, it invalidates the GDT entry, causing the segment register reload to fault. This fault effectively doubles the cost of a context switch. This patch is a band-aid workaround which clears the usermode %gs after it has been saved for the previous process, but before it gets reloaded for the next, and it avoids having the hypervisor attempt to erroneously reload it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit d66bf8fcf3fce058a1cd164a7c8ee6093fdf039c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: lazy-mmu operations This patch uses the lazy-mmu hooks to batch mmu operations where possible. This is primarily useful for batching operations applied to active pagetables, which happens during mprotect, munmap, mremap and the like (mmap does not do bulk pagetable operations, so it isn't helped). Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright commit f120f13ea0dbb0b0d6675683d5f6faea71277e65 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: Add support for preemption Add Xen support for preemption. This is mostly a cleanup of existing preempt_enable/disable calls, or just comments to explain the current usage. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit f87e4cac4f4e940b328d3deb5b53e642e3881f43 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:06 2007 -0700 xen: SMP guest support This is a fairly straightforward Xen implementation of smp_ops. Xen has its own IPI mechanisms, and has no dependency on any APIC-based IPI. The smp_ops hooks and the flush_tlb_others pv_op allow a Xen guest to avoid all APIC code in arch/i386 (the only apic operation is a single apic_read for the apic version number). One subtle point which needs to be addressed is unpinning pagetables when another cpu may have a lazy tlb reference to the pagetable. Xen will not allow an in-use pagetable to be unpinned, so we must find any other cpus with a reference to the pagetable and get them to shoot down their references. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Benjamin LaHaise Cc: Ingo Molnar Cc: Andi Kleen commit ab55028886dd1dd54585f22bf19a00eb23869340 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: Implement sched_clock Implement xen_sched_clock, which returns the number of ns the current vcpu has been actually in an unstolen state (ie, running or blocked, vs runnable-but-not-running, or offline) since boot. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright Cc: john stultz commit f91a8b447b9af64f589f6e13fec7f09b5927563d Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: Account for stolen time This patch accounts for the time stolen from our VCPUs. Stolen time is time where a vcpu is runnable and could be running, but all available physical CPUs are being used for something else. This accounting gets run on each timer interrupt, just as a way to get it run relatively often, and when interesting things are going on. Stolen time is not really used by much in the kernel; it is reported in /proc/stats, and that's about it. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright Cc: john stultz Cc: Rik van Riel commit 9a4029fd3409eb224eb62c32d9792071382694ec Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: ignore RW mapping of RO pages in pagetable_init When setting up the initial pagetable, which includes mappings of all low physical memory, ignore a mapping which tries to set the RW bit on an RO pte. An RO pte indicates a page which is part of the current pagetable, and so it cannot be allowed to become RW. Once xen_pagetable_setup_done is called, set_pte reverts to its normal behaviour. Signed-off-by: Jeremy Fitzhardinge Acked-by: Chris Wright Cc: ebiederm@xmission.com (Eric W. Biederman) commit f4f97b3ea90130520afb478cbc2918be2b6587b8 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: Complete pagetable pinning Xen requires all active pagetables to be marked read-only. When the base of the pagetable is loaded into %cr3, the hypervisor validates the entire pagetable and only allows the load to proceed if it all checks out. This is pretty slow, so to mitigate this cost Xen has a notion of pinned pagetables. Pinned pagetables are pagetables which are considered to be active even if no processor's cr3 is pointing to is. This means that it must remain read-only and all updates are validated by the hypervisor. This makes context switches much cheaper, because the hypervisor doesn't need to revalidate the pagetable each time. This also adds a new paravirt hook which is called during setup once the zones and memory allocator have been initialized. When the init_mm pagetable is first built, the struct page array does not yet exist, and so there's nowhere to put he init_mm pagetable's PG_pinned flags. Once the zones are initialized and the struct page array exists, we can set the PG_pinned flags for those pages. This patch also adds the Xen support for pte pages allocated out of highmem (highpte) by implementing xen_kmap_atomic_pte. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Zach Amsden commit c85b04c3749507546f6d5868976e4793e35c2ec0 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: add pinned page flag Add a new definition for PG_owner_priv_1 to define PG_pinned on Xen pagetable pages. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit e738fca8d7dffec30eeee231c38f128eed56c8c8 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: configuration Put config options for Xen after the core pieces are in place. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit 15c84731d647c34d1491793fa6be96f5de3432eb Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: time implementation Xen maintains a base clock which measures nanoseconds since system boot. This is provided to guests via a shared page which contains a base time in ns, a tsc timestamp at that point and tsc frequency parameters. Guests can compute the current time by reading the tsc and using it to extrapolate the current time from the basetime. The hypervisor makes sure that the frequency parameters are updated regularly, paricularly if the tsc changes rate or stops. This is implemented as a clocksource, so the interface to the rest of the kernel is a simple clocksource which simply returns the current time directly in nanoseconds. Xen also provides a simple timer mechanism, which allows a timeout to be set in the future. When that time arrives, a timer event is sent to the guest. There are two timer interfaces: - An old one which also delivers a stream of (unused) ticks at 100Hz, and on the same event, the actual timer events. The 100Hz ticks cause a lot of spurious wakeups, but are basically harmless. - The new timer interface doesn't have the 100Hz ticks, and can also fail if the specified time is in the past. This code presents the Xen timer as a clockevent driver, and uses the new interface by preference. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Ingo Molnar Cc: Thomas Gleixner commit e46cdb66c8fc1c8d61cfae0f219ff47ac4b9d531 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:05 2007 -0700 xen: event channels Xen implements interrupts in terms of event channels. Each guest domain gets 1024 event channels which can be used for a variety of purposes, such as Xen timer events, inter-domain events, inter-processor events (IPI) or for real hardware IRQs. Within the kernel, we map the event channels to IRQs, and implement the whole interrupt handling using a Xen irq_chip. Rather than setting NR_IRQ to 1024 under PARAVIRT in order to accomodate Xen, we create a dynamic mapping between event channels and IRQs. Ideally, Linux will eventually move towards dynamically allocating per-irq structures, and we can use a 1:1 mapping between event channels and irqs. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Ingo Molnar Cc: Eric W. Biederman commit 3b827c1b3aadf3adb4c602d19863f2d24e7cbc18 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 xen: virtual mmu Xen pagetable handling, including the machinery to implement direct pagetables. Xen presents the real CPU's pagetables directly to guests, with no added shadowing or other layer of abstraction. Naturally this means the hypervisor must maintain close control over what the guest can put into the pagetable. When the guest modifies the pte/pmd/pgd, it must convert its domain-specific notion of a "physical" pfn into a global machine frame number (mfn) before inserting the entry into the pagetable. Xen will check to make sure the domain is allowed to create a mapping of the given mfn. Xen also requires that all mappings the guest has of its own active pagetable are read-only. This is relatively easy to implement in Linux because all pagetables share the same pte pages for kernel mappings, so updating the pte in one pagetable will implicitly update the mapping in all pagetables. Normally a pagetable becomes active when you point to it with cr3 (or the Xen equivalent), but when you do so, Xen must check the whole pagetable for correctness, which is clearly a performance problem. Xen solves this with pinning which keeps a pagetable effectively active even if its currently unused, which means that all the normal update rules are enforced. This means that it need not revalidate the pagetable when loading cr3. This patch has a first-cut implementation of pinning, but it is more fully implemented in a later patch. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit 5ead97c84fa7d63a6a7a2f4e9f18f452bd109045 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 xen: Core Xen implementation This patch is a rollup of all the core pieces of the Xen implementation, including: - booting and setup - pagetable setup - privileged instructions - segmentation - interrupt flags - upcalls - multicall batching BOOTING AND SETUP The vmlinux image is decorated with ELF notes which tell the Xen domain builder what the kernel's requirements are; the domain builder then constructs the address space accordingly and starts the kernel. Xen has its own entrypoint for the kernel (contained in an ELF note). The ELF notes are set up by xen-head.S, which is included into head.S. In principle it could be linked separately, but it seems to provoke lots of binutils bugs. Because the domain builder starts the kernel in a fairly sane state (32-bit protected mode, paging enabled, flat segments set up), there's not a lot of setup needed before starting the kernel proper. The main steps are: 1. Install the Xen paravirt_ops, which is simply a matter of a structure assignment. 2. Set init_mm to use the Xen-supplied pagetables (analogous to the head.S generated pagetables in a native boot). 3. Reserve address space for Xen, since it takes a chunk at the top of the address space for its own use. 4. Call start_kernel() PAGETABLE SETUP Once we hit the main kernel boot sequence, it will end up calling back via paravirt_ops to set up various pieces of Xen specific state. One of the critical things which requires a bit of extra care is the construction of the initial init_mm pagetable. Because Xen places tight constraints on pagetables (an active pagetable must always be valid, and must always be mapped read-only to the guest domain), we need to be careful when constructing the new pagetable to keep these constraints in mind. It turns out that the easiest way to do this is use the initial Xen-provided pagetable as a template, and then just insert new mappings for memory where a mapping doesn't already exist. This means that during pagetable setup, it uses a special version of xen_set_pte which ignores any attempt to remap a read-only page as read-write (since Xen will map its own initial pagetable as RO), but lets other changes to the ptes happen, so that things like NX are set properly. PRIVILEGED INSTRUCTIONS AND SEGMENTATION When the kernel runs under Xen, it runs in ring 1 rather than ring 0. This means that it is more privileged than user-mode in ring 3, but it still can't run privileged instructions directly. Non-performance critical instructions are dealt with by taking a privilege exception and trapping into the hypervisor and emulating the instruction, but more performance-critical instructions have their own specific paravirt_ops. In many cases we can avoid having to do any hypercalls for these instructions, or the Xen implementation is quite different from the normal native version. The privileged instructions fall into the broad classes of: Segmentation: setting up the GDT and the GDT entries, LDT, TLS and so on. Xen doesn't allow the GDT to be directly modified; all GDT updates are done via hypercalls where the new entries can be validated. This is important because Xen uses segment limits to prevent the guest kernel from damaging the hypervisor itself. Traps and exceptions: Xen uses a special format for trap entrypoints, so when the kernel wants to set an IDT entry, it needs to be converted to the form Xen expects. Xen sets int 0x80 up specially so that the trap goes straight from userspace into the guest kernel without going via the hypervisor. sysenter isn't supported. Kernel stack: The esp0 entry is extracted from the tss and provided to Xen. TLB operations: the various TLB calls are mapped into corresponding Xen hypercalls. Control registers: all the control registers are privileged. The most important is cr3, which points to the base of the current pagetable, and we handle it specially. Another instruction we treat specially is CPUID, even though its not privileged. We want to control what CPU features are visible to the rest of the kernel, and so CPUID ends up going into a paravirt_op. Xen implements this mainly to disable the ACPI and APIC subsystems. INTERRUPT FLAGS Xen maintains its own separate flag for masking events, which is contained within the per-cpu vcpu_info structure. Because the guest kernel runs in ring 1 and not 0, the IF flag in EFLAGS is completely ignored (and must be, because even if a guest domain disables interrupts for itself, it can't disable them overall). (A note on terminology: "events" and interrupts are effectively synonymous. However, rather than using an "enable flag", Xen uses a "mask flag", which blocks event delivery when it is non-zero.) There are paravirt_ops for each of cli/sti/save_fl/restore_fl, which are implemented to manage the Xen event mask state. The only thing worth noting is that when events are unmasked, we need to explicitly see if there's a pending event and call into the hypervisor to make sure it gets delivered. UPCALLS Xen needs a couple of upcall (or callback) functions to be implemented by each guest. One is the event upcalls, which is how events (interrupts, effectively) are delivered to the guests. The other is the failsafe callback, which is used to report errors in either reloading a segment register, or caused by iret. These are implemented in i386/kernel/entry.S so they can jump into the normal iret_exc path when necessary. MULTICALL BATCHING Xen provides a multicall mechanism, which allows multiple hypercalls to be issued at once in order to mitigate the cost of trapping into the hypervisor. This is particularly useful for context switches, since the 4-5 hypercalls they would normally need (reload cr3, update TLS, maybe update LDT) can be reduced to one. This patch implements a generic batching mechanism for hypercalls, which gets used in many places in the Xen code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Ian Pratt Cc: Christian Limpach Cc: Adrian Bunk commit a42089dd358a7673a0a23126589a9029e57c2049 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 xen: Add Xen interface header files Add Xen interface header files. These are taken fairly directly from the Xen tree, but somewhat rearranged to suit the kernel's conventions. Define macros and inline functions for doing hypercalls into the hypervisor. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright commit 24037a8b69dbf15bfed8fd42a2a2e442d7b0395b Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 Add nosegneg capability to the vsyscall page notes Add the "nosegneg" fake capabilty to the vsyscall page notes. This is used by the runtime linker to select a glibc version which then disables negative-offset accesses to the thread-local segment via %gs. These accesses require emulation in Xen (because segments are truncated to protect the hypervisor address space) and avoiding them provides a measurable performance boost. Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright Signed-off-by: Jeremy Fitzhardinge Acked-by: Zachary Amsden Cc: Roland McGrath Cc: Ulrich Drepper commit 688340ea34c61ad12473ccd837325b59aada9a93 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 Add a sched_clock paravirt_op The tsc-based get_scheduled_cycles interface is not a good match for Xen's runstate accounting, which reports everything in nanoseconds. This patch replaces this interface with a sched_clock interface, which matches both Xen and VMI's requirements. In order to do this, we: 1. replace get_scheduled_cycles with sched_clock 2. hoist cycles_2_ns into a common header 3. update vmi accordingly One thing to note: because sched_clock is implemented as a weak function in kernel/sched.c, we must define a real function in order to override this weak binding. This means the usual paravirt_ops technique of using an inline function won't work in this case. Signed-off-by: Jeremy Fitzhardinge Cc: Zachary Amsden Cc: Dan Hecht Cc: john stultz commit d572929cdd12a60732c3522f7cf011bfa29165cf Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 paravirt: helper to disable all IO space In a virtual environment, device drivers such as legacy IDE will waste quite a lot of time probing for their devices which will never appear. This helper function allows a paravirt implementation to lay claim to the whole iomem and ioport space, thereby disabling all device drivers trying to claim IO resources. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Rusty Russell commit 5f4352fbffd6c45123dbce9e195efd54df4e177e Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 Allocate and free vmalloc areas Allocate/release a chunk of vmalloc address space: alloc_vm_area reserves a chunk of address space, and makes sure all the pagetables are constructed for that address range - but no pages. free_vm_area releases the address space range. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Pratt Signed-off-by: Christian Limpach Signed-off-by: Chris Wright Cc: "Jan Beulich" Cc: "Andi Kleen" commit bdef40a6af64a0140a65df49bf504124d57094a9 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:04 2007 -0700 paravirt: export __supported_pte_mask __supported_pte_mask is needed when constructing pte values. Xen device drivers need to do this to make mappings of foreign pages (ie, pages granted to us by other domains). Signed-off-by: Jeremy Fitzhardinge commit c70df74376c1e29a04e07e23dd3f4c384d6166dd Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: make siblingmap functions visible Paravirt implementations need to set the sibling map on new cpus. Signed-off-by: Jeremy Fitzhardinge commit 724faa89ccd8fae65f3d41a47b0e1034cf07918b Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: unstatic smp_store_cpu_info Paravirt implementations need to store cpu info when bringing up cpus. Signed-off-by: Jeremy Fitzhardinge commit 53787013248f52af81d99f63454e5a5cf34d6f12 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: unstatic leave_mm Make globally leave_mm visible, specifically so that Xen can use it to shoot-down lazy uses of cr3. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright commit 03f0c2f950f813e3b26c56ed041ba170479d479c Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: increase IRQ limit When running with CONFIG_PARAVIRT, we may want lots of IRQs even if there's no IO APIC. Signed-off-by: Jeremy Fitzhardinge Cc: "Eric W. Biederman" commit 6996d3b63fd9a64341bc80dad1b556fd3eb81272 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: add a hook for once the allocator is ready Add a hook so that the paravirt backend knows when the allocator is ready. This is useful for the obvious reason that the allocator is available, but the other side-effect of having the bootmem allocator available is that each page now has an associated "struct page". Signed-off-by: Jeremy Fitzhardinge commit fdb4c338c8d1d494e17c3422a3ea2129f6791596 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 paravirt: add an "mm" argument to alloc_pt It's useful to know which mm is allocating a pagetable. Xen uses this to determine whether the pagetable being added to is pinned or not. Signed-off-by: Jeremy Fitzhardinge commit 810bab448e563ffd1718d78e9a3756806b626acc Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 use elfnote.h to generate vsyscall notes. Use existing elfnote.h to generate vsyscall notes, rather than doing it locally. Changes elfnote.h a bit to suit, since this is the first asm user, and it wasn't quite right. Signed-off-by: Jeremy Fitzhardinge Cc: "Eric W. Biederman" Cc: Roland McGrath Cc: Andrew Morton commit 86313c488a6848b7ec2ba04e74f25f79dd32a0b7 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:03 2007 -0700 usermodehelper: Tidy up waiting Rather than using a tri-state integer for the wait flag in call_usermodehelper_exec, define a proper enum, and use that. I've preserved the integer values so that any callers I've missed should still work OK. Signed-off-by: Jeremy Fitzhardinge Cc: James Bottomley Cc: Randy Dunlap Cc: Christoph Hellwig Cc: Andi Kleen Cc: Paul Mackerras Cc: Johannes Berg Cc: Ralf Baechle Cc: Bjorn Helgaas Cc: Joel Becker Cc: Tony Luck Cc: Kay Sievers Cc: Srivatsa Vaddagiri Cc: Oleg Nesterov Cc: David Howells commit 10a0a8d4e3f6bf2d077f94344441909abe670f5a Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 Add common orderly_poweroff() Various pieces of code around the kernel want to be able to trigger an orderly poweroff. This pulls them together into a single implementation. By default the poweroff command is /sbin/poweroff, but it can be set via sysctl: kernel/poweroff_cmd. This is split at whitespace, so it can include command-line arguments. This patch replaces four other instances of invoking either "poweroff" or "shutdown -h now": two sbus drivers, and acpi thermal management. sparc64 has its own "powerd"; still need to determine whether it should be replaced by orderly_poweroff(). Signed-off-by: Jeremy Fitzhardinge Acked-by: Len Brown Signed-off-by: Chris Wright Cc: Andrew Morton Cc: Randy Dunlap Cc: Andi Kleen Cc: Al Viro Cc: Arnd Bergmann Cc: David S. Miller commit 0ab4dc92278a0f3816e486d6350c6652a72e06c8 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 usermodehelper: split setup from execution Rather than having hundreds of variations of call_usermodehelper for various pieces of usermode state which could be set up, split the info allocation and initialization from the actual process execution. This means the general pattern becomes: info = call_usermodehelper_setup(path, argv, envp); /* basic state */ call_usermodehelper_(info, stuff...); /* extra state */ call_usermodehelper_exec(info, wait); /* run process and free info */ This patch introduces wrappers for all the existing calling styles for call_usermodehelper_*, but folds their implementations into one. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Rusty Russell Cc: David Howells Cc: Bj?rn Steinbrink Cc: Randy Dunlap commit d84d1cc7647c7e4f77d517e2d87b4a106a0420d9 Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 add argv_split() argv_split() is a helper function which takes a string, splits it at whitespace, and returns a NULL-terminated argv vector. This is deliberately simple - it does no quote processing of any kind. [ Seems to me that this is something which is already being done in the kernel, but I couldn't find any other implementations, either to steal or replace. Keep an eye out. ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Andrew Morton Cc: Randy Dunlap commit 1e66df3ee301209f4a38df097d7cc5cb9b367a3f Author: Jeremy Fitzhardinge Date: Tue Jul 17 18:37:02 2007 -0700 add kstrndup Add a kstrndup function, modelled on strndup. Like strndup this returns a string copied into its own allocated memory, but it copies no more than the specified number of bytes from the source. Remove private strndup() from irda code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Cc: Andrew Morton Cc: Randy Dunlap Cc: YOSHIFUJI Hideaki Cc: Akinobu Mita Cc: Arnaldo Carvalho de Melo Cc: Al Viro Cc: Panagiotis Issaris Cc: Rene Scharfe commit 8b4a40809e5330c9da5d20107d693d92d73b31dc Author: Maciej W. Rozycki Date: Wed Jul 18 00:49:11 2007 -0700 zs: move to the serial subsystem This is a reimplementation of the zs driver for the serial subsystem. Any resemblance to the old driver is purely coincidential. ;-) I do hope I got the handling of modem lines right -- better do not tackle me about the issue unless you feel too good... Any users of the old driver: please note the numbers of the serial lines have now been swapped, i.e. ttyS0 <-> ttyS1 and ttyS2 <-> ttyS3. It has to do with the modem lines mentioned above; basically the port A in a given chip has to be initialised before the port B if you want to use the latter as the serial console (which is usually the case), as operations on modem lines of the serial line associated with the port B access both ports (see the comment at the top of the driver for the details of wiring used). Please update your scripts. This is also the reason each SCC now requests an IRQ once only (as seen in "/proc/interrupts") -- the handler takes care of both ports at once as the line associated with the port B has to take status update interrupts from both ports (and yet the line of the port A takes its own for itself too). The old driver never got it right... Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b187f180cc942e50007aa039f8e3a620ee5f3171 Author: Yinghai Lu Date: Wed Jul 18 00:49:10 2007 -0700 serial: add early_serial_setup() back to header file early_serial_setup was removed from serial.h, but forgot to put in serial_8250.h Signed-off-by: Yinghai Lu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04e08d0e9b936b91e761454b3134e260c4f50696 Author: Arnd Bergmann Date: Wed Jul 18 00:49:09 2007 -0700 fbdev: make fb_append_extra_logo() depend on fb=y We can't show the extra logo from boot code if FB is built as a module. Make the FB_LOGO_EXTRA depend on FB=y. Signed-off-by: Arnd Bergmann Cc: Al Viro Cc: "Antonino A. Daplas" Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 851a8a7fd451db3dcd5d44d784083f0f66b24d57 Author: Jesper Juhl Date: Wed Jul 18 00:49:08 2007 -0700 dm: fix memory leak in dm_create_persistent() when starting metadata update thread fails If, in dm_create_persistent(), the call to create_singlethread_workqueue() fails then we'll return without freeing the memory allocated to 'ps', thus leaking sizeof(struct pstore) bytes. This patch fixes the leak. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit add0b43ca67bf281ef7ac8ab47e9ee7b2d97a69f Author: Paul Mundt Date: Wed Jul 18 18:39:45 2007 +0900 UBI: fix compile warning cdev.c whines in current git: drivers/mtd/ubi/cdev.c: In function `major_to_device': drivers/mtd/ubi/cdev.c:67: warning: control reaches end of non-void function Shut it up. Signed-off-by: Paul Mundt Signed-off-by: Artem Bityutskiy commit 784c145444e7dd58ae740d406155b72ac658f151 Author: Artem Bityutskiy Date: Wed Jul 18 13:42:10 2007 +0300 UBI: fix error handling in erase worker Do not switch to read-only mode in case of -EINTR and some other obvious cases. Switch to RO mode only when we do not know what is the error. Reported-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit 63b6c1ed56f69fdd35122dc591164587e3407ba0 Author: Artem Bityutskiy Date: Tue Jul 17 15:04:20 2007 +0300 UBI: fix comments Signed-off-by: Artem Bityutskiy commit 503990ebb21e5aabe497a3eb1d39bef0bbc1be6f Author: Artem Bityutskiy Date: Wed Jul 11 16:03:29 2007 +0300 UBI: remove unneeded error checks Pointed to by viro. Signed-off-by: Artem Bityutskiy commit 2db61c95c03d08bb885c87a816540e75190c924a Author: Fernando Luis Vázquez Cao Date: Wed Jul 11 17:11:45 2007 +0900 UBI: cleanup usage of try_module_get The use of try_module_get(THIS_MODULE) in ubi_get_device_info does not offer real protection against unexpected driver unloads, since we could be preempted before try_modules_get gets executed. It is the caller who should manipulate the refcounts. Besides, ubi_get_device_info is an exported symbol which guarantees protection when accessed through symbol_get. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Artem Bityutskiy commit d08c3b78b8c46a01b8fa59037a0d9fbb777fb465 Author: Vinit Agnihotri Date: Tue Jul 10 13:04:59 2007 +0300 UBI: fix overflow bug I was experiencing overflows in multiplications for volume->used_bytes in vmt.c & vtbl.c, while creating & resizing large volumes. vol->used_bytes is long long however its 2 operands vol->used_ebs & vol->usable_leb_size are int. So their multiplication for larger values causes integer overflows. Typecasting them solves the problem. My machine & flash details: 64Bit dual-core AMD opteron, 1 GB RAM, linux 2.6.18.3. mtd size = 6GB, volume size= 5GB, peb_size = 4MB. heres patch which does the fix. Signed-off-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit 2f3cdb55eef4fa1398965e893f731fb6e6312d34 Author: Artem Bityutskiy Date: Fri Jul 6 14:38:46 2007 +0300 UBI: bugfix in max_sqnum calculation Do not zero max_sqnum after a new volume has been found. Signed-off-by: Artem Bityutskiy commit 76eafe479ec30dd72b8cf209c4f576eac3c93112 Author: Brijesh Singh Date: Fri Jul 6 14:35:43 2007 +0300 UBI: bugfix in sqnum calculation Hi,I came across problem of having two leb with same sequence no.This happens when we continuously write one block again and again and reboot machine before background thread erases those blocks. The problem here was,when we find two blocks with same sequence no,we take the higher one,but we were not updating max seq no,so next block may have the same seqnum. This patch solves this problem. Signed-off-by: Brijesh Singh Signed-off-by: Artem Bityutskiy commit 2f176f79877937082ce052977e552a75e23a73d1 Author: Brijesh Singh Date: Thu Jul 5 15:07:35 2007 +0530 UBI: fix signed-unsigned multiplication There is signed multiplication assigned to unsigned ei.addr in io.c. This causes wrong addresses for big multiplication.This patch solves the problem. Signed-off-by: Brijesh Singh Signed-off-by: Artem Bityutskiy commit 84a925806210e002fab29966c09b9c92f382a79d Author: Artem Bityutskiy Date: Wed Jul 4 16:16:51 2007 +0300 UBI: fix bug in atomic_leb_change() atomic_leb_change() is only allowed for dynamic volumes, so set the volume type correctly. Signed-off-by: Artem Bityutskiy commit a6ded48e34f803fcbb42719cee452d1f18938ec7 Author: Vinit Agnihotri Date: Wed Jul 4 16:35:56 2007 +0300 UBI: fix message Increase UBI devices couter after the message, not before. Signed-off-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit b89044bfa06e8a9a82094fda031cc6d4e8d4a0b0 Author: Artem Bityutskiy Date: Mon Jun 18 16:29:30 2007 +0300 UBI: fix debugging stuff Do not check volumes which are currently in use because thay may be in inconsistent state. Signed-off-by: Artem Bityutskiy commit 94784d916458d51043ba76849b9beaf330baef2f Author: Artem Bityutskiy Date: Mon Jun 18 12:06:30 2007 +0300 UBI: bugfix in error path When volume creation fails, we have to set ubi->volumes[vol_id] back to NULL. This patch also tweaks some debugging stuff. Signed-off-by: Artem Bityutskiy commit 7753f1692f53d82b4cc08084462b0fd2803c1f04 Author: Vignesh Babu Date: Tue Jun 12 10:31:05 2007 +0530 UBI: use is_power_of_2() Replacing (n & (n-1)) in the context of power of 2 checks with is_power_of_2 Signed-off-by: Vignesh Babu Signed-off-by: Artem Bityutskiy commit d7f0c4dc31f1297a613f1e61a7d682dc9a5e859a Author: Vinit Agnihotri Date: Fri Jun 15 15:31:22 2007 +0530 UBI: fix freeing ubi->vtbl while unloading ubi->vtbl is allocated using vmalloc() in vtbl.c empty_create_lvol(), but it is freed in build.c with kfree() Signed-off-by: Vinit Agnihotri Signed-off-by: Artem Bityutskiy commit 21600546ab84e451adb88771b52b64b97866a444 Author: Artem Bityutskiy Date: Tue May 22 12:23:21 2007 +0300 UBI: fix MAINTAINERS Fix UBI git tree URL. Signed-off-by: Artem Bityutskiy commit a443db48e05a8d2d8db0a17409655c58da65a35e Author: Artem Bityutskiy Date: Mon May 21 20:26:05 2007 +0300 UBI: bugfix in ubi_leb_change() Do not call 'ubi_wl_put_peb()' if the LEB was unmapped. Reported-by: Gabor Loki Signed-off-by: Artem Bityutskiy commit 3261ebd7d4194ff30d0eae7ba8d937dcccf7235d Author: Christoph Hellwig Date: Mon May 21 17:41:46 2007 +0300 UBI: kill homegrown endian macros Kill UBI's homegrown endianess handling and replace it with the standard kernel endianess handling. Signed-off-by: Christoph Hellwig Signed-off-by: Artem Bityutskiy commit bf07803a6827ef8d4c9d840a1de800ba36db0213 Author: Christoph Hellwig Date: Thu May 17 16:32:10 2007 +0200 UBI: cleanup ioctl handling - don't do access_ok + get/put user but use the proper macro - remove useless checks Signed-off-by: Christoph Hellwig Signed-off-by: Artem Bityutskiy commit 16d8cd7ce408a20db1ab192e0fb565573e446b28 Author: Artem Bityutskiy Date: Wed May 16 15:49:16 2007 +0300 UBI: error path bugfix No need to unlock the lock, this will be done at out_unlock. Signed-off-by: Artem Bityutskiy commit f800f09bf44871f6c6e4d3e42a60946e1ea51b17 Author: Artem Bityutskiy Date: Sun May 6 16:45:43 2007 +0300 UBI: minor comma fix Use coma at the the last elements of structure initializer. Daniel Stone's explanation: Because it turns: - .attr = foo + .attr = foo, + .bar = baz into: + .bar = baz, i.e., far less likely to screw up a merge. Signed-off-by: Artem Bityutskiy commit 92ad8f37509a7d9d5dd6e0092211b092a7ca7fb1 Author: Artem Bityutskiy Date: Sun May 6 16:12:54 2007 +0300 UBI: use vmalloc for large buffers UBI allocates temporary buffers of PEB size, which may be 256KiB. Use vmalloc instead of kmalloc for such big temporary buffers. Signed-off-by: Artem Bityutskiy commit 79b510c0f21174f4bd055d1aab156e548ae3a5f2 Author: Artem Bityutskiy Date: Sat May 5 17:36:17 2007 +0300 UBI: add few more comments Add few comments above ubi_scan_add_used() to explain why it is so complex. Requested by Satyam Sharma . Signed-off-by: Artem Bityutskiy commit 941dfb07ed91451b1c58626a0d258dfdf468b593 Author: Artem Bityutskiy Date: Sat May 5 16:33:13 2007 +0300 UBI: set correct gluebi device size In case of static volumes, make emulated MTD device size to be equivalent to data size, rather then volume size. Reported-by: John Smith Signed-off-by: Artem Bityutskiy commit 4ab60a0d7c92cab16f7e470f80ea039a0b174bce Author: Artem Bityutskiy Date: Sat May 5 14:59:23 2007 +0300 UBI: do not let to read too much In case of static volumes it is prohibited to read more data then available. Signed-off-by: Artem Bityutskiy commit 78d87c95b89ccf86c142494beada3082810ed368 Author: Artem Bityutskiy Date: Sat May 5 11:24:02 2007 +0300 UBI: fix error path in create_vtbl() There were several bugs in volume table creation error path. Thanks to Satyam Sharma and Florin Malita for finding and analysing them: http://lkml.org/lkml/2007/5/3/274 This patch makes ubi_scan_add_to_list() static and renames it to add_to_list(), just because it is not needed outside scan.c anymore. Signed-off-by: Artem Bityutskiy commit c4e90ec0134d7bedebbe3fe58ed5d431293886d4 Author: Florin Malita Date: Thu May 3 11:49:57 2007 -0400 UBI: fix dereference after kfree Coverity (CID 1614) spotted new_seb being dereferenced after kfree() in create_vtbl's write_error path. Signed-off-by: Florin Malita Signed-off-by: Artem Bityutskiy commit 341e1a0cf2d8965c8b2f7941a6b2f2c2170df469 Author: Artem Bityutskiy Date: Thu May 3 11:59:51 2007 +0300 UBI: fix memory leak in checking code Reported-by: Eric Sesterhenn / Snakebyte Signed-off-by: Artem Bityutskiy commit e9f410b1c035b6e63f0b4c3d6cfe4298d6a04492 Author: Dmitry Monakhov Date: Wed Jul 18 09:09:15 2007 -0400 ext4: extent macros cleanup Use the EXT_LAST_INDEX macro; that's what it's there for. Clean up ext4_ext_ext_grow_indepth() so the correct EXT_FIRST_INDEX or EXT_FIRST_MACRO is used as necessary. The two macros are equivalent, so the C will collapse the if statement out, but it makes the code much more readable. Signed-off-by: Dmitry Monakhov Acked-by: Alex Tomas Signed-off-by: Dave Kleikamp Singed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 26d535ed24f74ce949d7b49e40574c45cd845cdd Author: Dmitry Monakhov Date: Wed Jul 18 08:33:37 2007 -0400 Fix compilation with EXT_DEBUG, also fix leXX_to_cpu conversions. Signed-off-by: Dmitry Monakhov Acked-by: Alex Tomas Signed-off-by: Dave Kleikamp Signed-off-by: "Theodore Ts'o" commit d699594dc151c664a2b307e680a3cd9b7145fd83 Author: Dave Hansen Date: Wed Jul 18 08:33:51 2007 -0400 ext4: remove extra IS_RDONLY() check ext4_change_inode_journal_flag() is only called from one location: ext4_ioctl(EXT3_IOC_SETFLAGS). That ioctl case already has a IS_RDONLY() call in it so this one is superfluous. Signed-off-by: Dave Hansen Cc: Signed-off-by: Andrew Morton Signed-off-by: Dave Kleikamp Signed-off-by: "Theodore Ts'o" commit 1330593eb2d055bdd6ed935886cf2c13c896b288 Author: Vignesh Babu Date: Wed Jul 18 09:11:02 2007 -0400 ext4: Use is_power_of_2() Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2() Signed-off-by: Vignesh Babu Cc: Signed-off-by: Andrew Morton Signed-off-by: Dave Kleikamp Signed-off-by: "Theodore Ts'o" commit fc0e15a667121e02686cc52679f6272959fb60cc Author: Eric Sandeen Date: Wed Jul 18 09:20:44 2007 -0400 Use zero_user_page() in ext4 where possible Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit f8628a14a27eb4512a1ede43de1d9db4d9f92bc3 Author: Andreas Dilger Date: Wed Jul 18 08:38:01 2007 -0400 ext4: Remove 65000 subdirectory limit This patch adds support to ext4 for allowing more than 65000 subdirectories. Currently the maximum number of subdirectories is capped at 32000. If we exceed 65000 subdirectories in an htree directory it sets the inode link count to 1 and no longer counts subdirectories. The directory link count is not actually used when determining if a directory is empty, as that only counts subdirectories and not regular files that might be in there. A EXT4_FEATURE_RO_COMPAT_DIR_NLINK flag has been added and it is set if the subdir count for any directory crosses 65000. A later fsck will clear EXT4_FEATURE_RO_COMPAT_DIR_NLINK if there are no longer any directory with >65000 subdirs. Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: "Theodore Ts'o" commit 6dd4ee7cab7e3a17c571aebd444f4344c8c4946e Author: Kalpak Shah Date: Wed Jul 18 09:19:57 2007 -0400 ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields We need to make sure that existing ext3 filesystems can also avail the new fields that have been added to the ext4 inode. We use s_want_extra_isize and s_min_extra_isize to decide by how much we should expand the inode. If EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature is set then we expand the inode by max(s_want_extra_isize, s_min_extra_isize , sizeof(ext4_inode) - EXT4_GOOD_OLD_INODE_SIZE) bytes. Actually it is still an open question about whether users should be able to set s_*_extra_isize smaller than the known fields or not. This patch also adds the functionality to expand inodes to include the newly added fields. We start by trying to expand by s_want_extra_isize bytes and if its fails we try to expand by s_min_extra_isize bytes. This is done by changing the i_extra_isize if enough space is available in the inode and no EAs are present. If EAs are present and there is enough space in the inode then the EAs in the inode are shifted to make space. If enough space is not available in the inode due to the EAs then 1 or more EAs are shifted to the external EA block. In the worst case when even the external EA block does not have enough space we inform the user that some EA would need to be deleted or s_min_extra_isize would have to be reduced. Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80 Author: Kalpak Shah Date: Wed Jul 18 09:15:20 2007 -0400 ext4: Add nanosecond timestamps This patch adds nanosecond timestamps for ext4. This involves adding *time_extra fields to the ext4_inode to extend the timestamps to 64-bits. Creation time is also added by this patch. These extended fields will fit into an inode if the filesystem was formatted with large inodes (-I 256 or larger) and there are currently no EAs consuming all of the available space. For new inodes we always reserve enough space for the kernel's known extended fields, but for inodes created with an old kernel this might not have been the case. So this patch also adds the EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature flag(ro-compat so that older kernels can't create inodes with a smaller extra_isize). which indicates if the fields fitting inside s_min_extra_isize are available or not. If the expansion of inodes if unsuccessful then this feature will be disabled. This feature is only enabled if requested by the sysadmin. None of the extended inode fields is critical for correct filesystem operation. Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: Eric Sandeen Signed-off-by: Dave Kleikamp Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 0f49d5d019afa4e94253bfc92f0daca3badb990b Author: Jose R. Santos Date: Wed Jul 18 08:50:18 2007 -0400 jbd2: Move jbd2-debug file to debugfs The jbd2-debug file used to be located in /proc/sys/fs/jbd2-debug, but it incorrectly used create_proc_entry() instead of the sysctl routines, and no proc entry was ever created. Instead of fixing this we might as well move the jbd2-debug file to debugfs which would be the preferred location for this kind of tunable. The new location is now /sys/kernel/debug/jbd2/jbd2-debug. Signed-off-by: Jose R. Santos Signed-off-by: "Theodore Ts'o" commit e23291b9120c11aafb2ee76fb71a062eb3c1056c Author: Jose R. Santos Date: Wed Jul 18 08:57:06 2007 -0400 jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG When the JBD code was forked to create the new JBD2 code base, the references to CONFIG_JBD_DEBUG where never changed to CONFIG_JBD2_DEBUG. This patch fixes that. Signed-off-by: Jose R. Santos Signed-off-by: "Theodore Ts'o" commit eb40a09c679d7f9709f7087add57f2e1c7122bb3 Author: Jose R. Santos Date: Wed Jul 18 08:37:25 2007 -0400 ext4: Set the journal JBD2_FEATURE_INCOMPAT_64BIT on large devices Set the journals JBD2_FEATURE_INCOMPAT_64BIT on devices with more than 32bit block sizes during mount time. This ensure proper record lenth when writing to the journal. Signed-off-by: Jose R. Santos Signed-off-by: Andreas Dilger Signed-off-by: Mingming Cao Signed-off-by: Laurent Vivier Signed-off-by: "Theodore Ts'o" commit c29c0ae7f282828da3695167ed870131798348d9 Author: Alex Tomas Date: Wed Jul 18 09:19:09 2007 -0400 ext4: Make extents code sanely handle on-disk corruption Add more run-time checking of extent header fields and remove BUG_ON checks so we don't panic the kernel just because the on-disk filesystem is corrupted. Signed-off-by: Alex Tomas Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit ff9ddf7e847c4dc533f119efb6c77a6e57ab6397 Author: Jan Kara Date: Wed Jul 18 09:24:20 2007 -0400 ext4: copy i_flags to inode flags on write Propagate flags such as S_APPEND, S_IMMUTABLE, etc. from i_flags into ext4-specific i_flags. Quota code changes these flags on quota files (to make it harder for sysadmin to screw himself) and these changes were not correctly propagated into the filesystem. (This is a forward port patch from ext3) Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 1e2462f93e011f63fd0f1fedd2c05338ca6b31c2 Author: Mingming Cao Date: Wed Jul 18 09:00:55 2007 -0400 ext4: Enable extents by default Turn on extents feature by default in ext4 filesystem, to get wider testing of extents feature in ext4dev. This can be disabled using -o noextents. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 749269facaf87f6e516c3af12763e03181b9c139 Author: Amit Arora Date: Wed Jul 18 09:02:56 2007 -0400 Change on-disk format to support 2^15 uninitialized extents This change was suggested by Andreas Dilger. This patch changes the EXT_MAX_LEN value and extent code which marks/checks uninitialized extents. With this change it will be possible to have initialized extents with 2^15 blocks (earlier the max blocks we could have was 2^15 - 1). This way we can have better extent-to-block alignment. Now, maximum number of blocks we can have in an initialized extent is 2^15 and in an uninitialized extent is 2^15 - 1. Signed-off-by: Amit Arora commit 3fd8f9e4b6c184d03d340bc86630f700de967fa8 Author: Cornelia Huck Date: Wed Jul 18 02:38:32 2007 -0700 [NETFILTER]: xt_connlimit needs to depend on nf_conntrack With NF_CONNTRACK=n, NETFILTER_XT_MATCH_CONNLIMIT=m I get the following errors on current git: CC [M] net/netfilter/xt_connlimit.o In file included from net/netfilter/xt_connlimit.c:27: include/net/netfilter/nf_conntrack.h:100: error: field 'ct_general' has incomplete type include/net/netfilter/nf_conntrack.h: In function 'nf_ct_get': include/net/netfilter/nf_conntrack.h:164: error: 'const struct sk_buff' has no member named 'nfct' include/net/netfilter/nf_conntrack.h: In function 'nf_ct_put': include/net/netfilter/nf_conntrack.h:171: warning: implicit declaration of function 'nf_conntrack_put' include/net/netfilter/nf_conntrack.h: In function 'nf_ct_is_untracked': include/net/netfilter/nf_conntrack.h:253: error: 'const struct sk_buff' has no member named 'nfct' In file included from net/netfilter/xt_connlimit.c:28: include/net/netfilter/nf_conntrack_core.h: In function 'nf_conntrack_confirm': include/net/netfilter/nf_conntrack_core.h:68: error: 'struct sk_buff' has no member named 'nfct' Adding a dependency in Kconfig fixes this. Signed-off-by: Cornelia Huck Signed-off-by: David S. Miller commit ebd61cc042b16e6cf2486aafbfff9e4be8c213ee Author: Adrian Bunk Date: Wed Jul 18 02:21:50 2007 -0700 [NETFILTER]: ipt_iprange.h must #include ipt_iprange.h must #include since it uses __be32. This patch fixes kernel Bugzilla #7604. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 75a69ac6d66d2504ecbc4b46645fb0835a55a57c Author: Samuel Ortiz Date: Wed Jul 18 02:16:30 2007 -0700 [IrDA]: Fix IrDA build failure When having built-in IrDA, we hit the following error: `irda_sysctl_unregister' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irda_proc_unregister' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irsock_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irttp_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `iriap_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irda_device_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irlap_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o `irlmp_cleanup' referenced in section `.init.text' of net/built-in.o: defined in discarded section `.exit.text' of net/built-in.o make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [_all] Error 2 This is due to the irda_init fix recently added, where we call __exit routines from an __init one. It is a build failure that I didn't catch because it doesn't show up when building IrDA as a module. My apologies for that. The following patch fixes that failure and is against your net-2.6 tree. I hope it can make it to the merge window, and stable@kernel.org is CCed on this mail. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 83ca46e7ac7b2883ae7d02503a01e8f1578afe4e Author: Stephen Rothwell Date: Wed Jul 18 02:13:42 2007 -0700 [ATM]: nicstar needs virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 12972621c8a18465e3d20cc8e3006a8b7f7788df Author: Denis Cheng Date: Wed Jul 18 02:12:56 2007 -0700 [NET]: move __dev_addr_discard adjacent to dev_addr_discard for readability Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 26cc2522cb6ebf0c1c736485e102e9654cde1145 Author: Denis Cheng Date: Wed Jul 18 02:12:03 2007 -0700 [NET]: merge dev_unicast_discard and dev_mc_discard into one this two functions could share the dev->_xmit_lock acquired context. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 456ad75c89cdb72e11dcdb6b0794802a6f50c8a3 Author: Denis Cheng Date: Wed Jul 18 02:10:54 2007 -0700 [NET]: move dev_mc_discard from dev_mcast.c to dev.c Because this function is only called by unregister_netdevice, this moving could make this non-global function static, and also remove its declaration in netdevice.h; Any further, function __dev_addr_discard is also just called by dev_mc_discard and dev_unicast_discard, keeping this two functions both in one c file could make __dev_addr_discard also static and remove its declaration in netdevice.h; Futhermore, the sequential call to dev_unicast_discard and then dev_mc_discard in unregister_netdevice have a similar mechanism that: (netif_tx_lock_bh / __dev_addr_discard / netif_tx_unlock_bh), they should merged into one to eliminate duplicates in acquiring and releasing the dev->_xmit_lock, this would be done in my following patch. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit eb4965344965530411359891214cd6fcab483649 Author: Johannes Berg Date: Wed Jul 18 02:07:51 2007 -0700 [NETLINK]: negative groups in netlink_setsockopt Reading netlink_setsockopt it's not immediately clear why there isn't a bug when you pass in negative numbers, the reason being that the >= comparison is really unsigned although 'val' is signed because nlk->ngroups is unsigned. Make 'val' unsigned too. [ Update the get_user() cast to match. --DaveM ] Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit f77ae9390438409b535f3b1854672e54120cd38b Author: Patrick McHardy Date: Wed Jul 18 02:04:39 2007 -0700 [PPPOL2TP]: Reset meta-data in xmit function Reset netfilter data and IP CB, fix dst_entry leak. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d4372b5ae2f891e8bfa96c98d450255f58b4dc1 Author: Patrick McHardy Date: Wed Jul 18 02:04:09 2007 -0700 [PPPOL2TP]: Fix use-after-free Don't use skb->len after passing it to ip_queue_xmit. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 99acaeb92fc2d52900f00b8e926d9ad81b6e93bb Author: Gabriel Craciunescu Date: Wed Jul 18 02:00:04 2007 -0700 [PKT_SCHED]: Some typo fixes in net/sched/Kconfig Signed-off-by: Gabriel Craciunescu Signed-off-by: David S. Miller commit bd0bf0765ea1fba80d7085e1f0375ec045631dc1 Author: Patrick McHardy Date: Wed Jul 18 01:55:52 2007 -0700 [XFRM]: Fix crash introduced by struct dst_entry reordering XFRM expects xfrm_dst->u.next to be same pointer as dst->next, which was broken by the dst_entry reordering in commit 1e19e02c~, causing an oops in xfrm_bundle_ok when walking the bundle upwards. Kill xfrm_dst->u.next and change the only user to use dst->next instead. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 16751347a060a10c09b11593bb179fd5b0240c04 Author: Stephen Hemminger Date: Mon Jul 16 18:35:52 2007 -0700 [TCP]: remove unused argument to cong_avoid op None of the existing TCP congestion controls use the rtt value pased in the ca_ops->cong_avoid interface. Which is lucky because seq_rtt could have been -1 when handling a duplicate ack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 44beac008631d1b8a52f103e04eacba2bda81511 Author: Robert P. J. Day Date: Mon Jul 16 18:35:07 2007 -0700 [ATM]: [idt77252] Rename CONFIG_ATM_IDT77252_SEND_IDLE to not resemble a Kconfig variable Signed-off-by: Robert P. J. Day Signed-off-by: chas williams Signed-off-by: David S. Miller commit 78e4be16e0563bb6bf25c178d1eb2f5f6f622eb2 Author: Amol Lad Date: Mon Jul 16 18:34:36 2007 -0700 [ATM]: [drivers] ioremap balanced with iounmap Signed-off-by: Amol Lad Signed-off-by: chas williams Signed-off-by: David S. Miller commit de24a193124e40fc4f23160336982de1565d51fc Author: Adrian Bunk Date: Mon Jul 16 18:34:04 2007 -0700 [ATM]: [lanai] sram_test_word() must be __devinit Signed-off-by: Adrian Bunk Signed-off-by: chas williams Signed-off-by: David S. Miller commit 2db84a8699db45c1c62dccdad61323eab56c111e Author: Robert P. J. Day Date: Mon Jul 16 18:31:51 2007 -0700 [ATM]: [nicstar] Replace C code with call to ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: chas williams Signed-off-by: David S. Miller commit b5492c4ed7a3fbbfa1a62db54e4934fd0b6a45ac Author: Robert P. J. Day Date: Mon Jul 16 18:31:24 2007 -0700 [ATM]: Eliminate dead config variable CONFIG_BR2684_FAST_TRANS. Signed-off-by: chas williams Signed-off-by: David S. Miller commit 782f7956891c95e54c5b008b24ebf9e82fd84796 Author: vignesh babu Date: Mon Jul 16 18:30:36 2007 -0700 [ATM]: Replacing kmalloc/memset combination with kzalloc. Signed-off-by: vignesh babu Signed-off-by: chas williams Signed-off-by: David S. Miller commit 0929c2dd83317813425b937fbc0041013b8685ff Author: Ranko Zivojnovic Date: Mon Jul 16 18:28:32 2007 -0700 [NET]: gen_estimator deadlock fix -Fixes ABBA deadlock noted by Patrick McHardy : > There is at least one ABBA deadlock, est_timer() does: > read_lock(&est_lock) > spin_lock(e->stats_lock) (which is dev->queue_lock) > > and qdisc_destroy calls htb_destroy under dev->queue_lock, which > calls htb_destroy_class, then gen_kill_estimator and this > write_locks est_lock. To fix the ABBA deadlock the rate estimators are now kept on an rcu list. -The est_lock changes the use from protecting the list to protecting the update to the 'bstat' pointer in order to avoid NULL dereferencing. -The 'interval' member of the gen_estimator structure removed as it is not needed. Signed-off-by: Ranko Zivojnovic Signed-off-by: David S. Miller commit dd121c4bbf60336773485e91b5cfc57596b45151 Author: Michael Chan Date: Mon Jul 16 18:27:32 2007 -0700 [BNX2]: Update version to 1.6.3. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7ea6920ee9480118e2bd2d712d667820703f55cd Author: Michael Chan Date: Mon Jul 16 18:27:10 2007 -0700 [BNX2]: Use constants for stats ticks. Change all stats related magic numbers to constants. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c2d3db8c7cbb94e77461627085b85d74dc64d716 Author: Michael Chan Date: Mon Jul 16 18:26:43 2007 -0700 [BNX2]: Add delay before reading firmware version. The management firmware may still be loading during bnx2_init_one() because of the D3hot -> D0 transition and the firmware version may not be available without waiting a bit. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e30372c91273bb5777597362c74e63f96d9cd434 Author: Michael Chan Date: Mon Jul 16 18:26:23 2007 -0700 [BNX2]: Support NVRAM on 5709. The NVRAM interface is slightly modified on the 5709. To properly support it, we need to change the buffered flag in the flash data structure into multiple flags to indicate buffered operation, address translation, and the use of write enable (WREN). The 5709 flash only requires the buffered operation bit to be set. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a5f8967e171a6fa27da8e6d06d3ef85f7fed43c1 Author: David S. Miller Date: Wed Jul 18 00:33:23 2007 -0700 [SPARC64]: Set vio->desc_buf to NULL after freeing. Otherwise we trigger assertions on the next link-up. Signed-off-by: David S. Miller commit 0785b9dcdc3d93e67529e4bd819a427776d3a07e Author: Stephen Rothwell Date: Wed Jul 18 00:09:30 2007 -0700 [SPARC]: Mark sparc and sparc64 as not having virt_to_bus Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit d762acdbd3b2bd9a714ace47d7b0c76133d7b295 Author: David S. Miller Date: Wed Jul 18 00:07:39 2007 -0700 [SPARC64]: Fix reset handling in VNET driver. In vnet_event(), if the channel was reset, try to get the link going again by invoking vio_port_up() after dropping the lock. Signed-off-by: David S. Miller commit a4cd184503f448dda346d2338aa61cb560cc1b14 Author: David S. Miller Date: Wed Jul 18 00:06:22 2007 -0700 [SPARC64]: Handle reset events in vio_link_state_change(). Signed-off-by: David S. Miller commit 8a2950cce6c8fa29bcbf6a3b33a63e0e68337f0e Author: David S. Miller Date: Tue Jul 17 23:12:20 2007 -0700 [SPARC64]: Handle LDC resets properly in domain-services driver. Reset the handshake and per-capability state so that when the link comes back up we'll renegotiate the DS version and then reregister all of the services. Signed-off-by: David S. Miller commit 6160f63518406485c7009cb0f2e1588ea3abccc1 Author: David S. Miller Date: Tue Jul 17 23:03:47 2007 -0700 [SPARC64]: Massively simplify VIO device layer and support hot add/remove. Create and destroy VIO devices in response to MD update events. These run synchronously inside of the MD update mutex so the VIO layer doesn't need to do internal locking of any sort. Signed-off-by: David S. Miller commit 9184a046328d2dfc9f2cf0f831e649a108492124 Author: David S. Miller Date: Tue Jul 17 22:19:10 2007 -0700 [SPARC64]: Simplify VNET probing. Only probe on the vdc-port VIO devices, create parent vnet objects on-demand. Signed-off-by: David S. Miller commit 80dc35dfb98d2fbf3af0b829e3bf6e6a0f631cda Author: David S. Miller Date: Tue Jul 17 21:46:00 2007 -0700 [SPARC64]: Simplify VDC device probing. We just need to match on the vdc-port nodes, the parent is really not interesting at all. Signed-off-by: David S. Miller commit 920c3ed741340a88f2042ab0c44a25b8c743a379 Author: David S. Miller Date: Tue Jul 17 21:37:35 2007 -0700 [SPARC64]: Add basic infrastructure for MD add/remove notification. And add dummy handlers for the VIO device layer. These will be filled in with real code after the vdc, vnet, and ds drivers are reworked to have simpler dependencies on the VIO device tree. Signed-off-by: David S. Miller commit 5517853712f1f6daac8a7b2590f9b821e767aa13 Author: Dmitry Torokhov Date: Wed Jul 18 00:38:45 2007 -0400 Input: document intended meaning of KEY_SWITCHVIDEOMODE Signed-off-by: Dmitry Torokhov commit ad5d972cdad41ab4d6bfb95f656e508707447c95 Author: Pavel Emelianov Date: Wed Jul 18 00:38:32 2007 -0400 Input: switch to using seq_list_xxx helpers This is essentially just a renaming of the existing functions as copies of seq_list_start() and seq_list_next() already existed in the input.c. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 080c652d6d68e5524de800b32f0701f9c6834f23 Author: Dmitry Torokhov Date: Wed Jul 18 00:38:01 2007 -0400 Input: i8042 - give more trust to PNP data on i386 On some boxes that don't have PS/2 mice connected at startup BIOS completely disables AUX port and attempts to access it result in hosed keyboard. Historically we do not trust ACPI/PNP data on i386 and try to poke AUX port even if we did not find an active PNP node for it. However in cases when BIOS writers got KBD port properly described we can assume that they did the right thing for AUX port as well. Signed-off-by: Dmitry Torokhov commit 85f202d5df877f8adcda342b74ab11fbdfea753d Author: Dmitry Torokhov Date: Wed Jul 18 00:37:01 2007 -0400 Input: add driver for Fujitsu serial touchscreens These serial touchscreens are found on some Fujitsu lifebook P-series laptops, and the B6210. Using this requires a new version of inputattach and doing: inputattach -fjt /dev/ttyS0 Big thanks to Stephen Hemminger for testing it and making it work on his B6210 laptop. Signed-off-by: Stephen Hemminger Signed-off-by: Dmitry Torokhov commit 1d25891f3241103d14ea78236504474a138b8ada Author: Semih Hazar Date: Wed Jul 18 00:36:04 2007 -0400 Input: ads7846 - re-check pendown status before reporting events Pendown status from the PENIRQ pin is currently read only at the beginning of a sample set. If the pen is lifted just after sampling has began then sampled values become wrong. This patch adds an optional platform penirq_recheck_delay attribute. If non-zero, samples are only reported to the input subsystem if PENIRQ is still active that long after the samples taken. Signed-off-by: Semih Hazar Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit e4f48861993294c27849076741eb0c090482560b Author: Semih Hazar Date: Wed Jul 18 00:35:56 2007 -0400 Input: ads7846 - introduce sample settling delay The ads7846 driver has support for filtering, but when the chip gets deselected between samples this causes noise. This patch adds support for an optional settling delay time, so that two consecutive samples will be taken with the specified delay time apart. This ensures that the chip won't be deselected, so the noise won't appear. Filtering can still be done, but will have less work to do since each time a new sample is taken the same delay applies. Signed-off-by: Semih Hazar Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit 4994cd8dadcf9d484ab3ec19f3c7c7a4e5353c1c Author: Jan Kratochvil Date: Wed Jul 18 00:35:40 2007 -0400 Input: xpad - add support for leds on xbox 360 pad Export LEDs on Xbox360 pad via led subsystem as a single device in /sys/class/leds/xpad[0-9]+. Xbox360 pad has four leds, which form a circle. Unfortunately the leds can't be controlled independently and can only display a predefined set of patterns (for example one is turned on wile others are off or a rotating pattern - 1-2-3-4). To activate a pattern one needs to send a specific command to the device (see http://www.free60.org/wiki/Gamepad). Led subsystem allows us to set brightness, but there is nothing like brightness on this device. So brightness is actually interpreted as the command (only values between 0 and 14 are accepted). Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 7f5eb9bb8c7fb3bd411674b856872d7ab4a7b1a3 Author: Roland Dreier Date: Tue Jul 17 20:59:02 2007 -0700 IB/mlx4: Return receive queue sizes for userspace QPs from query QP Return the receive queue sizes for both userspace QPs and kernel Qps (not just kernel QPs) from mlx4_ib_query_qp(). Also zero the send queue sizes for userspace QPs to avoid a possible information leak, and set the max_inline_data for kernel QPs to 0 since inline sends are not supported for kernel QPs. Signed-off-by: Roland Dreier commit c9f2ba5ed26a204a78bf23aa08a4f528f11a18f4 Author: Jack Morgenstein Date: Tue Jul 17 13:11:43 2007 +0300 IB/mlx4: Increase max outstanding RDMA reads as target Change the maximum number of outstanding RDMA reads allowed as a target from 4 to 16 to per QP. This allows RDMA read operations to pipeline better. Pointed out by Dotan Barak and Sagi Rotem. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 8f076531cd20fbf83ed889024c8133d0c71a1fe4 Author: Dotan Barak Date: Tue Jul 17 17:58:57 2007 +0300 RDMA/cma: Remove local write permission from QP access flags Local write permission makes no sense as part of the QP access flags, since the access flags only control what the remote end of the connection is allowed to do. Remove the code in the RDMA CM that initializes qp_access_flags with IB_ACCESS_LOCAL_WRITE. Signed-off-by: Dotan Barak Acked-by: Sean Hefty Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 6d7d080e9f7cd535a8821efd3835c5cfa5223ab6 Author: Roland Dreier Date: Tue Jul 17 19:30:51 2007 -0700 IB/mthca: Use uninitialized_var() for f0 Commit 9db48926 ("drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning") added "= 0" to the declarations of f0 to shut up gcc warnings. However, there's no point in making the code bigger by initializing f0 to a random value just to get rid of a warning; setting f0 to 0 is no safer than just using uninitialized_var(), which documents the situation better and gives smaller code too. For example, on x86_64: add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-16 (-16) function old new delta mthca_tavor_post_send 1352 1344 -8 mthca_arbel_post_send 1489 1481 -8 Signed-off-by: Roland Dreier commit 25343469e77bd6f5694bb6b641a8ea1bd2173782 Author: Daniel Drake Date: Sat Jul 14 01:40:54 2007 +0100 [PATCH] zd1211rw: Add ID for Siemens Gigaset USB Stick 54 Tested by David Santinoli zd1211b chip 129b:1667 v4810 high 00-01-e3 AL2230S_RF pa0 ---N- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 6eb07250626c1b51801c2ef9210dc2f321112018 Author: Masakazu Mokuno Date: Sat Jul 14 01:40:11 2007 +0100 [PATCH] zd1211rw: Add ID for Planex GW-US54GXS This patch adds the ID for Planex GW-US54GXS USB wireless adapter sold in Japan. Since this device returns the regulatory region as 0x49, the patch 'Allow channels 1-11 for unrecognised regulatory domains' is required. Tested by Masakazu Mokuno zd1211b chip 2019:5303 v4810 high 00-90-cc AL2230_RF pa0 ---N- Signed-off-by: Masakazu Mokuno Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ee2c4add43a3977ccb0263bdb460ed63a1b03c02 Author: Zhu Yi Date: Thu Jul 12 16:09:47 2007 +0800 [PATCH] Update version ipw2200 stamp to 1.2.2 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d00d012134864ed48a4f21898c043c262a0c1a31 Author: Zhu Yi Date: Thu Jul 12 16:09:40 2007 +0800 [PATCH] ipw2200: Fix ipw_isr() comments error on shared IRQ Signed-off-by: Tom De Man Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4e157f08a01f6395a43d10630fb3a629d90a02bc Author: Zhu Yi Date: Thu Jul 12 16:09:32 2007 +0800 [PATCH] Fix ipw2200 set wrong power parameter causing firmware error The power mode can only be set 0~5 to firmware. Otherwise there will be a firmware error generated. This patch fixed the invalid power mode requested by driver. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9f3b2416fec56de34408eafbef19bf8ec9a81493 Author: Zhu Yi Date: Thu Jul 12 16:09:24 2007 +0800 [PATCH] ipw2100: Fix `iwpriv set_power` error iwpriv set_power [0~6] can be used for ipw2100. '0' indicates off and '6' indicates auto. 1~5 are the actual power levels. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 90869b249b4621d60920d5d1d53403fe86d8ecb5 Author: Jean Tourrilhes Date: Tue Jul 10 15:51:14 2007 -0500 [PATCH] softmac: Channel is listed twice in scan output SoftMAC outputs the channel twice in the scan output. It should display frequency and channel, but only once for each. Signed-off-by: Jean Tourrilhes Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 8b8857a3bb93a94230fd205be784b01fa1932c47 Author: Johannes Berg Date: Fri Jun 22 00:16:14 2007 +0200 [PATCH] mac80211: regdomain.c needs to include ieee80211_i.h Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fd8bacc98027aa077ffbf2ecb0c3e930325b01a4 Author: Daniel Drake Date: Sat Jun 9 19:07:14 2007 +0100 [PATCH] mac80211: regulatory domain cleanup Currently, a function misnamed ieee80211_init_client() is used to handle regulatory domain control. It is called from ieee80211_register_hwmode(), which typically runs 2 or 3 times (802.11a/b/g), but each time it iterates over all the modes. This patch cleans this up and removes the confusion: ieee80211_init_client was effectively renamed to ieee80211_set_default_regdomain and is now run on a per-mode basis (doesn't have to deal with netdevs). I also moved the regdomain handling code into its own file and added some documentation. Signed-off-by: Daniel Drake Acked-by: Jiri Benc Signed-off-by: John W. Linville commit 7c8081eb8f20aa83deb5f1e95adc8a98902555a9 Author: Johannes Berg Date: Thu Jun 21 18:30:19 2007 +0200 [PATCH] mac80211: use debugfs_rename Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 56055d3ae4cc7fa6d2b10885f20269de8a989ed7 Author: Amit Arora Date: Tue Jul 17 21:42:38 2007 -0400 write support for preallocated blocks This patch adds write support to the uninitialized extents that get created when a preallocation is done using fallocate(). It takes care of splitting the extents into multiple (upto three) extents and merging the new split extents with neighbouring ones, if possible. Signed-off-by: Amit Arora commit a2df2a63407803a833f82e1fa6693826c8c9d584 Author: Amit Arora Date: Tue Jul 17 21:42:41 2007 -0400 fallocate support in ext4 This patch implements ->fallocate() inode operation in ext4. With this patch users of ext4 file systems will be able to use fallocate() system call for persistent preallocation. Current implementation only supports preallocation for regular files (directories not supported as of date) with extent maps. This patch does not support block-mapped files currently. Only FALLOC_ALLOCATE and FALLOC_RESV_SPACE modes are being supported as of now. Signed-off-by: Amit Arora commit 97ac73506c0ba93f30239bb57b4cfc5d73e68a62 Author: Amit Arora Date: Tue Jul 17 21:42:44 2007 -0400 sys_fallocate() implementation on i386, x86_64 and powerpc fallocate() is a new system call being proposed here which will allow applications to preallocate space to any file(s) in a file system. Each file system implementation that wants to use this feature will need to support an inode operation called ->fallocate(). Applications can use this feature to avoid fragmentation to certain level and thus get faster access speed. With preallocation, applications also get a guarantee of space for particular file(s) - even if later the the system becomes full. Currently, glibc provides an interface called posix_fallocate() which can be used for similar cause. Though this has the advantage of working on all file systems, but it is quite slow (since it writes zeroes to each block that has to be preallocated). Without a doubt, file systems can do this more efficiently within the kernel, by implementing the proposed fallocate() system call. It is expected that posix_fallocate() will be modified to call this new system call first and incase the kernel/filesystem does not implement it, it should fall back to the current implementation of writing zeroes to the new blocks. ToDos: 1. Implementation on other architectures (other than i386, x86_64, and ppc). Patches for s390(x) and ia64 are already available from previous posts, but it was decided that they should be added later once fallocate is in the mainline. Hence not including those patches in this take. 2. Changes to glibc, a) to support fallocate() system call b) to make posix_fallocate() and posix_fallocate64() call fallocate() Signed-off-by: Amit Arora commit 454a01e7f486279b0bf8979d94203ab7a503e053 Author: Roland Dreier Date: Tue Jul 17 18:37:43 2007 -0700 IB/cm: Make internal function cm_get_ack_delay() static Signed-off-by: Roland Dreier commit 1743b91710053d00e05632d63de7c457c649042f Author: Roland Dreier Date: Tue Jul 17 18:37:43 2007 -0700 IB/ipath: Remove ipath_get_user_pages_nocopy() It has no callers and is completely dead code. Signed-off-by: Roland Dreier commit da9aec7b627c0369b955f82e855508c6711929ac Author: Roland Dreier Date: Tue Jul 17 18:37:43 2007 -0700 IB/ipath: Make a few functions static Make some functions that are only used in a single .c file static. In addition to being a cleanup, this shrinks the generated code. On x86_64: add/remove: 1/3 grow/shrink: 2/1 up/down: 4777/-4956 (-179) function old new delta handle_errors - 3994 +3994 __verbs_timer 42 710 +668 ipath_do_ruc_send 2131 2246 +115 ipath_no_bufs_available 136 - -136 ipath_disarm_senderrbufs 639 - -639 ipath_ib_timer 658 - -658 ipath_intr 5878 2355 -3523 Signed-off-by: Roland Dreier commit ee49bd9397cd2b8fe7a1962505d81c1d0a1366fc Author: Jack Morgenstein Date: Thu Jul 12 17:50:45 2007 +0300 mlx4_core: Reset device when internal error is detected Reset the device when an internal error is detected. Also, detect errors by polling the error buffer rather than using interrupts. This is more robust and doesn't depend on MSI-X. Remove the old interrupt handler entirely, since we don't want to support two mechanisms for detecting internal errors. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 41179e2de6962b46d1d9f2b4437243ac740efdec Author: Roland Dreier Date: Tue Jul 17 18:37:42 2007 -0700 IB/iser: Make a couple of functions static Make iser_conn_release() and iser_start_rdma_unaligned_sg() static, since they are only used in the .c file where they are defined. In addition to being a cleanup, this even shrinks the generated code by allowing the single call of iser_start_rdma_unaligned_sg() to be inlined into its callsite. On x86_64: add/remove: 0/1 grow/shrink: 1/0 up/down: 466/-533 (-67) function old new delta iser_reg_rdma_mem 1518 1984 +466 iser_start_rdma_unaligned_sg 533 - -533 Signed-off-by: Roland Dreier commit e4daf738683d9e87caf12f4249268d3c9ed2e00f Author: Roland Dreier Date: Tue Jul 17 18:37:42 2007 -0700 IB/mthca: Fix printk format used for firmware version in warning When warning about out-of-date firmware, current mthca code messes up the formatting of the version if the subminor doesn't have three digits. It doesn't fill the field with 0s so we end up with: ib_mthca 0000:0b:00.0: HCA FW version 1.1. 0 is old (1.2. 0 is current). Change the format from "%3d" to "%03d" to get the right thing printed. Signed-off-by: Roland Dreier commit f6be6fbe262d065e85be159ea27460852f13ec90 Author: Roland Dreier Date: Tue Jul 17 18:37:41 2007 -0700 IB/mthca: Schedule MSI support for removal The mthca driver supports both MSI and MSI-X. However, MSI-X works with all hardware that the driver handles, and provides a superset of what MSI does, so there's no point in having code for both. Schedule MSI support for removal in 2008 to give anyone who actually needs MSI and who can't use MSI time to speak up. Signed-off-by: Roland Dreier commit 2b94397adc68c2f0f851539884cc426e03444a26 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:53:47 2007 +0200 IB/ehca: Fix warnings issued by checkpatch.pl Run the existing ehca code through checkpatch.pl and clean up the worst of the coding style violations. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 187c72e31f92791ec70395b80aa9883f2edad97f Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:53:11 2007 +0200 IB/ehca: Restructure ehca_set_pagebuf() Split ehca_set_pagebuf() into three functions depending on MR type (phys/user/fast) and remove superfluous ehca_set_pagebuf_1(). Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit df17bfd4a030f7d986de14210f4b21876a7a2989 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:52:29 2007 +0200 IB/ehca: MR/MW structure refactoring - Rename struct ehca_mr fields to clearly distinguish between kernel and HW page size. - Sort struct ehca_mr_pginfo into a common part and a union containing specific fields for physical, user and fast MR Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 2492398e616451788bc7c7905cadb8734b082bc7 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:51:43 2007 +0200 IB/ehca: Use macro to calculate number of chunks in a mem block Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 4e4e74cae73325c9f8513fae3a5bd9f79458f4a7 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:51:04 2007 +0200 IB/ehca: Use #define for "pages per register_rpage" instead of hardcoded value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a1a6ff11006c3a056cda9e8b13e7388fba3e69a1 Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:49:02 2007 +0200 IB/ehca: Use common error code mapping instead of specific ones Instead of one error mapping function for each potential error source in ehca_mrmw.c, use a centralized function that handles all cases, saving a three-figure line count. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 3df78f81e070c0e3330ae1bd40385e2f0d6fea2c Author: Hoang-Nam Nguyen Date: Thu Jul 12 17:48:22 2007 +0200 IB/ehca: Fix memory leak in error path of ehca_get_dma_mr() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit fbb9318be4b6eba36482e1275729c5c3dfdf8156 Author: Joachim Fenkes Date: Thu Jul 12 17:47:45 2007 +0200 IB/ehca: Fix HW level autodetection Autodetection was missing a few HW revisions, causing certain eHCA1 revisions to be treated like eHCA2. Fixed. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8fcea95a2a15444d5cc4bee174bb12233aa0a2aa Author: Dotan Barak Date: Sun Jul 15 15:00:09 2007 +0300 IB/mlx4: Take sizeof the correct pointer in call to memset() When clearing the ib_ah_attr parameter in to_ib_ah_attr(), use sizeof *ib_ah_attr instead of sizeof *path. This is the same bug as was fixed for mthca in 99d4f22e ("IB/mthca: Use correct structure size in call to memset()"), but the code was cut and pasted into mlx4 before the fix was merged. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 1c27cb71aa7d86df0271caadfcc196a0518f5e33 Author: Jack Morgenstein Date: Tue Jul 17 18:37:38 2007 -0700 IB/mlx4: Fix port returned from query QP for QPs in INIT state When a QP is in the INIT state, the sched_queue field hasn't been given to the firmware yet, so the firmware cannot return the value when the QP is queried. To handle this, use the port number that is saved in the driver's QP data structure. Found by Dotan Barak and Yaron Gepstein of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 586bb586ae59c473393c09291e86042d263c3ddd Author: Jack Morgenstein Date: Tue Jul 17 18:37:38 2007 -0700 IB/mlx4: Fix flow label returned from query QP Correct the mask used to get the flow label, since the field is 20 bits, not 24 bits. Found by Dotan Barak and Yaron Gepstein of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 1b07db7079103961de64f75761639435e9082504 Author: Steve Wise Date: Wed Jul 11 13:04:35 2007 -0500 RDMA/cxgb3: Remove cm_id reference on listen failures Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit cb32da0416b823b7f4b65e7e85d6cba16ca4d1e1 Author: Paul Mundt Date: Wed Jul 18 09:18:36 2007 +0900 slob: Kill off duplicate kzalloc() definition. With the slab zeroing allocations cleanups Christoph stubbed in a generic kzalloc(), which was missed on SLOB. Follow the SLAB/SLUB changes and kill off the __kzalloc() wrapper that SLOB was using. Reported-by: Jan Engelhardt Signed-off-by: Paul Mundt Signed-off-by: Linus Torvalds commit 1985026d32e69ed6dac3ba0ef8ff10366f060ed3 Author: Linus Torvalds Date: Tue Jul 17 15:57:42 2007 -0700 Revert drivers/ide/ide.c scsi_cmd_ioctl() usage changes The old IDE driver is not ready to take generic SCSI commands, even if it uses them for some specific issues (ie the tray open/close ioctls for IDE CD-ROM's). Pointed out by Bartlomiej. I'm sure we'll have it fixed properly soon enough, but for now we should not allow it to cause problems. Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Signed-off-by: Linus Torvalds commit 8b0d4164b4ac151050953d78c97fcceade69eb3c Author: Linus Torvalds Date: Tue Jul 17 15:43:56 2007 -0700 Make the "z/VM unit record device driver" depend on S390 I really don't see anybody else wanting to select it ;) Signed-off-by: Linus Torvalds commit 8dfd588c3180b7403c402b4545164ee4543f8f86 Author: Al Viro Date: Tue Jul 17 22:29:46 2007 +0100 smp_call_function_single() should be a macro on UP ... or we end up with header include order problems from hell. E.g. on m68k this is 100% fatal - local_irq_enable() there wants preempt_count(), which wants task_struct fields, which we won't have when we are in smp.h pulled from sched.h. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 62715ec832c7229b677415901e98799124efb023 Author: Oleg Nesterov Date: Tue Jul 17 14:37:54 2007 -0700 [SPARC64]: Kill bogus set_fs(KERNEL_DS) in do_rt_sigreturn(). From: Oleg Nesterov Signed-off-by: David S. Miller commit 98fc4839aa00a02da83625e9fedad7a348c0af91 Author: Jeff Garzik Date: Sun Jul 15 21:48:07 2007 -0400 [ISDN] HiSax hfc_pci: minor cleanups * trim trailing whitespace * remove CONFIG_PCI ifdefs, this driver is always PCI (Kconfig enforced) * remove return statements at the tail of a function * remove indentation levels by returning an error code immediately. Makes the code much more readable, and easier to update to PCI hotplug API. Signed-off-by: Jeff Garzik commit d825a49259a272d2451f0bfb0f789534377ac478 Author: Jeff Garzik Date: Sun Jul 15 19:58:24 2007 -0400 [ISDN] HiSax bkm_a4t: split setup into two smaller functions No behavior changes, just code movement. Prep for PCI hotplug API. Well, CONFIG_PCI useless ifdef was removed. Signed-off-by: Jeff Garzik commit a2b66515a7a2df5cbe4627bd355a1f9a73246bdc Author: Jeff Garzik Date: Sun Jul 15 19:25:45 2007 -0400 [ISDN] HiSax enternow: split setup into 3 smaller functions No behavior changes, just code movement. Prep for PCI hotplug API. Signed-off-by: Jeff Garzik commit 7c60e1caa5ddaf7605a8baa91a7d5b6f9c324385 Author: Jeff Garzik Date: Sun Jul 15 16:59:01 2007 -0400 [ISDN] HiSax netjet_u: split setup into 3 smaller functions No behavior changes, just code movement. Prep for PCI hotplug API. Signed-off-by: Jeff Garzik commit 0566a66382ce82310c2bc98fb3560419e9f4349f Author: Jeff Garzik Date: Sun Jul 15 04:25:35 2007 -0400 [ISDN] HiSax netjet_s: code movement, prep for hotplug 1) Remove CONFIG_PCI ifdefs. PCI is required in Kconfig. 2) Break up setup_netjet_s() into three separate internal functions. This helps facilitate upcoming use of PCI hotplug API, and in addition makes the code much easier to follow. No code is changed, just moved around. I even kept the out-of-favor "return(0)" style used in the current source code. Signed-off-by: Jeff Garzik commit 881ebdc9f4fb6466a6198ef7943b8637e0a48232 Author: Jeff Garzik Date: Tue Jul 17 17:14:23 2007 -0400 [ISDN] HiSax: move card state alloc/setup code into separate functions Just code movement. No code changes or cleanups besides that which is required to call the new functions from the old code site. Signed-off-by: Jeff Garzik commit 82bcda95969dc9852f5cc64001c078ec7d3d95ef Author: Jeff Garzik Date: Sat Jul 14 21:58:34 2007 -0400 [ISDN] HiSax: move card setup into separate function No behavior changes, just code movement. Signed-off-by: Jeff Garzik commit 44052e0d91757ecac4a2f659ea3e1a658dd6057e Author: Frank Lichtenheld Date: Tue Jul 17 19:50:53 2007 +0200 mixart: Add missing vmalloc.h include Fixes the following build error: CC sound/pci/mixart/mixart_hwdep.o sound/pci/mixart/mixart_hwdep.c: In function ‘mixart_hwdep_dsp_load’: sound/pci/mixart/mixart_hwdep.c:610: error: implicit declaration of function ‘vmalloc’ sound/pci/mixart/mixart_hwdep.c:617: error: implicit declaration of function ‘vfree’ Signed-off-by: Frank Lichtenheld Signed-off-by: Linus Torvalds commit bec85e8031f7d390643df27e74f8bc9715bb8224 Author: Frank Lichtenheld Date: Tue Jul 17 19:30:38 2007 +0200 hppb: Add missing dma-mapping.h include This fixes the following build-error: CC drivers/parisc/hppb.o drivers/parisc/hppb.c: In function ‘hppb_probe’: drivers/parisc/hppb.c:73: error: implicit declaration of function ‘ccio_request_resource’ Signed-off-by: Frank Lichtenheld Signed-off-by: Linus Torvalds commit 8e1c091cccd551557d24ce845715e8ceb6c49d36 Author: Jeff Garzik Date: Tue Jul 17 05:40:59 2007 -0400 arch/i386/* fs/* ipc/*: mark variables with uninitialized_var() Mark variables with uninitialized_var() if such a warning appears, and analysis proves that the var is initialized properly on all paths it is used. Signed-off-by: Jeff Garzik commit a6343afb6e16b65b9f0b264f94f8207212e7e3ae Author: Jeff Garzik Date: Tue Jul 17 05:39:58 2007 -0400 drivers/*: mark variables with uninitialized_var() Mark variables in drivers/* with uninitialized_var() if such a warning appears, and analysis proves that the var is initialized properly on all paths it is used. Signed-off-by: Jeff Garzik commit b1734d2388cc45ecdec58615e35955d0d402f938 Author: Jeff Garzik Date: Tue Jul 17 02:32:21 2007 -0400 drivers/atm/ambassador: kill uninit'd var warning, and fix bug An uninitialized variable warning illuminated an area where indeed the variable was being used without initialization. Unfortunately, after verifying all such paths were fixed, the warning still appears. So we follow the initialization practice of other variables in this function. Signed-off-by: Jeff Garzik commit ea8b4db97aa41a66c05daa4055a1974692ccd52d Author: Jeff Garzik Date: Tue Jul 17 02:21:50 2007 -0400 [libata] sata_mv: use pci_try_set_mwi() Because sometimes in life, it's ok to fail. Signed-off-by: Jeff Garzik commit 9db48926208562df3c778682e064990170ab8971 Author: Jeff Garzik Date: Tue Jul 17 02:03:49 2007 -0400 drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning drivers/infiniband/hw/mthca/mthca_qp.c: In function ‘mthca_tavor_post_send’: drivers/infiniband/hw/mthca/mthca_qp.c:1594: warning: ‘f0’ may be used uninitialized in this function drivers/infiniband/hw/mthca/mthca_qp.c: In function ‘mthca_arbel_post_send’: drivers/infiniband/hw/mthca/mthca_qp.c:1949: warning: ‘f0’ may be used uninitialized in this function Initializing 'f0' is not strictly necessary in either case, AFAICS. I was considering use of uninitialized_var(), but looking at the complex flow of control in each function, I feel it is wiser and safer to simply zero the var and be certain of ourselves. Signed-off-by: Jeff Garzik commit e5fb4f42268654ca41ab50b1406fb7da97559db5 Author: Jeff Garzik Date: Tue Jul 17 01:56:32 2007 -0400 drivers/net/wan/sbni: kill uninit'd var warning It's actually convenient in the code to initialize this and a sister variable to zero. Signed-off-by: Jeff Garzik commit 2ab934b8afa89b9b3e71b7fb66470a19772f5012 Author: Jeff Garzik Date: Tue Jul 17 01:49:56 2007 -0400 drivers/mtd/ubi/eba: minor cleanup: tighten scope of a local var Signed-off-by: Jeff Garzik commit 0d480db85dea59e1393c3968fbdac0117431e797 Author: Jeff Garzik Date: Tue Jul 17 01:35:08 2007 -0400 drivers/telephony/ixj: cleanup and fix gcc warning 1) Fix gcc uninit'd var warnings by adding 'default' switch stmt labels in two cases. It was lightning-strikes unlikely that a problem would ever arise, but not impossible. 2) Tighten the scope of 'blankword' in two cases. Signed-off-by: Jeff Garzik commit 79c63e1976df035dee587c016d79cbccb130494a Author: Jeff Garzik Date: Tue Jul 17 01:32:29 2007 -0400 drivers/net/wan/pc300_drv: fix bug caught by gcc warning The warning drivers/net/wan/pc300_drv.c: In function ‘cpc_open’: drivers/net/wan/pc300_drv.c:2942: warning: ‘br’ may be used uninitialized in this function was valid. Ensure 'br' is initialized in all cases. Signed-off-by: Jeff Garzik commit ae97fec3701a559929c3529e35417fab133a4d39 Author: Jeff Garzik Date: Tue Jul 17 01:08:29 2007 -0400 drivers/usb/misc/auerswald: fix status check, remove redundant check 1) We should only set 'actual_length' output variable if usb length is known to be good. 2) No need to check actual_length for NULL. The only caller always passes non-NULL value. Signed-off-by: Jeff Garzik commit cad1b9da74f14c5f15b63ffc93c53debe09b3781 Author: Jeff Garzik Date: Tue Jul 17 00:15:54 2007 -0400 [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails Signed-off-by: Jeff Garzik commit f6c4286590e7cb13dd16cb2a6e4dc4a27ce6df1d Author: Jeff Garzik Date: Tue Jul 17 00:01:09 2007 -0400 [netdrvr] natsemi: Fix device removal bug This episode illustrates how an overused warning can train people to ignore that warning, which winds up hiding bugs. The warning drivers/net/natsemi.c: In function ‘natsemi_remove1’: drivers/net/natsemi.c:3222: warning: ignoring return value of ‘device_create_file’, declared with attribute warn_unused_result is oft-ignored, even though at close inspection one notices this occurs in the /remove/ function, not normally where creation occurs. A quick s/create/remove/ and we are fixed, with the warning gone. Signed-off-by: Jeff Garzik commit 6f686d3d14621b90f3793b705bdf9fa624fd29ca Author: Jeff Garzik Date: Mon Jul 16 21:25:01 2007 -0400 kernel/auditfilter: kill bogus uninit'd-var compiler warning Kill this warning... kernel/auditfilter.c: In function ‘audit_receive_filter’: kernel/auditfilter.c:1213: warning: ‘ndw’ may be used uninitialized in this function kernel/auditfilter.c:1213: warning: ‘ndp’ may be used uninitialized in this function ...with a simplification of the code. audit_put_nd() can accept NULL arguments, just like kfree(). It is cleaner to init two existing vars to NULL, remove the redundant test variable 'putnd_needed' branches, and call audit_put_nd() directly. As a desired side effect, the warning goes away. Signed-off-by: Jeff Garzik commit c1e49e3a1b37e5fbeb6923d4a950ec1fea8388fa Author: David S. Miller Date: Tue Jul 17 01:20:17 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 41120551fa36614bec00d9c26180af990b8e8f47 Author: David S. Miller Date: Mon Jul 16 21:33:19 2007 -0700 [SPARC64]: Kill explicit %gl register reference. Older binutils can't handle it. Use SET_GL() instead, which is explicitly for this purpose. Signed-off-by: David S. Miller commit 3bd858ab1c451725c07a805dcb315215dc85b86e Author: Satyam Sharma Date: Tue Jul 17 15:00:08 2007 +0530 Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check Introduce is_owner_or_cap() macro in fs.h, and convert over relevant users to it. This is done because we want to avoid bugs in the future where we check for only effective fsuid of the current task against a file's owning uid, without simultaneously checking for CAP_FOWNER as well, thus violating its semantics. [ XFS uses special macros and structures, and in general looked ... untouchable, so we leave it alone -- but it has been looked over. ] The (current->fsuid != inode->i_uid) check in generic_permission() and exec_permission_lite() is left alone, because those operations are covered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations falling under the purview of CAP_CHOWN and CAP_LEASE are also left alone. Signed-off-by: Satyam Sharma Cc: Al Viro Acked-by: Serge E. Hallyn Signed-off-by: Linus Torvalds commit d3676756968eef4a31da11be5addc4eec1b6db2c Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 atl1: missing include Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 27d41718157626e4509026c7dac247a659c0e71f Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 mark a bunch of ISA|EISA|PCI drivers as such Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 547c178b7237f586cbaac0246a112c502de32d64 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 missing exports of csum_... Signed-off-by: Al Viro Acked-by: David S. Miller Acked-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 6d0fd9c9832005b754d7cd04bc8c0ce7ea035366 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 um_kmalloc() remnants Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Linus Torvalds commit 7155c9f576fc8cff12448110b5d104096ba58aee Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 sparc32 has working dma-mapping only with CONFIG_PCI Signed-off-by: Al Viro Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit d37c6e1b67e8d7f3c5fceba491dcb09a15cb7772 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 saner typechecking in generic unaligned.h Verify that types would match for assignment (under sizeof, so we are safe from side effects or any code actually getting generated), then explicitly cast everywhere to the fixed-sized types. Kills a bunch of bogus warnings about constants being truncated (gcc, sparse), finds a pile of endianness problems hidden by old noise (sparse). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit cc040a8a0e8ba95fbb0ae1edcb9ec83623b422e3 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 alpha __init fixes __init and __initdata stuff used from __devinit one Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5072d5d58ef67bd7131d0be208ad1b6cd0631648 Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 alpha termios.h hadn't been updated ... fortunately, termios and ktermios there are identical, so no run-time breakage happened. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0ab7a252a52943786d6d12ad8032266841d68b8e Author: Al Viro Date: Tue Jul 17 08:49:35 2007 +0100 no USB on M32R Won't build due to lack of dma-mapping. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 63135e088a604b955746c51964c195c8d3ebac11 Author: Steve French Date: Tue Jul 17 17:34:02 2007 +0000 [CIFS] More whitespace/formatting fixes (noticed by checkpatch) Signed-off-by: Steve French commit 4ad1366376bfef32ec0ffa12d1faa483d6f330bd Author: NeilBrown Date: Tue Jul 17 04:06:13 2007 -0700 md: change bitmap_unplug and others to void functions bitmap_unplug only ever returns 0, so it may as well be void. Two callers try to print a message if it returns non-zero, but that message is already printed by bitmap_file_kick. write_page returns an error which is not consistently checked. It always causes BITMAP_WRITE_ERROR to be set on an error, and that can more conveniently be checked. When the return of write_page is checked, an error causes bitmap_file_kick to be called - so move that call into write_page - and protect against recursive calls into bitmap_file_kick. bitmap_update_sb returns an error that is never checked. So make these 'void' and be consistent about checking the bit. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0d76d70bc77b9b11256a3a23e98e80878be1578 Author: NeilBrown Date: Tue Jul 17 04:06:12 2007 -0700 md: check that internal bitmap does not overlap other data We current completely trust user-space to set up metadata describing an consistant array. In particlar, that the metadata, data, and bitmap do not overlap. But userspace can be buggy, and it is better to report an error than corrupt data. So put in some appropriate checks. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 713f6ab18b0e7d39f14401362bfe8015b1aedde1 Author: NeilBrown Date: Tue Jul 17 04:06:12 2007 -0700 md: improve the is_mddev_idle test fix Don't use 'unsigned' variable to track sync vs non-sync IO, as the only thing we want to do with them is a signed comparison, and fix up the comment which had become quite wrong. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df968c4e8d809deb2602fb0e8db758f26a4006b9 Author: NeilBrown Date: Tue Jul 17 04:06:11 2007 -0700 md: improve message about invalid superblock during autodetect People try to use raid auto-detect with version-1 superblocks (which is not supported) and get confused when they are told they have an invalid superblock. So be more explicit, and say it it is not a valid v0.90 superblock. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afd44034acdb54972923bb327bc9f984663ee78b Author: Jan Engelhardt Date: Tue Jul 17 04:06:11 2007 -0700 Use menuconfig objects II - MD 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 Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c4a59fed41bdd4c30ce0999a87f30a812f29ee2 Author: Tony Lindgren Date: Tue Jul 17 04:06:09 2007 -0700 OMAP: add TI TWL92330/Menelaus Power Management chip driver Add Texas Instruments TWL92330/Menelaus Power Management chip driver. This includes voltage regulators, Dual slot memory card tranceivers and real-time clock(RTC). The support for RTC is integrated with this driver only; it is not separate module. Passes 'rtctest' on OMAP H4 EVM, other than lack of "periodic" (1/N second) IRQs. System wakeup alarms (from suspend-to-RAM) work too. The battery keeps the RTC active over power off, so once you set clock (rdate/ntpdate/etc, then "hwclock -w") then RTC_HCTOSYS at boot time will behave as expected. Cc: "Jean Delvare" Cc: "Tony Lindgren" Cc: "David Brownell" Signed-off-by: Trilok Soni Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969529021a5c3df74ea8f10d329b2427e559a90f Author: Vovan888@gmail Date: Tue Jul 17 04:06:09 2007 -0700 OMAP: LCD panel support for the Siemens SX1 mobile phone - Add support for LCD panel on Siemens sx1 mobile phone. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 107cc64b7f3956e53e040307e5021abad6d4202a Author: Dirk Behme Date: Tue Jul 17 04:06:07 2007 -0700 OMAP: LCD panel support for the TI OMAP OSK board - Adds TFT LCD panel support for TI OMAP OSK board. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a6d6ab141b59de87b4637e7d75d1e9d5e55e0d4 Author: Imre Deak Date: Tue Jul 17 04:06:07 2007 -0700 OMAP: LCD panel support for the TI OMAP1510 Innovator board - Add TFT LCD panel spport for TI OMAP1510 Innovator EVM. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d64ca86e4b693feda63d4732e3a58dbc653c1970 Author: Imre Deak Date: Tue Jul 17 04:06:06 2007 -0700 OMAP: LCD panel support for the TI OMAP1610 Innovator board - Add TFT LCD panel spport for TI OMAP1610 Innovator EVM. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769bde5f6b37a94d0bf96953075ebcfa12246334 Author: Marek Vasut Date: Tue Jul 17 04:06:06 2007 -0700 OMAP: LCD panel support for the Palm Zire71 - Adds support for TFT LCD panel on Palm Zire71 Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dba8e7b2d3628dc5d886321e5ac85e20a80352d8 Author: Marek Vasut Date: Tue Jul 17 04:06:05 2007 -0700 OMAP: LCD panel support for Palm Tungsten|T - Add TFT LCD panel support for Palm Tungsten|T Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9828a8897258088bfada93a6ec82803e98231159 Author: Romain Goyet Date: Tue Jul 17 04:06:04 2007 -0700 OMAP: LCD panel support for the Palm Tungsten E - Adds TFT LCD panel support for Palm Tungsten E. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65316c91eff2c9b8dd8e16cc83fb84f49a64813b Author: Imre Deak Date: Tue Jul 17 04:06:04 2007 -0700 OMAP: LCD panel support for the TI OMAP H3 board - Adds support for TFT LCD panel on TI OMAP H3 EVM board. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e493435bff76ee2a37fb474e289ad85052d677fa Author: Imre Deak Date: Tue Jul 17 04:06:03 2007 -0700 OMAP: LCD panel support for the TI OMAP H4 board - Adds support for TFT LCD panel on TI OMAP H4 EVM board. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d381b894d24d7642aec85df1cf281400ac87a18 Author: Imre Deak Date: Tue Jul 17 04:06:01 2007 -0700 OMAP: add external Epson Blizzard LCD controller support - Adds Epson Blizzard lcd controller driver; used in Nokia Internet Tablet products. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aae76ef13e348cebac225407ea2c452f8d0ff862 Author: Imre Deak Date: Sat May 26 19:19:19 2007 +0530 OMAP: add external Epson HWA742 LCD controller support - Adds Epson HWA742 lcd controller driver; used in Nokia Internet Tablet products. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5c125a0fc44e513c3d51d179cb8a9ccaf589b7b Author: Imre Deak Date: Tue Jul 17 04:05:59 2007 -0700 OMAP: add TI OMAP2 external LCD controller support - RFBI - Adds support for Texas Instruments OMAP2 processors boards connected with external LCD controller through "Remote framebuffer Interface" Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6b4573c563966f3b22aa07d2c7b554a551eb0dc Author: Imre Deak Date: Tue Jul 17 04:05:58 2007 -0700 OMAP: add TI OMAP1 external LCD controller support - SoSSI - Adds support for Texas Instruments OMAP1 processors boards connected with external LCD controller through "Special OptimiSed Screen Interface" Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a055fc222c239eedd7d27684e70e812550c83f0 Author: Imre Deak Date: Tue Jul 17 04:05:57 2007 -0700 OMAP: add TI OMAP2 internal display controller support. - Adds Texas Instruments OMAP2 processor series (OMAP2420/2430) internal display controller interface support. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 569755c706f0f94409edd2ae60b9878cb420844f Author: Imre Deak Date: Tue Jul 17 04:05:56 2007 -0700 OMAP: add TI OMAP1 internal LCD controller - Add Texas Instruments OMAP1 processor series (OMAP1510/1610/1710..) internal LCD controller interface. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe0e3a9df6372d357d3fdc4b6265a5417f1e84e8 Author: Imre Deak Date: Tue Jul 17 04:05:55 2007 -0700 OMAP: add TI OMAP1610 accelerator entry. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b08cf2b64f5a60594b07795b2ad518c6d044566 Author: Imre Deak Date: Tue Jul 17 04:05:54 2007 -0700 OMAP: add TI OMAP framebuffer driver - Add Texas Instruments OMAP framebuffer driver. This driver is being used for various OMAP1/2 series based boards and products e.g Nokia N800 Internet Tablet, H4, H3, Siemens SX1 etc. - LCD panel registration and controller code is separated in different file and interfaces. Signed-off-by: Trilok Soni Cc: Tony Lindgren Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57a3db98ac88854e20780e2337471323ba63bde2 Author: Adrian Bunk Date: Tue Jul 17 04:05:53 2007 -0700 drivers/video/macmodes.c:mac_find_mode() mustn't be __devinit If it's EXPORT_SYMBOL'ed it can't be __devinit. Reported by Mikael Pettersson. Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Cc: Michal Piotrowski Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bce9451310eb66fbbd77bf22e8160079700691f8 Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:52 2007 -0700 Cell: Draw SPE helper penguin logos Let spu_management_ops.enumerate_spus() return the number of found SPEs and use that information to draw some little helper penguin logos. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cca9a6cc580b504a2575d505ab072ebf0872e016 Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:51 2007 -0700 fbdev: SPE helper penguin logo Add the SPE helper penguin logo Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Cc: Arnd Bergmann Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9900abfb5e8192f0eafcd9b9dd5d54011e46c76c Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:50 2007 -0700 fbdev: Add fb_append_extra_logo() Add fb_append_extra_logo(), to append extra lines of logos below the standard Linux logo. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90da63e54604fd515c17014a0a7f332a018a0a11 Author: Geert Uytterhoeven Date: Tue Jul 17 04:05:50 2007 -0700 fbdev: extract fb_show_logo_line() The Cell Broadband Engine contains a 64-bit PowerPC core with 2 hardware threads (called PPEs) and 8 Synergistic Processing Engines (called SPEs). When booting Linux, 2 penguins logos are shown on the graphical console by the standard frame buffer console logo code. To emphasize the existence of the SPEs (which can be used under Linux), we added a second row of (smaller) helper penguin logos, one for each SPE. A sample screenshot can be found at http://www.kernel.org/pub/linux/kernel/people/geoff/cell/debian-penguin-shot.png (or on the ps3linux T-shirts we wore at OLS :-) This patch: Extract the code to draw one line of logos into fb_show_logo_line() Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Acked-By: James Simmons Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6e8f00fcd56b426371334d722d1f3fb251b7290 Author: izumi Date: Tue Jul 17 04:05:49 2007 -0700 Fix the graphic corruption issue on IA64 machines VGA console driver can misunderstand the current mode(Text/Graphic) under "disable console blanking" setting. When "disable console blank" is set (blankinterval=0), "do_unblank_screen()" function returns without changing "blank_state", and when "blank_state" is "blank_off", "do_blank_screen() function returns without invoking sw->con_blank() function. That's why VGA console driver can misunderstand the current mode. Signed-off-by: Nobuhiro Tachino Signed-off-by: Taku Izumi Cc: "Antonino A. Daplas" Cc: "Luck, Tony" Acked-by: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a3f28817e2a3f0be67ec8afa0cfd779adb5d41d Author: Paul Mundt Date: Tue Jul 17 04:05:48 2007 -0700 fb: epson1355fb: kill off dead sh support The SH board that was the only user for this code was removed entirely from the kernel quite some time ago, so there's no reason to leave the stubs in place. Additionally this driver was completely broken anyways, so there's not really a lot of point in fixing it up either. I can't imagine that this driver gets any testing on ARM either, given that FB_BLANK_UNBLANKING doesn't exist, and kills the build regardless of which platform is compiling. This fixes that, too. It wouldn't be a lot of work to finish the platform device conversion and go with a generic 8-bit read/write_reg and kill off the architecture dependence completely, should someone have any use for this driver. Signed-off-by: Paul Mundt Acked-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84650346b20c8f8af35e3773506102ff1680e887 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:47 2007 -0700 matroxfb: color setting fixes fix Remove more code that writes to cmap[16]. Signed-off-by: Antonino Daplas Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3552f09a6ce0e42ccb67bf13ee9e4c31b080d6a3 Author: Adrian Bunk Date: Tue Jul 17 04:05:47 2007 -0700 vt8623fb.c: make code static This patch makes needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b309c050cd8a705229085bff790ad532b3cdf819 Author: Adrian Bunk Date: Tue Jul 17 04:05:46 2007 -0700 pm3fb: possible cleanups - remove the empty pm3fb_setup() and corresponding code - pm3fb_init() can become static [adaplas] - retain call to fb_get_options() for global options Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a58d67ce7d648f3a2512d6d044b5eab0c6f71253 Author: Krzysztof Helt Date: Tue Jul 17 04:05:46 2007 -0700 pm3fb: fillrect acceleration This is a port of accelerated fillrect function from the 2.4 kernel driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08a498de79727d63a011f2583e9aba4d3083c3a0 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:45 2007 -0700 matroxfb: color setting fixes - the pseudo_palette is only 16 elements long. - do not write to the pseudo_palette if regno (array index) is more than 15 - remove code that writes to the 17th entry of the pseudo_palette Signed-off-by: Antonino Daplas Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 000d5335c6e7f5dbcd849b62b4be7ae005aa6974 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:44 2007 -0700 sisfb: fix pseudo_palette array size and overrun - the pseudo_palette is only 16 elements long. - do not write to the pseudo_palette if regno (array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c312f97df65bf38a8e7f664b76154639f593775d Author: Antonino A. Daplas Date: Tue Jul 17 04:05:44 2007 -0700 intelfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 372166af0bd226322debf420a417524634a56abf Author: Antonino A. Daplas Date: Tue Jul 17 04:05:43 2007 -0700 i810fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0e3ad444885b87d318f1b086284bed52e41cc4b Author: Antonino A. Daplas Date: Tue Jul 17 04:05:43 2007 -0700 radeonfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59731f8acf7a83c0a195bef18325dddc5073ee7b Author: Antonino A. Daplas Date: Tue Jul 17 04:05:42 2007 -0700 atyfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ce0e9a9213bfa2f77363d3eef4d15808473cbe5 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:42 2007 -0700 tx3912fb: fix improper assignment of info->pseudo_palette There is no variable pseudo_palette. Instead, there is u32 cfb8[16]. Use this for info->pseudo_palette. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 973d9ab231a6b9feb1ff5b9a072f11756eca96cc Author: Antonino A. Daplas Date: Tue Jul 17 04:05:41 2007 -0700 tridentfb: fix pseudo_palette array overrun in setcolreg The pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb3daa83c2f63743fb7597f620beac75e1ba5633 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:41 2007 -0700 tgafb: actually allocate memory for the pseudo_palette No memory allocation was done for the pseudo_palette. Allocate one for it. Signed-off-by: Antonino Daplas Acked-by: "Maciej W. Rozycki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9965f5b137f11a7dce01b2c32874a4875f024306 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:40 2007 -0700 sgivwfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce303c076baad1b7d8d41d1b98c373843eb820cc Author: Antonino A. Daplas Date: Tue Jul 17 04:05:40 2007 -0700 q40fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a66ad56eb2c9644717da4d7f05f971d6786145e3 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:39 2007 -0700 pvr2fb: fix pseudo_palette array overrun and typecast - the pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. - if using generic drawing libraries, the typecast of pseudo_palette is always u32 * Signed-off-by: Antonino Daplas Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02c2c209c26ca452b2e688cdb0cb6bb4bc7cdf7f Author: Antonino A. Daplas Date: Tue Jul 17 04:05:38 2007 -0700 platinumfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d01184c8db7f1aa9b10597b9f8071ecc5d7e12f8 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:38 2007 -0700 offb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24fc72239ab5a2d26ebdd4f6950539e6120d1a54 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:37 2007 -0700 macfb: fix pseudo_palette size and overrun - the pseudo_palette is only 16 elements long. - do not write to the pseudo_palette if regno (array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9058be43cf9f32b6c636aa6954b4f1a6b22098f6 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:37 2007 -0700 gbefb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c771eba1fe7168d6f2cbc52efa55b3838bd05b05 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:36 2007 -0700 fm2fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a1b92793a0824d31f165fe3a97634dbb9a3ae18 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:36 2007 -0700 epson1355fb: color setting fixes - the pseudo_palette is only 16 elements long - allocate the pseudo_palette as part of epson1355_par Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7592181005261c3d90398375ab6922f56cdd2bad Author: Antonino A. Daplas Date: Tue Jul 17 04:05:35 2007 -0700 cyblafb: fix pseudo_palette array overrun in setcolreg The pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11494543a5775b4764d0172084092715a533a8ce Author: Antonino A. Daplas Date: Tue Jul 17 04:05:35 2007 -0700 controlfb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a17759c98c814520da653133ccfbb8d2c50cd6c Author: Antonino A. Daplas Date: Tue Jul 17 04:05:34 2007 -0700 68328fb: the pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7269dd2b97b9aedb64e15fdec5575345d091925 Author: Jesse Barnes Date: Tue Jul 17 04:05:34 2007 -0700 vt: add comment for unbind_con_driver() - add comment for unbind_con_driver(). - bind_con_driver() is made private again Signed-off-by: Jesse Barnes Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfafca8067c6defbaeb28cb898b7b3f8abdfe20d Author: Jesse Barnes Date: Tue Jul 17 04:05:33 2007 -0700 fbdev: fbcon: console unregistration from unregister_framebuffer This allows for proper console unregistration via the VT layer, and updates the FB layer to use it. This makes debugging new console drivers much easier, since you can properly clean them up before unloading. [adaplas] unregister_framebuffer() is typically called as part of the driver's module_exit(). Doing so otherwise will freeze the machine as the VT layer is holding reference counts on fbcon, and fbcon on the driver. With this change, it allows unregister_framebuffer() to be called safely anywhere as needed. Additions from the original: If multiple drivers are used by fbcon, and if one of them unregisters, a driver will take over the consoles vacated by the outgoing one (via set_con2fb_map). Once only the outgoing driver remains, then fbcon will unbind from the VT layer (if CONFIG_HW_CONSOLE_UNBINDING is set to y). It is important that these drivers implement fb_open() and fb_release() just to ensure that no other process is using the driver. Likewise, these drivers _must_ check the return value of unregister_framebuffer(). [akpm@linux-foundation.org: make fbcon_unbind() stub inline] Signed-off-by: Jesse Barnes Signed-off-by: Antonino Daplas Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afd1db1632c3f8f95cbc2786bfa122cead79db58 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:32 2007 -0700 fbcon: Revise primary device selection Use set_con2fb_map() to select the primary display driver instead of using unbind_con_driver() and bind_con_driver(). Using the former is much simpler and safer than the current one. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1baa4ffa677bf6986c460fcfd4cdaf8bfe66f0e Author: Antonino A. Daplas Date: Tue Jul 17 04:05:32 2007 -0700 fbcon: set_con2fb_map fixes set_con2fb_map() has regressed for some time. Using fbcon=map:01, for example, works only if there is only 1 working framebuffer. Trying to do a set_con2fb_map() on a non-allocated vc will freeze the system. - ensure that succeeding drivers after the first gets mapped to the console - remove fbcon_preset_display() and modify fbcon_set_display() to include the former's functionality - ensure that binding and unbinding succeeds if multiple drivers are mapped to the console Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f7bb99fc9eb7a3d3840dc0a507049b7be1daba8 Author: Krzysztof Helt Date: Tue Jul 17 04:05:31 2007 -0700 pm2fb: white spaces clean up This patch removes trailing spaces and tabs and spaces before tabs. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac1ae162c9c400d63e62d9f2878be968b10ceaab Author: Antonino A. Daplas Date: Tue Jul 17 04:05:30 2007 -0700 nvidiafb: Add proper support for Geforce 7600 chipset Add proper support for the Geforce 7600 (device id 0x039x). This also sync's nvidiafb with the latest Xorg nv driver. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5f2f4d1a6d7efde39cfb5e1d034981c69f2214c Author: Stephan Wolf Date: Tue Jul 17 04:05:29 2007 -0700 radeonfb: Add support for Radeon Xpress 200M (RS485) Add PCI ids for the Radeon Xpress 200M (RS485). Signed-off-by: Antonino Daplas Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 623e71b035cb5271028500720b3622ba76db42bb Author: Antonino A. Daplas Date: Tue Jul 17 04:05:28 2007 -0700 fbcon: allow fbcon to use the primary display driver Allow fbcon to select the primary display adapter using the fb_is_primary_device() arch-specific helper. If a a primary adapter is detected, fbcon will unbind the old adapter from the VT layer, then rebind using the new adapter. This requires that bind_/unbind_con_driver() be made public. Because this feature may produce unexpected behavior (from the user's POV), this must be explicitly enabled in Kconfig. [akpm@linux-foundation.org: export unbind_con_driver] Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 317b3c2167f5326a7de30a1abe50c9897da7a0e3 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:28 2007 -0700 fbdev: detect primary display device Add function helper, fb_is_primary_device(). Given struct fb_info, it will return a nonzero value if the device is the primary display. Currently, only the i386 is supported where the function checks for the IORESOURCE_ROM_SHADOW flag. Signed-off-by: Antonino Daplas Cc: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10eb2659cc6059d0c4de2e2c66d1534091519f56 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:27 2007 -0700 fbdev: move arch-specific bits to their respective subdirectories Move arch-specific bits of fb_mmap() to their respective subdirectories [bob.picco@hp.com: efi_range_is_wc is referenced but not declared] [bunk@stusta.de: fix include/asm-m68k/fb.h] Signed-off-by: Antonino Daplas Acked-by: David S. Miller Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c6c1ce079082ddde9ba5636c352c235cd395aa1 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:26 2007 -0700 fbcon: use struct device instead of struct class_device Port fbcon.c to use struct device from using struct class_device Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acba9cd01974353294ecd0c750581a6707d1ebe1 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:26 2007 -0700 fbcon: cursor blink control Add sysfs attribute to enable or disable cursor blinking. This will also disable cursor blinking if the VT layer's softcursor is active. These changes are required to enable some machines to enter low-power states properly. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01b15bd4bfae794246c047b961a282e19014e240 Author: Antonino A. Daplas Date: Tue Jul 17 04:05:25 2007 -0700 nvidiafb: adjust flags to take advantage of new scroll method The SCROLL_MOVE method has been optimized such that it is significantly faster than SCROLL_REDRAW. Adjust flags to indicate that blitting is preferred over rendering. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bad07ff74c32829defce8c83d7ff6ea69c329441 Author: Krzysztof Helt Date: Tue Jul 17 04:05:25 2007 -0700 fbcon: smart blitter usage for scrolling This patch replaces the current SCROLL_MOVE method with smarter method using the same logic as the SCROLL_REDRAW method. This brings these two methods much closer in performance and benefits all framebuffers which uses the SCROLL_MOVE method. [adaplas] - remove unnecessary char attribute checking - whitespace cleanups and 80-column line fixes Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d2b56c69c400dfc1a878966efa2b4a4a797a855 Author: Alan Cox Date: Tue Jul 17 04:05:24 2007 -0700 stallion: remove unneeded lock_kernel Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b306122df9f9dbec7751133073b4d19b9197d22e Author: Ingo Korb Date: Tue Jul 17 04:05:23 2007 -0700 Char: istallion, init+locking fixes Move brdp->iosize assignment in stli_initecp up a few lines to stop the driver from requesting an I/O region of length 0. Remove spin_lock_irqsave/spin_unlock_irqrestore from __stli_sendcmd as all users of that function take the lock already. Signed-off-by: Ingo Korb Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 186797ce330867b4c3609e503d2fee2fc6940954 Author: Jiri Slaby Date: Tue Jul 17 04:05:22 2007 -0700 Char: stallion, remove user class report request stallion, remove user class report request Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3929a2dae865de7b59f5d802f3a15ca70726ce Author: Jiri Slaby Date: Tue Jul 17 04:05:22 2007 -0700 Char: Kconfig, mxser_new: remove experimental comment Kconfig, mxser_new: remove experimental comment Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f11541b505464ec5105302910453ac4ad065fc6 Author: Jiri Slaby Date: Tue Jul 17 04:05:21 2007 -0700 Char: vt, use ARRAY_SIZE vt, use ARRAY_SIZE Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1152934c6339453f8bc365f449071d03796d411 Author: Jiri Slaby Date: Tue Jul 17 04:05:21 2007 -0700 Char: vt, use kzalloc vt, use kzalloc Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4ebd9277705904aea25937c9a2d347c88c063c8 Author: Jiri Slaby Date: Tue Jul 17 04:05:20 2007 -0700 Char: riscom8, eliminate busy loop riscom8, eliminate busy loop Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e98cee717fb8e9f4ff15a70e357927c5f3c7793 Author: Jiri Slaby Date: Tue Jul 17 04:05:19 2007 -0700 Char: specialix, remove busy waiting use msleep instead, because not in atomic Cc: Roger Wolff Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24c032f1dd393c995545ecefa8c1585ae9ef6b37 Author: Jiri Slaby Date: Tue Jul 17 04:05:19 2007 -0700 Char: moxa, eliminate busy waiting blah, moxa delays 250+ ms in busy waiting, use msleep instead. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4969b3a43dd9e234b363f7bf52d0f6c4b6139eea Author: Jiri Slaby Date: Tue Jul 17 04:05:18 2007 -0700 Char: isicom, proper variables types irq is int, base is unsigned long Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e327325f4219e30476c775dbcd8651cd71b5416a Author: Jiri Slaby Date: Tue Jul 17 04:05:18 2007 -0700 Char: isicom, del_timer at exit Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b21f9dddd0817b761f1407f1950bee4f257411a Author: Jiri Slaby Date: Tue Jul 17 04:05:17 2007 -0700 Char: isicom, cleanup locking Don't spin processor when not needed (use sleep instead of delay). Don't release the lock when needed in next iteration -- this actually fixes a bug -- missing braces Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4923b4f13156455a9e84f0b918866aef300cc57 Author: Jiri Slaby Date: Tue Jul 17 04:05:17 2007 -0700 Char: cyclades, fix sparse warning cyclades, fix sparse warning Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054f5b0aaa58dfc841635e52b6c1cc2b14ec37fc Author: Jiri Slaby Date: Tue Jul 17 04:05:16 2007 -0700 Char: cyclades, add firmware loading cyclades, add firmware loading Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf3a386c083c0cc4eb9f01a8818b9499ae56e73f Author: Adrian Bunk Date: Tue Jul 17 04:05:16 2007 -0700 remove options depending on OSS_OBSOLETE This patch contains the scheduled removal of options depending on OSS_OBSOLETE. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e32725c6ae8fa5345d9d095742e175ff4badd3b Author: Muli Ben-Yehuda Date: Tue Jul 17 04:05:15 2007 -0700 OSS trident: replace deprecated pci_find_device with pci_get_device Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b20b9b4e985fcc48b4eea401cb289a856422c93 Author: Muli Ben-Yehuda Date: Tue Jul 17 04:05:15 2007 -0700 OSS trident: fix locking around write_voice_regs trident_write_voice_regs() was getting called with the card spinlock held in only some cases. Fix it. Explanation: we allocate a new virtual channel in open, and then we frob some hardware registers (in write_voice_regs) for that channel. But the hardware registers are shared with other channels, which may be trying to frob the some registers (albeit for another channel) via ioctl(SNDCTL_DSP_SPEED). Fixed bugzilla.kernel.org bug #8172 (http://bugme.osdl.org/show_bug.cgi?id=8172) Signed-off-by: Muli Ben-Yehuda Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8f75b9183d613d3c29ea451a1cfb793daad5034 Author: Muli Ben-Yehuda Date: Tue Jul 17 04:05:13 2007 -0700 OSS trident: massive whitespace removal Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5b9068c1ef2ea760beb4962cf611b45bd303fb6 Author: David Brownell Date: Tue Jul 17 04:05:12 2007 -0700 csb337 supports "new style" rtc-ds1307 Update csb337 board specific init to support "new style" rtc-ds1307 code. Signed-off-by: David Brownell Cc: Andrew Victor Cc: Bill Gatliff Cc: Alessandro Zummo Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c065f35c17929067a367139d14e26897d60c7f6d Author: David Brownell Date: Tue Jul 17 04:05:10 2007 -0700 rtc-ds1307 becomes new-style i2c driver Convert the rtc-ds1307 driver into a "new style" driver. Also improve probe() checks: be more correct about switching out of AM/PM mode, and issue a (debug) diagnostic when failing due to bogus register values. Signed-off-by: David Brownell Cc: Andrew Victor Cc: Bill Gatliff Cc: Alessandro Zummo Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be5f59f4b67fbd4de26802a291bbcc2c623302b7 Author: Rodolfo Giometti Date: Tue Jul 17 04:05:06 2007 -0700 rtc-ds1307: oscillator restart for ds13{37,38,39,40} When we find a ds1337 or ds1339 with the oscillator powered off, turn it on. If the oscillator fault flag was set, clear it and warn that the clock needs to be set. David Brownell: Bugfixes; provide corresponding update for ds1338, and the core of the fix for ds1340. Use a common warning message ("SET TIME!") whenever the clock needs to be set after oscillator fault (or oscillator enable, if fault is not a separate status). Signed-off-by: Rodolfo Giometti Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 537739dee52cb9bb4f9ba080a59795d5c4c306ba Author: Thomas Bogendoerfer Date: Tue Jul 17 04:05:06 2007 -0700 RTC driver for DS1216 chips RTC driver for Dallas/Maxim DS126 chips used in SNI RM200/RM400 [akpm@linux-foundation.org: cleanups] Signed-off-by: Thomas Bogendoerfer Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e774c7caf84455d5e7d492d123bad6f417818b5 Author: Mark Zhan Date: Tue Jul 17 04:05:05 2007 -0700 rtc: add support for the ST M48T59 RTC [akpm@linux-foundation.org: x86_64 build fix] [akpm@linux-foundation.org: The acpi guys changed the bin_attribute code] Signed-off-by: Mark Zhan Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 617780d290bd6eb2b260928c6acff5b7c6084154 Author: Atsushi Nemoto Date: Tue Jul 17 04:05:04 2007 -0700 rtc: watchdog support for rtc-m41t80 driver Add a watchdog driver interface to rtc-m41t80 driver. This is derived from works by Alexander Bigga Signed-off-by: Atsushi Nemoto Signed-off-by: Alexander Bigga Cc: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caaff562e0ba44a7991ee8322fa4a6891d939757 Author: Atsushi Nemoto Date: Tue Jul 17 04:05:02 2007 -0700 rtc: add rtc-m41t80 driver This is a new-style i2c driver for ST M41T80 series RTC chip, derived from works by Alexander Bigga who wrote the original rtc-m41txx.c based on drivers/i2c/chips/m41t00.c driver. This driver supports M41T8[0-4] and M41ST8[457]. The old m41t00 driver supports M41T00, M41T81 and M41T85(M41ST85). While the M41T00 chip is now supported by rtc-ds1307 driver, this driver does not include support for the chip. [akpm@linux-foundation.org: remove bogus `static'] Signed-off-by: Atsushi Nemoto Signed-off-by: Alexander Bigga Acked-by: Mark A. Greer Cc: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5663c14b4f3e22aece38970f9765ceb090efbb8c Author: David Brownell Date: Tue Jul 17 04:05:02 2007 -0700 RTC Kconfig tweax Minor fix to the Kconfig for RTCs: don't display section headers for I2C or SPI unless they're configured. And depend on SPI_MASTER; having slave support wouldn't help. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c4e139ee9d5169ba75a1b918949d95323bc17ea Author: Alessandro Zummo Date: Tue Jul 17 04:05:01 2007 -0700 RTC_CLASS is no longer considered EXPERIMENTAL RTC class is mature enough. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa04e78b2d44cb923177d7e6988ac32639beb2d0 Author: Hans-Christian Egtvedt Date: Tue Jul 17 04:05:00 2007 -0700 Driver for the Atmel on-chip RTC on AT32AP700x devices Tested on the AT32AP7000/ATSTK1000. Driver does only suport time, wake up and a very simple alarm, because of hardware limitations. Hardware documentation can be found in the AT32AP7000 data sheet, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 From: David Brownell - Strike some alarm setup code that's no longer needed. (This patch seems to have gotten lost somewhere...) - Make the driver name (and its module alias) match what the platform setup code uses, so the driver can bind and hotplug. [akpm@linux-foundation.org: fix several checkpatch.pl warnings] Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen Cc: Alessandro Zummo Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac495bf8971f2dc9d401d892849977e86633ced6 Author: Hans-Christian Egtvedt Date: Tue Jul 17 04:05:00 2007 -0700 rtc-dev: return -ENOTTY in ioctl if irq_set_freq is not implemented by driver Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a39a49c746adc08488b1403b5aeca1dbd4ce0e2 Author: Hans-Christian Egtvedt Date: Tue Jul 17 04:04:59 2007 -0700 rtc: make example code jump to done instead of return when ioctl not supported Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c00593f6f816e5cfa6d193a2561ca77541f71424 Author: Martin Michlmayr Date: Tue Jul 17 04:04:57 2007 -0700 Thecus N2100: register rtc-rs5c372 i2c device Use the new i2c framework to load rtc-rs5c372 for the Thecus N2100. Signed-off-by: Martin Michlmayr Tested-by: Voipio Riku Cc: Russell King Cc: Lennert Buytenhek Cc: Jean Delvare Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d815461c7a73903d0a926b3cace6f69e144c54a3 Author: David Brownell Date: Tue Jul 17 04:04:55 2007 -0700 rtc-rs5c372 becomes a new-style i2c driver Convert rtc-rs5c372 to be a "new style" I2C driver, and update the Kconfig text to be more complete.. Verified on an OMAP H4 development platform, along with a board init patch to declare its rv5c387a device. Only one defconfig -- powerpc/linkstation -- uses this driver; but several other platforms use it, just without defconfig support. Such platforms need to be converted so (a) their I2C adapter driver supports new-style drivers, and (b) board init code declares this I2C device. Signed-off-by: David Brownell Cc: Voipio Riku Acked-by: Guennadi Liakhovetski Cc: Martin Michlmayr Cc: Jean Delvare Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045e0e85f2f6ee6621d8f7bab3059e9c74076738 Author: David Brownell Date: Tue Jul 17 04:04:55 2007 -0700 rtc-ds1307 cleanups This updates the rtc-ds1307 driver so that converting it to a "new style" driver (driver model, not legacy i2c model) will involve fewer changes. - Use pointer to i2c_client almost everywhere, so that it's easy to let the i2c core create that object; - Avoid using i2c_client.adapter, since that field is redundant and thus may go away (same object as i2c_client.dev.parent). - Extend type enum to include various RTCs this is expected to work with, and include register support for them. It also cleans up the support for multiple chip types, and fixes a glitch that could appear with an un-initialized RTC. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d91192e667ae34733b9daf6dd5f1d4496d2f441 Author: Josef 'Jeff' Sipek Date: Tue Jul 17 04:04:54 2007 -0700 eCryptfs: Move ecryptfs docs into Documentation/filesystems/ Signed-off-by: Josef 'Jeff' Sipek Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c381bfcf0cd100a37cd969fa0d3aa758e13b5bcc Author: Mika Kukkonen Date: Tue Jul 17 04:04:53 2007 -0700 Couple fixes to fs/ecryptfs/inode.c Following was uncovered by compiling the kernel with '-W' flag: CC [M] fs/ecryptfs/inode.o fs/ecryptfs/inode.c: In function ‘ecryptfs_lookup’: fs/ecryptfs/inode.c:304: warning: comparison of unsigned expression < 0 is always false fs/ecryptfs/inode.c: In function ‘ecryptfs_symlink’: fs/ecryptfs/inode.c:486: warning: comparison of unsigned expression < 0 is always false Function ecryptfs_encode_filename() can return -ENOMEM, so change the variables to plain int, as in the first case the only real use actually expects int, and in latter case there is no use beoynd the error check. Signed-off-by: Mika Kukkonen Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1269bc69b6649282091bb7007372acf4ab8357fd Author: J. Bruce Fields Date: Tue Jul 17 04:04:52 2007 -0700 knfsd: nfsd: enforce per-flavor id squashing Allow root squashing to vary per-pseudoflavor, so that you can (for example) allow root access only when sufficiently strong security is in use. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9091224f3cff4721f295df29e8a99705a63bc4c7 Author: J. Bruce Fields Date: Tue Jul 17 04:04:52 2007 -0700 knfsd: nfsd: allow auth_sys nlm on rpcsec_gss exports Our clients (like other clients, as far as I know) use only auth_sys for nlm, even when using rpcsec_gss for the main nfs operations. Administrators that want to deny non-kerberos-authenticated locking requests will need to turn off NFS protocol versions less than 4.... Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4796f45740bc6f2e3e6cc14e7ed481b38bd0bd39 Author: J. Bruce Fields Date: Tue Jul 17 04:04:51 2007 -0700 knfsd: nfsd4: secinfo handling without secinfo= option We could return some sort of error in the case where someone asks for secinfo on an export without the secinfo= option set--that'd be no worse than what we've been doing. But it's not really correct. So, hack up an approximate secinfo response in that case--it may not be complete, but it'll tell the client at least one acceptable security flavor. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcb488a3b7ac3987e21148f44f641c9b2e734232 Author: Andy Adamson Date: Tue Jul 17 04:04:51 2007 -0700 knfsd: nfsd4: implement secinfo Implement the secinfo operation. (Thanks to Usha Ketineni wrote an earlier version of this support.) Cc: Usha Ketineni Signed-off-by: Andy Adamson Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae4c40b1d81f5299c04330306736b2f0f0539f4b Author: Usha Ketineni Date: Tue Jul 17 04:04:50 2007 -0700 knfsd: rpc: add gss krb5 and spkm3 oid values Adds oid values to the gss_api mechanism structures. On the NFSV4 server side, these are required as part of the security triple (oid,qop,service) information being sent in the response of the SECINFO operation. Signed-off-by: Usha Ketineni Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91fe39d35ebd6adaece4e090f6b1a3e4b6a59c97 Author: J. Bruce Fields Date: Tue Jul 17 04:04:49 2007 -0700 knfsd: nfsd: display export secinfo information Add secinfo information to the display in proc/net/sunrpc/nfsd.export/content. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac34cdb03dfdb8cdc824f41f577434c5c2521155 Author: J. Bruce Fields Date: Tue Jul 17 04:04:49 2007 -0700 knfsd: nfsd: factor out code from show_expflags Factor out some code to be shared by secinfo display code. Remove some unnecessary conditional printing of commas where we know the condition is true. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec757df9743025f14190d6034d8bd2bf37c2dd1 Author: J. Bruce Fields Date: Tue Jul 17 04:04:48 2007 -0700 knfsd: nfsd4: make readonly access depend on pseudoflavor Allow readonly access to vary depending on the pseudoflavor, using the flag passed with each pseudoflavor in the export downcall. The rest of the flags are ignored for now, though some day we might also allow id squashing to vary based on the flavor. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966 Author: Andy Adamson Date: Tue Jul 17 04:04:48 2007 -0700 knfsd: nfsd4: return nfserr_wrongsec Make the first actual use of the secinfo information by using it to return nfserr_wrongsec when an export is found that doesn't allow the flavor used on this request. Signed-off-by: J. Bruce Fields Signed-off-by: Andy Adamson Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c0a654dceaa4342270306de77eadb0173dfb58a Author: J. Bruce Fields Date: Tue Jul 17 04:04:47 2007 -0700 knfsd: nfsd: factor nfsd_lookup into 2 pieces Factor nfsd_lookup into nfsd_lookup_dentry, which finds the right dentry and export, and a second part which composes the filehandle (and which will later check the security flavor on the new export). No change in behavior. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ea2209f073dc7049bd285b4f5dbc0aa273f9746 Author: J. Bruce Fields Date: Tue Jul 17 04:04:46 2007 -0700 knfsd: nfsd: use ip-address-based domain in secinfo case With this patch, we fall back on using the gss/pseudoflavor only if we fail to find a matching auth_unix export that has a secinfo list. As long as sec= options aren't used, there's still no change in behavior here (except possibly for some additional auth_unix cache lookups, whose results will be ignored). The sec= option, however, is not actually enforced yet; later patches will add the necessary checks. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ab4d8b1215d61736e2a9a26bea7cc2e6b029e3d Author: J. Bruce Fields Date: Tue Jul 17 04:04:46 2007 -0700 knfsd: nfsd: set rq_client to ip-address-determined-domain We want it to be possible for users to restrict exports both by IP address and by pseudoflavor. The pseudoflavor information has previously been passed using special auth_domains stored in the rq_client field. After the preceding patch that stored the pseudoflavor in rq_pflavor, that's now superfluous; so now we use rq_client for the ip information, as auth_null and auth_unix do. However, we keep around the special auth_domain in the rq_gssclient field for backwards compatibility purposes, so we can still do upcalls using the old "gss/pseudoflavor" auth_domain if upcalls using the unix domain to give us an appropriate export. This allows us to continue supporting old mountd. In fact, for this first patch, we always use the "gss/pseudoflavor" auth_domain (and only it) if it is available; thus rq_client is ignored in the auth_gss case, and this patch on its own makes no change in behavior; that will be left to later patches. Note on idmap: I'm almost tempted to just replace the auth_domain in the idmap upcall by a dummy value--no version of idmapd has ever used it, and it's unlikely anyone really wants to perform idmapping differently depending on the where the client is (they may want to perform *credential* mapping differently, but that's a different matter--the idmapper just handles id's used in getattr and setattr). But I'm updating the idmapd code anyway, just out of general backwards-compatibility paranoia. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0989a7889695831e49e2c53c1884f52645516a90 Author: J. Bruce Fields Date: Tue Jul 17 04:04:44 2007 -0700 knfsd: nfsd: provide export lookup wrappers which take a svc_rqst Split the callers of exp_get_by_name(), exp_find(), and exp_parent() into those that are processing requests and those that are doing other stuff (like looking up filehandles for mountd). No change in behavior, just a (fairly pointless, on its own) cleanup. (Note this has the effect of making nfsd_cross_mnt() pass rqstp->rq_client instead of exp->ex_client into exp_find_by_name(). However, the two should have the same value at this point.) Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87548c37c8bdbf98aea002c9c04e4dc8aa27fe1b Author: J. Bruce Fields Date: Tue Jul 17 04:04:44 2007 -0700 knfsd: nfsd: remove superfluous assignment from nfsd_lookup The "err" variable will only be used in the final return, which always happens after either the preceding err = fh_compose(...); or after the following err = nfserrno(host_err); So the earlier assignment to err is ignored. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df547efb03e3e8f9ea726e1d07fbbd6fd0706cd7 Author: J. Bruce Fields Date: Tue Jul 17 04:04:43 2007 -0700 knfsd: nfsd4: simplify exp_pseudoroot arguments We're passing three arguments to exp_pseudoroot, two of which are just fields of the svc_rqst. Soon we'll want to pass in a third field as well. So let's just give up and pass in the whole struct svc_rqst. Also sneak in some minor style cleanups while we're at it. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e677bfe4d451f8271986a229270c6eecd1f62b3f Author: Andy Adamson Date: Tue Jul 17 04:04:42 2007 -0700 knfsd: nfsd4: parse secinfo information in exports downcall We add a list of pseudoflavors to each export downcall, which will be used both as a list of security flavors allowed on that export, and (in the order given) as the list of pseudoflavors to return on secinfo calls. This patch parses the new downcall information and adds it to the export structure, but doesn't use it for anything yet. Signed-off-by: J. Bruce Fields Signed-off-by: Andy Adamson Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4170583f655dca5da32bd14173d6a93805fc48b Author: Andy Adamson Date: Tue Jul 17 04:04:42 2007 -0700 knfsd: nfsd4: store pseudoflavor in request Add a new field to the svc_rqst structure to record the pseudoflavor that the request was made with. For now we record the pseudoflavor but don't use it for anything. Signed-off-by: Andy Adamson Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42ed95c4e7415714aaab604ae7b1602b87b27b73 Author: J. Bruce Fields Date: Tue Jul 17 04:04:41 2007 -0700 knfsd: nfsd4: build rpcsec_gss whenever nfsd4 is built Select rpcsec_gss support whenever asked for NFSv4 support. The rfc actually requires gss, and gss is also the main reason to migrate to v4. We already do this on the client side. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d3bb25209c1f9a27ea9535c7fd2f6729a5e7db1 Author: J. Bruce Fields Date: Tue Jul 17 04:04:40 2007 -0700 knfsd: nfsd: make all exp_finding functions return -errno's on err Currently exp_find(), exp_get_by_name(), and friends, return an export on success, and on failure return: errors -EAGAIN (drop this request pending an upcall) or -ETIMEDOUT (an upcall has timed out), or return NULL, which can mean either that there was a memory allocation failure, or that an export was not found, or that a passed-in export lacks an auth_domain. Many callers seem to assume that NULL means that an export was not found, which may lead to bugs in the case of a memory allocation failure. Modify these functions to distinguish between the two NULL cases by returning either -ENOENT or -ENOMEM. They now never return NULL. We get to simplify some code in the process. We return -ENOENT in the case of a missing auth_domain. This case should probably be removed (or converted to a bug) after confirming that it can never happen. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47f9940c55c0bdc65188749cae4e841601f513bb Author: Meelap Shah Date: Tue Jul 17 04:04:40 2007 -0700 knfsd: nfsd4: don't delegate files that have had conflicts One more incremental delegation policy improvement: don't give out a delegation on a file if conflicting access has previously required that a delegation be revoked on that file. (In practice we'll forget about the conflict when the struct nfs4_file is removed on close, so this is of limited use for now, though it should at least solve a temporary problem with self-conflicts on write opens from the same client.) Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2f1a551dea8b37c2e0cb886885c250fb703e9d8 Author: Meelap Shah Date: Tue Jul 17 04:04:39 2007 -0700 knfsd: nfsd4: vary maximum delegation limit based on RAM size Our original NFSv4 delegation policy was to give out a read delegation on any open when it was possible to. Since the lifetime of a delegation isn't limited to that of an open, a client may quite reasonably hang on to a delegation as long as it has the inode cached. This becomes an obvious problem the first time a client's inode cache approaches the size of the server's total memory. Our first quick solution was to add a hard-coded limit. This patch makes a mild incremental improvement by varying that limit according to the server's total memory size, allowing at most 4 delegations per megabyte of RAM. My quick back-of-the-envelope calculation finds that in the worst case (where every delegation is for a different inode), a delegation could take about 1.5K, which would make the worst case usage about 6% of memory. The new limit works out to be about the same as the old on a 1-gig server. [akpm@linux-foundation.org: Don't needlessly bloat vmlinux] [akpm@linux-foundation.org: Make it right for highmem machines] Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e5140279f31e47d58ed6036ee61ba7a65710e63 Author: J. Bruce Fields Date: Tue Jul 17 04:04:38 2007 -0700 knfsd: nfsd: remove unused header interface.h It looks like Al Viro gutted this header file five years ago and it hasn't been touched since. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b2ca38ad6c44ed0442092a829e6e954bf3580af Author: J. Bruce Fields Date: Tue Jul 17 04:04:37 2007 -0700 knfsd: nfsd4: fix handling of acl errrors nfs4_acl_nfsv4_to_posix() returns an error and returns any posix acls calculated in two caller-provided pointers. It was setting these pointers to -errno in some error cases, resulting in nfsd4_set_nfs4_acl() calling posix_acl_release() with a -errno as an argument. Fix both the caller and the callee, by modifying nfsd4_set_nfs4_acl() to stop relying on the passed-in-pointers being left as NULL in the error case, and by modifying nfs4_acl_nfsv4_to_posix() to stop returning garbage in those pointers. Thanks to Alex Soule for reporting the bug. Signed-off-by: "J. Bruce Fields" Cc: Alexander Soule Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ac68d17996eb421dde51452b89d5545ba07c6fe Author: Benny Halevy Date: Tue Jul 17 04:04:37 2007 -0700 knfsd: nfsd4: fix enc_stateid_sz for nfsd callbacks enc_stateid_sz should be given in u32 words units, not bytes, so we were overestimating the buffer space needed here. Signed-off-by: Benny Halevy Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7fede4b27bfc6c987d6da8e40384b1b098830bb Author: J. Bruce Fields Date: Tue Jul 17 04:04:36 2007 -0700 knfsd: nfsd4: silence a compiler warning in ACL code Silence a compiler warning in the ACL code, and add a comment making clear the initialization serves no other purpose. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33a1060ae7dc671a0208b341bd454009625bb5a6 Author: J. Bruce Fields Date: Tue Jul 17 04:04:35 2007 -0700 knfsd: nfsd4: fix NFSv4 filehandle size units confusion NFS4_FHSIZE is measured in bytes, not 4-byte words, so much more space than necessary is being allocated for struct nfs4_cb_recall. I should have wondered why this structure was so much larger than it needed to be! Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a8db97e7756119689c93c431e8b8324080f5625 Author: Marc Eshel Date: Tue Jul 17 04:04:35 2007 -0700 knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4 Both lockd and (in the nfsv4 case) nfsd enforce a "grace period" after reboot, during which clients may reclaim locks from the previous server instance, but may not acquire new locks. Currently the lockd and nfsd enforce grace periods of different lengths. This may cause problems when we reboot a server with both v2/v3 and v4 clients. For example, if the lockd grace period is shorter (as is likely the case), then a v3 client might acquire a new lock that conflicts with a lock already held (but not yet reclaimed) by a v4 client. This patch calculates a lease time that lockd and nfsd can both use. Signed-off-by: Marc Eshel Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12127498c8f5e479df15ee374a0932f5659df49e Author: Andrew Morton Date: Tue Jul 17 04:04:34 2007 -0700 nfsd warning fix gcc-4.3: fs/nfsd/nfsctl.c: In function 'write_getfs': fs/nfsd/nfsctl.c:248: warning: cast from pointer to integer of different size Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 019ab801cf32381b90cbe0144cc5695aed0e408c Author: Christoph Hellwig Date: Tue Jul 17 04:04:33 2007 -0700 knfsd: exportfs: split out reconnecting a dentry from find_exported_dentry There's a clear subfunctionality of reconnecting a given dentry to the main dentry tree in find_exported_dentry, that can be called both for the dentry we're looking for or it's parent directory. This patch splits the subfunctionality out into a separate helper to make the code more readable and document it's intent. As a nice side-optimization we can avoid getting a superfluous dentry reference count in the case we need to reconnect a directory on it's own. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd90b50906db2c03e236e046f2fc7f7290efe4b4 Author: Christoph Hellwig Date: Tue Jul 17 04:04:32 2007 -0700 knfsd: exportfs: add find_disconnected_root helper Break the loop that finds the root of a disconnected subtree into a helper of its own to make reading easier and document the intent. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb66a1989c8abc3015aa334f617658b277e5fe98 Author: Christoph Hellwig Date: Tue Jul 17 04:04:32 2007 -0700 knfsd: exportfs: move acceptable check into find_acceptable_alias All callers of find_acceptable_alias check if the current dentry is acceptable before looking for other acceptable aliases using find_acceptable_alias. Move the check into find_acceptable_alias to make the code a little more dense and add a comment to find_acceptable_alias that documents its intent. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7dd618a5901ce0b44ef518208b35f728775db74 Author: Christoph Hellwig Date: Tue Jul 17 04:04:31 2007 -0700 knfsd: exportfs: untangle ISDIR logic in find_exported_dentry Rework some logic in find_exported_dentry so that we only have a single S_ISDIR check and logic that makes clear to the reader what we're really doing here. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10f11c341da8c0ec6b8b024e892108a6537ba8c4 Author: Christoph Hellwig Date: Tue Jul 17 04:04:31 2007 -0700 knfsd: exportfs: remove CALL macro Currently exportfs uses a way to call methods very differently from the rest of the kernel. This patch changes it to the standard conventions for method calls. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d37065cd6d6bbe98fd4be14d6c9e64c0bfa124c5 Author: Christoph Hellwig Date: Tue Jul 17 04:04:30 2007 -0700 knfsd: exportfs: add procedural interface for NFSD Currently NFSD calls directly into filesystems through the export_operations structure. I plan to change this interface in various ways in later patches, and want to avoid the export of the default operations to NFSD, so this patch adds two simple exportfs_encode_fh/exportfs_decode_fh helpers for NFSD to call instead of poking into exportfs guts. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ca29607331fe37980dc3b488793ef8b1409b722 Author: Christoph Hellwig Date: Tue Jul 17 04:04:29 2007 -0700 knfsd: exportfs: remove iget abuse When the exportfs interface was added the expectation was that filesystems provide an operation to convert from a file handle to an inode/dentry, but it kept a backwards compat option that still calls into iget. Calling into iget from non-filesystem code is very bad, because it gives too little information to filesystem, and simply crashes if the filesystem doesn't implement the ->read_inode routine. Fortunately there are only two filesystems left using this fallback: efs and jfs. This patch moves a copy of export_iget to each of those to implement the get_dentry method. While this is a temporary increase of lines of code in the kernel it allows for a much cleaner interface and important code restructuring in later patches. [akpm@linux-foundation.org: add jfs_get_inode_flags() declaration] Signed-off-by: Dave Kleikamp Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a569425512253992cc64ebf8b6d00a62f986db3e Author: Christoph Hellwig Date: Tue Jul 17 04:04:28 2007 -0700 knfsd: exportfs: add exportfs.h header currently the export_operation structure and helpers related to it are in fs.h. fs.h is already far too large and there are very few places needing the export bits, so split them off into a separate header. [akpm@linux-foundation.org: fix cifs build] Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea Author: Vasily Averin Date: Tue Jul 17 04:04:27 2007 -0700 i2o debug output cleanup Fix output of i2o debug messages, extra KERN_ are removed. Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44aaa9384faf68717cf3828dce6f8171a0a5d7bf Author: Vasily Averin Date: Tue Jul 17 04:04:27 2007 -0700 i2o proc reading oops Fix oops on reading from some i2o proc files (i2o_seq_show_driver_store() and other) because their handlers uses "exec" field in struct i2o_controller Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d0fd333a1c2659fb0495894090d1146b239fd9a Author: Vasily Averin Date: Tue Jul 17 04:04:26 2007 -0700 i2o message leak in i2o_msg_post_wait_mem() We need to free i2o msg in case of error. Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 010904cbed3db3464213fbc602802cc6f53e56e1 Author: Vasily Averin Date: Tue Jul 17 04:04:25 2007 -0700 wrong memory access in i2o_block_device_lock() This patch fixes access to memory that has not been allocated: i2o_msg_get_wait() can returns errors different from I2O_QUEUE_EMPTY. But the result is checked only against this code. If it is not I2O_QUEUE_EMPTY then we dereference the error code as the pointer later. Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1725d71d992f5947bdd5b4f9a30fe8a05571fe66 Author: Vasily Averin Date: Tue Jul 17 04:04:24 2007 -0700 i2o_cfg_passthru cleanup This patch fixes a number of issues in i2o_cfg_passthru{,32}: - i2o_msg_get_wait() return vaile is not checked; - i2o_message memory leaks on error paths; - infinite loop to sg_list_cleanup in passthru32 It's important issue because of i2o_cfg_passthru is used by raidutils for monitorig controllers state, and in case of memory shortage it leads to the node crash or disk IO stall. [akpm@linux-foundation.org: fix null-ptr deref] Signed-off-by: Vasily Averin Acked-by: Alan Cox Cc: Markus Lidel Acked-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bf68a3699601bd3e53b4efce7f2d780e243aa35 Author: Armin Schindler Date: Tue Jul 17 04:04:23 2007 -0700 i4l: leak in eicon/idifunc.c coverity spotted a possible leak in the idifunc.c file (bug id #1252), in um_new_card(), if the diva_user_mode_idi_create_adapter() fails, we dont free the memory allocated for card Signed-off-by: Eric Sesterhenn Acked-by: Armin Schindler Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e6c20a93b700ba884a6bced498b2691e2dd821b Author: Andrew Morton Date: Tue Jul 17 04:04:22 2007 -0700 isdn/capi warning fixes drivers/isdn/capi/capi.c: In function 'handle_minor_send': drivers/isdn/capi/capi.c:552: warning: cast from pointer to integer of different size Of course, the code here might actually be buggy, in which case this patch should not be applied? Answer: No this field is ignored inside linux kernel.Yes this is ugly, but it's the CAPI spec for all OS. CAPI DATA_B3 Request/Indication CAPI Message has a mandatory field which represent the 32 bit buffer address of the payload data. In linux the payload data do not use a sperate buffer, data follows directely after the CAPI Message in the same skb and we use this assumption inside the drivers, so we can ignore this field. Inside the linux CAPI implemetation we never use this field, so it could also have no value, but since random data in a message is bad as well (e.g. displayed in CAPI traces) we set is to the most adequate value. Outside the kernel the capi20 library sets the correct addresses (there is an optional second field for 64 bit adresses for 64 bit systems, we do not use here). Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd2aba2d3fc065069a0c305ddca1d9397ed9092 Author: Jan Engelhardt Date: Tue Jul 17 04:04:21 2007 -0700 Use menuconfig objects: ISDN: CONFIG_CAPI_EICON Transform 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: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f28df7e4aef3a14bf87a561dbd43935ba6ae59b2 Author: Jan Engelhardt Date: Tue Jul 17 04:04:21 2007 -0700 Use menuconfig objects: ISDN: CONFIG_CAPI_AVM Transform 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: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df19434cc268e207d1beb4dc7be3420888faef09 Author: Jan Engelhardt Date: Tue Jul 17 04:04:20 2007 -0700 Use menuconfig objects: ISDN: CONFIG_ISDN_CAPI Transform "depends on" into a simpler if-endif block style dependency. Signed-off-by: Jan Engelhardt Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf4d5f1d50e44d36d459344da3c8f226b3933aeb Author: Jan Engelhardt Date: Tue Jul 17 04:04:19 2007 -0700 Use menuconfig objects: ISDN: CONFIG_ISDN Transform 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: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c713f57ed5eb2e073de9d60ee1da25939966647e Author: Karsten Keil Date: Tue Jul 17 04:04:18 2007 -0700 sane irq initialization in sedlbauer hisax The interrupts schould be disabled until the driver is ready and the IRQ function was registered. Thanks to Bastian Friedrich and Thomas Voegtle for spotting this. Signed-off-by: Karsten Keil Signed-off-by: Bastian Friedrich Signed-off-by: Thomas Voegtle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b7c30292af56e64feaecdbe97da57918927b730 Author: Pavel Emelianov Date: Tue Jul 17 04:04:18 2007 -0700 Make ISDN CAPI use seq_list_xxx helpers The similar code exists here and is called capi_driver_get_idx(). Use generic helpers now and remember to convert list_head to struct capi_driver in .show callback. Signed-off-by: Pavel Emelianov Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6acee02712d0592dcd6120bc54d77c47cd2f6059 Author: David Woodhouse Date: Tue Jul 17 04:04:17 2007 -0700 Mismatching declarations of revision strings in HiSax The {l1,l2,l3,lli,tei}_revision strings in the HiSax driver are 'const', but have a mismatching declaration as 'extern char *' in config.c. Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67837f232d6d55be99d6e0dec4ea9bb8112840cd Author: Matthias Kaehlcke Date: Tue Jul 17 04:04:16 2007 -0700 Use mutex instead of semaphore in CAPI 2.0 driver The CAPI 2.0 driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 940408289842677cfe9e053a6c423bf3fb922560 Author: Matthias Kaehlcke Date: Tue Jul 17 04:04:16 2007 -0700 use mutex instead of semaphore in SPI core/init code The SPI core/init code uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2cac67dd36626128e06e79fc7ca95d544dcdc67 Author: Atsushi Nemoto Date: Tue Jul 17 04:04:15 2007 -0700 spi_txx9 controller driver This is a driver for SPI controller built into TXx9 MIPS SoCs. This driver is derived from arch/mips/tx4938/toshiba_rbtx4938/spi_txx9.c. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccdc7bf925731ef37f0af95262d675b74544932f Author: Samuel Ortiz Date: Tue Jul 17 04:04:13 2007 -0700 SPI: omap2_mcspi driver Add OMAP24XX McSPI (Multichannel SPI) controller driver. This driver is tested very well under OMAP GIT tree with N800 - Nokia Internet Tablet, and some other OMAP2 boards. Recent updates included bugfixes, cleanups, speedups, and better conformance to the current SPI programming interface. This doesn't yet understand the third controller instance on the OMAP 2430. [david-b@pacbell.net: more minor cleanups to the omap2_mcspi driver] Signed-off-by: Juha Yrjölä Signed-off-by: Trilok Soni Signed-off-by: David Brownell Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f29ba280ecb46331c1f6842b094808af01131422 Author: Joakim Tjernlund Date: Tue Jul 17 04:04:12 2007 -0700 spi_mpc83xx.c: support QE enabled 83xx CPU's like mpc832x Quicc Engine enabled mpc83xx CPU's has a somewhat different HW interface to the SPI controller. This patch adds a qe_mode knob that sees to that needed adaptions are performed. Signed-off-by: Joakim Tjernlund Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae918c02d365c884bccb193960db41364868bb7b Author: Andrei Konovalov Date: Tue Jul 17 04:04:11 2007 -0700 SPI master driver for Xilinx virtex Simple SPI master driver for Xilinx SPI controller. No support for multiple masters. Not using level 1 drivers from EDK. [akpm@linux-foundation.org: uninlining] Signed-off-by: Yuri Frolov Signed-off-by: Andrei Konovalov Cc: Kumar Gala Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 447aef1a19135a69bfd725c33f7e753740cb8447 Author: Ben Dooks Date: Tue Jul 17 04:04:10 2007 -0700 SPI: tle620x power switch driver Add support for the Infineon TLE62x0 series of low-side driver chips, such as the TLE6220 or TLE6230. These can be viewed as output GPIOs specialized for power switching applications. The driver provides a userspace interface to those GPIOs, and to the switch status they provide. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da0abc275f029e0f52c5165de524bcf64e717703 Author: David Brownell Date: Tue Jul 17 04:04:09 2007 -0700 S3c24xx SPI controllers both select 'bitbang' Tweak Kconfig for the S3C24XX SPI controller drivers. Both use the bitbang framework; only one previously said that. Plus in this case "select" is the right way to manage that dependency, since folk will not know up front to enable bitbang in order to even see those S3C drivers in order to enable them. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit defbd3b4bbd9d85a68529f829f4ee39899c318dc Author: David Brownell Date: Tue Jul 17 04:04:08 2007 -0700 atmel_spi: don't always deselect chip between messages Update chipselect handling for atmel_spi: * Teach it how to leave chipselect active between messages; this helps various drivers work better. * Cope with at91rm0200 errata: nCS0 can't be managed with GPIOs. The MR.PCS value is now updated whenever a chipselect changes. (This requires SPI pinmux init for that controller to change, and also testing on rm9200; doesn't break at91sam9 or avr32.) * Fix minor glitches: spi_setup() must leave chipselects inactive, as must removal of the spi_device. Also tweak diagnostic messaging to be a bit more useful. Signed-off-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8da0859a246838c81fe57d952b91d419e9c44179 Author: David Brownell Date: Tue Jul 17 04:04:07 2007 -0700 atmel_spi: minor updates Minor updates to atmel_spi: - DMA: * Comments to explain the DMA policies * Report any mapping errors from spi_transfer() * Remove extra loop for DMA mapping - Diagnostics: report minimum clock rate, if we need to reject a spi_setup() request because that rate is too low. Signed-off-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 698ca47e8dba93f4b001b06b4c7037b09ac6eb09 Author: Clifford Wolf Date: Tue Jul 17 04:04:06 2007 -0700 spi_mpc83xx.c underclocking hotfix The MPC83xx SPI controller clock divider can divide the system clock by not more then 1024. The spi_mpc83xx driver does not check this and silently writes garbage to the SPI controller registers when asked to run at lower frequencies. I've tried to run the SPI on a 266MHz MPC8349E with 100kHz for debugging a bus problem and suddenly was confronted with a 2nd problem to debug.. ;-) The patch adds an additional check which avoids writing garbage to the SPI controller registers and warn the user about it. This might help others to avoid simmilar problems. Cc: Kumar Gala Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78961a5740374a8143f8fe120300f2ed160dd276 Author: Kaiwan N Billimoria Date: Tue Jul 17 04:04:05 2007 -0700 spi_lm70llp parport adapter driver This adds a driver for the LM70-LLP parport adapter, which is an eval board for the LM70 temperature sensor. For those without that board, it may be a simpler example of a parport-to-SPI adapter then spi_butterfly. Signed-off-by: Kaiwan N Billimoria Doc, coding style, and interface updates; build fixes. Minor rename. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4917d927809918f0070bd1077b41e3daf78643b2 Author: David Brownell Date: Tue Jul 17 04:04:04 2007 -0700 spidev compiler warning gone Get rid of annoying GCC warning on 32-bit platforms. drivers/spi/spidev.c: In function 'spidev_message': drivers/spi/spidev.c:184: warning: cast to pointer from integer of different size drivers/spi/spidev.c:216: warning: cast to pointer from integer of different size The trick is to add an extra cast using "ptrdiff_t" to convert the u64 to the correct size integer, and only then casting it into a "void *" pointer. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad241528c4919505afccb022acbab3eeb0db4d80 Author: Jan Nikitenko Date: Tue Jul 17 04:04:03 2007 -0700 CRC7 support Add CRC7 routines, used for example in MMC over SPI communication. Kerneldoc updates [akpm@linux-foundation.org: fix funny mix of const and non-const] Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c06e677aed0c86480b01faa894967daa8aa3568a Author: David Brownell Date: Tue Jul 17 04:04:03 2007 -0700 SPI: add 3wire mode flag Add a new spi->mode bit: SPI_3WIRE, for chips where the SI and SO signals are shared (and which are thus only half duplex). Update the LM70 driver to require support for that hardware mode from the controller. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dccd573bb02aa011a4a7146c02c409ac0bd722a0 Author: David Brownell Date: Tue Jul 17 04:04:02 2007 -0700 SPI controller drivers: check for unsupported modes Minor SPI controller driver updates: make the setup() methods reject spi->mode bits they don't support, by masking aginst the inverse of bits they *do* support. This insures against misbehavior later when new mode bits get added. Most controllers can't support SPI_LSB_FIRST; more handle SPI_CS_HIGH. Support for all four SPI clock/transfer modes is routine. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff294cba8a62fa8334b88692da6d48683900f015 Author: Dmitry Torokhov Date: Tue Jul 17 04:04:01 2007 -0700 IBMASM: must depend on CONFIG_INPUT IBMASM: must depend on CONFIG_INPUT The driver registers couple of input devices and therefore must depend on CONFIG_INPUT. Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8945495697d9f461d4c923e0ed26c0e309b0dffc Author: Dmitry Torokhov Date: Tue Jul 17 04:04:01 2007 -0700 IBMASM: miscellaneous fixes IBMASM: miscellaneous fixes Fix some minor issues, such as: - properly set up ID of keyboard device (was mixed up with mouse) - constify translation tables - change some variables to #defines - set up input device's parent to form proper sysfs hierarchy - minor formatting changes Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da6b9c92d12ee6594170d839e2e78043bd2af286 Author: Dmitry Torokhov Date: Tue Jul 17 04:04:00 2007 -0700 IBMASM: dont use extern in function declarations IBMASM: don't use extern in function declarations We normally don't use extern in function declarations located in header files. Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3110dc7a8660ea1617afac2a55e3d18ae6ce141b Author: Dmitry Torokhov Date: Tue Jul 17 04:03:58 2007 -0700 IBMASM: whitespace cleanup IBMASM: whitespace cleanup Signed-off-by: Dmitry Torokhov Cc: Vernon Mauery Cc: Max Asbock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 567f3e422a9a155d7c7643148efb5bf959065d34 Author: Andrew Morton Date: Tue Jul 17 04:03:58 2007 -0700 x86_64: speedup touch_nmi_watchdog Avoid dirtying remote cpu's memory if it already has the correct value. Cc: Andi Kleen Cc: Konrad Rzeszutek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2890255b0ade497893d1e5e99f519b5c1d50f7d Author: Andrew Morton Date: Tue Jul 17 04:03:57 2007 -0700 i386: speedup touch_nmi_watchdog Avoid dirtying remote cpu's memory if it already has the correct value. Cc: Andi Kleen Cc: Konrad Rzeszutek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c978b935e81da9434342f0bc8263c6cfe1214ce Author: Konrad Rzeszutek Date: Tue Jul 17 04:03:56 2007 -0700 Inhibit NMI watchdog when Alt-SysRq-T operation is underway On large memory configuration with not so fast CPUs the NMI watchdog is triggered when memory addresses are being gathered and printed. The code paths for Alt-SysRq-t are sprinkled with touch_nmi_watchdog in various places but not in this routine (or in the loop that utilizes this function). The patch has been tested for regression on large CPU+memory configuration (128 logical CPUs + 224 GB) and 1,2,4,16-CPU sockets with various memory sizes (1,2,4,6,20). Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a41de48b81e61fbe260ae5031ebcb6f935f35fb Author: Alexey Dobriyan Date: Tue Jul 17 04:03:56 2007 -0700 Fix sparse false positives re BUG_ON(ptr) sparse now warns if one compares pointers with integers. However, there are false positives, like: fs/filesystems.c:72:2: warning: Using plain integer as NULL pointer Every time BUG_ON(ptr) is used, ptr is checked against integer zero. Avoid that and save ~70 false positives from allyesconfig run. mentioned by Al. Signed-off-by: Alexey Dobriyan Acked-by: Al Viro Acked-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13c22168b7276dffe49dc66675d5a78f6d288e0d Author: Oleg Nesterov Date: Tue Jul 17 04:03:55 2007 -0700 destroy_workqueue() can livelock Pointed out by Michal Schmidt . The bug was introduced in 2.6.22 by me. cleanup_workqueue_thread() does flush_cpu_workqueue(cwq) in a loop until ->worklist becomes empty. This is live-lockable, a re-niced caller can get CPU after wake_up() and insert a new barrier before the lower-priority cwq->thread has a chance to clear ->current_work. Change cleanup_workqueue_thread() to do flush_cpu_workqueue(cwq) only once. We can rely on the fact that run_workqueue() won't return until it flushes all works. So it is safe to call kthread_stop() after that, the "should stop" request won't be noticed until run_workqueue() returns. Signed-off-by: Oleg Nesterov Cc: Michal Schmidt Cc: Srivatsa Vaddagiri Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87a7defb0d4255d5aea2c5067813b26836127983 Author: Ananth N Mavinakayanahalli Date: Tue Jul 17 04:03:54 2007 -0700 Kprobes on select architectures no longer EXPERIMENTAL Based on usage and testing over the past couple of years, kprobes on i386, ia64, powerpc and x86_64 is no longer EXPERIMENTAL. This is a follow-up to Robert P.J. Day's patch making "Instrumentation support" non-EXPERIMENTAL: http://marc.info/?l=linux-kernel&m=118396955423812&w=2 Arch maintainers for sparc64, avr32 and s390 need to take a similar call. Signed-off-by: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b78cc9ac8602baafebb75a09025ffb17d1aebc2 Author: Jan Engelhardt Date: Tue Jul 17 04:03:53 2007 -0700 make timespec_equal() take const arguments Make arguments of timespec_equal() const struct timespec. Signed-off-by: Jan Engelhardt Cc: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9281acea6a3687ff0f262e0be31eac34895b95d7 Author: Tejun Heo Date: Tue Jul 17 04:03:51 2007 -0700 kallsyms: make KSYM_NAME_LEN include space for trailing '\0' KSYM_NAME_LEN is peculiar in that it does not include the space for the trailing '\0', forcing all users to use KSYM_NAME_LEN + 1 when allocating buffer. This is nonsense and error-prone. Moreover, when the caller forgets that it's very likely to subtly bite back by corrupting the stack because the last position of the buffer is always cleared to zero. This patch increments KSYM_NAME_LEN by one and updates code accordingly. * off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro is fixed. * Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together, MODULE_NAME_LEN was treated as if it didn't include space for the trailing '\0'. Fix it. Signed-off-by: Tejun Heo Acked-by: Paulo Marques Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b45d52797432bd6b5d9786dbda940eb8d0b9ed06 Author: Maciej W. Rozycki Date: Tue Jul 17 04:03:50 2007 -0700 sb1250-duart.c: SB1250 DUART serial support This is a driver for the SB1250 DUART, a dual serial port implementation included in the Broadcom family of SOCs descending from the SiByte SB1250 MIPS64 chip multiprocessor. It is a new implementation replacing the old-fashioned driver currently present in the linux-mips.org tree. It supports all the usual features one would expect from a(n asynchronous) serial driver, including modem line control (as far as hardware supports it -- there is edge detection logic missing from the DCD and RI lines and the driver does not implement polling of these lines at the moment), the serial console, BREAK transmission and reception, including the magic SysRq. The receive FIFO threshold is not maintained though. The driver was tested with a SWARM board which uses a BCM1250 SOC (which is dual MIPS64 CMP) and has both ports of the single DUART implemented wired externally. Both were tested. Testing included using the ports as terminal lines at 1200bps (which is the ports minimum), 115200bps and a couple of random speeds inbetween. The modem lines were verified to operate correctly. No testing was performed with a use as a network interface, like with SLIP or PPP. Signed-off-by: Maciej W. Rozycki Acked-by: Ralf Baechle Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9e86f419073605b4520848021cc042963c227c7 Author: Roland McGrath Date: Tue Jul 17 04:03:49 2007 -0700 Remove CHILD_MAX The CHILD_MAX macro in limits.h should not be there. It claims to be the limit on processes a user can own, but its value is wrong for that. There is no constant value, but a variable resource limit (RLIMIT_NPROC). Nothing in the kernel uses CHILD_MAX. The proper thing to do according to POSIX is not to define CHILD_MAX at all. The sysconf (_SC_CHILD_MAX) implementation works by calling getrlimit. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77293034696e3e0b6c8b8fc1f96be091104b3d2b Author: Roland McGrath Date: Tue Jul 17 04:03:49 2007 -0700 Remove OPEN_MAX The OPEN_MAX macro in limits.h should not be there. It claims to be the limit on file descriptors in a process, but its value is wrong for that. There is no constant value, but a variable resource limit (RLIMIT_NOFILE). Nothing in the kernel uses OPEN_MAX except things that are wrong to do so. I've submitted other patches to remove those uses. The proper thing to do according to POSIX is not to define OPEN_MAX at all. The sysconf (_SC_OPEN_MAX) implementation works by calling getrlimit. Signed-off-by: Roland McGrath Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c09edd6eba683741bb8aa8e388a2bfaf1c1a28f9 Author: Roland McGrath Date: Tue Jul 17 04:03:48 2007 -0700 avoid OPEN_MAX in SCM_MAX_FD The OPEN_MAX constant is an arbitrary number with no useful relation to anything. Nothing should be using it. SCM_MAX_FD is just an arbitrary constant and it should be clear that its value is chosen in net/scm.h and not actually derived from anything else meaningful in the system. Signed-off-by: Roland McGrath Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4480240f700587c15507b7815e75989b16825b2 Author: Akinobu Mita Date: Tue Jul 17 04:03:47 2007 -0700 unregister_blkdev(): return void Put WARN_ON and fixed all callers of unregister_blkdev(). Now we can make unregister_blkdev return void. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6d4d63489f2e3ce38c80e7073952f0c58d4c2bc Author: Akinobu Mita Date: Tue Jul 17 04:03:46 2007 -0700 unregister_blkdev(): delete redundant message No need to warn unregister_blkdev() failure by caller. (The previous patch makes unregister_blkdev() print error message in error case) Acked-by: Grant Likely Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00d59405cf6d7ef8932394ab5a12da1a50ce581e Author: Akinobu Mita Date: Tue Jul 17 04:03:46 2007 -0700 unregister_blkdev() delete redundant messages in callers No need to warn unregister_blkdev() failure by the callers. (The previous patch makes unregister_blkdev() print error message in error case) Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 294462a5c6c4fb9a6ced9cb5a368ff335f1b656e Author: Akinobu Mita Date: Tue Jul 17 04:03:45 2007 -0700 unregister_blkdev(): do WARN_ON on failure When unregister_blkdev() has failed, something wrong happened. This patch adds WARN_ON to notify of such badness. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62239ac2b301abc397e70986649666cfb7835907 Author: Adrian Bunk Date: Tue Jul 17 04:03:45 2007 -0700 proper prototype for proc_nr_files() Add a proper prototype for proc_nr_files() in include/linux/fs.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f284ce7269031947326bac6bb19a977705276222 Author: Alexey Dobriyan Date: Tue Jul 17 04:03:44 2007 -0700 PTRACE_POKEDATA consolidation Identical implementations of PTRACE_POKEDATA go into generic_ptrace_pokedata() function. AFAICS, fix bug on xtensa where successful PTRACE_POKEDATA will nevertheless return EPERM. Signed-off-by: Alexey Dobriyan Cc: Christoph Hellwig Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7664732315c97f48dba9d1e7339ad16fc5a320ac Author: Alexey Dobriyan Date: Tue Jul 17 04:03:43 2007 -0700 PTRACE_PEEKDATA consolidation Identical implementations of PTRACE_PEEKDATA go into generic_ptrace_peekdata() function. Signed-off-by: Alexey Dobriyan Cc: Christoph Hellwig Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcdcd8e725b923ad7c0de809680d5d5658a7bf8c Author: Pavel Emelianov Date: Tue Jul 17 04:03:42 2007 -0700 Report that kernel is tainted if there was an OOPS If the kernel OOPSed or BUGed then it probably should be considered as tainted. Thus, all subsequent OOPSes and SysRq dumps will report the tainted kernel. This saves a lot of time explaining oddities in the calltraces. Signed-off-by: Pavel Emelianov Acked-by: Randy Dunlap Cc: Signed-off-by: Andrew Morton [ Added parisc patch from Matthew Wilson -Linus ] Signed-off-by: Linus Torvalds commit 74489a91dd43aecd638709d34a2f58b91cfda5cf Author: Grant Likely Date: Tue Jul 17 04:03:39 2007 -0700 Add support for Xilinx SystemACE CompactFlash interface Tested on Xilinx Virtex ppc405, Katmai 440SPe, and Microblaze Signed-off-by: Grant Likely Acked-by: Stefan Roese Cc: Jens Axboe Cc: John William Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99121c0da3586f46a0397d9b0b4551a6286d003d Author: Vitaly Bordug Date: Tue Jul 17 04:03:37 2007 -0700 powerpc: 8xx: fix whitespace and indentation Rolling forward PCMCIA driver, it was discovered that the indentation in existing one, as well as in BSP side are very odd. This patch is just result of Lindent run ontop of culprit files. Signed-off-by: Vitaly Bordug Cc: Arnd Bergmann Cc: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a7326b5bbafac4c96bcdb944b2a773593030b96 Author: Christoph Lameter Date: Tue Jul 17 04:03:37 2007 -0700 CONFIG_BOUNCE to avoid useless inclusion of bounce buffer logic The bounce buffer logic is included on systems that do not need it. If a system does not have zones like ZONE_DMA and ZONE_HIGHMEM that can lead to the use of bounce buffers then there is no need to reserve memory pools etc etc. This is true f.e. for SGI Altix. Also nicifies the Makefile and gets rid of the tricky "and" there. Signed-off-by: Christoph Lameter Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 831441862956fffa17b9801db37e6ea1650b0f69 Author: Rafael J. Wysocki Date: Tue Jul 17 04:03:35 2007 -0700 Freezer: make kernel threads nonfreezable by default Currently, the freezer treats all tasks as freezable, except for the kernel threads that explicitly set the PF_NOFREEZE flag for themselves. This approach is problematic, since it requires every kernel thread to either set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't care for the freezing of tasks at all. It seems better to only require the kernel threads that want to or need to be frozen to use some freezer-related code and to remove any freezer-related code from the other (nonfreezable) kernel threads, which is done in this patch. The patch causes all kernel threads to be nonfreezable by default (ie. to have PF_NOFREEZE set by default) and introduces the set_freezable() function that should be called by the freezable kernel threads in order to unset PF_NOFREEZE. It also makes all of the currently freezable kernel threads call set_freezable(), so it shouldn't cause any (intentional) change of behaviour to appear. Additionally, it updates documentation to describe the freezing of tasks more accurately. [akpm@linux-foundation.org: build fixes] Signed-off-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Cc: Pavel Machek Cc: Oleg Nesterov Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 787d2214c19bcc9b6ac48af0ce098277a801eded Author: Nick Piggin Date: Tue Jul 17 04:03:34 2007 -0700 fs: introduce some page/buffer invariants It is a bug to set a page dirty if it is not uptodate unless it has buffers. If the page has buffers, then the page may be dirty (some buffers dirty) but not uptodate (some buffers not uptodate). The exception to this rule is if the set_page_dirty caller is racing with truncate or invalidate. A buffer can not be set dirty if it is not uptodate. If either of these situations occurs, it indicates there could be some data loss problem. Some of these warnings could be a harmless one where the page or buffer is set uptodate immediately after it is dirtied, however we should fix those up, and enforce this ordering. Bring the order of operations for truncate into line with those of invalidate. This will prevent a page from being able to go !uptodate while we're holding the tree_lock, which is probably a good thing anyway. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1ed3dda0ad181532f1e0f0d548067fb9fdddac4 Author: Robert P. J. Day Date: Tue Jul 17 04:03:33 2007 -0700 MM: Make needlessly global hugetlb_no_page() static. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5fab14e5d87df4d94161ae5f5e0c8625f9ffda2 Author: Christoph Lameter Date: Tue Jul 17 04:03:33 2007 -0700 Add VM_BUG_ON in case someone uses page_mapping on a slab page Detect slab objects being passed to the page oriented functions of the VM. It is not sufficient to simply return NULL because the functions calling page_mapping may depend on other items of the page_struct also to be setup properly. Moreover slab object may not be properly aligned. The page oriented functions of the VM expect to operate on page aligned, page sized objects. Operations on object straddling page boundaries may only affect the objects partially which may lead to surprising results. It is better to detect eventually remaining uses and eliminate them. Signed-off-by: Christoph Lameter Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0acd820807680d2ccc4ef3448387fcdbf152c73 Author: Christoph Lameter Date: Tue Jul 17 04:03:32 2007 -0700 Make SLUB the default allocator There are some reports that 2.6.22 has SLUB as the default. Not true! This will make SLUB the default for 2.6.23. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ab1372fac5684de56c68f0da1ddc90e1c4ce740 Author: Christoph Lameter Date: Tue Jul 17 04:03:32 2007 -0700 SLUB: Fix CONFIG_SLUB_DEBUG use for CONFIG_NUMA We currently cannot disable CONFIG_SLUB_DEBUG for CONFIG_NUMA. Now that embedded systems start to use NUMA we may need this. Put an #ifdef around places where NUMA only code uses fields only valid for CONFIG_SLUB_DEBUG. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0e1d1be204612ee83b3afe8aa24c5d27e63d464 Author: Christoph Lameter Date: Tue Jul 17 04:03:31 2007 -0700 SLUB: Move sysfs operations outside of slub_lock Sysfs can do a gazillion things when called. Make sure that we do not call any sysfs functions while holding the slub_lock. Just protect the essentials: 1. The list of all slab caches 2. The kmalloc_dma array 3. The ref counters of the slabs. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 434e245ddd3f14aa8eef97cae16c71b863ab092a Author: Christoph Lameter Date: Tue Jul 17 04:03:30 2007 -0700 SLUB: Do not allocate object bit array on stack The objects per slab increase with the current patches in mm since we allow up to order 3 allocs by default. More patches in mm actually allow to use 2M or higher sized slabs. For slab validation we need per object bitmaps in order to check a slab. We end up with up to 64k objects per slab resulting in a potential requirement of 8K stack space. That does not look good. Allocate the bit arrays via kmalloc. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94f6030ca792c57422f04a73e7a872d8325946d3 Author: Christoph Lameter Date: Tue Jul 17 04:03:29 2007 -0700 Slab allocators: Replace explicit zeroing with __GFP_ZERO kmalloc_node() and kmem_cache_alloc_node() were not available in a zeroing variant in the past. But with __GFP_ZERO it is possible now to do zeroing while allocating. Use __GFP_ZERO to remove the explicit clearing of memory via memset whereever we can. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81cda6626178cd55297831296ba8ecedbfd8b52d Author: Christoph Lameter Date: Tue Jul 17 04:03:29 2007 -0700 Slab allocators: Cleanup zeroing allocations It becomes now easy to support the zeroing allocs with generic inline functions in slab.h. Provide inline definitions to allow the continued use of kzalloc, kmem_cache_zalloc etc but remove other definitions of zeroing functions from the slab allocators and util.c. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce15fea8274acca06daa1674322d37a7d3f0036b Author: Christoph Lameter Date: Tue Jul 17 04:03:28 2007 -0700 SLUB: Do not use length parameter in slab_alloc() We can get to the length of the object through the kmem_cache_structure. The additional parameter does no good and causes the compiler to generate bad code. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12ad6843dd145050231ec5a27fe326c2085f9095 Author: Christoph Lameter Date: Tue Jul 17 04:03:28 2007 -0700 SLUB: Style fix up the loop to disable small slabs Do proper spacing and we only need to do this in steps of 8. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5af328a51067d8dc574c2b2c2629dd436a1e841e Author: Adrian Bunk Date: Tue Jul 17 04:03:27 2007 -0700 mm/slub.c: make code static Signed-off-by: Adrian Bunk Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b55f620e6908fec2d51751320c2a9459b5f375f Author: Christoph Lameter Date: Tue Jul 17 04:03:27 2007 -0700 SLUB: Simplify dma index -> size calculation There is no need to caculate the dma slab size ourselves. We can simply lookup the size of the corresponding non dma slab. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1b263393626fe66bee34ccdbf0487cd377e0213 Author: Christoph Lameter Date: Tue Jul 17 04:03:26 2007 -0700 SLUB: faster more efficient slab determination for __kmalloc kmalloc_index is a long series of comparisons. The attempt to replace kmalloc_index with something more efficient like ilog2 failed due to compiler issues with constant folding on gcc 3.3 / powerpc. kmalloc_index()'es long list of comparisons works fine for constant folding since all the comparisons are optimized away. However, SLUB also uses kmalloc_index to determine the slab to use for the __kmalloc_xxx functions. This leads to a large set of comparisons in get_slab(). The patch here allows to get rid of that list of comparisons in get_slab(): 1. If the requested size is larger than 192 then we can simply use fls to determine the slab index since all larger slabs are of the power of two type. 2. If the requested size is smaller then we cannot use fls since there are non power of two caches to be considered. However, the sizes are in a managable range. So we divide the size by 8. Then we have only 24 possibilities left and then we simply look up the kmalloc index in a table. Code size of slub.o decreases by more than 200 bytes through this patch. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfce8648d64c07eade40d456d59cb4bfcbba008c Author: Christoph Lameter Date: Tue Jul 17 04:03:25 2007 -0700 SLUB: do proper locking during dma slab creation We modify the kmalloc_cache_dma[] array without proper locking. Do the proper locking and undo the dma cache creation if another processor has already created it. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e443fd003d76394a8ceb78f079260478aa10710 Author: Christoph Lameter Date: Tue Jul 17 04:03:24 2007 -0700 SLUB: extract dma_kmalloc_cache from get_cache. The rarely used dma functionality in get_slab() makes the function too complex. The compiler begins to spill variables from the working set onto the stack. The created function is only used in extremely rare cases so make sure that the compiler does not decide on its own to merge it back into get_slab(). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c710013200e72b5e0bc680ff4ec6bdac53c5ce8 Author: Christoph Lameter Date: Tue Jul 17 04:03:24 2007 -0700 SLUB: add some more inlines and #ifdef CONFIG_SLUB_DEBUG Add #ifdefs around data structures only needed if debugging is compiled into SLUB. Add inlines to small functions to reduce code size. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d07dbea46405b37d59495eb4de9d1056dcfb7c6d Author: Christoph Lameter Date: Tue Jul 17 04:03:23 2007 -0700 Slab allocators: support __GFP_ZERO in all allocators A kernel convention for many allocators is that if __GFP_ZERO is passed to an allocator then the allocated memory should be zeroed. This is currently not supported by the slab allocators. The inconsistency makes it difficult to implement in derived allocators such as in the uncached allocator and the pool allocators. In addition the support zeroed allocations in the slab allocators does not have a consistent API. There are no zeroing allocator functions for NUMA node placement (kmalloc_node, kmem_cache_alloc_node). The zeroing allocations are only provided for default allocs (kzalloc, kmem_cache_zalloc_node). __GFP_ZERO will make zeroing universally available and does not require any addititional functions. So add the necessary logic to all slab allocators to support __GFP_ZERO. The code is added to the hot path. The gfp flags are on the stack and so the cacheline is readily available for checking if we want a zeroed object. Zeroing while allocating is now a frequent operation and we seem to be gradually approaching a 1-1 parity between zeroing and not zeroing allocs. The current tree has 3476 uses of kmalloc vs 2731 uses of kzalloc. Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cb8f91320d3e720351c21741da795fed580b21b Author: Christoph Lameter Date: Tue Jul 17 04:03:22 2007 -0700 Slab allocators: consistent ZERO_SIZE_PTR support and NULL result semantics Define ZERO_OR_NULL_PTR macro to be able to remove the checks from the allocators. Move ZERO_SIZE_PTR related stuff into slab.h. Make ZERO_SIZE_PTR work for all slab allocators and get rid of the WARN_ON_ONCE(size == 0) that is still remaining in SLAB. Make slub return NULL like the other allocators if a too large memory segment is requested via __kmalloc. Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef2ad80c7d255ed0449eda947c2d700635b7e0f5 Author: Christoph Lameter Date: Tue Jul 17 04:03:21 2007 -0700 Slab allocators: consolidate code for krealloc in mm/util.c The size of a kmalloc object is readily available via ksize(). ksize is provided by all allocators and thus we can implement krealloc in a generic way. Implement krealloc in mm/util.c and drop slab specific implementations of krealloc. Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45f39cb06610ea456e1d689149b9becacda8b40 Author: Christoph Lameter Date: Tue Jul 17 04:03:21 2007 -0700 SLUB Debug: fix initial object debug state of NUMA bootstrap objects The function we are calling to initialize object debug state during early NUMA bootstrap sets up an inactive object giving it the wrong redzone signature. The bootstrap nodes are active objects and should have active redzone signatures. Currently slab validation complains and reverts the object to active state. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6300ea75031e7aebfe3331245b7f750d82621223 Author: Christoph Lameter Date: Tue Jul 17 04:03:20 2007 -0700 SLUB: ensure that the number of objects per slab stays low for high orders Currently SLUB has no provision to deal with too high page orders that may be specified on the kernel boot line. If an order higher than 6 (on a 4k platform) is generated then we will BUG() because slabs get more than 65535 objects. Add some logic that decreases order for slabs that have too many objects. This allow booting with slab sizes up to MAX_ORDER. For example slub_min_order=10 will boot with a default slab size of 4M and reduce slab sizes for small object sizes to lower orders if the number of objects becomes too big. Large slab sizes like that allow a concentration of objects of the same slab cache under as few as possible TLB entries and thus potentially reduces TLB pressure. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68dff6a9af9f27df5aeee6d0339818b0e36c1b51 Author: Christoph Lameter Date: Tue Jul 17 04:03:20 2007 -0700 SLUB slab validation: Move tracking information alloc outside of lock We currently have to do an GFP_ATOMIC allocation because the list_lock is already taken when we first allocate memory for tracking allocation information. It would be better if we could avoid atomic allocations. Allocate a size of the tracking table that is usually sufficient (one page) before we take the list lock. We will then only do the atomic allocation if we need to resize the table to become larger than a page (mostly only needed under large NUMA because of the tracking of cpus and nodes otherwise the table stays small). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b95a4acf157eee552e013795b54eaa2ab1ee4a1 Author: Christoph Lameter Date: Tue Jul 17 04:03:19 2007 -0700 SLUB: use list_for_each_entry for loops over all slabs Use list_for_each_entry() instead of list_for_each(). Get rid of for_all_slabs(). It had only one user. So fold it into the callback. This also gets rid of cpu_slab_flush. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2492268472e7d326a6fe10f92f9211c4578f2482 Author: Christoph Lameter Date: Tue Jul 17 04:03:18 2007 -0700 SLUB: change error reporting format to follow lockdep loosely Changes the error reporting format to loosely follow lockdep. If data corruption is detected then we generate the following lines: ============================================ BUG : -------------------------------------------- INFO: [possibly multiple times] FIX : This also adds some more intelligence to the data corruption detection. Its now capable of figuring out the start and end. Add a comment on how to configure SLUB so that a production system may continue to operate even though occasional slab corruption occur through a misbehaving kernel component. See "Emergency operations" in Documentation/vm/slub.txt. [akpm@linux-foundation.org: build fix] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e1f936b73150f5095448a0fee6d4f30a1f9001d Author: Rusty Russell Date: Tue Jul 17 04:03:17 2007 -0700 mm: clean up and kernelify shrinker registration I can never remember what the function to register to receive VM pressure is called. I have to trace down from __alloc_pages() to find it. It's called "set_shrinker()", and it needs Your Help. 1) Don't hide struct shrinker. It contains no magic. 2) Don't allocate "struct shrinker". It's not helpful. 3) Call them "register_shrinker" and "unregister_shrinker". 4) Call the function "shrink" not "shrinker". 5) Reduce the 17 lines of waffly comments to 13, but document it properly. Signed-off-by: Rusty Russell Cc: David Chinner Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ad333eb66ff1e52a87639822ae088577669dcf9 Author: Andy Whitcroft Date: Tue Jul 17 04:03:16 2007 -0700 Lumpy Reclaim V4 When we are out of memory of a suitable size we enter reclaim. The current reclaim algorithm targets pages in LRU order, which is great for fairness at order-0 but highly unsuitable if you desire pages at higher orders. To get pages of higher order we must shoot down a very high proportion of memory; >95% in a lot of cases. This patch set adds a lumpy reclaim algorithm to the allocator. It targets groups of pages at the specified order anchored at the end of the active and inactive lists. This encourages groups of pages at the requested orders to move from active to inactive, and active to free lists. This behaviour is only triggered out of direct reclaim when higher order pages have been requested. This patch set is particularly effective when utilised with an anti-fragmentation scheme which groups pages of similar reclaimability together. This patch set is based on Peter Zijlstra's lumpy reclaim V2 patch which forms the foundation. Credit to Mel Gorman for sanitity checking. Mel said: The patches have an application with hugepage pool resizing. When lumpy-reclaim is used used with ZONE_MOVABLE, the hugepages pool can be resized with greater reliability. Testing on a desktop machine with 2GB of RAM showed that growing the hugepage pool with ZONE_MOVABLE on it's own was very slow as the success rate was quite low. Without lumpy-reclaim, each attempt to grow the pool by 100 pages would yield 1 or 2 hugepages. With lumpy-reclaim, getting 40 to 70 hugepages on each attempt was typical. [akpm@osdl.org: ia64 pfn_to_nid fixes and loop cleanup] [bunk@stusta.de: static declarations for internal functions] [a.p.zijlstra@chello.nl: initial lumpy V2 implementation] Signed-off-by: Andy Whitcroft Acked-by: Peter Zijlstra Acked-by: Mel Gorman Acked-by: Mel Gorman Cc: Bob Picco Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e63efef857575320fb413fbc3d0ee704b72845f Author: Mel Gorman Date: Tue Jul 17 04:03:15 2007 -0700 Add a movablecore= parameter for sizing ZONE_MOVABLE This patch adds a new parameter for sizing ZONE_MOVABLE called movablecore=. While kernelcore= is used to specify the minimum amount of memory that must be available for all allocation types, movablecore= is used to specify the minimum amount of memory that is used for migratable allocations. The amount of memory used for migratable allocations determines how large the huge page pool could be dynamically resized to at runtime for example. How movablecore is actually handled is that the total number of pages in the system is calculated and a value is set for kernelcore that is kernelcore == totalpages - movablecore Both kernelcore= and movablecore= can be safely specified at the same time. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed7ed365172e27b0efe9d43cc962723c7193e34e Author: Mel Gorman Date: Tue Jul 17 04:03:14 2007 -0700 handle kernelcore=: generic This patch adds the kernelcore= parameter for x86. Once all patches are applied, a new command-line parameter exist and a new sysctl. This patch adds the necessary documentation. From: Yasunori Goto When "kernelcore" boot option is specified, kernel can't boot up on ia64 because of an infinite loop. In addition, the parsing code can be handled in an architecture-independent manner. This patch uses common code to handle the kernelcore= parameter. It is only available to architectures that support arch-independent zone-sizing (i.e. define CONFIG_ARCH_POPULATES_NODE_MAP). Other architectures will ignore the boot parameter. [bunk@stusta.de: make cmdline_parse_kernelcore() static] Signed-off-by: Mel Gorman Signed-off-by: Yasunori Goto Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 396faf0303d273219db5d7eb4a2879ad977ed185 Author: Mel Gorman Date: Tue Jul 17 04:03:13 2007 -0700 Allow huge page allocations to use GFP_HIGH_MOVABLE Huge pages are not movable so are not allocated from ZONE_MOVABLE. However, as ZONE_MOVABLE will always have pages that can be migrated or reclaimed, it can be used to satisfy hugepage allocations even when the system has been running a long time. This allows an administrator to resize the hugepage pool at runtime depending on the size of ZONE_MOVABLE. This patch adds a new sysctl called hugepages_treat_as_movable. When a non-zero value is written to it, future allocations for the huge page pool will use ZONE_MOVABLE. Despite huge pages being non-movable, we do not introduce additional external fragmentation of note as huge pages are always the largest contiguous block we care about. [akpm@linux-foundation.org: various fixes] Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a1e274acf0b1c192face19a4be7c12d4503eaaf Author: Mel Gorman Date: Tue Jul 17 04:03:12 2007 -0700 Create the ZONE_MOVABLE zone The following 8 patches against 2.6.20-mm2 create a zone called ZONE_MOVABLE that is only usable by allocations that specify both __GFP_HIGHMEM and __GFP_MOVABLE. This has the effect of keeping all non-movable pages within a single memory partition while allowing movable allocations to be satisfied from either partition. The patches may be applied with the list-based anti-fragmentation patches that groups pages together based on mobility. The size of the zone is determined by a kernelcore= parameter specified at boot-time. This specifies how much memory is usable by non-movable allocations and the remainder is used for ZONE_MOVABLE. Any range of pages within ZONE_MOVABLE can be released by migrating the pages or by reclaiming. When selecting a zone to take pages from for ZONE_MOVABLE, there are two things to consider. First, only memory from the highest populated zone is used for ZONE_MOVABLE. On the x86, this is probably going to be ZONE_HIGHMEM but it would be ZONE_DMA on ppc64 or possibly ZONE_DMA32 on x86_64. Second, the amount of memory usable by the kernel will be spread evenly throughout NUMA nodes where possible. If the nodes are not of equal size, the amount of memory usable by the kernel on some nodes may be greater than others. By default, the zone is not as useful for hugetlb allocations because they are pinned and non-migratable (currently at least). A sysctl is provided that allows huge pages to be allocated from that zone. This means that the huge page pool can be resized to the size of ZONE_MOVABLE during the lifetime of the system assuming that pages are not mlocked. Despite huge pages being non-movable, we do not introduce additional external fragmentation of note as huge pages are always the largest contiguous block we care about. Credit goes to Andy Whitcroft for catching a large variety of problems during review of the patches. This patch creates an additional zone, ZONE_MOVABLE. This zone is only usable by allocations which specify both __GFP_HIGHMEM and __GFP_MOVABLE. Hot-added memory continues to be placed in their existing destination as there is no mechanism to redirect them to a specific zone. [y-goto@jp.fujitsu.com: Fix section mismatch of memory hotplug related code] [akpm@linux-foundation.org: various fixes] Signed-off-by: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Yasunori Goto Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769848c03895b63e5662eb7e4ec8c4866f7d0183 Author: Mel Gorman Date: Tue Jul 17 04:03:05 2007 -0700 Add __GFP_MOVABLE for callers to flag allocations from high memory that may be migrated It is often known at allocation time whether a page may be migrated or not. This patch adds a flag called __GFP_MOVABLE and a new mask called GFP_HIGH_MOVABLE. Allocations using the __GFP_MOVABLE can be either migrated using the page migration mechanism or reclaimed by syncing with backing storage and discarding. An API function very similar to alloc_zeroed_user_highpage() is added for __GFP_MOVABLE allocations called alloc_zeroed_user_highpage_movable(). The flags used by alloc_zeroed_user_highpage() are not changed because it would change the semantics of an existing API. After this patch is applied there are no in-kernel users of alloc_zeroed_user_highpage() so it probably should be marked deprecated if this patch is merged. Note that this patch includes a minor cleanup to the use of __GFP_ZERO in shmem.c to keep all flag modifications to inode->mapping in the shmem_dir_alloc() helper function. This clean-up suggestion is courtesy of Hugh Dickens. Additional credit goes to Christoph Lameter and Linus Torvalds for shaping the concept. Credit to Hugh Dickens for catching issues with shmem swap vector and ramfs allocations. [akpm@linux-foundation.org: build fix] [hugh@veritas.com: __GFP_ZERO cleanup] Signed-off-by: Mel Gorman Cc: Andy Whitcroft Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a32ea1e1f925399e0d81ca3f7394a44a6dafa12c Author: NeilBrown Date: Tue Jul 17 04:03:04 2007 -0700 Fix read/truncate race do_generic_mapping_read currently samples the i_size at the start and doesn't do so again unless it needs to call ->readpage to load a page. After ->readpage it has to re-sample i_size as a truncate may have caused that page to be filled with zeros, and the read() call should not see these. However there are other activities that might cause ->readpage to be called on a page between the time that do_generic_mapping_read samples i_size and when it finds that it has an uptodate page. These include at least read-ahead and possibly another thread performing a read. So do_generic_mapping_read must sample i_size *after* it has an uptodate page. Thus the current sampling at the start and after a read can be replaced with a sampling before the copy-out. The same change applied to __generic_file_splice_read. Note that this fixes any race with truncate_complete_page, but does not fix a possible race with truncate_partial_page. If a partial truncate happens after do_generic_mapping_read samples i_size and before the copy_out, the nuls that truncate_partial_page place in the page could be copied out incorrectly. I think the best fix for that is to *not* zero out parts of the page in truncate_partial_page, but rather to zero out the tail of a page when increasing i_size. Signed-off-by: Neil Brown Cc: Jens Axboe Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e21ea246bce5bb93dd822de420172ec280aed492 Author: Martin Schwidefsky Date: Tue Jul 17 04:03:03 2007 -0700 mm: remove ptep_test_and_clear_dirty and ptep_clear_flush_dirty Nobody is using ptep_test_and_clear_dirty and ptep_clear_flush_dirty. Remove the functions from all architectures. Signed-off-by: Martin Schwidefsky Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0e47c229b489e37ba7e4159ef7f9cf9ccd44e19 Author: Martin Schwidefsky Date: Tue Jul 17 04:03:03 2007 -0700 mm: remove ptep_establish() The last user of ptep_establish in mm/ is long gone. Remove the architecture primitive as well. Signed-off-by: Martin Schwidefsky Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ee403f584a67fb8725cca4d55218925b9295528 Author: Yoann Padioleau Date: Tue Jul 17 04:03:01 2007 -0700 parse error, drivers/i2c/busses/i2c-pmcmsp.c Signed-off-by: Yoann Padioleau Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5bd762bda0d9aba8739a35f898479dc12e288a1 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:23:03 2007 +0900 [IA64] Enable percpu vector domain for IA64_DIG Add per-CPU vector domain support for IA64_DIG. It is enabled by adding the "vector=percpu" boot option. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit d080d397f97dd185ff48ef933be09a104d47fba5 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:55 2007 +0900 [IA64] Enable percpu vector domain for IA64_GENERIC Add per-CPU vector domain support for IA64_GENERIC. It is enabled by adding the "vector=percpu" boot option. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit cd378f18cf73d92bf0b6e1e6b5759b5dd729a9f2 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:48 2007 +0900 [IA64] Support irq migration across domain Add support for IRQ migration across vector domain. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 4994be1b3fe9120c88022ff5c0c33f6312b17adb Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:33 2007 +0900 [IA64] Add support for vector domain Add fundamental support for multiple vector domain. There still exists only one vector domain even with this patch. IRQ migration across domain is not supported yet by this patch. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit e1b30a392835e92581db09a4e8b4b2ad53a0c370 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:23 2007 +0900 [IA64] Add mapping table between irq and vector Add mapping tables between irqs and vectors, and its management code. This is necessary for supporting multiple vector domain because 1:1 mapping between irq and vector will be changed to n:1. The irq == vector relationship between irqs and vectors is explicitly remained for percpu interrupts, platform interrupts, isa IRQs and vectors assigned using assign_irq_vector() because some programs might depend on it. And I should consider the following problem. When pci drivers enabled/disabled devices dynamically, its irq number is changed to the different one. Therefore, suspend/resume code may happen problem. To fix this problem, I bound gsi to irq. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit f8c087f31e1d3fbf1f7d0b3ea5e643f535e7de04 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:14 2007 +0900 [IA64] Check if irq is sharable Need to check if irq is sharable amoung handlers when searching sharable IOSAPIC irq. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 4bbdec7a84ca8ce786c44bc338a37d97a13cbf20 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:22:03 2007 +0900 [IA64] Fix invalid irq vector assumption for iosapic Many of IOSAPIC codes depends on the flollowing assumptions, but these would become invalid when multiple vector domain will be supported in the future. - 1:1 mapping between IRQ and vector - IRQ == vector To fix those invalid assumptions, this patch changes iosapic_intr_info[] to be indexed by irq number instead of vector. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit eb21ab24955ee025434ad09cd8e5e1a74c798777 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:21:48 2007 +0900 [IA64] Use dynamic irq for iosapic interrupts Use create_irq()/destroy_irq() for iosapic interrupts. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit c1726d6f1ad2f1d83e5db1e0142756e9255a82b3 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:21:26 2007 +0900 [IA64] Use per iosapic lock for indirect iosapic register access Use per-iosapic lock for indirect iosapic register access. It reduces lock contention. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 40598cbe9c196f1e84dcfef70541c4a80fd996bb Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:20:54 2007 +0900 [IA64] Cleanup lock order in iosapic_register_intr Cleanup order of irq_desc.lock and iosapic_lock in iosapic_register_intr() and iosapic_unregister_intr(). Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit c5e3f9e5a2152578db7a37090303ce66d03a7c87 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:20:42 2007 +0900 [IA64] Remove duplicated members in iosapic_rte_info Remove duplicated members in iosapic_rte_info in iosapic.c. This patch has no functional changes. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit e3a8f7b8b65c6feadab4384fd7097f79c8c1d898 Author: Yasuaki Ishimatsu Date: Tue Jul 17 21:20:29 2007 +0900 [IA64] Remove block structure for locking in iosapic.c Remove unnecessary indent between spin_lock() and spin_unlock() in iosapic.c. This has no functional changes. Signed-off-by: Kenji Kaneshige Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Tony Luck commit 5d3a8cd34beb1521a2697c6ed7b647ef9bafdbf1 Author: Jens Axboe Date: Tue Jul 17 15:10:09 2007 +0200 bsg: fix missing space in version print Tomo introduced a bug in his commit, removing the space between "driver" and "version" in the init printk. Signed-off-by: Jens Axboe commit b824325443bb010689d22262c6a4e0feb63bad56 Author: Mathieu Desnoyers Date: Sat Jun 16 22:29:39 2007 -0400 xtensa: use DATA_DATA in xtensa * Sam Ravnborg (sam@ravnborg.org) wrote: > From your patch it looks like I originally missed out > powerpc + xtensa when introducing DATA_DATA - would be nice if > you could fix that. > > Sam Use DATA_DATA in xtensa Signed-off-by: Mathieu Desnoyers Cc: Chris Zankel Signed-off-by: Sam Ravnborg commit 3ae0aa9f45c69055294b6514ddbb5bd07d2535c2 Author: Mathieu Desnoyers Date: Sat Jun 16 22:29:04 2007 -0400 powerpc: add missing DATA_DATA to powerpc * Sam Ravnborg (sam@ravnborg.org) wrote: > From your patch it looks like I originally missed out > powerpc + xtensa when introducing DATA_DATA - would be nice if > you could fix that. > > Sam Add missing DATA_DATA in powerpc Signed-off-by: Mathieu Desnoyers Cc: Paul Mackerras Signed-off-by: Sam Ravnborg -- arch/powerpc/kernel/vmlinux.lds.S | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 5c617c6ff0379f9e55178165478e10761fa109e2 Author: Mathieu Desnoyers Date: Sat Jun 16 22:28:26 2007 -0400 cris: use DATA_DATA in cris * Sam Ravnborg (sam@ravnborg.org) wrote: > From your patch it looks like I originally missed out > powerpc + xtensa when introducing DATA_DATA - would be nice if > you could fix that. > Use DATA_DATA in CRIS Signed-off-by: Mathieu Desnoyers Cc: Mikael Starvik Signed-off-by: Sam Ravnborg commit 7c5d249ad3fb6ce3815c1ed5f04bece02a3e7030 Author: Paulo Marques Date: Wed Jun 20 18:09:00 2007 +0100 kallsyms: remove usage of memmem and _GNU_SOURCE from scripts/kallsyms.c The only in-kernel user of "memmem" is scripts/kallsyms.c and it only uses it to find tokens that are 2 bytes in size. It is trivial to replace it with a simple function that finds 2-byte tokens. This should help users from systems that don't have the memmem GNU extension available. Signed-off-by: Paulo Marques Signed-off-by: Sam Ravnborg commit af332aa3876eaf39b159d345c86b744832ec4336 Author: Adrian Bunk Date: Fri Jul 13 06:18:47 2007 +0200 kbuild: use -fno-optimize-sibling-calls unconditionally We don't have to check for -fno-optimize-sibling-calls since even gcc 3.2 supports it. Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit d8982ba1f2a24f1db89d23e9f5224f932f8b04a0 Author: Roman Zippel Date: Mon Jul 9 11:43:58 2007 -0700 kconfig: reset generated values only if Kconfig and .config agree. Normally generated values (Kconfig entries without a prompt) are cleared as they are regenerated anyway and so they appear as new should they become visible and defaults work as expected (once a value is set defaults aren't used anymore). The detection whether a value is generated or not is only based on its visibility status, which can quickly change for a lot of symbols by just removing a single line from .config or adding a dependency to Kconfig as you noticed. The patch now suppresses this logic when .config and Kconfig aren't in sync and .config needs to be updated, so that you can remove now a random value from .config and oldconfig won't reask for many other values. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit a412c1723da5133843688078b6f1f069fa9c93f7 Author: Aneesh Kumar K.V Date: Mon Jul 9 11:43:57 2007 -0700 kbuild: fix the warning when running make tags make tags was giving the below warning. ctags: Warning: arch/x86_64/kernel/head.S:124: null expansion of name pattern "\1" Fix the same by making sure we taken only ENTRY pattern found at the begining of the line. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 0584f9f9cb3642274cc0f289f36524827868fe68 Author: Bernhard Walle Date: Mon Jul 9 11:43:56 2007 -0700 kconfig: strip 'CONFIG_' automatically in kernel configuration search Modify the ncurses configuration tool ('make menuconfig') in a way that the user can enter the search string (/) both with or without the leading 'CONFIG_'. This simplifies using copy & paste from .config files because you can select the whole word. Signed-off-by: Bernhard Walle Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c05190371d5ca360b75864cfcf930e8bf3addeb1 Author: Mike Frysinger Date: Mon Jul 9 11:43:55 2007 -0700 kbuild: use POSIX BRE in headers install target The sed expression used at the moment in scripts/Makefile.headersinst relies on the (handy) GNU extension where you can escape ERE's in an otherwise BRE without using the GNU -r option. The following patch replaces this "\+" usage with a functionally equivalent POSIX BRE compliant "\{1,\}". Tested with `make headers_install` against blackfin/x86_64/i386 targets. Stupid whiny OS X users and their crappy sed ;) Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 13bd59a111760bb7cba8dcf17b6b55a0d99d3592 Author: Geert Uytterhoeven Date: Tue Jul 17 14:18:47 2007 +0200 Don't define empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG Don't define an empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG. It's embedded in struct request_queue, but there we have #if defined(CONFIG_BLK_DEV_BSG) struct bsg_class_device bsg_dev; #endif anyway. Signed-off-by: Geert Uytterhoeven Signed-off-by: Jens Axboe commit a07a5b336f699e21d405764931a9d5426dc4f945 Author: Jan Glauber Date: Tue Jul 17 13:36:09 2007 +0200 [S390] Fix broken logic, SIGA flags must be bitwise ORed Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 086a6c6249995e49db0f7196d59f69dc3a1e1ef8 Author: Cornelia Huck Date: Tue Jul 17 13:36:08 2007 +0200 [S390] cio: Dont print trailing \0 in modalias_show(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e90a2857c666913258528ce96decc43c749bbf95 Author: Heiko Carstens Date: Tue Jul 17 13:36:07 2007 +0200 [S390] Simplify stack trace. sparse gives us a few of these: stacktrace.c:69:38: warning: incorrect type in argument 2 (different signedness) stacktrace.c:69:38: expected unsigned int *skip Just get rid of the 'skip' argument since it is contained in the struct stack_trace that gets passed anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 810cb5b32ded8f28880b502e984d807d03869d3b Author: Frank Munzert Date: Tue Jul 17 13:36:06 2007 +0200 [S390] z/VM unit record device driver z/VM Unit record character device driver to access VM reader, punch, and printer. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit d9d119f12fdb14d57e96e4698ef2ec303b102ae9 Author: Christian Borntraeger Date: Tue Jul 17 13:36:05 2007 +0200 [S390] vmcp cleanup A number of small changes to vmcp: - Change preferred email address. - Use PRINT_xxx machros from debug.h like most s390 drivers, define "vmcp:" as PRINTK_HEADER and wrap error message at column 80. - Add error number to error message. - Update copyright, as I touched this file. - Small whitespace diff. - Use mutex instead of semaphore (Thanks Heiko for the patch) - Don't register debug feature on failure. - Check debug feature registration on init to avoid a potential oops on unload if the debug feature could not be registered--> 2 more messages. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 6cbed91ab78e750eef2dacb75bd51bd63792fd07 Author: Frank Pavlic Date: Tue Jul 17 13:36:04 2007 +0200 [S390] qdio: output queue stall on FCP and network devices When running QIOASSIST enabled qdio devices in a z/VM environment the output queue for such devices stall in heavy workload situations. When SQBS and EQBS instructions returns CCQ=96 qdio does not reissue the instruction again with the register settings done by millicode but processed the returned qdio buffer. This is wrong. qdio has to reissue the instruction once again on CCQ=96, as we already do it for CCQ=97. Signed-off-by: Frank Pavlic Signed-off-by: Martin Schwidefsky commit 92d154b6c54f76016d36a7eb4aab6eea27737fdb Author: Christian Borntraeger Date: Tue Jul 17 13:36:03 2007 +0200 [S390] Fix disassembly of RX_URRD, SI_URD & PC-relative instructions. The instructions with format RX_URRD and SI_URD and instructions with a PC relative operand are not disassembled correctly. For RX_URRD and SI_URD instructions find_insn sets opfrag to code[0]. The mask byte of these two formats is 0x00. table->opfrag will never be identical to (opfrag & opmask) and no matching instruction will be found. Set the mask byte to 0xff to actually check byte 0 against the table. For PC relative instructions the (unsigned) offset value needs to be casted to an signed integer so that negative branch offsets are handled correctly. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit a13a9b6d983e0301692e16a169865e1feb8338c0 Author: Martin Schwidefsky Date: Tue Jul 17 13:36:02 2007 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 319a7b7fb98f6927d6eedeb627f72f54c377f9ce Author: FUJITA Tomonori Date: Tue Jul 17 12:22:09 2007 +0200 bsg: Kconfig updates - add the detailed explanation. - remove 'default y'. - make 'EXPERIMENTAL' keyword visible to the user in menu. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 0ed081ce203b0fd9a44763b70f41e36596f9b431 Author: FUJITA Tomonori Date: Tue Jul 17 12:21:35 2007 +0200 bsg: minor cleanup - fix MODULE_DESCRIPTION typo. - unify MODULE_DESCRIPTION and bsg_version. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 1c1133e1ff850279d604581af31a400c830b0393 Author: FUJITA Tomonori Date: Tue Jul 17 12:21:15 2007 +0200 bsg: device hash table cleanup - kill unused bsg_list_idx macro. - add bsg_dev_idx_hash() that returns an appropriate hlist_head. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9b9f770cef0037fd0e4d623f31ddfa8acda38205 Author: FUJITA Tomonori Date: Tue Jul 17 12:20:46 2007 +0200 bsg: fix initialization error handling bugs This fixes the following bugs and cleans up the initialization code: - cdev_del is missing. - unregister_chrdev_region should be used instead of unregister_chrdev. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit eec73e887a96b50035c92c57e01137dcbe6c5a39 Author: Ralf Baechle Date: Tue Jul 10 09:16:32 2007 +0100 Whitelist references from __dbe_table to .init This is needed on MIPS where the same mechanism as get_user() is used to intercept bus error exceptions for some hardware probes. Without this patch modpost will throw spurious warnings: LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: arch/mips/sgi-ip22/built-in.o(__dbe_table+0x0): Section mismatch: reference to .init.text: Signed-off-by: Ralf Baechle Signed-off-by: Sam Ravnborg commit a5eb6a502b71ee6bf1a9768b12ff4545cb7a50fe Author: Jan Beulich Date: Tue Jun 12 09:29:41 2007 +0200 modpost white list pattern adjustment gcc puts data into .data.rel or .data.rel.* on some architectures (e.g. ia64) or under certain conditions, so whatever is legal relative to .data should also be legal for those other sections. Fixes a few modpost warnings on ia64. Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit 741f98fe298a73c9d47ed53703c1279a29718581 Author: Sam Ravnborg Date: Tue Jul 17 10:54:06 2007 +0200 kbuild: do section mismatch check on full vmlinux Previously we did do the check on the .o files used to link vmlinux but that failed to find questionable references across the .o files. Create a dedicated vmlinux.o file used only for section mismatch checks that uses the defualt linker script so section does not get renamed. The vmlinux.o may later be used as part of the the final link of vmlinux but for now it is used fo section mismatch only. For a defconfig build this is instant but for an allyesconfig this add two minutes to a full build (that anyways takes ~2 hours). Signed-off-by: Sam Ravnborg commit 5cdf7f7678493996a835ef2e627976de8f9d1f40 Author: Jens Axboe Date: Tue Jul 17 08:58:06 2007 +0200 bsg: mark FUJITA Tomonori as bsg maintainer Signed-off-by: Jens Axboe commit 46f6ef4afc14ae1426883a973c18735cfcd70d8f Author: Jens Axboe Date: Tue Jul 17 08:56:10 2007 +0200 bsg: convert to dynamic major 240 was hardcoded, that was clearly a dumb mistake. Convert bsg to use alloc_chrdev_region() to retrieve a dynamic major. Signed-off-by: Jens Axboe commit 25fd164303cd69eb5adfe7668d2c146dcd866163 Author: Jens Axboe Date: Tue Jul 17 08:52:29 2007 +0200 bsg: address various review comments This address most of the comments made by Andrew. The two remaining are conversion to idr, and dynamic major. Signed-off-by: Jens Axboe commit 45ea5dcde62db8eccc8503defae3c3353256975d Author: Dave Airlie Date: Tue Jul 17 14:20:07 2007 +1000 drm: add idr_init to drm_stub.c Brown paper bag for me this patch chunk didn't make it in the first application Signed-off-by: Dave Airlie commit cca5307d178c931e70a642302b56fa2701d02253 Author: Dave Airlie Date: Tue Jul 17 12:55:58 2007 +1000 drm: fix problem with SiS typedef with sisfb enabled. Reported by: Avuton Olrich Signed-off-by: Dave Airlie commit d4e2cbe9cb9219fc924191a6baa2369140cb5ea8 Author: Dave Airlie Date: Tue Jul 17 10:55:47 2007 +1000 drm: convert drawable code to using idr This converts the code for allocating drawables to the Linux idr, Fixes from: Michel Dänzer , Kristian Høgsberg Signed-off-by: Dave Airlie commit 62968144e673016180f530fdfe170874b80ab5a7 Author: Dave Airlie Date: Tue Jul 17 10:46:52 2007 +1000 drm: convert drm context code to use Linux idr This converts the drm context allocator to an idr, using the new idr interface features from Kristian. Fixes from Kristian Hoegsberg Signed-off-by: Dave Airlie commit 7713a7d195c2e11d7ba6a973317da0af862d1264 Author: David Miller Date: Mon Jul 16 17:17:44 2007 -0700 [HRTIMER] Fix cpu pointer arg to clockevents_notify() All of the clockevent notifiers expect a pointer to an "unsigned int" cpu argument, but hrtimer_cpu_notify() passes in a pointer to a long. [ Discussed with and ok by Thomas Gleixner ] Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit f798634d806615bee27d1b83479034087a02aa0f Author: David S. Miller Date: Mon Jul 16 17:05:11 2007 -0700 [SERIAL] SUNHV: Fix jerky console on LDOM guests. Mixing putchar() and write() hvcalls does not work %100 correctly. But we should be using write() all the time if we can, even from ->start_tx(), anyways. Signed-off-by: David S. Miller commit 778feeb4757daef5d7118feab2319142367910dd Author: David S. Miller Date: Mon Jul 16 16:50:36 2007 -0700 [SPARC64]: Fix race between MD update and dr-cpu add. We need to make sure the MD update occurs before we try to process dr-cpu configure requests. MD update and dr-cpu were being processed by seperate threads so that did not happen occaisionally. Fix this by executing all domain services data packets from a single thread, in order. This will help simplify some other things as well. Signed-off-by: David S. Miller commit 3ac66e33eaf0b2313f7e3c8c023aa0420577a0c2 Author: Fabio Massimo Di Nitto Date: Mon Jul 16 14:15:39 2007 -0700 [SPARC64]: SMP build fix. The UP build fix had some unintended consequences. Signed-off-by: David S. Miller commit 29417b899a77aaba1c060f5e123db4f50006f58a Author: Linus Torvalds Date: Mon Jul 16 16:52:44 2007 -0700 Make BLK_DEV_BSG depend strictly on SCSI=y The SCSI code can be compiled modular, but BLK_DEV_BSG currently cannot, and depends on the SCSI layer. So make sure that it depends on the SCSI layer being compiled in, not just available as a module. Noticed by Jeff Garzik and S.Çağlar Onur. Cc: Jeff Garzik Cc: Jens Axboe Cc: S.Çağlar Onur Signed-off-by: Linus Torvalds commit a54890d7a6f37a4658294cbce650af4d1fabb8c9 Author: Linus Torvalds Date: Mon Jul 16 16:50:01 2007 -0700 Make check_signature depend on CONFIG_HAS_IOMEM This should avoid build problems on architectures without a "readb()", that got bitten by check_signature() being uninlined. Noted by Heiko Carstens. Cc: Heiko Carstens Cc: Andrew Morton Signed-off-by: Linus Torvalds commit c5e3ae8823693b260ce1f217adca8add1bc0b3de Author: Ayaz Abdulla Date: Sun Jul 15 06:51:03 2007 -0400 forcedeth bug fix: realtek phy This patch contains errata fixes for the realtek phy. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit d215d8a269f397d303c3d5f7c74e98592e8284f1 Author: Ayaz Abdulla Date: Sun Jul 15 06:50:53 2007 -0400 forcedeth bug fix: vitesse phy This patch contains errata fixes for the vitesse phy. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 14a67f3c6ca319edd011db4edad63dd686426ae2 Author: Ayaz Abdulla Date: Sun Jul 15 06:50:28 2007 -0400 forcedeth bug fix: cicada phy This patch contains errata fixes for the cicada phy. It only renamed the defines to be phy specific. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 05ffdd7bf364c456ffd51f0c2bf0f41b8e110f49 Author: Jay Cliburn Date: Sun Jul 15 11:03:29 2007 -0500 atl1: reorder atl1_main functions Reorder functions in atl1_main into more logical groupings to make the code easier to follow. This patch is large, but it's harmless; it neither adds nor removes any functionality whatsoever. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2ca13da705ac9780ff7cd2ea7948e25303c42f81 Author: Jay Cliburn Date: Sun Jul 15 11:03:28 2007 -0500 atl1: fix excessively indented code Move excessively indented code to separate functions. Also move ring pointer initialization to its own function. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 53ffb42cdf3d01f7b6e2101eebed3d12e71a30f5 Author: Jay Cliburn Date: Sun Jul 15 11:03:27 2007 -0500 atl1: cleanup atl1_main Fix indentation, remove dead code, improve some comments, change dev_dbg to dev_printk. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2b116145bbdbe1b13a2eb780988447eecd657a55 Author: Jay Cliburn Date: Sun Jul 15 11:03:26 2007 -0500 atl1: header file cleanup Remove unused structure members, improve comments, break long comment lines, rename a constant to be consistent with others in the file. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 70d9d4b2477f90fb99227026f4cb6e75920eb1ec Author: Jay Cliburn Date: Sun Jul 15 11:03:25 2007 -0500 atl1: remove irq_sem Remove unnecessary irq_sem code. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit d4f01a77d74ced4dab50d0cf75d568f48a3b6b4e Author: jing xiang Date: Sat Jul 14 14:13:24 2007 +0800 cdc-subset to support new vendor/product ID This patch is for cdc subset to support Mavell vendor/product ID. Signed-off-by: Jing Xiang Signed-off-by: Jeff Garzik commit 9030c0d24dbb90bbe6b31dc93c3be5e36290c7c3 Author: Francois Romieu Date: Fri Jul 13 23:05:35 2007 +0200 8139cp: implement the missing dev->tx_timeout Signed-off-by: Mika Lansirinne Signed-off-by: Jeff Garzik commit c97884b5de95a11d1668f134a51c1d150d214391 Author: Brice Goglin Date: Fri Jul 13 20:15:13 2007 +0200 myri10ge: Remove nonsensical limit in the tx done routine Remove nonsensical limit in the tx done routine. Specifically, the loop will always terminate after processing <= 1 rings worth of frames, as the mcp index is not refetched, so the removed conditional could never be true. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit be5ae973197b84e9f39784b73d08ba41931fbdc9 Author: Kumar Gala Date: Fri Jul 13 00:38:47 2007 -0500 gianfar: kill unused header A long time ago we used OCP with the gianfar driver. Eventually when we kill arch/ppc including this will cause issues so lets just kill it now. Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit 06103b13828425ebd24255ec08c28a795b6b7a68 Author: John Donoghue Date: Fri Jul 13 02:12:08 2007 +0200 EP93XX_ETH must select MII CONFIG_EP93XX_ETH=y, CONFIG_MII=n results in an obvious link error. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 446ebd0118d8e82791652bd17dd8db08ab993c0e Author: Patrice Vilchez Date: Thu Jul 12 19:07:25 2007 +0200 macb: Add multicast capability Add multicast capability to Atmel ethernet macb driver. Signed-off-by: Patrice Vilchez Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 6c36a7074436e181fb3df41f66bbdaf53980951e Author: frederic RODO Date: Thu Jul 12 19:07:24 2007 +0200 macb: Use generic PHY layer Convert the macb driver to use the generic PHY layer in drivers/net/phy. Signed-off-by: Frederic RODO Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 54ab2927d38536f6d437bdd0d7454b99bf67a48c Author: Frank Blaschka Date: Thu Jul 12 12:51:35 2007 +0200 s390: add barriers to qeth driver Add barrier to loop where atomic variable is evaluated. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit aa617aa9568e5fc80103194f5a6da2977c305f10 Author: Frank Blaschka Date: Thu Jul 12 12:51:34 2007 +0200 s390: scatter-gather for inbound traffic in qeth driver For large incoming packets > PAGE_SIZE/2 qeth creates a fragmented skb by adding pointers to qdio pages to the fragment list of the skb. This avoids allocating big chunks of consecutive memory. Also copying data from the qdio buffer to the skb is economized. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit 44c821525778c5d2e81da293195d5d589e8ad845 Author: Thomas Klein Date: Wed Jul 11 16:32:00 2007 +0200 eHEA: Introducing support vor DLPAR memory add This patch adds support for DLPAR memory add to the eHEA driver. To detect whether memory was added the driver uses its own memory mapping table and checks for kernel addresses whether they're located in already known memory sections. If not the function ehea_rereg_mrs() is triggered which performs a rebuild of the mapping table and a re-registration of the global memory region. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 8910b49fbb8d4517a20bb3de7dc239dcfa7d2b6f Author: Micah Gruber Date: Mon Jul 9 11:29:04 2007 +0800 Fix a potential NULL pointer dereference in free_shared_mem() in drivers/net/s2io.c This patch fixes a potential null dereference bug where we dereference nic before a null check. This patch simply moves the dereferencing after the null check. Signed-off-by: Micah Gruber < micah.gruber@gmail.com> Signed-off-by: Jeff Garzik commit 2e27afb300b56d83bb03fbfa68852b9c1e2920c6 Author: Linus Torvalds Date: Mon Jul 16 14:31:08 2007 -0700 Revert "[NET]: Fix races in net_rx_action vs netpoll." This reverts commit 29578624e354f56143d92510fff33a8b2aaa2c03. Ingo Molnar reports complete breakage with his e1000 card (no networking, card reports transmit timeouts), and bisected it down to this commit. Let's figure out what went wrong, but not keep breaking machines until we do. Cc: Ingo Molnar Cc: Olaf Kirch Cc: David Miller Signed-off-by: Linus Torvalds commit 1e29a706eef664f2c5014462d435f54a1952cc7b Author: Sam Ravnborg Date: Sun Jun 3 22:19:24 2007 +0200 kbuild: whitelist references from variables named _timer to .init.text arm uses a lot of ops structures named *_timer that has legitimite references to .init.text. So let's add this variable to the list of variables that may reference .init.text without causing any warning. Signed-off-by: Sam Ravnborg commit 92cc6b0725d800dcc3b9d62b419724050e4f7872 Author: Sam Ravnborg Date: Sun Jun 3 00:47:53 2007 +0200 kbuild: remove hardcoded _logo names from modpost Replaced this with a __init_refok marker in front of fb_find_logo(). I think that the __initdata marker for the logo's are wrong but I have not justified this so I did not remove it. Signed-off-by: Sam Ravnborg commit d3ab78560b9a244bdb2ba2ef0e53193832d311c2 Author: Sam Ravnborg Date: Sun Jun 3 00:05:10 2007 +0200 kbuild: remove hardcoded apic_es7000 from modpost Replace the hardcoded variable name apic_es7000 in modpost with a __initdata_refok marker. Signed-off-by: Sam Ravnborg commit 6fc53bae3d5940f1b123afa5ad082359b1a376be Author: Sam Ravnborg Date: Sat Jun 2 21:29:20 2007 +0200 kbuild: warn about references from .init.text to .exit.text The .exit.text section may be discarded either at build or at runtime. So let modpost warn if this situation is detected. Signed-off-by: Sam Ravnborg commit 1d8af559f9ffd6847856f74658e501ed7ded9f01 Author: Sam Ravnborg Date: Sun Jun 3 00:41:22 2007 +0200 kbuild: consolidate section checks Move more checks from whitelist to the section check functions. Remove the redundent pci_fixup check. Renumber the patterns. No functional changes. Signed-off-by: Sam Ravnborg commit 1087247b7d8f1938425906d2ac983df76c6dcc18 Author: Sam Ravnborg Date: Sat Jun 2 21:18:51 2007 +0200 kbuild: refactor code in modpost to improve maintainability There were a great deal of overlap between the two functions that check which sections may reference .init.text and .exit.text. Factor out common check to a separate function and sort entries in the original functions. Signed-off-by: Sam Ravnborg commit 10fa16e75c70c8e7ec4675c5f985548a6565dca2 Author: Eric Van Hensbergen Date: Mon Jul 16 16:02:49 2007 -0500 9p: fix debug compilation error s/9p/v9fs.c: In function 'v9fs_parse_options': fs/9p/v9fs.c:134: error: 'p9_debug_level' undeclared (first use in this function) Signed-off-by: Dave Jones Acked-by: Eric Van Hensbergen commit b28242e7e3c08072251da6d7bc4895fbd3e58299 Author: Sam Ravnborg Date: Tue May 29 23:09:35 2007 +0200 kbuild: ignore section mismatch warnings originating from .note section .note* sections are ELF notes, which are typically used by external tools to examine the kernel image. Since this is removed from any runtime consideration, it's OK to reference any section from a .note* section. Signed-off-by: Jeremy Fitzhardinge Cc: "Eric W. Biederman" Signed-off-by: Sam Ravnborg commit 1de564bbf8b630ab356571cdbd15b7d5adb1c20d Author: Jeremy Fitzhardinge Date: Tue May 29 13:33:01 2007 -0700 kbuild: .paravirtprobe section is obsolete, so modpost doesn't need to handle it The .paravirtprobe section is obsolete, so modpost doesn't need to handle it. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Sam Ravnborg commit 1abe02fef95366208c264635a886785d18fd38bb Author: Stephen Rothwell Date: Thu May 24 14:16:13 2007 +1000 kbuild: suppress modpost warnings for references from the .toc section as used by powerpc We should do better here by effetively "dereferencing" references to the .toc (or the .got2) section, but that is much harder. Signed-off-by: Stephen Rothwell Signed-off-by: Sam Ravnborg commit 56a974fa2d595fe6ebe433c525b8232ead539b76 Author: Sam Ravnborg Date: Mon Jul 16 22:39:35 2007 +0200 kbuild: make better section mismatch reports on arm With this change we can find more symbols hereby improving the readability of the warnings. Signed-off-by: Sam Ravnborg commit ae4ac12323c0ff80528cac3269151d580e23f923 Author: Atsushi Nemoto Date: Tue May 22 18:27:39 2007 +0900 kbuild: make better section mismatch reports on i386 and mips On i386 and MIPS, warn_sec_mismatch() sometimes fails to show usefull symbol name. This is because empty 'refsym' due to 0 r_addend value. This patch is to adjust r_addend value, consulting with apply_relocate() routine in kernel code. Signed-off-by: Atsushi Nemoto Signed-off-by: Sam Ravnborg commit b70e325cfe824ea0f6a1666b8b8db986e99c9603 Author: Sam Ravnborg Date: Sun Jun 10 20:38:27 2007 +0200 kconfig: fix update-po-config Massimo Maiurana reported that update-po-config was broken: 1) spelling errors in Makefile so arch/um failed 2) UTF-8 was not supported The following patch address the above problems. kxgettext now append the output to the .pot file generated by xgettext - so we have a header. In all places UFT-8 is specifed so we now flawlessly support UTF-8. The Kconfig files had an empty string in a few cases - these are now supressed in kxgettext. With this the translators can now pick up where they left and get it all translated. There are ~11000 strings to be translated... Signed-off-by: Sam Ravnborg Cc: Massimo Maiurana Cc: Arnaldo Carvalho de Melo commit 4c6f2eb979c314b6362e655f3ff15749af565f86 Author: Mike Frysinger Date: Thu May 10 22:44:28 2007 -0700 kbuild: add support for squashing uid/gid in gen_initramfs_list.sh Sometimes it is useful to squash all uid's/gid's to 0:0 regardless of current owner. For example, in build systems that get run as arbitrary users (uClinux-dist). This adds a special "squash" keyword so you can do '-g squash -u squash' and have ownership squashed to root. Signed-off-by: Mike Frysinger Cc: Sam Ravnborg Signed-off-by: Andrew Morton commit f2434ec1e08e44c2568b29c2879b3346aa29dbd2 Author: Mike Frysinger Date: Thu May 10 22:44:28 2007 -0700 kbuild: add support for reading stdin with gen_init_cpio Treat an argument of "-" as meaning "read stdin for cpio files" so gen_init_cpio can be piped into. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit e99c343f169cdcb43f1508873a3c9e19ffe4c64a Author: Mike Frysinger Date: Wed May 23 21:37:45 2007 -0400 kconfig: use POSIX equality test in check-lxdialog.sh The "==" operator is not in POSIX, so use -eq instead. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit cb3ed5b7e09c6c0462e396d55e3fecc0980a333a Author: H. Peter Anvin Date: Fri May 25 17:58:26 2007 -0700 scripts: Make cleanfile/cleanpatch warn about long lines Make the "cleanfile" and "cleanpatch" script warn about long lines, by default lines whose visual width exceeds 79 characters. Per suggestion from Auke Kok. Signed-off-by: H. Peter Anvin Signed-off-by: Sam Ravnborg commit d72e5edbf4d13adfe489e9e6114a4922891ddcb2 Author: Sam Ravnborg Date: Mon May 28 22:47:48 2007 +0200 kbuild: avoid environment to set variables used by kbuild A few of the variables used by kbuild has fixed naming. Make sure we do not pick up random values from the environment. Signed-off-by: Sam Ravnborg commit 7015030faf4af623804d63b5345c45fa0cad8b74 Author: Sam Ravnborg Date: Mon May 28 22:26:55 2007 +0200 kbuild: document cc-fullversion Signed-off-by: Sam Ravnborg commit f5e83fa4c07488406b4a4e0ab7c4efd8df9ad676 Author: Segher Boessenkool Date: Sat May 19 18:49:08 2007 +0200 powerpc: Refuse to build 64-bit with GCC-4.2.0 and CONFIG_MODULES ...since this won't work (compiler bug, see ). Signed-off-by: Segher Boessenkool Signed-off-by: Sam Ravnborg commit 0ab2a272e6b55e5d58168d6983da99e2dc09b8b2 Author: Segher Boessenkool Date: Sat May 19 18:49:07 2007 +0200 kbuild: New 'cc-fullversion' macro Prints a six-digit string including the GCC patchlevel. Also fix the 'usage' comment for cc-version. Signed-off-by: Segher Boessenkool Signed-off-by: Sam Ravnborg commit f241182b51c0f26b29af40c3777f84e6033d0401 Author: Sam Ravnborg Date: Mon May 28 22:14:37 2007 +0200 kbuild: asm-offsets.h is now cleaned with O=.. builds Reported by: "Robert P. J. Day" Signed-off-by: Sam Ravnborg Cc: "Robert P. J. Day" commit 5b37696fda07b8acf37beba3853f83106397ccdf Author: Satyam Sharma Date: Tue Jul 17 00:24:23 2007 +0530 utime(s): Honour CAP_FOWNER when times==NULL do_utimes() does not honour CAP_FOWNER when times==NULL. Trivial and obvious one-line fix. Signed-off-by: Satyam Sharma Signed-off-by: Linus Torvalds commit 9793c3266755b4cae8915982825b2c07cd12e1c6 Author: S.Çağlar Onur Date: Mon Jul 16 21:56:51 2007 +0300 Fix too few arguments to function `scsi_cmd_ioctl' This corrects the following compile error introduced by the merge of the new bsg layer in commit e245befce7af0a1e1347079ed62695b059594bd4: caglar@zangetsu linux-2.6 $ make CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CHK include/linux/compile.h LD drivers/block/built-in.o CC [M] drivers/block/cciss.o drivers/block/cciss.c: In function `cciss_ioctl': drivers/block/cciss.c:1173: warning: passing arg 2 of `scsi_cmd_ioctl' from incompatible pointer type drivers/block/cciss.c:1173: warning: passing arg 3 of `scsi_cmd_ioctl' makes pointer from integer without a cast drivers/block/cciss.c:1173: warning: passing arg 4 of `scsi_cmd_ioctl' makes integer from pointer without a cast drivers/block/cciss.c:1173: error: too few arguments to function `scsi_cmd_ioctl' ... make[2]: *** [drivers/block/cciss.o] Hata 1 make[1]: *** [drivers/block] Hata 2 make: *** [drivers] Hata 2 Signed-off-by: S.Çağlar Onur Cc: Jens Axboe Signed-off-by: Linus Torvalds commit 959bc220df38317bed9a677600b3945a8571fc1c Author: Anton Altaparmakov Date: Mon Jul 16 19:39:02 2007 +0100 Fix LDM for new field in the VOL5 VBLK. Teach LDM about a new field encountered with Windows Vista. This fixes LDM for people using Vista who have disabled drive letter assignment from one or more volumes. Doing this introduces a so far unknown field in the LDM database in the VOL5 VBLK structure which causes the LDM driver to fail to parse the VBLK structure and hence LDM fails to parse the disk altogether. This patch teaches the driver about this field. Thanks got to Ashton Mills for reporting the problem and working with me on getting it fixed. It is now working for him. Signed-off-by: Anton Altaparmakov CC: Richard Russon Signed-off-by: Linus Torvalds commit 7144521f5ac741e9ad3033953b9d9fdede015ee0 Author: Linus Torvalds Date: Mon Jul 16 11:50:38 2007 -0700 Remove duplicate comments from sysctl.c Randy Dunlap noticed that the recent comment clarifications from Andrew had somehow gotten duplicated. Quoth Andrew: "hm, that could have been some late-night reject-fixing." Fix it up. Cc: From: Andrew Morton Cc: Randy Dunlap Signed-off-by: Linus Torvalds commit abce891a10559343d8ac9f79b46d78afdba63a40 Author: Linus Torvalds Date: Mon Jul 16 11:18:23 2007 -0700 Fix new generic block device SG compile We had a merge issue with the "dentry" field going away from the kobject, and being replaced by a sysfs_dirent field (named "sd") instead. That broke the BSG compile. Cc: Jens Axboe Cc: FUJITA Tomonori Cc: James Bottomley Signed-off-by: Linus Torvalds commit 7e42ca886b0282679c2721dc4853163cc89b8a34 Author: Steve French Date: Mon Jul 16 17:40:02 2007 +0000 [CIFS] Typo in previous patch Signed-off-by: Steve French commit 98283bb49c6c8c070ebde9f47489d3e9a83c1323 Author: OGAWA Hirofumi Date: Mon Jul 16 09:40:05 2007 +0900 fat: Fix the race of read/write the FAT12 entry FAT12 entry is 12bits, so it needs 2 phase to update the value. And writer and reader access it without any lock, so reader can get the half updated value. This fixes the long standing race condition by adding a global spinlock to only FAT12 for avoiding any impact against FAT16/32. Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit 6fa20d4fb58cb342638bc14658083aadcad8fb74 Author: Eric Date: Mon Jul 16 16:23:19 2007 +0000 [CIFS] zero_user_page() conversions Signed-off-by: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Steve French commit 347e03df1696ab22963f6b8c4f2220c41ec17f82 Author: Andrew Morton Date: Sun Jul 15 23:42:03 2007 -0700 cpwatchdog build fix sparc64: drivers/sbus/char/cpwatchdog.c: In function `wd_toggleintr': drivers/sbus/char/cpwatchdog.c:523: error: implicit declaration of function `readb' drivers/sbus/char/cpwatchdog.c:533: error: implicit declaration of function `writeb' drivers/sbus/char/cpwatchdog.c: In function `wd_pingtimer': drivers/sbus/char/cpwatchdog.c:545: error: implicit declaration of function `readw' drivers/sbus/char/cpwatchdog.c: In function `wd_starttimer': drivers/sbus/char/cpwatchdog.c:584: error: implicit declaration of function `writew' drivers/sbus/char/cpwatchdog.c: In function `wd_init': drivers/sbus/char/cpwatchdog.c:767: error: implicit declaration of function `ioremap' drivers/sbus/char/cpwatchdog.c:767: warning: assignment makes pointer from integer without a cast drivers/sbus/char/cpwatchdog.c: In function `wd_cleanup': drivers/sbus/char/cpwatchdog.c:849: error: implicit declaration of function `iounmap' Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17e0c7cc1dfd8f49b67160b678297b88e545cc40 Author: Jes Sorensen Date: Sun Jul 15 23:42:02 2007 -0700 sn_console section mismatch warning Do not mark sn_sal_console_setup as __init since it's referenced from non init data structures. Signed-off-by: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98701dc19e0cf358d48208e994180bb8abad5079 Author: Geert Uytterhoeven Date: Sun Jul 15 23:42:01 2007 -0700 compat32: ignore the LOOP_CLR_FD ioctl compat32: Ignore the LOOP_CLR_FD ioctl for the loop block device, to kill an annoying kernel message when e.g. busybox umount is used. Signed-off-by: Geert Uytterhoeven Acked-by: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29e3f347779088a79d832bfbd2d17c2f04050308 Author: Robert P. J. Day Date: Sun Jul 15 23:42:01 2007 -0700 NLS: Remove obsolete Makefile entries Since the corresponding source files no longer exist, remove the irrelevant Makefile entries for them. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c80e7a826c10cf5bce8487fbaede48bd0bd48d08 Author: Rusty Russell Date: Sun Jul 15 23:42:00 2007 -0700 permit mempool_free(NULL) Christian Borntraeger points out that mempool_free() doesn't noop when handed NULL. This is inconsistent with the other free-like functions in the kernel. Signed-off-by: Rusty Russell Cc: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e70030d4cf91613530a23b40ad9919bb9ee114f Author: Badari Pulavarty Date: Sun Jul 15 23:42:00 2007 -0700 ext4: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71ce8c6c9bf269b192f352ea555217815cf027e Author: Badari Pulavarty Date: Sun Jul 15 23:41:59 2007 -0700 ext3: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2235219b7721b8e74de6841e79240936561a2b63 Author: Badari Pulavarty Date: Sun Jul 15 23:41:58 2007 -0700 ext2: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f14137e284d5733e7be05bd95656f59391b942e Author: Dan Aloni Date: Sun Jul 15 23:41:57 2007 -0700 drivers/char/ipmi/ipmi_si_intf.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5fa4998eb4f318b6409e800edb1213b09e7cd62 Author: Dan Aloni Date: Sun Jul 15 23:41:56 2007 -0700 drivers/char/ipmi/ipmi_poweroff.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4277eedd7908a0ca8b66fad46ee76b0ad96e6ef2 Author: Denis Vlasenko Date: Sun Jul 15 23:41:56 2007 -0700 vsprintf.c: optimizing, part 2: base 10 conversion speedup, v2 Optimize integer-to-string conversion in vsprintf.c for base 10. This is by far the most used conversion, and in some use cases it impacts performance. For example, top reads /proc/$PID/stat for every process, and with 4000 processes decimal conversion alone takes noticeable time. Using code from http://www.cs.uiowa.edu/~jones/bcd/decimal.html (with permission from the author, Douglas W. Jones) binary-to-decimal-string conversion is done in groups of five digits at once, using only additions/subtractions/shifts (with -O2; -Os throws in some multiply instructions). On i386 arch gcc 4.1.2 -O2 generates ~500 bytes of code. This patch is run tested. Userspace benchmark/test is also attached. I tested it on PIII and AMD64 and new code is generally ~2.5 times faster. On AMD64: # ./vsprintf_verify-O2 Original decimal conv: .......... 151 ns per iteration Patched decimal conv: .......... 62 ns per iteration Testing correctness 12895992590592 ok... [Ctrl-C] # ./vsprintf_verify-O2 Original decimal conv: .......... 151 ns per iteration Patched decimal conv: .......... 62 ns per iteration Testing correctness 26025406464 ok... [Ctrl-C] More realistic test: top from busybox project was modified to report how many us it took to scan /proc (this does not account any processing done after that, like sorting process list), and then I test it with 4000 processes: #!/bin/sh i=4000 while test $i != 0; do sleep 30 & let i-- done busybox top -b -n3 >/dev/null on unpatched kernel: top: 4120 processes took 102864 microseconds to scan top: 4120 processes took 91757 microseconds to scan top: 4120 processes took 92517 microseconds to scan top: 4120 processes took 92581 microseconds to scan on patched kernel: top: 4120 processes took 75460 microseconds to scan top: 4120 processes took 66451 microseconds to scan top: 4120 processes took 67267 microseconds to scan top: 4120 processes took 67618 microseconds to scan The speedup comes from much faster generation of /proc/PID/stat by sprintf() calls inside the kernel. Signed-off-by: Douglas W Jones Signed-off-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b39a734097d5095d63eb9c709a6aaf965633bb01 Author: Denis Vlasenko Date: Sun Jul 15 23:41:54 2007 -0700 vsprintf.c: optimizing, part 1 (easy and obvious stuff) * There is no point in having full "0...9a...z" constant vector, if we use only "0...9a...f" (and "x" for "0x"). * Post-decrement usually needs a few more instructions, so use pre decrement instead where makes sense: -       while (i < precision--) { +       while (i <= --precision) { * if base != 10 (=> base 8 or 16), we can avoid using division in a loop and use mask/shift, obtaining much faster conversion. (More complex optimization for base 10 case is in the second patch). Overall, size vsprintf.o shows ~80 bytes smaller text section with this patch applied. Signed-off-by: Douglas W Jones Signed-off-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b4e5a1411c8b970983fb6022db1da31c4f5c301 Author: J. Bruce Fields Date: Sun Jul 15 23:41:53 2007 -0700 Fix trivial typos in anon_inodes.c comments Trivial typo and grammar fixes. Signed-off-by: "J. Bruce Fields" Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2111217df52827916141789c87d614ae45236db Author: Jesper Juhl Date: Sun Jul 15 23:41:53 2007 -0700 isapnp: remove pointless check of 'type' against 0 in isapnp_read_tag() In drivers/pnp/isapnp/core.c::isapnp_read_tag() there is a test of 'type' being == 0 a bit down in the function. That test doesn't make any sense. If 'type' could indeed be NULL, then the test happens way too late as we'd already have tried to dereference the pointer earlier and looking at the callers it also turns out that there is no way type can ever actually be NULL. So the test is completely pointless and should just be removed. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f1b0e1f287547903f11fa1e6de7d2765597766e Author: Alexey Dobriyan Date: Sun Jul 15 23:41:52 2007 -0700 .gitignore update headers_install by default puts headers into usr/include/ . They're auto-generated, so should be ignored. Same for *.orig, *.rej . Signed-off-by: Alexey Dobriyan Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8a68ee486e1c81eaead3c521822bf86142d380 Author: Adrian Bunk Date: Sun Jul 15 23:41:52 2007 -0700 remove mm/backing-dev.c:congestion_wait_interruptible() congestion_wait_interruptible() is no longer used. Signed-off-by: Adrian Bunk Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1492192b4a0bb84dd9b792cc0bd30583220a28a7 Author: Jiri Kosina Date: Sun Jul 15 23:41:51 2007 -0700 kernel/printk.c: document possible deadlock against scheduler kernel/printk.c: document possible deadlock against scheduler The printk's comment states that it can be called from every context, which might lead to false illusion that it could be called from everywhere without any restrictions. This is however not true - a call to printk() could deadlock if called from scheduler code (namely from schedule(), wake_up(), etc) on runqueue lock when it tries to wake up klogd. Document this. Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 017f021c7e5fe3f82ccc5cbb7b1750e66e00f527 Author: Ed L. Cashin Date: Sun Jul 15 23:41:50 2007 -0700 docs: static initialization of spinlocks is OK Static initialization of spinlocks is preferable to dynamic initialization when it is practical. This patch updates documentation for consistency with comments in spinlock_types.h. Signed-off-by: Ed L. Cashin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e7d136e9e083f04b859411248c699cbb89e418d Author: Alan Cox Date: Sun Jul 15 23:41:49 2007 -0700 serial: remove termios checks from various old char serial drivers Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d471d340ef9543a1e2f70f99c21ee2c770e7b17c Author: Alan Cox Date: Sun Jul 15 23:41:49 2007 -0700 68360serial: remove broken optimisation Remove the broken 'no termios change' optimisation for this driver. Signed-off-by: Alan Cox Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de1764af27520f6dfdac0ddf2209d78ddb9690d7 Author: Alan Cox Date: Sun Jul 15 23:41:48 2007 -0700 synclink: remove bogus 'no change' termios optimisation from synclink drivers Again this check is wrong now, and un-needed Signed-off-by: Alan Cox Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35426128adaacf8cdabc2482598252d488b7ccb9 Author: Alan Cox Date: Sun Jul 15 23:41:47 2007 -0700 genericserial: remove bogus optimisation check and dead code paths We've been using the 'new locking' for a long time now so it seems pointless keeping the old one around. Remove it and undo the macros it uses back into real code for readability. Remove the bogus 'no termios change' checks. Signed-off-by: Alan Cox Cc: Morten Helgesen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db0ef08efa1bb94ba9a9e44c255d9058df5fde8d Author: Alan Cox Date: Sun Jul 15 23:41:47 2007 -0700 amiserial: remove incorrect 'no termios change' check Lots of serial drivers check and optimise for setting the termios values to the ones they were before. This is pointless and the check is wrong anyway. Remove the checks on the serial drivers. If we ever do need such a check put it back in the tty layer instead _once_! Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24da1cbff9cfce50868c2dfdcda82a68ac5cb707 Author: Rusty Russell Date: Sun Jul 15 23:41:46 2007 -0700 modules: remove modlist_lock Now we always use stop_machine for module insertion or deletion, we no longer need the modlist_lock: merely disabling preemption is sufficient to block against list manipulation. This avoids deadlock on OOPSen where we can potentially grab the lock twice. Bug: 8695 Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Tobias Oed Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c675bd43ccc36927c855d53d2e0042cdd1074ab Author: Borislav Petkov Date: Sun Jul 15 23:41:45 2007 -0700 ext4: fix error handling in ext4_create_journal Fix error handling in ext4_create_journal according to kernel conventions. Signed-off-by: Borislav Petkov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 952d9de116ad87261de106464a9eeec038c4cd14 Author: Borislav Petkov Date: Sun Jul 15 23:41:45 2007 -0700 ext3: fix error handling in ext3_create_journal() Fix error handling in ext3_create_journal according to kernel conventions. Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f1f642e2f092e37eb9038060eb0100c44f55a11 Author: Oleg Nesterov Date: Sun Jul 15 23:41:44 2007 -0700 make cancel_xxx_work_sync() return a boolean Change cancel_work_sync() and cancel_delayed_work_sync() to return a boolean indicating whether the work was actually cancelled. A zero return value means that the work was not pending/queued. Without that kind of change it is not possible to avoid flush_workqueue() sometimes, see the next patch as an example. Also, this patch unifies both functions and kills the (unlikely) busy-wait loop. Signed-off-by: Oleg Nesterov Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5a421a4509a7e2dff11da0f01b0548f4f84d503 Author: Oleg Nesterov Date: Sun Jul 15 23:41:44 2007 -0700 rename cancel_rearming_delayed_work() to cancel_delayed_work_sync() Imho, the current naming of cancel_xxx workqueue functions is very confusing. cancel_delayed_work() cancel_rearming_delayed_work() cancel_rearming_delayed_workqueue() // obsolete cancel_work_sync() This looks as if the first 2 functions differ in "type" of their argument which is not true any longer, nowadays the difference is the behaviour. The semantics of cancel_rearming_delayed_work(dwork) was changed significantly, it doesn't require that dwork rearms itself, and cancels dwork synchronously. Rename it to cancel_delayed_work_sync(). This matches cancel_delayed_work() and cancel_work_sync(). Re-create cancel_rearming_delayed_work() as a simple inline obsolete wrapper, like cancel_rearming_delayed_workqueue(). Signed-off-by: Oleg Nesterov Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 422b14c2e2f816f58ce8ce0ab0beeae02dfb7a75 Author: Borislav Petkov Date: Sun Jul 15 23:41:43 2007 -0700 update Documentation/filesystems/vfs.txt Update Documentation/filesystems/vfs.txt Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d52988023a37720e9e4aeb66362be67fa21d8836 Author: Jesper Juhl Date: Sun Jul 15 23:41:42 2007 -0700 Remove the last few UMSDOS leftovers The UMSDOS filesystem was removed back in 2.6.11, but some tiny bits stuck around. This patch removes the few remaining leftovers. The only things left behind after this are the entries in the CREDITS file and the ioctl number in Documentation/ioctl-number.txt as documentation. This third (hopefully final) version of the patch doesn't edit the arch/um/config.release file, since Jeff Dike pointed out to me that it should die completely, and asked me to remove it from my patch as he'll send in a seperate patch removing the file completely. Signed-off-by: Jesper Juhl Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6b07d39d7904ceecac53699d6b5ddd677304880 Author: Jesper Juhl Date: Sun Jul 15 23:41:41 2007 -0700 Add missing files and dirs to 00-INDEX in Documentation/ Add descriptions for a number of missing files and directories to the Documentation/00-INDEX file. Signed-off-by: Jesper Juhl Acked-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2618c60b8b5836b73e8deb385a036820744d256d Author: Yinghai Lu Date: Sun Jul 15 23:41:41 2007 -0700 dma: make dma pool to use kmalloc_node Using dev_to_node(&dev->dev) to get node, and kmalloc_node to dma buffer on corresponding node dma pool Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Christoph Lameter Cc: David Rientjes Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d375b97037c40d51b41d3b00b15729f6730c2cfe Author: Cyrill Gorcunov Date: Sun Jul 15 23:41:40 2007 -0700 UDF: fix function name from udf_crc16 to udf_crc We have to change udf_crc16() name to udf_crc() to be able to play with CRC test. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 608e2619682e951f525b08e7a48669a3c0263b41 Author: Heiko Carstens Date: Sun Jul 15 23:41:39 2007 -0700 generic bug: use show_regs() instead of dump_stack() The current generic bug implementation has a call to dump_stack() in case a WARN_ON(whatever) gets hit. Since report_bug(), which calls dump_stack(), gets called from an exception handler we can do better: just pass the pt_regs structure to report_bug() and pass it to show_regs() in case of a warning. This will give more debug informations like register contents, etc... In addition this avoids some pointless lines that dump_stack() emits, since it includes a stack backtrace of the exception handler which is of no interest in case of a warning. E.g. on s390 the following lines are currently always present in a stack backtrace if dump_stack() gets called from report_bug(): [<000000000001517a>] show_trace+0x92/0xe8) [<0000000000015270>] show_stack+0xa0/0xd0 [<00000000000152ce>] dump_stack+0x2e/0x3c [<0000000000195450>] report_bug+0x98/0xf8 [<0000000000016cc8>] illegal_op+0x1fc/0x21c [<00000000000227d6>] sysc_return+0x0/0x10 Acked-by: Jeremy Fitzhardinge Acked-by: Haavard Skinnemoen Cc: Andi Kleen Cc: Kyle McMartin Cc: Paul Mackerras Cc: Paul Mundt Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94bed2a9c4ae980838003f5d32681eef794ecc28 Author: Dave Jones Date: Sun Jul 15 23:41:38 2007 -0700 Add -Werror-implicit-function-declaration Add -Werror-implicit-function-declaration This makes builds fail sooner if something is implicitly defined instead of having to wait half an hour for it to fail at the linking stage. Signed-off-by: Dave Jones Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2ea416b2aa04d0c34ff2281a23dae5b76b7b3b Author: Andrew Morton Date: Sun Jul 15 23:41:38 2007 -0700 uninline check_signature() This is a rather bizarre thing to have inlined in io.h. Stick it in lib/ instead. While we're there, despaghetti it a bit, and fix its off-by-one behaviour when passed a zero length. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e7bd66318b3ae60fbba7d886d9a98b71ffbf74e Author: Josh Triplett Date: Sun Jul 15 23:41:37 2007 -0700 CodingStyle: add information about editor modelines I recently received a patch including a file that had a vim modeline, and I realized that nothing specifically proscribed that practice. Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a923fd6ae7599aee63934ed13c3033fdefc7a18e Author: Josh Triplett Date: Sun Jul 15 23:41:37 2007 -0700 CodingStyle: add information about trailing whitespace Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e8c4273ef4f631a896650bd2ade4c1b6487131b Author: vignesh babu Date: Sun Jul 15 23:41:36 2007 -0700 is_power_of_2: ufs/super.c Replace (n & (n-1)) with is_power_of_2 Signed-off-by: vignesh babu Acked-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7c310c36e5fdf1b83a459e5db167bfbd86137db Author: Niels de Vos Date: Sun Jul 15 23:41:35 2007 -0700 parport_pc: it887x fix The IO port range requested by parport_pc.c:sio_ite_8872_probe is too small. The IO-ports of ttyS1 (0x2f8) will be missconfigured by the ITE-chip. The ITE starts looking for the chip a 0x2a0. An IO-portrange of 32 will not overwrite the ports of ttyS1. Therefore register 0x60 should be written with 0xe5000000, enabling the ITE and setting IO-portsize to 32 bytes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f84d5a76c50d9752cdec64a6e536ee3901b267f6 Author: vignesh babu Date: Sun Jul 15 23:41:34 2007 -0700 is_power_of_2: kernel/kfifo.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Acked-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf99abace7e07dd8491e7093a9a9ef11d48838ed Author: Andrea Arcangeli Date: Sun Jul 15 23:41:33 2007 -0700 make seccomp zerocost in schedule This follows a suggestion from Chuck Ebbert on how to make seccomp absolutely zerocost in schedule too. The only remaining footprint of seccomp is in terms of the bzImage size that becomes a few bytes (perhaps even a few kbytes) larger, measure it if you care in the embedded. Signed-off-by: Andrea Arcangeli Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d9d02feeee89e9132034d504c9a45eeaf618a3d Author: Andrea Arcangeli Date: Sun Jul 15 23:41:32 2007 -0700 move seccomp from /proc to a prctl This reduces the memory footprint and it enforces that only the current task can enable seccomp on itself (this is a requirement for a strightforward [modulo preempt ;) ] TIF_NOTSC implementation). Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be0ef957c9eed4ebae873ee3fbcfb9dfde486dec Author: Oleg Nesterov Date: Sun Jul 15 23:41:32 2007 -0700 nbd.c: sock_xmit: cleanup signal related code sock_xmit() re-implements sigprocmask() and dequeue_signal_lock(). Signed-off-by: Oleg Nesterov Acked-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e1ac130d08b0c7066615fe60fe1e7212c8eaf6a Author: Oleg Nesterov Date: Sun Jul 15 23:41:29 2007 -0700 kcdrwd: remove unneeded flush_signals() call kcdrwd() is a kernel thread, all signals are ignored. Signed-off-by: Oleg Nesterov Cc: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b6dd9baa728d8ef329cc9a7e73e511e29055856 Author: Oleg Nesterov Date: Sun Jul 15 23:41:29 2007 -0700 adb_probe_task: remove unneeded flush_signals() call adb_probe_task() is forked by "events" thread, all signals are ignored, no need to play with signal blocking/flushing. Signed-off-by: Oleg Nesterov Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4210df283cc703bc494f450c91b8311bdf7fe5ee Author: Andrew Morton Date: Sun Jul 15 23:41:28 2007 -0700 bd_claim_by_disk: fix warning Fix this: fs/block_dev.c: In function 'bd_claim_by_disk': fs/block_dev.c:970: warning: 'found' may be used uninitialized in this function and given that free_bd_holder() now needs free(NULL)-is-legal behaviour, we can simplify bd_release_from_kobject(). Cc: Bjorn Steinbrink Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e91672c76319aaed24ea3e784e238cf445c57cb Author: Johannes Weiner Date: Sun Jul 15 23:41:25 2007 -0700 Replace obscure constructs in fs/block_dev.c Replace some funky codepaths in fs/block_dev.c with cleaner versions of the affected places. [akpm@linux-foundation.org: fix return value] Signed-off-by: Johannes Weiner Cc: Bjorn Steinbrink Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 948730b0e39fb4cba4a5ed0fc40e0f017cce2dfa Author: Adrian Bunk Date: Sun Jul 15 23:41:25 2007 -0700 fs/namespace.c should #include "internal.h" Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19769b762607fea53c005a0068cf8939cecd2f9a Author: Andrew Morton Date: Sun Jul 15 23:41:24 2007 -0700 sprint_symbol() cleanup Remove pointless `else'. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45bce8faf55511ec7d7ffc301461d864d67f1af Author: Duane Griffin Date: Sun Jul 15 23:41:23 2007 -0700 HFS+: add custom dentry hash and comparison operations Add custom dentry hash and comparison operations for HFS+ filesystems that are case-insensitive and/or do automatic unicode decomposition. The new operations reuse the existing HFS+ ASCII to unicode conversion, unicode decomposition and case folding functionality. Signed-off-by: Duane Griffin Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e96b7ca1e8f17c5117da369daaa7cf2edfdf9b1 Author: Duane Griffin Date: Sun Jul 15 23:41:22 2007 -0700 HFS+: refactor ASCII to unicode conversion routine for later reuse The HFS+ filesystem is case-insensitive and does automatic unicode decomposition by default, but does not provide custom dentry operations. This can lead to multiple dentries being cached for lookups on a filename with varying case and/or character (de)composition. These patches add custom dentry hash and comparison operations for case-sensitive and/or automatically decomposing HFS+ filesystems. Unicode decomposition and case-folding are performed as required to ensure equivalent filenames are hashed to the same values and compare as equal. This patch: Refactor existing HFS+ ASCII to unicode string conversion routine to split out character conversion functionality. This will be reused by the custom dentry hash and comparison routines. This approach avoids unnecessary memory allocation compared to using the string conversion routine directly in the new functions. [akpm@linux-foundation.org: avoid use-of-uninitialised] Signed-off-by: Duane Griffin Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29bc5b4f73a65ef667df50d5ed474e371471d915 Author: Toshiyuki Okajima Date: Sun Jul 15 23:41:22 2007 -0700 mistaken ext4_inode_bitmap for ext4_block_bitmap In ext4_new_blocks(), one of two ext4_block_bitmap() calls should be ext4_inode_bitmap() call. It is not harmful in normal processing, but it should be fixed. Signed-off-by: Toshiyuki Okajima Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2be7fe075af8f8ba9c8b8ab0feec4ba4fff04979 Author: Andrew Morton Date: Sun Jul 15 23:41:21 2007 -0700 sysctl.c: add text telling people to use CTL_UNNUMBERED Hopefully this will help people to understand the new regime. Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d8f83cb734525f96992fd61e4f7323ab3d549c Author: Andrew Morton Date: Sun Jul 15 23:41:20 2007 -0700 Add Documentation/sysctl/ctl_unnumbered.txt Poeple keep on adding new numbered sysctls, when they're supposed not to. Add a documentation file which explain why new sysctls should use CTL_UNNUMBERED. The next patch will sprinkle pointers to this throughout sysctl.c. Eric provided the text (thanks) Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36cf3b5c3b7228bcf5124c530d50080b61a59f69 Author: Thomas Gleixner Date: Sun Jul 15 23:41:20 2007 -0700 FUTEX: Tidy up the code The recent PRIVATE and REQUEUE_PI changes to the futex code made it hard to read. Tidy it up. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0746aec3c75f23de0148774ac50cf73161f09d68 Author: Borislav Petkov Date: Sun Jul 15 23:41:19 2007 -0700 update description in Documentation/filesystems/vfs.txt Update the description of struct file_system_type and get_sb() in Documentation/filesystems/vfs.txt to match the current code. Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 132e4b0a049c39337c535501561b8301c7f2b202 Author: Robert P. J. Day Date: Sun Jul 15 23:41:19 2007 -0700 cdrom: replace hard-coded constants by kernel.h macro. Signed-off-by: Robert P. J. Day Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e44f3497d41db4c3b9051c61410dee8ae4fb49c Author: Ingo Molnar Date: Sun Jul 15 23:41:18 2007 -0700 sys_time() speedup Improve performance of sys_time(). sys_time() returns time in seconds, but it does so by calling do_gettimeofday() and then returning the tv_sec portion of the GTOD time. But the data structure "xtime", which is updated by every timer/scheduler tick, already offers HZ granularity time. The patch improves the sysbench OLTP macrobenchmark significantly: 2.6.22-rc6: #threads 1: transactions: 3733 (373.21 per sec.) 2: transactions: 6676 (667.46 per sec.) 3: transactions: 6957 (695.50 per sec.) 4: transactions: 7055 (705.48 per sec.) 5: transactions: 6596 (659.33 per sec.) 2.6.22-rc6 + sys_time.patch: 1: transactions: 4005 (400.47 per sec.) 2: transactions: 7379 (737.77 per sec.) 3: transactions: 7347 (734.49 per sec.) 4: transactions: 7468 (746.65 per sec.) 5: transactions: 7428 (742.47 per sec.) Mixed API uses of gettimeofday() and time() are guaranteed to be coherent via the use of a at-most-once-per-second slowpath that updates xtime. [akpm@linux-foundation.org: build fixes] Signed-off-by: Ingo Molnar Cc: John Stultz Cc: Thomas Gleixner Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f482394ccbca7234d29cc146d4a2b94f976ce5a1 Author: vignesh babu Date: Sun Jul 15 23:41:17 2007 -0700 is_power_of_2(): jbd Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2(). Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc74269c8910573a0e9a7bc303752194ce5cae0 Author: vignesh babu Date: Sun Jul 15 23:41:17 2007 -0700 is_power_of_2: ext3/super.c Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2() Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 681dcd95431e2258c1174602fcd69393e4139959 Author: Christoph Hellwig Date: Sun Jul 15 23:41:16 2007 -0700 drop obsolete sys_ioctl export sys_ioctl() was only exported for our first version of compat ioctl handling. Now that the whole compat ioctl handling mess is more or less sorted out there are no more modular users left and we can kill it. There's one exception and that's sparc64's solaris compat module, but sparc64 has it's own export predating the generic one by years for that which this patch leaves untouched. Signed-off-by: Christoph Hellwig Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcecc6c70013e3a5fa81b3081480c03e10670a23 Author: Randy Dunlap Date: Sun Jul 15 23:41:15 2007 -0700 doc/oops-tracing: add Code: decode info Add info that the Code: bytes line contains or (wxyz) in some architecture oops reports and what that means. Add a script by Andi Kleen that reads the Code: line from an Oops report file and generates assembly code from the hex bytes. Signed-off-by: Randy Dunlap Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 213dd266d48af90c1eec8688c1ff31aa34d21de2 Author: Eric W. Biederman Date: Sun Jul 15 23:41:15 2007 -0700 namespace: ensure clone_flags are always stored in an unsigned long While working on unshare support for the network namespace I noticed we were putting clone flags in an int. Which is weird because the syscall uses unsigned long and we at least need an unsigned to properly hold all of the unshare flags. So to make the code consistent, this patch updates the code to use unsigned long instead of int for the clone flags in those places where we get it wrong today. Signed-off-by: Eric W. Biederman Acked-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3a68e30d28dbc6981dfc3d6ceddbfa2f885fe4e Author: Dave Hansen Date: Sun Jul 15 23:41:14 2007 -0700 ext3: remove extra IS_RDONLY() check ext3_change_inode_journal_flag() is only called from one location: ext3_ioctl(EXT3_IOC_SETFLAGS). That ioctl case already has a IS_RDONLY() call in it so this one is superfluous. Signed-off-by: Dave Hansen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b86e854f71600c809536502a0efa9d4e384fb23 Author: C. Scott Ananian Date: Sun Jul 15 23:41:13 2007 -0700 update procfs-guide doc of read_func The procfs-guide claims that 'the parameter start doesn't seem to be used anywhere in the kernel'. This is out of date. In linux/fs/proc/generic.c we find a very nice description of the parameters to read_func. The appended patch replaces the bogus description with this (as far as I know) accurate one. Cc: "Randy.Dunlap" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4895925976977aaeda26ee2a603a99f17db500b Author: Robert P. J. Day Date: Sun Jul 15 23:41:13 2007 -0700 Remove final two references to "__obsolete_setup" macro Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b716395e2b8e450e294537de0c91476ded2f0395 Author: Vasily Tarasov Date: Sun Jul 15 23:41:12 2007 -0700 diskquota: 32bit quota tools on 64bit architectures OpenVZ Linux kernel team has discovered the problem with 32bit quota tools working on 64bit architectures. In 2.6.10 kernel sys32_quotactl() function was replaced by sys_quotactl() with the comment "sys_quotactl seems to be 32/64bit clean, enable it for 32bit" However this isn't right. Look at if_dqblk structure: struct if_dqblk { __u64 dqb_bhardlimit; __u64 dqb_bsoftlimit; __u64 dqb_curspace; __u64 dqb_ihardlimit; __u64 dqb_isoftlimit; __u64 dqb_curinodes; __u64 dqb_btime; __u64 dqb_itime; __u32 dqb_valid; }; For 32 bit quota tools sizeof(if_dqblk) == 0x44. But for 64 bit kernel its size is 0x48, 'cause of alignment! Thus we got a problem. Attached patch reintroduce sys32_quotactl() function, that handles this and related situations. [michal.k.k.piotrowski@gmail.com: build fix] [akpm@linux-foundation.org: Make it link with CONFIG_QUOTA=n] Signed-off-by: Vasily Tarasov Cc: Andi Kleen Cc: "Luck, Tony" Cc: Jan Kara Cc: Signed-off-by: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b7775870b69129e640ed583c9b362d5cd66159d Author: Arnd Bergmann Date: Sun Jul 15 23:41:11 2007 -0700 Introduce compat_u64 and compat_s64 types One common problem with 32 bit system call and ioctl emulation is the different alignment rules between i386 and 64 bit machines. A number of drivers work around this by marking the compat structures as 'attribute((packed))', which is not the right solution because it breaks all the non-x86 architectures that want to use the same compat code. Hopefully, this patch improves the situation, it introduces two new types, compat_u64 and compat_s64. These are defined on all architectures to have the same size and alignment as the 32 bit version of u64 and s64. Signed-off-by: Arnd Bergmann Acked-by: David S. Miller Cc: David Woodhouse Cc: Andi Kleen Cc: Benjamin Herrenschmidt Cc: Vasily Tarasov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9525b52aecd11b14c4ec982add01c11157172f Author: Henrik Kretzschmar Date: Sun Jul 15 23:41:10 2007 -0700 kerneldoc fix in audit_core_dumps Fix parameter name in audit_core_dumps for kerneldoc. Signed-off-by: Henrik Kretzschmar Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcf5008db171211e3c34c060cacfd788306b034b Author: Nathan Lynch Date: Sun Jul 15 23:41:09 2007 -0700 remove unused lock_cpu_hotplug_interruptible definition aa95387774039096c11803c04011f1aa42d85758 removed the implementation of lock_cpu_hotplug_interruptible and all users of it. This stub definition for !CONFIG_HOTPLUG_CPU was left over -- kill it now. Signed-off-by: Nathan Lynch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32c3773011a9b3522bd4abadc7fad8c27417119f Author: Jan Kara Date: Sun Jul 15 23:41:09 2007 -0700 ext4: fix deadlock in ext4_remount() and orphan list handling ext4_orphan_add() and ext4_orphan_del() functions lock sb->s_lock with a transaction started with ext4_mark_recovery_complete() waits for a transaction holding sb->s_lock, thus leading to a possible deadlock. At the moment we call ext4_mark_recovery_complete() from ext4_remount() we have done all the work needed for remounting and thus we are safe to drop sb->s_lock before we wait for transactions to commit. Note that at this moment we are still guarded by s_umount lock against other remounts/umounts. Signed-off-by: Jan Kara Cc: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 030703e49d4966bd348660e0fdc2699507efb82b Author: Jan Kara Date: Sun Jul 15 23:41:08 2007 -0700 ext3: fix deadlock in ext3_remount() and orphan list handling ext3_orphan_add() and ext3_orphan_del() functions lock sb->s_lock with a transaction started with ext3_mark_recovery_complete() waits for a transaction holding sb->s_lock, thus leading to a possible deadlock. At the moment we call ext3_mark_recovery_complete() from ext3_remount() we have done all the work needed for remounting and thus we are safe to drop sb->s_lock before we wait for transactions to commit. Note that at this moment we are still guarded by s_umount lock against other remounts/umounts. Signed-off-by: Jan Kara Cc: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3b295502444340dd0701855ac422fbf32e161d Author: Jan Beulich Date: Sun Jul 15 23:41:07 2007 -0700 adjust nosmp handling Especially when !CONFIG_HOTPLUG_CPU, avoid needlessy allocating resources for CPUs that can never become available. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98c0d07cbf2a8582a0341b05ad564247e608f6f9 Author: Cedric Le Goater Date: Sun Jul 15 23:41:07 2007 -0700 add a kmem_cache for nsproxy objects It should improve performance in some scenarii where a lot of these nsproxy objects are created by unsharing namespaces. This is a typical use of virtual servers that are being created or entered. This is also a good tool to find leaks and gather statistics on namespace usage. Signed-off-by: Cedric Le Goater Cc: Herbert Poetzl Cc: Pavel Emelianov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 467e9f4b5086a60a5cb2e032ccaf4a31abadc4c2 Author: Cedric Le Goater Date: Sun Jul 15 23:41:06 2007 -0700 fix create_new_namespaces() return value dup_mnt_ns() and clone_uts_ns() return NULL on failure. This is wrong, create_new_namespaces() uses ERR_PTR() to catch an error. This means that the subsequent create_new_namespaces() will hit BUG_ON() in copy_mnt_ns() or copy_utsname(). Modify create_new_namespaces() to also use the errors returned by the copy_*_ns routines and not to systematically return ENOMEM. [oleg@tv-sign.ru: better changelog] Signed-off-by: Cedric Le Goater Cc: Serge E. Hallyn Cc: Badari Pulavarty Cc: Pavel Emelianov Cc: Herbert Poetzl Cc: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e733f071e16bdad13a75eedb102e8941b09927e Author: Andrew Morton Date: Sun Jul 15 23:41:05 2007 -0700 dirty_writeback_centisecs_handler() cleanup Repair indenting bustage. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97842216b8400fe9d1a20468959e2989180f8f79 Author: Dave Jones Date: Sun Jul 15 23:41:05 2007 -0700 Allow softlockup to be runtime disabled It's useful sometimes to disable the softlockup checker at boottime. Especially if it triggers during a distro install. Signed-off-by: Dave Jones Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea5a3dcfda1c9140228f2842ea9b01e1713c559a Author: Robert P. J. Day Date: Sun Jul 15 23:41:04 2007 -0700 COBALT: remove all references to Cobalt NVRAM Remove not only the references to Cobalt NVRAM, but the header file as well. Signed-off-by: Robert P. J. Day Acked-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef48bd246124ccdef0e1fa5b03b62d69cbf71fa7 Author: Paul E. McKenney Date: Sun Jul 15 23:41:03 2007 -0700 Document the fact that RCU callbacks can run in parallel Add an item to the RCU documentation checklist noting that RCU callbacks can run in parallel. Signed-off-by: Paul E. McKenney Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3b573ad9af85b6df104044f6fff05f04349db2 Author: Andrew Morton Date: Sun Jul 15 23:41:03 2007 -0700 binfmt_elf warning fix fs/binfmt_elf.c: In function 'load_elf_binary': fs/binfmt_elf.c:1002: warning: 'interp_map_addr' may be used uninitialized in this function The compiler (gcc-4.1.0) is correct, but it failed to notice that we didn't use the resulting value. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64d67d21773f1946ddc04aedc201f6c2f3ee1bfb Author: Andrew Morton Date: Sun Jul 15 23:41:02 2007 -0700 revert "vanishing ioctl handler debugging" Revert my do_ioctl() debugging patch: Paul fixed the bug. Cc: Paul Fulghum Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77ec739d8d0979477fc91f530403805afa2581a4 Author: Serge E. Hallyn Date: Sun Jul 15 23:41:01 2007 -0700 user namespace: add unshare This patch enables the unshare of user namespaces. It adds a new clone flag CLONE_NEWUSER and implements copy_user_ns() which resets the current user_struct and adds a new root user (uid == 0) For now, unsharing the user namespace allows a process to reset its user_struct accounting and uid 0 in the new user namespace should be contained using appropriate means, for instance selinux The plan, when the full support is complete (all uid checks covered), is to keep the original user's rights in the original namespace, and let a process become uid 0 in the new namespace, with full capabilities to the new namespace. Signed-off-by: Serge E. Hallyn Signed-off-by: Cedric Le Goater Acked-by: Pavel Emelianov Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acce292c82d4d82d35553b928df2b0597c3a9c78 Author: Cedric Le Goater Date: Sun Jul 15 23:40:59 2007 -0700 user namespace: add the framework Basically, it will allow a process to unshare its user_struct table, resetting at the same time its own user_struct and all the associated accounting. A new root user (uid == 0) is added to the user namespace upon creation. Such root users have full privileges and it seems that theses privileges should be controlled through some means (process capabilities ?) The unshare is not included in this patch. Changes since [try #4]: - Updated get_user_ns and put_user_ns to accept NULL, and get_user_ns to return the namespace. Changes since [try #3]: - moved struct user_namespace to files user_namespace.{c,h} Changes since [try #2]: - removed struct user_namespace* argument from find_user() Changes since [try #1]: - removed struct user_namespace* argument from find_user() - added a root_user per user namespace Signed-off-by: Cedric Le Goater Signed-off-by: Serge E. Hallyn Acked-by: Pavel Emelianov Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d69a1f4a72b18876c99c697692b78339d491568 Author: Cedric Le Goater Date: Sun Jul 15 23:40:58 2007 -0700 remove CONFIG_UTS_NS and CONFIG_IPC_NS CONFIG_UTS_NS and CONFIG_IPC_NS have very little value as they only deactivate the unshare of the uts and ipc namespaces and do not improve performance. Signed-off-by: Cedric Le Goater Acked-by: "Serge E. Hallyn" Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 522ed7767e800cff6c650ec64b0ee0677303119c Author: Miloslav Trmac Date: Sun Jul 15 23:40:56 2007 -0700 Audit: add TTY input auditing Add TTY input auditing, used to audit system administrator's actions. This is required by various security standards such as DCID 6/3 and PCI to provide non-repudiation of administrator's actions and to allow a review of past actions if the administrator seems to overstep their duties or if the system becomes misconfigured for unknown reasons. These requirements do not make it necessary to audit TTY output as well. Compared to an user-space keylogger, this approach records TTY input using the audit subsystem, correlated with other audit events, and it is completely transparent to the user-space application (e.g. the console ioctls still work). TTY input auditing works on a higher level than auditing all system calls within the session, which would produce an overwhelming amount of mostly useless audit events. Add an "audit_tty" attribute, inherited across fork (). Data read from TTYs by process with the attribute is sent to the audit subsystem by the kernel. The audit netlink interface is extended to allow modifying the audit_tty attribute, and to allow sending explanatory audit events from user-space (for example, a shell might send an event containing the final command, after the interactive command-line editing and history expansion is performed, which might be difficult to decipher from the TTY input alone). Because the "audit_tty" attribute is inherited across fork (), it would be set e.g. for sshd restarted within an audited session. To prevent this, the audit_tty attribute is cleared when a process with no open TTY file descriptors (e.g. after daemon startup) opens a TTY. See https://www.redhat.com/archives/linux-audit/2007-June/msg00000.html for a more detailed rationale document for an older version of this patch. [akpm@linux-foundation.org: build fix] Signed-off-by: Miloslav Trmac Cc: Al Viro Cc: Alan Cox Cc: Paul Fulghum Cc: Casey Schaufler Cc: Steve Grubb Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f27c00bf80f122513d3a5be16ed851573164534 Author: Alan Cox Date: Sun Jul 15 23:40:55 2007 -0700 Improve behaviour of spurious IRQ detect Currently we handle spurious IRQ activity based upon seeing a lot of invalid interrupts, and we clear things back on the base of lots of valid interrupts. Unfortunately in some cases you get legitimate invalid interrupts caused by timing asynchronicity between the PCI bus and the APIC bus when disabling interrupts and pulling other tricks. In this case although the spurious IRQs are not a problem our unhandled counters didn't clear and they act as a slow running timebomb. (This is effectively what the serial port/tty problem that was fixed by clearing counters when registering a handler showed up) It's easy enough to add a second parameter - time. This means that if we see a regular stream of harmless spurious interrupts which are not harming processing we don't go off and do something stupid like disable the IRQ after a month of running. OTOH lockups and performance killers show up a lot more than 10/second [akpm@linux-foundation.org: cleanup] Signed-off-by: Alan Cox Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3dc8c189a20dc5d115b8f0d07ac620e69eff05c Author: Alan Cox Date: Sun Jul 15 23:40:54 2007 -0700 intel-rng: undo mess made by an 80 column extremist The intel-rng printed a nice well formatted message when the port was disabled. Someone then came along and blindly trashed it by screwing up a trim down to 80 columns. Put it back into the right format and keep the overlong lines as the result is also MUCH easier to read in this specific case. Signed-off-by: Alan Cox Cc: Michael Buesch Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c07bce796833401317519e44075889c5fd4d5f Author: Lee Schermerhorn Date: Sun Jul 15 23:40:54 2007 -0700 hugetlbfs: handle empty options string I was seeing a null pointer deref in fs/super.c:vfs_kern_mount(). Some file system get_sb() handler was returning NULL mnt_sb with a non-negative return value. I also noticed a "hugetlbfs: Bad mount option:" message in the log. Turns out that hugetlbfs_parse_options() was not checking for an empty option string after call to strsep(). On failure, hugetlbfs_parse_options() returns 1. hugetlbfs_fill_super() just passed this return code back up the call stack where vfs_kern_mount() missed the error and proceeded with a NULL mnt_sb. Apparently introduced by patch: hugetlbfs-use-lib-parser-fix-docs.patch The problem was exposed by this line in my fstab: none /huge hugetlbfs defaults 0 0 It can also be demonstrated by invoking mount of hugetlbfs directly with no options or a bogus option. This patch: 1) adds the check for empty option to hugetlbfs_parse_options(), 2) enhances the error message to bracket any unrecognized option with quotes , 3) modifies hugetlbfs_parse_options() to return -EINVAL on any unrecognized option, 4) adds a BUG_ON() to vfs_kern_mount() to catch any get_sb() handler that returns a NULL mnt->mnt_sb with a return value >= 0. Signed-off-by: Lee Schermerhorn Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e73a75fa7f062b52d015f1c961685dcaac57f710 Author: Randy Dunlap Date: Sun Jul 15 23:40:52 2007 -0700 hugetlbfs: use lib/parser, fix docs Use lib/parser.c to parse hugetlbfs mount options. Correct docs in hugetlbpage.txt. old size of hugetlbfs_fill_super: 675 bytes new size of hugetlbfs_fill_super: 686 bytes (hugetlbfs_parse_options() is inlined) Signed-off-by: Randy Dunlap Cc: Hugh Dickins Cc: David Gibson Cc: Adam Litke Acked-by: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5216184571946b8bbf06f0cd630c7754190fdd1a Author: Dave Jones Date: Sun Jul 15 23:40:51 2007 -0700 fix typo in prefetch.h Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b7ecb113eb884bed126c44513aeecdbbfa6fee3 Author: Jesper Juhl Date: Sun Jul 15 23:40:51 2007 -0700 SubmitChecklist update, fix spelling error Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5001a27802723d6de50d9d8a446d594116524b0 Author: Wyatt Banks Date: Sun Jul 15 23:40:50 2007 -0700 HFSPlus: change kmalloc/memset to kzalloc Removed kmalloc and memset in favor of kzalloc. To explain the HFSPLUS_SB() macro in the removed memset call: hfsplus_fs.h:#define HFSPLUS_SB(super) (*(struct hfsplus_sb_info *)(super)->s_fs_info) Signed-off-by: Wyatt Banks Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abd4aa5a97ebc0efb9a7fbc98ef0bcf39266fadf Author: Dave Jones Date: Sun Jul 15 23:40:49 2007 -0700 undeprecate raw driver Despite repeated attempts over the last two and half years, this driver seems somewhat persistant. Remove its deprecated status as it has existing users who may not be in a position to migrate their apps to O_DIRECT. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3a740c5fb792098d7e7a24cd194a6d8c710ea94 Author: Randy Dunlap Date: Sun Jul 15 23:40:49 2007 -0700 sony-laptop: use NULL for pointer Use NULL instead of 0 for pointer: drivers/misc/sony-laptop.c:1920:6: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Acked-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b663a79c191508f27cd885224b592a878c0ba0f6 Author: Maxim Uvarov Date: Sun Jul 15 23:40:48 2007 -0700 taskstats: add context-switch counters Make available to the user the following task and process performance statistics: * Involuntary Context Switches (task_struct->nivcsw) * Voluntary Context Switches (task_struct->nvcsw) Statistics information is available from: 1. taskstats interface (Documentation/accounting/) 2. /proc/PID/status (task only). This data is useful for detecting hyperactivity patterns between processes. [akpm@linux-foundation.org: cleanup] Signed-off-by: Maxim Uvarov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Jonathan Lim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6c15c2b0fbfd5c0a84f5f0e1e3f20f85d2b8692 Author: Vasily Averin Date: Sun Jul 15 23:40:46 2007 -0700 ext3/ext4: orphan list corruption due bad inode After ext3 orphan list check has been added into ext3_destroy_inode() (please see my previous patch) the following situation has been detected: EXT3-fs warning (device sda6): ext3_unlink: Deleting nonexistent file (37901290), 0 Inode 00000101a15b7840: orphan list check failed! 00000773 6f665f00 74616d72 00000573 65725f00 06737270 66000000 616d726f ... Call Trace: [] ext3_destroy_inode+0x79/0x90 [] sys_unlink+0x126/0x1a0 [] error_exit+0x0/0x81 [] system_call+0x7e/0x83 First messages said that unlinked inode has i_nlink=0, then ext3_unlink() adds this inode into orphan list. Second message means that this inode has not been removed from orphan list. Inode dump has showed that i_fop = &bad_file_ops and it can be set in make_bad_inode() only. Then I've found that ext3_read_inode() can call make_bad_inode() without any error/warning messages, for example in the following case: ... if (inode->i_nlink == 0) { if (inode->i_mode == 0 || !(EXT3_SB(inode->i_sb)->s_mount_state & EXT3_ORPHAN_FS)) { /* this inode is deleted */ brelse (bh); goto bad_inode; ... Bad inode can live some time, ext3_unlink can add it to orphan list, but ext3_delete_inode() do not deleted this inode from orphan list. As result we can have orphan list corruption detected in ext3_destroy_inode(). However it is not clear for me how to fix this issue correctly. As far as i see is_bad_inode() is called after iget() in all places excluding ext3_lookup() and ext3_get_parent(). I believe it makes sense to add bad inode check to these functions too and call iput if bad inode detected. Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f7dd93de07420b423336d5d0028959e94778ddb Author: Vasily Averin Date: Sun Jul 15 23:40:45 2007 -0700 ext3/ext4: orphan list check on destroy_inode Customers claims to ext3-related errors, investigation showed that ext3 orphan list has been corrupted and have the reference to non-ext3 inode. The following debug helps to understand the reasons of this issue. [akpm@linux-foundation.org: update for print_hex_dump() changes] Signed-off-by: Vasily Averin Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcae56ea661e13d8f904b584bbe4c1e50c7ee548 Author: Robert P. J. Day Date: Sun Jul 15 23:40:45 2007 -0700 Drop an empty isicom.h from being exported to user space. Drop from being exported to user space since it would be only an empty file. Signed-off-by: Robert P. J. Day Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c289dca37917338fc8ab2e0d7e202a1c927e229e Author: Adrian Bunk Date: Sun Jul 15 23:40:42 2007 -0700 remove sonypi_camera_command() Remove the no longer used sonypi_camera_command(). Signed-off-by: Adrian Bunk Acked-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759448f459234bfcf34b82471f0dba77a9aca498 Author: Jan Engelhardt Date: Sun Jul 15 23:40:40 2007 -0700 Kernel utf-8 handling This patch fixes dead keys and copy/paste of non-ASCII characters in UTF-8 mode on Linux console. See more details about the original patch at: http://chris.heathens.co.nz/linux/utf8.html Already posted on (Oldest) http://lkml.org/lkml/2003/5/31/148 http://lkml.org/lkml/2005/12/24/69 (Recent) http://lkml.org/lkml/2006/8/7/75 [bunk@stusta.de: make drivers/char/selection.c:store_utf8() static] Signed-off-by: Jan Engelhardt Cc: Alexander E. Patrakov Cc: Dmitry Torokhov Cc: "Antonino A. Daplas" Signed-off-by: Adrian Bunk Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0ac36518be648dda3a32f0b37a8b2b546e1b24 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:39 2007 -0700 Remove capability.h from mm.h I forgot to remove capability.h from mm.h while removing sched.h! This patch remedies that, because the only inline function which was using CAP_something was made out of line. Cross-compile tested without regressions on: all powerpc defconfigs all mips defconfigs all m68k defconfigs all arm defconfigs all ia64 defconfigs alpha alpha-allnoconfig alpha-defconfig alpha-up arm i386 i386-allnoconfig i386-defconfig i386-up ia64 ia64-allnoconfig ia64-defconfig ia64-up m68k mips parisc parisc-allnoconfig parisc-defconfig parisc-up powerpc powerpc-up s390 s390-allnoconfig s390-defconfig s390-up sparc sparc-allnoconfig sparc-defconfig sparc-up sparc64 sparc64-allnoconfig sparc64-defconfig sparc64-up um-x86_64 x86_64 x86_64-allnoconfig x86_64-defconfig x86_64-up as well as my two usual configs. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb510b8172602a66467f3551b4be1911f5a7c8c2 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:39 2007 -0700 seq_file: more atomicity in traverse() Original problem: in some circumstances seq_file interface can present infinite proc file to the following script when normally said proc file is finite: while read line; do [do something with $line] done index'es being 0 and 1. Current one is 1, as bash prints second object line by line. Imagine first object being removed right before lseek(). traverse() will be called, because there is negative offset. traverse() will reset ->index to 0 (!). traverse() will call ->next() and get NULL in any usual iterate-over-list code using list_for_each_entry_continue() and such. There is one object in list now after all... traverse() will return 0, lseek() will update file position and pretend everything is OK. So, what we have now: ->f_pos points to place where second object will be printed, but ->index is 0. seq_read() instead of returning EOF, will start printing first line of first object every time it's called, until enough objects are added to ->f_pos return in bounds. Fix is to update ->index only after we're sure we saw enough objects down the road. Signed-off-by: Alexey Dobriyan Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18d96779d92902d2113b6f39bd2d42e805fa05e7 Author: Kees Cook Date: Sun Jul 15 23:40:38 2007 -0700 Documentation: /proc/$pid/stat files Documentation for the /proc/$pid/stat file. Signed-off-by: Kees Cook Cc: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e6077bd84a7bffa73b59d9704682aeab5781fa0 Author: Haavard Skinnemoen Date: Sun Jul 15 23:40:36 2007 -0700 atmel_serial: fix break handling The RXBRK field in the AT91/AT32 USART status register has the following definition according to e.g. the AT32AP7000 data sheet: RXBRK: Break Received/End of Break 0: No Break received or End of Break detected since the last RSTSTA. 1: Break Received or End of Break detected since the last RSTSTA. Thus, for each break, the USART sets the RXBRK bit twice. This patch modifies the driver to report the break event to the serial core only once by keeping track of whether a break condition is currently active. The break_active flag is reset as soon as a character is received, so even if we miss the start-of-break interrupt this should do the right thing. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Cc: Russell King Cc: Ivan Kuten Cc: Nicolas Ferre Cc: Patrice Vilchez Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc1ed7542c8c26af0f501da8006b9fce03e9aaca Author: Pierre Ossman Date: Sun Jul 15 23:40:35 2007 -0700 init: wait for asynchronously scanned block devices Some buses (e.g. USB and MMC) do their scanning of devices in the background, causing a race between them and prepare_namespace(). In order to be able to use these buses without an initrd, we now wait for the device specified in root= to actually show up. If the device never shows up than we will hang in an infinite loop. In order to not mess with setups that reboot on panic, the feature must be turned on via the command line option "rootwait". [bunk@stusta.de: root_wait can become static] Signed-off-by: Pierre Ossman Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a19542e5f694cd408a32c3d9dc593ba9366e2d7 Author: Ulrich Drepper Date: Sun Jul 15 23:40:34 2007 -0700 O_CLOEXEC for SCM_RIGHTS Part two in the O_CLOEXEC saga: adding support for file descriptors received through Unix domain sockets. The patch is once again pretty minimal, it introduces a new flag for recvmsg and passes it just like the existing MSG_CMSG_COMPAT flag. I think this bit is not used otherwise but the networking people will know better. This new flag is not recognized by recvfrom and recv. These functions cannot be used for that purpose and the asymmetry this introduces is not worse than the already existing MSG_CMSG_COMPAT situations. The patch must be applied on the patch which introduced O_CLOEXEC. It has to remove static from the new get_unused_fd_flags function but since scm.c cannot live in a module the function still hasn't to be exported. Here's a test program to make sure the code works. It's so much longer than the actual patch... #include #include #include #include #include #include #include #include #ifndef O_CLOEXEC # define O_CLOEXEC 02000000 #endif #ifndef MSG_CMSG_CLOEXEC # define MSG_CMSG_CLOEXEC 0x40000000 #endif int main (int argc, char *argv[]) { if (argc > 1) { int fd = atol (argv[1]); printf ("child: fd = %d\n", fd); if (fcntl (fd, F_GETFD) == 0 || errno != EBADF) { puts ("file descriptor valid in child"); return 1; } return 0; } struct sockaddr_un sun; strcpy (sun.sun_path, "./testsocket"); sun.sun_family = AF_UNIX; char databuf[] = "hello"; struct iovec iov[1]; iov[0].iov_base = databuf; iov[0].iov_len = sizeof (databuf); union { struct cmsghdr hdr; char bytes[CMSG_SPACE (sizeof (int))]; } buf; struct msghdr msg = { .msg_iov = iov, .msg_iovlen = 1, .msg_control = buf.bytes, .msg_controllen = sizeof (buf) }; struct cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); cmsg->cmsg_level = SOL_SOCKET; cmsg->cmsg_type = SCM_RIGHTS; cmsg->cmsg_len = CMSG_LEN (sizeof (int)); msg.msg_controllen = cmsg->cmsg_len; pid_t child = fork (); if (child == -1) error (1, errno, "fork"); if (child == 0) { int sock = socket (PF_UNIX, SOCK_STREAM, 0); if (sock < 0) error (1, errno, "socket"); if (bind (sock, (struct sockaddr *) &sun, sizeof (sun)) < 0) error (1, errno, "bind"); if (listen (sock, SOMAXCONN) < 0) error (1, errno, "listen"); int conn = accept (sock, NULL, NULL); if (conn == -1) error (1, errno, "accept"); *(int *) CMSG_DATA (cmsg) = sock; if (sendmsg (conn, &msg, MSG_NOSIGNAL) < 0) error (1, errno, "sendmsg"); return 0; } /* For a test suite this should be more robust like a barrier in shared memory. */ sleep (1); int sock = socket (PF_UNIX, SOCK_STREAM, 0); if (sock < 0) error (1, errno, "socket"); if (connect (sock, (struct sockaddr *) &sun, sizeof (sun)) < 0) error (1, errno, "connect"); unlink (sun.sun_path); *(int *) CMSG_DATA (cmsg) = -1; if (recvmsg (sock, &msg, MSG_CMSG_CLOEXEC) < 0) error (1, errno, "recvmsg"); int fd = *(int *) CMSG_DATA (cmsg); if (fd == -1) error (1, 0, "no descriptor received"); char fdname[20]; snprintf (fdname, sizeof (fdname), "%d", fd); execl ("/proc/self/exe", argv[0], fdname, NULL); puts ("execl failed"); return 1; } [akpm@linux-foundation.org: Fix fastcall inconsistency noted by Michael Buesch] [akpm@linux-foundation.org: build fix] Signed-off-by: Ulrich Drepper Cc: Ingo Molnar Cc: Michael Buesch Cc: Michael Kerrisk Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4 Author: Ulrich Drepper Date: Sun Jul 15 23:40:32 2007 -0700 Introduce O_CLOEXEC The problem is as follows: in multi-threaded code (or more correctly: all code using clone() with CLONE_FILES) we have a race when exec'ing. thread #1 thread #2 fd=open() fork + exec fcntl(fd,F_SETFD,FD_CLOEXEC) In some applications this can happen frequently. Take a web browser. One thread opens a file and another thread starts, say, an external PDF viewer. The result can even be a security issue if that open file descriptor refers to a sensitive file and the external program can somehow be tricked into using that descriptor. Just adding O_CLOEXEC support to open() doesn't solve the whole set of problems. There are other ways to create file descriptors (socket, epoll_create, Unix domain socket transfer, etc). These can and should be addressed separately though. open() is such an easy case that it makes not much sense putting the fix off. The test program: #include #include #include #include #ifndef O_CLOEXEC # define O_CLOEXEC 02000000 #endif int main (int argc, char *argv[]) { int fd; if (argc > 1) { fd = atol (argv[1]); printf ("child: fd = %d\n", fd); if (fcntl (fd, F_GETFD) == 0 || errno != EBADF) { puts ("file descriptor valid in child"); return 1; } return 0; } fd = open ("/proc/self/exe", O_RDONLY | O_CLOEXEC); printf ("in parent: new fd = %d\n", fd); char buf[20]; snprintf (buf, sizeof (buf), "%d", fd); execl ("/proc/self/exe", argv[0], buf, NULL); puts ("execl failed"); return 1; } [kyle@parisc-linux.org: parisc fix] Signed-off-by: Ulrich Drepper Acked-by: Ingo Molnar Cc: Davide Libenzi Cc: Michael Kerrisk Cc: Chris Zankel Signed-off-by: Kyle McMartin Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a2d44590a603be292addce9c263982043416666 Author: Eric W. Biederman Date: Sun Jul 15 23:40:31 2007 -0700 buffer: kill old incorrect comment Signed-off-by: Eric W. Biederman Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 Author: Venki Pallipadi Date: Sun Jul 15 23:40:30 2007 -0700 Add a flag to indicate deferrable timers in /proc/timer_stats Add a flag in /proc/timer_stats to indicate deferrable timers. This will let developers/users to differentiate between types of tiemrs in /proc/timer_stats. Deferrable timer and normal timer will appear in /proc/timer_stats as below. 10D, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) 10, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) Also version of timer_stats changes from v0.1 to v0.2 Signed-off-by: Venkatesh Pallipadi Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0807061908a7a9441d0f745deb444f7216904cb Author: Christoph Hellwig Date: Sun Jul 15 23:40:30 2007 -0700 remove odd and misleading comments from uio.h Signed-off-by: Christoph Hellwig Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b0fac45878bb88759eec347c273285195649ff7 Author: Dan Williams Date: Sun Jul 15 23:40:26 2007 -0700 dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs Continuing the work started in 411f0f3edc141a582190d3605cadd1d993abb6df ... This enables code with a dma path, that compiles away, to build without requiring additional code factoring. It also prevents code that calls dma_alloc_coherent and dma_free_coherent from linking whereas previously the code would hit a BUG() at run time. Finally, it allows archs that set !HAS_DMA to delete their asm/dma-mapping.h file. Cc: Cornelia Huck Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: John W. Linville Cc: Kyle McMartin Cc: James Bottomley Cc: Tejun Heo Cc: Jeff Garzik Cc: Cc: Cc: Cc: Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e7bf24b1b979db256ddc84d0d4ac6040d706da6 Author: Stefan Richter Date: Sun Jul 15 23:40:25 2007 -0700 fs: clarify "dummy" member in struct inodes_stat_t Signed-off-by: Stefan Richter Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e84845c4bf9a00533352e5805b35f42acdb04a1e Author: Randy Dunlap Date: Sun Jul 15 23:40:25 2007 -0700 add printk.time option, deprecate 'time' Allow printk_time to be enabled or disabled at boot time. Previously it could be enabled only, but not disabled. Change printk_time from an int to a bool since that's what it is. Make its logical (exposed) name just be "time" (was "printk_time"). Note: Changes kernel boot option syntax from "time" to "printk.time=value". Since printk_time is declared as a module_param, it can also be changed at run-time by modifying /sys/module/printk/parameters/time to a value of 1/Y/y to enabled it or 0/N/n to disable it. Since printk_time is declared as a module_param, its value can also be set at boot-time by using linux printk.time= If the "time" boot option is used, print a message that it is deprecated and will be removed. Note its planned removal in feature-removal-schedule.txt. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 185848707e73382ba930857502a0b80ff6039967 Author: Akinobu Mita Date: Sun Jul 15 23:40:24 2007 -0700 fault-injection: fix example scripts in documentation Fix and cleanup example scripts in fault injection documentation. 1. Eliminate broken oops() shell function. 2. Fold failcmd.sh and failmodule.sh into example scripts. It makes the example scripts work independent of current working directory. 3. Set "space" parameter to 0 to start injecting errors immediately. 4. Use /sys/module//sections/.data as upper bound of .text section. Because some module doesn't have .exit.text section. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54114994f4de7e8076fc250e44501e55e19b75b5 Author: Akinobu Mita Date: Sun Jul 15 23:40:23 2007 -0700 fault-injection: add min-order parameter to fail_page_alloc Limiting smaller allocation failures by fault injection helps to find real possible bugs. Because higher order allocations are likely to fail and zero-order allocations are not likely to fail. This patch adds min-order parameter to fail_page_alloc. It specifies the minimum page allocation order to be injected failures. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 203a2935c734c054bfd4665fb5d8835498af50a8 Author: Matthias Kaehlcke Date: Sun Jul 15 23:40:23 2007 -0700 fs/block_dev.c: use list_for_each_entry() fs/block_dev.c: Use list_for_each_entry() instead of list_for_each() in nr_blockdev_pages() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00c5746da9fc6a793b9d94a8001ded5929f3a773 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:22 2007 -0700 mutex_unlock() later in seq_lseek() All manipulations with struct seq_file::version are done under struct seq_file::lock except one introduced in commit d6b7a781c51c91dd054e5c437885205592faac21 aka "[PATCH] Speed up /proc/pid/maps" Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6739af8b9e8bf0fd1fb3f4f8406a9f650cb733a Author: Jan Kara Date: Sun Jul 15 23:40:22 2007 -0700 ext2: fix a comment when ext2_release_file() is called Signed-off-by: Jan Kara Acked-by: "Theodore Ts'o" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da58a1617343e345d435953a0f32024997a95164 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:21 2007 -0700 /proc/*/environ: wrong placing of ptrace_may_attach() check It's a bit dopey-looking and can permit a task to cause a pagefault in an mm which it doesn't have permission to read from. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7126dd0562c78fa393a53120155e9b265cc68f9d Author: Jiri Slaby Date: Sun Jul 15 23:40:20 2007 -0700 Char: ip2, use msleep for sleeping Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6defec139a0fb0fb36c41a441f8417360da81ea1 Author: Jiri Slaby Date: Sun Jul 15 23:40:20 2007 -0700 Char: n_r3964, use wait_event_interruptible Signed-off-by: Jiri Slaby Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0955e14f72dd1f561dc8b7c4434a253914ddfd4 Author: Jiri Slaby Date: Sun Jul 15 23:40:19 2007 -0700 Char: genrtc, use wait_event_interruptible genrtc, use wait_event_interruptible Signed-off-by: Jiri Slaby Cc: Alessandro Zummo Cc: Roman Zippel Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6804396f1b66c504bac1267d71a857f7a1d1e9dd Author: Jiri Slaby Date: Sun Jul 15 23:40:18 2007 -0700 Char: tty_ioctl, little whitespace cleanup tty_ioctl, little whitespace cleanup the point is to make while (++i < n_baud_table); clear and assign it to the do { } loop Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a52bd4a2dcb570333ce6fe2e16cd311650dbdc8 Author: Jiri Slaby Date: Sun Jul 15 23:40:18 2007 -0700 Char: tty_ioctl, use wait_event_interruptible_timeout tty_ioctl, use wait_event_interruptible_timeout Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b770b4b29c741bbcbb77d2618955897765a81bf Author: Jiri Slaby Date: Sun Jul 15 23:40:17 2007 -0700 Char: mxser_new, fix sparse warning Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f17e121fd055ba60d57a992702e59ae495faba76 Author: young dave Date: Sun Jul 15 23:40:17 2007 -0700 remove useless tolower in isofs Remove useless tolower in isofs Signed-off-by: dave young Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03a9c30c231a61dd7457681aef51cc38ee01f766 Author: Randy Dunlap Date: Sun Jul 15 23:40:16 2007 -0700 AFS: drop explicit extern Don't use explicit extern specifier and quieten sparse warning: fs/afs/vnode.c:564:12: warning: function 'afs_vnode_link' with external linkage has definition Signed-off-by: Randy Dunlap Acked-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf1fc4329aa2c31a80a882d695fbdded92036ca Author: Randy Dunlap Date: Sun Jul 15 23:40:15 2007 -0700 kconfig: no STRANGE misc. devices This config symbol name is confusing and unneeded/unwanted, so just change it to MISC_DEVICES. * * Misc devices * Misc devices (MISC_STRANGE_DEV) [Y/n] (NEW) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78c1b0657475dbafa008c71e3ccdc32141d8c7c7 Author: Andi Kleen Date: Sun Jul 15 23:40:15 2007 -0700 Remove clockevents_{release,request}_device Not called by anything in tree. Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 506eb99a26e7af8b649faa135f648d1a2f1e4cdc Author: Jean Delvare Date: Sun Jul 15 23:40:14 2007 -0700 tty_io: Use kzalloc Also remove needless casts. Signed-off-by: Jean Delvare Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8d6c554126b830217c5e9f549e0e21f865a0a8a Author: David Howells Date: Sun Jul 15 23:40:12 2007 -0700 AFS: implement file locking Implement file locking for AFS. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0fed3140f57c435d2783b698c5090f325c22bad Author: Jiri Slaby Date: Sun Jul 15 23:40:12 2007 -0700 Char: n_hdlc, allow RESTARTSYS retval of tty write Acked-by: Paul Fulghum Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2aef333c98b41eeb0f0d55b7faa7d4625a6160b Author: Paul Menage Date: Sun Jul 15 23:40:11 2007 -0700 Reduce cpuset.c write_lock_irq() to read_lock() cpuset.c:update_nodemask() uses a write_lock_irq() on tasklist_lock to block concurrent forks; a read_lock() suffices and is less intrusive. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2ff457b09554813a7df9e0cd30d5a169a257419 Author: Ben Collins Date: Sun Jul 15 23:40:11 2007 -0700 RTC: Ratelimit "lost interrupts" message We gets lots of these when the kernel is running on a hypervisor. Zach says "a guest kernel trying to get high frequency RTC will also be inaccurate, and inevitably will have unhidable interrupt lateness." Signed-off-by: Ben Collins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45807a1df9f51d28d0ff0c6bcf900c210411d7c9 Author: Ingo Molnar Date: Sun Jul 15 23:40:10 2007 -0700 vdso: print fatal signals Add the print-fatal-signals=1 boot option and the /proc/sys/kernel/print-fatal-signals runtime switch. This feature prints some minimal information about userspace segfaults to the kernel console. This is useful to find early bootup bugs where userspace debugging is very hard. Defaults to off. [akpm@linux-foundation.org: Don't add new sysctl numbers] Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99fc06df72fe1c9ad3ec274720dcb5658c40bfd2 Author: Changli Gao Date: Sun Jul 15 23:40:09 2007 -0700 procfs directory entry cleanup Function proc_register() will assign proc_dir_operations and proc_dir_inode_operations to ent's members proc_fops and proc_iops correctly if ent is a directory. So the early assignment isn't necessary. Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17973f5af741f1758ed57c5115ca394c22bee159 Author: Micah Cowan Date: Sun Jul 15 23:40:08 2007 -0700 Only send SIGXFSZ when exceeding rlimits. Some users have been having problems with utilities like cp or dd dumping core when they try to copy a file that's too large for the destination filesystem (typically, > 4gb). Apparently, some defunct standards required SIGXFSZ to be sent in such circumstances, but SUS only requires/allows it for when a written file exceeds the process's resource limits. I'd like to limit SIGXFSZs to the bare minimum required by SUS. Patch sent per http://lkml.org/lkml/2007/4/10/302 Signed-off-by: Micah Cowan Acked-by: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e3e8d91fee56e1ab598b265466dc38033f1b915 Author: Satyam Sharma Date: Sun Jul 15 23:40:07 2007 -0700 rocket.c: fix unchecked mutex_lock_interruptible() Check the return of mutex_lock_interruptible() in drivers/char/rocket.c and return ERESTARTSYS if we were interrupted. Signed-off-by: Satyam Sharma Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60bfba7e85f88fe834e623ead799cf580de20971 Author: Jan Kratochvil Date: Sun Jul 15 23:40:06 2007 -0700 PIE randomization This patch is using mmap()'s randomization functionality in such a way that it maps the main executable of (specially compiled/linked -pie/-fpie) ET_DYN binaries onto a random address (in cases in which mmap() is allowed to perform a randomization). Origin of this patch is in exec-shield (http://people.redhat.com/mingo/exec-shield/) [jkosina@suse.cz: pie randomization: fix BAD_ADDR macro] Signed-off-by: Jan Kratochvil Signed-off-by: Jiri Kosina Cc: Ingo Molnar Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f057eac0d7ad967138390a9dd7fd8267e1e39d19 Author: Stephen Rothwell Date: Sun Jul 15 23:40:05 2007 -0700 Introduce CONFIG_VIRT_TO_BUS Make some offending drivers depend on it and set CONFIG_ARCH_NO_VIRT_TO_BUS for ppc64 so that we don't build those drivers. This gets PowerPC allmodconfig and allyesconfig much closer to building. Signed-off-by: Stephen Rothwell Cc: Al Viro Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 693783817a79d8619335e2bf1a33de73cf189864 Author: Andrew Morton Date: Sun Jul 15 23:40:04 2007 -0700 mpu401 warning fixes Fix these: sound/oss/mpu401.c: In function 'attach_mpu401': sound/oss/mpu401.c:1006: warning: cast to pointer from integer of different size sound/oss/mpu401.c:1115: warning: cast to pointer from integer of different size sound/oss/mpu401.c: In function 'unload_mpu401': sound/oss/mpu401.c:1230: warning: cast to pointer from integer of different size by making it implement the request_irq()/free_irq() cookies correctly. Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3ed85a36ff5b01f340db67ac5ae6e699d3b8a2b Author: Dave Jones Date: Sun Jul 15 23:40:03 2007 -0700 isofs: fix up CodingStyle fs/isofs/* had a bunch of CodingStyle issues. * Indentation was a mix of spaces and tabs * "int * foo" instead of "int *foo" * "while ( foo )" instead of "while (foo)" * if (foo) blah; on one line instead of two * Missing printk KERN_ levels * lots of trailing whitespace * lines >80 columns changed to wrap. * Unnecessary prototype removed by shuffling code order in C file. Should be no functional changes other than slight size increase due to printk changes. Further improvement possible, but this is a start.. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b28f22a87a5a2f0ab39f2549441bbe5eb2e369f Author: Alan Cox Date: Sun Jul 15 23:40:02 2007 -0700 edd: switch to pci_get based API Signed-off-by: Alan Cox Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1fbac447993b275f90e118826a5edca1ec508da Author: Thiemo Seufer Date: Sun Jul 15 23:39:59 2007 -0700 Update zilog timeout Update zilog timeout, thanks Peter Fuerst. Signed-off-by: Thiemo Seufer Cc: Martin Michlmayr Cc: Peter Fuerst Cc: Russell King Cc: Alan Cox Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05e96fe4664c0398f1d060c0f6a8ff8fc74a449 Author: Denver Gingerich Date: Sun Jul 15 23:39:59 2007 -0700 fix compiler warnings in acorn.c warning: 'adfs_partition' defined but not used warning: 'riscix_partition' defined but not used warning: 'linux_partition' defined but not used Signed-off-by: Denver Gingerich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21eb92025e5768fb54120e2f2745a41c36f3aa69 Author: Richard Knutsson Date: Sun Jul 15 23:39:57 2007 -0700 drivers/block/z2ram: Remove TRUE/FALSE defines Remove defines of TRUE and FALSE * not used in the file * the file is not included somewhere else Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a3021f4e249fbdb5f30d614707b5e02022e4c9b Author: Robert P. J. Day Date: Sun Jul 15 23:39:57 2007 -0700 Remove unnecessary includes of spinlock.h under include/linux Remove the obviously unnecessary includes of under the include/linux/ directory, and fix the couple errors that are introduced as a result of that. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9aacd599342fdfc1fb9422f37e900609b7a46249 Author: OGAWA Hirofumi Date: Sun Jul 15 23:39:56 2007 -0700 fat: gcc 4.3 warning fix This patch fixes the following warnings. fs/fat/dir.c: In function 'fat_parse_long': include/linux/msdos_fs.h:294: warning: array subscript is above array bounds include/linux/msdos_fs.h:295: warning: array subscript is above array bounds include/linux/msdos_fs.h:295: warning: array subscript is above array bounds The ->name is defined as "name[8], ext[3]", but fat_checksum() uses those as name[11]. There is no actual problem, but it's not a good manner. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 259902ea951008bcbd31a49f667062ff8012ef55 Author: Pavel Emelianov Date: Sun Jul 15 23:39:56 2007 -0700 Make NFS client use seq_list_xxx helpers This includes /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes entries. Both need to show the header and use the list_head. Signed-off-by: Pavel Emelianov Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0765fb85782da9dca98482ebb1ae0d8c1a5e0f7 Author: Pavel Emelianov Date: Sun Jul 15 23:39:55 2007 -0700 Make /proc/self/mounts(tats) use seq_list_xxx helpers One more simple and stupid switching to the new API. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25216b00395dfb52bfe06e4886a6ad831ede7b4b Author: Pavel Emelianov Date: Sun Jul 15 23:39:54 2007 -0700 Make /proc/tty/drivers use seq_list_xxx helpers Simple and stupid like some previous ones. Just use new API. Signed-off-by: Pavel Emelianov Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 708f4b522371da5e6c615a49e1844195aff84cb4 Author: Pavel Emelianov Date: Sun Jul 15 23:39:54 2007 -0700 Make /proc/modules use seq_list_xxx helpers Here there is not need even in .show callback altering. The original code passes list_head in *v. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46c65b71e6122b89cd7b2bb36c1ba26d07e84fcd Author: Pavel Emelianov Date: Sun Jul 15 23:39:53 2007 -0700 Make /proc/misc use seq_list_xxx helpers Simple and stupid - just use the helpers. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13d31894b3c459805303325aa5b91f9cd4ed70bc Author: Pavel Emelianov Date: Sun Jul 15 23:39:53 2007 -0700 Make crypto API use seq_list_xxx helpers Simple and stupid - just use the same code from another place in the kernel. Signed-off-by: Pavel Emelianov Acked-by: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6a8bd6d2839f7134f191c6e13e2fd2e9e8c91a6 Author: Pavel Emelianov Date: Sun Jul 15 23:39:52 2007 -0700 Make AFS use seq_list_xxx helpers These proc files show some header before dumping the list, so the seq_list_start_head() is used. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4ef0296f214a1e0e65f161f88663b0ca1acca31 Author: Andrew Morton Date: Sun Jul 15 23:39:51 2007 -0700 percpu_counters: use for_each_online_cpu() Now that we have implemented hotunplug-time counter spilling, percpu_counter_sum() only needs to look at online CPUs. Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c67ad917cbf21b2862e2cf8e8b28339872ef7927 Author: Andrew Morton Date: Sun Jul 15 23:39:51 2007 -0700 percpu_counters(): use cpu notifiers per-cpu counters presently must iterate over all possible CPUs in the exhaustive percpu_counter_sum(). But it can be much better to only iterate over the presently-online CPUs. To do this, we must arrange for an offlined CPU's count to be spilled into the counter's central count. We can do this for all percpu_counters in the machine by linking them into a single global list and walking that list at CPU_DEAD time. (I hope. Might have race windows in which the percpu_counter_sum() count is inaccurate?) Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85420ccad1610f123365eec89848ef25641bc6b7 Author: Andrew Morton Date: Sun Jul 15 23:39:50 2007 -0700 vxfs warning fixes gcc-4.3: fs/freevxfs/vxfs_lookup.c: In function 'vxfs_find_entry': fs/freevxfs/vxfs_lookup.c:139: warning: cast from pointer to integer of different size fs/freevxfs/vxfs_lookup.c: In function 'vxfs_readdir': fs/freevxfs/vxfs_lookup.c:294: warning: cast from pointer to integer of different size Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21f3da95daed2d0f0c28cc4ef8b1103fbfb7bded Author: Andrew Morton Date: Sun Jul 15 23:39:50 2007 -0700 fuse warning fix gcc-4.3: fs/fuse/dir.c: In function 'parse_dirfile': fs/fuse/dir.c:833: warning: cast from pointer to integer of different size fs/fuse/dir.c:835: warning: cast from pointer to integer of different size [miklos@szeredi.hu: use offsetof] Acked-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ac162521cd9796f44d263a61090634844c719a6 Author: Matthias Kaehlcke Date: Sun Jul 15 23:39:49 2007 -0700 Use mutexes instead of semaphores in I2O driver The I2O driver uses two semaphores as mutexes. Use the mutex API instead of the (binary) semaphores. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c6b4aa94576eee6dec3b8011f60d7f666db90b0 Author: Satoru Takeuchi Date: Sun Jul 15 23:39:48 2007 -0700 cpu hotplug: fix ksoftirqd termination on cpu hotplug with naughty realtime process Fix ksoftirqd termination on cpu hotplug with naughty real time process. Assuming the following case: - Try to hot remove CPU2 from CPU1. - There is a real time process on CPU2, and that process doesn't sleep at all. - That rt process and ksoftirqd/2 is migrated to the CPU0 Then ksoftirqd/2 can't stop becasue that rt process runs everlastingly on CPU0, and CPU1 waiting the ksoftirqd/2's termination hangs up. To fix this problem, set the priority of ksoftirqd/2 to max one before kthread_stop(). [akpm@linux-foundation.org: fix warning] Signed-off-by: Satoru Takeuchi Cc: Rusty Russell Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Ashok Raj Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85653af7d488702165eba72c6c1dd0250fae4e70 Author: Satoru Takeuchi Date: Sun Jul 15 23:39:47 2007 -0700 Fix stop_machine_run problem with naughty real time process stop_machine_run() does its work on "kstopmachine" thread having max priority. However that thread get such priority after woken up. Therefore, in the following case ... - "kstopmachine" try to run on CPU1 - There is a real time process which doesn't relinquish CPU time voluntary on CPU1 ... "kstopmachine" can't start to run and the CPU on which stop_machine_run() is runing hangs up. To fix this problem, call sched_setscheduler() before waking up that thread. Signed-off-by: Satoru Takeuchi Cc: Rusty Russell Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Ashok Raj Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 647bd61a5f3a51a38c670f91af9d861ad66149a3 Author: Cyrill Gorcunov Date: Sun Jul 15 23:39:47 2007 -0700 UDF: check for allocated memory for inode data This patch adds checking for granted memory while filling up inode data to prevent possible NULL pointer usage. If there is not enough memory to fill inode data we just mark it as "bad". Also some whitespace cleanup. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c1729db3e6d738f872bcb090212af00473bf666 Author: Alan Cox Date: Sun Jul 15 23:39:43 2007 -0700 Prevent an O_NDELAY writer from blocking when a tty write is blocked by the tty atomic writer mutex Without this a tty write could block if a previous blocking tty write was in progress on the same tty and blocked by a line discipline or hardware event. Originally found and reported by Dave Johnson. Signed-off-by: Alan Cox Acked-by: Dave Johnson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9c64155f5a81b4b41e98f9fb9c464a565c1bf72 Author: Cyrill Gorcunov Date: Sun Jul 15 23:39:43 2007 -0700 UDF: check for allocated memory for data of new inodes Add checking for granted memory for inode data at the moment of its creation. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d62141414a55ff3f1410b27db2a95224446e77a4 Author: Tomas Janousek Date: Sun Jul 15 23:39:42 2007 -0700 Use boot based time for uptime in /proc Commit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused uptime not to increase during suspend. This may cause confusion so I restore the old behaviour by using the boot based time instead of monotonic for uptime. Signed-off-by: Tomas Janousek Acked-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 924b42d5a2dbe508407a0a6290d3751f826bccdd Author: Tomas Janousek Date: Sun Jul 15 23:39:42 2007 -0700 Use boot based time for process start time and boot time in /proc Commit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused boot time to move and process start times to become invalid after suspend. Using boot based time for those restores the old behaviour and fixes the issue. [akpm@linux-foundation.org: little cleanup] Signed-off-by: Tomas Janousek Cc: Tomas Smetana Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c3f1a573237b90ef331267260358a0ec4ac9079 Author: Tomas Janousek Date: Sun Jul 15 23:39:41 2007 -0700 Introduce boot based time The commits 411187fb05cd11676b0979d9fbf3291db69dbce2 (GTOD: persistent clock support) c1d370e167d66b10bca3b602d3740405469383de (i386: use GTOD persistent clock support) changed the monotonic time so that it no longer jumps after resume, but it's not possible to use it for boot time and process start time calculations then. Also, the uptime no longer increases during suspend. I add a variable to track the wall_to_monotonic changes, a function to get the real boot time and a function to get the boot based time from the monotonic one. [akpm@linux-foundation.org: remove exports, add comment] Signed-off-by: Tomas Janousek Cc: Tomas Smetana Cc: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35ef63f635aa0e414ad6cdb2a4092e1caf99272c Author: Andrew Morton Date: Sun Jul 15 23:39:40 2007 -0700 use no_pci_devices() in pci/search.c We have an API function for this now. Cc: Zhang Yanmin Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed4aaadb1a7913f509f05d3e67840541a180713f Author: Zhang, Yanmin Date: Sun Jul 15 23:39:39 2007 -0700 fix jvc cdrom drive lockup Before calling init_hwif_default, ide_unregister gets lock ide_lock and disables irq. init_hwif_default calls ide_default_io_base which calls pci_get_device and later pci_get_subsys tries to apply for semaphore pci_bus_sem and goes to sleep. Mostly, pci_get_device should be called when irq is turned on. ide_default_io_base just needs find if list pci_devices is empty. Signed-off-by: Zhang Yanmin Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012bfdf00ce2f36a1add75a0d18303656c6294ef Author: Jan Engelhardt Date: Sun Jul 15 23:39:39 2007 -0700 Use menuconfig objects: W1 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: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c493f5c9017b38a60ed2989af00e5faaa801815 Author: Jan Engelhardt Date: Sun Jul 15 23:39:38 2007 -0700 Use menuconfig objects: PNP 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: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f5096c56afe6f7602cce852b99b32a90804935d Author: Jan Engelhardt Date: Sun Jul 15 23:39:37 2007 -0700 Use menuconfig objects: parport 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04e9aeecff0d55bed2b554915da9ea355c966f7d Author: Jan Engelhardt Date: Sun Jul 15 23:39:37 2007 -0700 Use menuconfig objects: I2O 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b511431d85948823ec58639bd3137b910964be34 Author: Jan Engelhardt Date: Sun Jul 15 23:39:36 2007 -0700 Use menuconfig objects: crypto hw 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: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13591885a90f8f5e3849ad1f1973649115d5bad4 Author: Jan Engelhardt Date: Sun Jul 15 23:39:32 2007 -0700 Use menuconfig objects: connector 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 Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7126b75c8794f9fffda227d08b7ad1e138fa2c6c Author: Jan Engelhardt Date: Sun Jul 15 23:39:31 2007 -0700 Use menuconfig objects II - TPM 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: Kylene Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79e508a4b8f405f9c9c3dbbd19d84717f42431ef Author: Jan Engelhardt Date: Sun Jul 15 23:39:31 2007 -0700 Use menuconfig objects II - Telephony 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a07c8f9cd3bf3af37595d2692cbcf50f42d4819 Author: Jan Engelhardt Date: Sun Jul 15 23:39:30 2007 -0700 Use menuconfig objects II - oprofile 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: Philippe Elie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66da57332005b4fa6888cc21a223c0b90505126f Author: Jan Engelhardt Date: Sun Jul 15 23:39:29 2007 -0700 Use menuconfig objects II - module menu Change menuconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without entering its menu first. Signed-off-by: Jan Engelhardt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 376df37a5b472ff9a0b71218fc50576ef3803275 Author: Jan Engelhardt Date: Sun Jul 15 23:39:29 2007 -0700 Use menuconfig objects II - misc strange dev 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf6b4bbb5be0807143239f6c460e5e6aecf2981 Author: Jan Engelhardt Date: Sun Jul 15 23:39:28 2007 -0700 Use menuconfig objects II - IPMI 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 Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 751cb5e56436f6c889d9acbd3d4464224e49965d Author: Jan Engelhardt Date: Sun Jul 15 23:39:27 2007 -0700 Use menuconfig objects II - EDAC 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5920969fb9e29c9d60568864d0a56fe85e8f4b6 Author: Jan Engelhardt Date: Sun Jul 15 23:39:26 2007 -0700 Use menuconfig objects II - auxdisplay 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 Acked-by: Miguel Ojeda Sandonis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6175ecfed3c81d388735c75f7a0ad08dc4de02d3 Author: Sripathi Kodi Date: Sun Jul 15 23:39:26 2007 -0700 Use write_trylock_irqsave in ptrace_attach This patch makes ptrace_attach use write_trylock_irqsave(). [akpm@linux-foundation.org: remove unneeded initialisation] Signed-off-by: Sripathi Kodi Cc: Ingo Molnar Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1f4a88c5a15a86124a95ea712213bb7dab2ad99 Author: Satyam Sharma Date: Sun Jul 15 23:39:24 2007 -0700 introduce write_trylock_irqsave() Introduce a write_trylock_irqsave() implementation. Similar in style to the implementation of spin_trylock_irqsave() in mainline. Signed-off-by: Satyam Sharma Cc: Sripathi Kodi Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5d425c97f7d4e92151167b01ca038e7853c6b37 Author: Adrian Bunk Date: Sun Jul 15 23:39:01 2007 -0700 more scheduled OSS driver removal This patch contains the scheduled removal of OSS drivers that: - have ALSA drivers for the same hardware without known regressions and - whose Kconfig options have been removed in 2.6.20. Signed-off-by: Adrian Bunk Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 786d7e1612f0b0adb6046f19b906609e4fe8b1ba Author: Alexey Dobriyan Date: Sun Jul 15 23:39:00 2007 -0700 Fix rmmod/read/write races in /proc entries Fix following races: =========================================== 1. Write via ->write_proc sleeps in copy_from_user(). Module disappears meanwhile. Or, more generically, system call done on /proc file, method supplied by module is called, module dissapeares meanwhile. pde = create_proc_entry() if (!pde) return -ENOMEM; pde->write_proc = ... open write copy_from_user pde = create_proc_entry(); if (!pde) { remove_proc_entry(); return -ENOMEM; /* module unloaded */ } *boom* ========================================== 2. bogo-revoke aka proc_kill_inodes() remove_proc_entry vfs_read proc_kill_inodes [check ->f_op validness] [check ->f_op->read validness] [verify_area, security permissions checks] ->f_op = NULL; if (file->f_op->read) /* ->f_op dereference, boom */ NOTE, NOTE, NOTE: file_operations are proxied for regular files only. Let's see how this scheme behaves, then extend if needed for directories. Directories creators in /proc only set ->owner for them, so proxying for directories may be unneeded. NOTE, NOTE, NOTE: methods being proxied are ->llseek, ->read, ->write, ->poll, ->unlocked_ioctl, ->ioctl, ->compat_ioctl, ->open, ->release. If your in-tree module uses something else, yell on me. Full audit pending. [akpm@linux-foundation.org: build fix] Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5568b0e8028d966ddb16f0be44a9df1fcbd1dc8d Author: Alan Cox Date: Sun Jul 15 23:38:59 2007 -0700 v850: enable arbitary speed tty ioctls Adding the defines/macros activates the existing code in the tty layer and allows this platform to use the arbitary speed ioctl setting layer Signed-off-by: Alan Cox Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23f465b72872a99ffa60e13f5876fcf2ee139f26 Author: Jeff Dike Date: Sun Jul 15 23:38:58 2007 -0700 uml: remove dead file I forgot this file was here. It hasn't been used since UML has been in mainline. Thanks to Jesper for finding something that needed doing to it, thus reminding me of its existence. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8619b86f20588c020b280e6f67a9b8712b1ee38a Author: Jeff Dike Date: Sun Jul 15 23:38:58 2007 -0700 uml: limit request size on COWed devices COWed devices can't handle more than 32 (64 on x86_64) sectors in one request due to the size of the bitmap being carried around in the io_thread_req. Enforce that by telling the block layer not to put too many sectors in requests to COWed devices. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8234483e7545b3cd298b0265fcee2e4a14c9f51 Author: Jeff Dike Date: Sun Jul 15 23:38:57 2007 -0700 uml: export hostfs symbols Add some exports for hostfs that are required after Alberto Bertogli's fixes for accessing unlinked host files. Also did some style cleanups while I was here. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c4bf9968cb4f0fceb1b8fb54790ccae73caf4e Author: Jeff Dike Date: Sun Jul 15 23:38:56 2007 -0700 uml: Eliminate kernel allocator wrappers UML had two wrapper procedures for kmalloc, um_kmalloc and um_kmalloc_atomic because the flag constants weren't available in userspace code. kern_constants.h had made kernel constants available for a long time, so there is no need for these wrappers any more. Rather, userspace code calls kmalloc directly with the userspace versions of the gfp flags. kmalloc isn't a real procedure, so I had to essentially copy the inline wrapper around __kmalloc. vmalloc also had its own wrapper for no good reason. This is now gone. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c43990162fc7f9d2f15a12797fdc6f9c0905f704 Author: Jeff Dike Date: Sun Jul 15 23:38:56 2007 -0700 uml: simplify helper stack handling run_helper and run_helper_thread had arguments which were the same in all callers. run_helper's stack_out was always NULL and run_helper_thread's stack_order was always 0. These are now gone, and the constants folded into the code. Also fixed leaks of the helper stack in the AIO and SIGIO code. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a359e31a0e438b5b978a8f0fecdbd3c86bb033 Author: Jeff Dike Date: Sun Jul 15 23:38:55 2007 -0700 uml: SIGIO support cleanup Cleanup of the SIGWINCH support. Some code and comment reformatting. The stack used for SIGWINCH threads was leaked. This is now fixed by storing it with the pid and other information, and freeing it when the thread is killed. If something goes wrong with a WIGWINCH thread, and this is discovered in the interrupt handler, the winch record would leak. It is now freed, except that the IRQ isn't freed. This is hard to do from interrupt context. This has the side-effect that the IRQ system maintains a reference to the freed structure, but that shouldn't cause a problem since the descriptor is disabled. register_winch_irq is now much better about cleaning up after an initialization failure. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d14ad81f800a57d3f21f8e98556c728968883e9a Author: Jeff Dike Date: Sun Jul 15 23:38:54 2007 -0700 uml: handle errors on opening host side of consoles If the host side of a console can't be opened, this will now produce visible error messages. enable_chan now returns a status and this is passed up to con_open and ssl_open, which will complain if anything went wrong. The default host device for the serial line driver is now a pts device rather than a pty device since lots of hosts have LEGACY_PTYS disabled. This had always been failing on such hosts, but silently. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75886f21e3a53a298b097103fd52e83184a89c22 Author: Jeff Dike Date: Sun Jul 15 23:38:53 2007 -0700 uml: pty channel tidying Cleanup, mostly style violations. Tidied the includes. getmaster returns a real errno, which pty_open returns if there's a problem. The printks now have severity. Changed os_* calls to call libc directly. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63920f4717924206c3fa23d42645d4f8965de4cd Author: Jeff Dike Date: Sun Jul 15 23:38:52 2007 -0700 uml: xterm driver tidying Major tidying of the xterm console driver: got rid of the tt-mode gdb support tidied up the includes fixed lots of style violations replaced os_* calls with glibc calls in xterm.c all printk calls now have a severity indicator the error paths of xterm_open are closer to being right Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89df6bfc04059716de2eb2fe529f05b3e124fafd Author: Eduard-Gabriel Munteanu Date: Sun Jul 15 23:38:51 2007 -0700 uml: DEBUG_SHIRQ fixes DEBUG_SHIRQ generates spurious interrupts, triggering handlers such as mconsole_interrupt() or line_interrupt(). They expect data to be available to be read from their sockets/pipes, but in the case of spurious interrupts, the host didn't actually send anything, so UML hangs in read() and friends. Setting those fd's as O_NONBLOCK makes DEBUG_SHIRQ-enabled UML kernels boot and run correctly. Signed-off-by: Eduard-Gabriel Munteanu Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18eecb8b35703a5eea73ee2b45324262029e62c Author: Jeff Dike Date: Sun Jul 15 23:38:48 2007 -0700 Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE. This also adds UML support. Tested on UML and i386. [akpm@linux-foundation.org: cleanups, speedups, tweaks] Signed-off-by: Jeff Dike Cc: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84812217e395f5272eac36856c0a2415d61fe139 Author: Jeff Dike Date: Sun Jul 15 23:38:48 2007 -0700 uml: use get_free_pages to allocate kernel stacks For some reason, I was using kmalloc instead of get_free_pages for kernel stacks. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a6d3a2a3813e7b25267366cfbf9a4a4698dd1c2 Author: Jeff Dike Date: Sun Jul 15 23:38:47 2007 -0700 uml: fix request->sector update It is theoretically possible for a request to finish and be freed between writing it to the I/O thread and updating the sector count. In this case, the update will dereference a freed pointer. To avoid this, I delay the update until processing the next sg segment, when the request pointer is known to be good. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ff9057db7edeb210fd5c00314c52154922d8868 Author: Robert P. J. Day Date: Sun Jul 15 23:38:46 2007 -0700 CRIS: replace old-style member inits with designated inits Replace the old-style structure member initializers with designated initializers. Signed-off-by: Robert P. J. Day Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e30afd5119f5a3684e4e5e66bbaeb9c8d2c814be Author: Alan Cox Date: Sun Jul 15 23:38:45 2007 -0700 etrax: enable arbitary speed setting on tty ports Add the needed constants and bits. The actual code is already in the tty layer and turned on by the definitions Signed-off-by: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c12a54b3af795dccb39c303e23073c931fe6f1b6 Author: Hirokazu Takata Date: Sun Jul 15 23:38:45 2007 -0700 m32r: A MAINTAINERS entry for the M32R architecture Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86245b8507ce901c0152ec98a26832434c93262b Author: Alan Cox Date: Sun Jul 15 23:38:44 2007 -0700 m32r: enable arbitary speed tty rate setting Add the defines and constants needed for the M32R platform to support the arbitary speed tty ioctls. Signed-off-by: Alan Cox Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f47807f359974a8fbb13d850da403be9af885f6e Author: Mariusz Kozlowski Date: Sun Jul 15 23:38:43 2007 -0700 arm26: remove broken and unused macro Signed-off-by: Mariusz Kozlowski Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 787ea0ef70d65f71a667ed686f2f28d63ef9a217 Author: Alan Cox Date: Sun Jul 15 23:38:42 2007 -0700 ARM26: enable arbitary speed tty ioctls and split input/output speed Add the ioctls and values needed for this to the ARM26/ARM32 ports. The actual code has been in the base kernel for a while and automatically turns on when a port sets the required defines. Signed-off-by: Alan Cox Cc: Russell King Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c6af69abe9436c33b82a13623b38a4cc51e6464 Author: Ivan Kokshaysky Date: Sun Jul 15 23:38:41 2007 -0700 fix alpha ISA support isa_bus_to_virt() is still needed in a few places (lance.c, at least). When we switch the kernel to using -Werror-implicit-function-declaration, the lack of isa_bus_to_virt() breaks alpha allmodconfig builds. Add isa_bus_to_virt() and deprecate the ezisting ISA APIs, though it might be better to define these functions as BUG(), since virt_to_bus/bus_to_virt just do wrong things on a number of machines. [akpm@linux-foundation.org: build fix] Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebaf4fc13e293dcafbb13c91aae2a45722652740 Author: Sam Ravnborg Date: Sun Jul 15 23:38:37 2007 -0700 alpha: fix trivial section mismatch warnings Fix the following section mismatch warnings: WARNING: arch/alpha/kernel/built-in.o(.text+0x7c78): Section mismatch: reference to .init.text:init_rtc_irq (between 'common_init_rtc' and 'timer_interrupt') WARNING: arch/alpha/kernel/built-in.o(.text+0x7c7c): Section mismatch: reference to .init.text:init_rtc_irq (between 'common_init_rtc' and 'timer_interrupt') WARNING: arch/alpha/kernel/built-in.o(.data+0x2c30): Section mismatch: reference to .init.text:srm_console_setup (between 'srmcons' and 'tsunami_pci_ops') In all three cases functions marked __init was called outside __init context. So the fix was to just drop the __init attribute. Signed-off-by: Sam Ravnborg Cc: Meelis Roos Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fea299f74c846157b068be8ae15b406db0719d9 Author: Yoshinori Sato Date: Sun Jul 15 23:38:36 2007 -0700 h8300 entry.S update Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 542f739d12159e3198611aa471359cc63600be1a Author: Yoshinori Sato Date: Sun Jul 15 23:38:35 2007 -0700 h8300: remove unused file arch/h8300/kernel/ints.c is unused. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86277d594926f3ae4f50ac0fcd9e2fa3cc28a774 Author: Yoshinori Sato Date: Sun Jul 15 23:38:35 2007 -0700 h8300 zImage support update - Add missing files - Add Makefile target - Change image base - Style fix Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79224ca2754e903b695bd91176a9bedbb306324 Author: Alan Cox Date: Sun Jul 15 23:38:34 2007 -0700 h8300: enable arbitary speed tty port setup Add the needed constants and defines to activate the new tty code on this platform Signed-off-by: Alan Cox Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17d8725d36c1f3d6a21a2d3f96875bda8ddfa92c Author: Greg Ungerer Date: Sun Jul 15 23:38:33 2007 -0700 m68knommu: remove old cache management cruft from mm code Remove cache management cruft. This code is dead, all the cache manangement functions for the ColdFire exist in the header file include/asm-m68knommu/cacheflush.h. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f75d1098c51734ce47d0afd44ecdc2ae9713031 Author: Greg Ungerer Date: Sun Jul 15 23:38:33 2007 -0700 m68knommu: remove cruft from setup code Clean out cruft. . remove include files not needed . remove not used CAT_ROMARRAY code . remove generic machine pointers not used . remove unused functions . fix email address in copyrights Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45a82f519897bdd48eeaad659e4e10ce6d965646 Author: Greg Ungerer Date: Sun Jul 15 23:38:31 2007 -0700 m68knommu: use TRHEAD_SIZE instead of hard constant Use THREAD_SIZE instead of a hard constant. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57c8f63e8e7a4a95d7fcc49e3953341fb4039899 Author: Greg Ungerer Date: Sun Jul 15 23:38:28 2007 -0700 nommu: stub expand_stack() for nommu case Be consistent with VM mmap, implement expand_stack(). We can't actually do anything other than return an error in the no MMU case though. Signed-off-by: Greg Ungerer Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54a3bdd76e82d7f64e5504409c55b51e48c3a10a Author: David Howells Date: Sun Jul 15 23:38:28 2007 -0700 FRV: Remove some dead code Remove some dead chunks of code that are bounded by preprocessor conditionals controlled by apparently no-longer available config options. These are: CONFIG_BLK_DEV_BLKMEM CONFIG_CHR_DEV_FLASH CONFIG_BLK_DEV_FLASH CONFIG_CONSOLE [Found by Robert P. J. Day ] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769259160a0e0bae51f1e5377bacf1d0265e7001 Author: David Howells Date: Sun Jul 15 23:38:27 2007 -0700 FRV: Be (self-)consistent and use CONFIG_GDB_CONSOLE everywhere Be (self-)consistent and use CONFIG_GDB_CONSOLE everywhere rather than using CONFIG_GDBSTUB_CONSOLE in some places and not others. This is also then consistent with other archs. Also remove the gdbstub console device() op which doesn't seem to be necessary now (especially as it doesn't compile). [Found by Robert P. J. Day ] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1a39e050548d23b28f7e62f47e08b46afff29e2 Author: David Howells Date: Sun Jul 15 23:38:27 2007 -0700 FRV: Connect up new syscalls Connect up new system calls. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0165ab443556bdfad388da6c33d74a71b77d72b2 Author: Miklos Szeredi Date: Sun Jul 15 23:38:26 2007 -0700 split mmap This is a straightforward split of do_mmap_pgoff() into two functions: - do_mmap_pgoff() checks the parameters, and calculates the vma flags. Then it calls - mmap_region(), which does the actual mapping Signed-off-by: Miklos Szeredi Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c44939ecb6e05aeaaf12d4e1bb046719c97e457e Author: akpm@linux-foundation.org Date: Sun Jul 15 23:38:25 2007 -0700 NeilBrown The do_loop_readv_writev implementation of readv breaks out of the loop as soon as a single read request didn't fill it's buffer: if (nr != len) break; The generic_file_aio_read version doesn't. So if it hits EOF before the end of the list of buffers, it will try again on the next buffer. If the file was extended in the mean time, this will produce a bad result. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ed44a401ddfc60e11c3484e86f0c8285051139a Author: Herbert van den Bergh Date: Sun Jul 15 23:38:25 2007 -0700 do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY Fix a bug in mm/mlock.c on 32-bit architectures that prevents a user from locking more than 4GB of shared memory, or allocating more than 4GB of shared memory in hugepages, when rlim[RLIMIT_MEMLOCK] is set to RLIM_INFINITY. Signed-off-by: Herbert van den Bergh Acked-by: Chris Mason Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84a01c2f8ea9bf210b961c6301e8e870a46505a6 Author: Paul Mundt Date: Sun Jul 15 23:38:24 2007 -0700 slob: sparsemem support Currently slob is disabled if we're using sparsemem, due to an earlier patch from Goto-san. Slob and static sparsemem work without any trouble as it is, and the only hiccup is a missing slab_is_available() in the case of sparsemem extreme. With this, we're rid of the last set of restrictions for slob usage. Signed-off-by: Paul Mundt Acked-by: Pekka Enberg Acked-by: Matt Mackall Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc4ac6324094cd52dc77ddf88296a94b90bbafc Author: Hugh Dickins Date: Sun Jul 15 23:38:23 2007 -0700 mspec_mmap: don't set VM_LOCKED mspec_mmap was setting VM_LOCKED (without adjusting locked_vm): don't do that, it serves no purpose in 2.6, other than to mess up the locked_vm accounting - mspec's pages won't get reclaimed anyway. Thanks to Dmitry Monakhov for raising the issue. Signed-off-by: Hugh Dickins Acked-by: Jes Sorensen Cc: Dmitry Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b49ad484c54116862d717ffafcab1c9a46600b48 Author: Dan Aloni Date: Sun Jul 15 23:38:23 2007 -0700 mm/page_alloc.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6193a2ff180920f84ee06977165ebf32431fc2d2 Author: Paul Mundt Date: Sun Jul 15 23:38:22 2007 -0700 slob: initial NUMA support This adds preliminary NUMA support to SLOB, primarily aimed at systems with small nodes (tested all the way down to a 128kB SRAM block), whether asymmetric or otherwise. We follow the same conventions as SLAB/SLUB, preferring current node placement for new pages, or with explicit placement, if a node has been specified. Presently on UP NUMA this has the side-effect of preferring node#0 allocations (since numa_node_id() == 0, though this could be reworked if we could hand off a pfn to determine node placement), so single-CPU NUMA systems will want to place smaller nodes further out in terms of node id. Once a page has been bound to a node (via explicit node id typing), we only do block allocations from partial free pages that have a matching node id in the page flags. The current implementation does have some scalability problems, in that all partial free pages are tracked in the global freelist (with contention due to the single spinlock). However, these are things that are being reworked for SMP scalability first, while things like per-node freelists can easily be built on top of this sort of functionality once it's been added. More background can be found in: http://marc.info/?l=linux-mm&m=118117916022379&w=2 http://marc.info/?l=linux-mm&m=118170446306199&w=2 http://marc.info/?l=linux-mm&m=118187859420048&w=2 and subsequent threads. Acked-by: Christoph Lameter Acked-by: Matt Mackall Signed-off-by: Paul Mundt Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7977793240d836e60ff413e94e6914f08e10941 Author: Jason Baron Date: Sun Jul 15 23:38:21 2007 -0700 speed up madvise_need_mmap_write() usage In the new madvise_need_mmap_write() call we can avoid an extra case statement and function call as follows. Signed-off-by: Jason Baron Cc: Nishanth Aravamudan Cc: Christoph Hellwig Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 897e679b17460b52752a038af29db356fe1bd759 Author: Adrian Bunk Date: Sun Jul 15 23:38:20 2007 -0700 mm/slab.c: start_cpu_timer() should be __cpuinit start_cpu_timer() should be __cpuinit (which also matches what it's callers are). __devinit didn't cause problems, it simply wasted a few bytes of memory for the common CONFIG_HOTPLUG_CPU=n case. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ea6e6887dad1fd44e6d5020a0fd355af4f2b6b3 Author: Paul Mundt Date: Sun Jul 15 23:38:20 2007 -0700 mm: more __meminit annotations Currently zone_spanned_pages_in_node() and zone_absent_pages_in_node() are non-static for ARCH_POPULATES_NODE_MAP and static otherwise. However, only the non-static versions are __meminit annotated, despite only being called from __meminit functions in either case. zone_init_free_lists() is currently non-static and not __meminit annotated either, despite only being called once in the entire tree by init_currently_empty_zone(), which too is __meminit. So make it static and properly annotated. Signed-off-by: Paul Mundt Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f0accc8627043702e6ea2bb8b9aa3a171ef8393 Author: Jan Beulich Date: Sun Jul 15 23:38:19 2007 -0700 kill vmalloc_earlyreserve This symbol got orphaned quite a while ago. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e98cdb6d365b34b7a2d849e4d8bdc264d8e6e4 Author: Jan Beulich Date: Sun Jul 15 23:38:17 2007 -0700 page table handling cleanup Kill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(), pte_exec(), and pte_user() except where arch-specific code is making use of them. Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98011f569e2ae1e4ae394f6e23faa16676d50de4 Author: Jan Beulich Date: Sun Jul 15 23:38:17 2007 -0700 mm: fix improper .init-type section references .. which modpost started warning about. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 140d5a49046b6d73dce4a4229e88c000a99ee126 Author: Paul Mundt Date: Sun Jul 15 23:38:16 2007 -0700 numa: mempolicy: trivial debug fixes. Enabling debugging fails to build due to the nodemask variable in do_mbind() having changed names, and then oopses on boot due to the assumption that the nodemask can be dereferenced -- which doesn't work out so well when the policy is changed to MPOL_DEFAULT with a NULL nodemask by numa_default_policy(). This fixes it up, and switches from PDprintk() to pr_debug() while we're at it. Signed-off-by: Paul Mundt Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 462e00cc7151ed91fba688594436c453c80efb5d Author: Ethan Solomita Date: Sun Jul 15 23:38:16 2007 -0700 oom: stop allocating user memory if TIF_MEMDIE is set get_user_pages() can try to allocate a nearly unlimited amount of memory on behalf of a user process, even if that process has been OOM killed. The OOM kill occurs upon return to user space via a SIGKILL, but get_user_pages() will try allocate all its memory before returning. Change get_user_pages() to check for TIF_MEMDIE, and if set then return immediately. Signed-off-by: Ethan Solomita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b71636e29823c0602d908a2a62e94c9b57a97491 Author: Paul Mundt Date: Sun Jul 15 23:38:15 2007 -0700 numa: mempolicy: dynamic interleave map for system init This converts the default system init memory policy to use a dynamically created node map instead of defaulting to all online nodes. Nodes of a certain size (>= 16MB) are judged to be suitable for interleave, and are added to the map. If all nodes are smaller in size, the largest one is automatically selected. Without this, tiny nodes find themselves out of memory before we even make it to userspace. Systems with large nodes will notice no change. Only the system init policy is effected by this change, the regular MPOL_DEFAULT policy is still switched to later on in the boot process as normal. Signed-off-by: Paul Mundt Cc: Andi Kleen Cc: Christoph Lameter Cc: Hugh Dickins Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0630fff54a239efbbd89faf6a62da071ef1ff78 Author: Christoph Lameter Date: Sun Jul 15 23:38:14 2007 -0700 SLUB: support slub_debug on by default Add a new configuration variable CONFIG_SLUB_DEBUG_ON If set then the kernel will be booted by default with slab debugging switched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging is available but must be enabled by specifying "slub_debug" as a kernel parameter. Also add support to switch off slab debugging for a kernel that was built with CONFIG_SLUB_DEBUG_ON. This works by specifying slub_debug=- as a kernel parameter. Dave Jones wanted this feature. http://marc.info/?l=linux-kernel&m=118072189913045&w=2 [akpm@linux-foundation.org: clean up switch statement] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc9a07e7bf1a76e710f5df017abb07628db1781d Author: Andrew Morton Date: Sun Jul 15 23:38:14 2007 -0700 invalidate_mapping_pages(): add cond_resched invalidate_mapping_pages() can sometimes take a long time (millions of pages to free). Long enough for the softlockup detector to trigger. We used to have a cond_resched() in there but I took it out because the drop_caches code calls invalidate_mapping_pages() under inode_lock. The patch adds a nasty flag and puts the cond_resched() back. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45426812d6b601430d560cb6049757b5b0bc71c4 Author: Nick Piggin Date: Sun Jul 15 23:38:12 2007 -0700 mm: debug check for the fault vs invalidate race Add a bugcheck for Andrea's pagefault vs invalidate race. This is triggerable for both linear and nonlinear pages with a userspace test harness (using direct IO and truncate, respectively). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f96efd585b8d847181f81bf16721f96ded18d9fe Author: Joe Jin Date: Sun Jul 15 23:38:12 2007 -0700 hugetlb: fix race in alloc_fresh_huge_page() That static `nid' index needs locking. Without it we can end up calling alloc_pages_node() with an illegal node ID and the kernel crashes. Acked-by: gurudas pai Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2706a1b89b1a3e7434a668d4a9d15f616da96685 Author: Anderson Briglia Date: Sun Jul 15 23:38:09 2007 -0700 vmscan: fix comments related to shrink_list() Fix the shrink_list name on some files under mm/ directory. Signed-off-by: Anderson Briglia Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 553948491c18413928b85a9025b92af80e7d61d6 Author: Nick Piggin Date: Sun Jul 15 23:38:09 2007 -0700 slob: improved alignment handling Remove the core slob allocator's minimum alignment restrictions, and instead introduce the alignment restrictions at the slab API layer. This lets us heed the ARCH_KMALLOC/SLAB_MINALIGN directives, and also use __alignof__ (unsigned long) for the default alignment (which should allow relaxed alignment architectures to take better advantage of SLOB's small minimum alignment). Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d87a133fc21d842e3cc285e6bbff727181abec81 Author: Nick Piggin Date: Sun Jul 15 23:38:08 2007 -0700 slob: remove bigblock tracking Remove the bigblock lists in favour of using compound pages and going directly to the page allocator. Allocation size is stored in page->private, which also makes ksize more accurate than it previously was. Saves ~.5K of code, and 12-24 bytes overhead per >= PAGE_SIZE allocation. Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95b35127f13661abb0dc3459042cdb417d21e692 Author: Nick Piggin Date: Sun Jul 15 23:38:07 2007 -0700 slob: rework freelist handling Improve slob by turning the freelist into a list of pages using struct page fields, then each page has a singly linked freelist of slob blocks via a pointer in the struct page. - The first benefit is that the slob freelists can be indexed by a smaller type (2 bytes, if the PAGE_SIZE is reasonable). - Next is that freeing is much quicker because it does not have to traverse the entire freelist. Allocation can be slightly faster too, because we can skip almost-full freelist pages completely. - Slob pages are then freed immediately when they become empty, rather than having a periodic timer try to free them. This gives efficiency and memory consumption improvement. Then, we don't encode seperate size and next fields into each slob block, rather we use the sign bit to distinguish between "size" or "next". Then size 1 blocks contain a "next" offset, and others contain the "size" in the first unit and "next" in the second unit. - This allows minimum slob allocation alignment to go from 8 bytes to 2 bytes on 32-bit and 12 bytes to 2 bytes on 64-bit. In practice, it is best to align them to word size, however some architectures (eg. cris) could gain space savings from turning off this extra alignment. Then, make kmalloc use its own slob_block at the front of the allocation in order to encode allocation size, rather than rely on not overwriting slob's existing header block. - This reduces kmalloc allocation overhead similarly to alignment reductions. - Decouples kmalloc layer from the slob allocator. Then, add a page flag specific to slob pages. - This means kfree of a page aligned slob block doesn't have to traverse the bigblock list. I would get benchmarks, but my test box's network doesn't come up with slob before this patch. I think something is timing out. Anyway, things are faster after the patch. Code size goes up about 1K, however dynamic memory usage _should_ be lower even on relatively small memory systems. Future todo item is to restore the cyclic free list search, rather than to always begin at the start. Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 698827fa9f45019df1609bb686bc51c94e127fbc Author: Robert P. J. Day Date: Sun Jul 15 23:38:06 2007 -0700 Remove the deprecated "kmem_cache_t" typedef from slab.h. Given that there is no remaining usage of the deprecated kmem_cache_t typedef anywhere in the tree, remove that typedef. Signed-off-by: Robert P. J. Day Acked-by: Pekka Enberg Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1037b83bd04e31449dc9323f1e8ddada4264ef66 Author: Eric Dumazet Date: Sun Jul 15 23:38:05 2007 -0700 MM: alloc_large_system_hash() can free some memory for non power-of-two bucketsize alloc_large_system_hash() is called at boot time to allocate space for several large hash tables. Lately, TCP hash table was changed and its bucketsize is not a power-of-two anymore. On most setups, alloc_large_system_hash() allocates one big page (order > 0) with __get_free_pages(GFP_ATOMIC, order). This single high_order page has a power-of-two size, bigger than the needed size. We can free all pages that wont be used by the hash table. On a 1GB i386 machine, this patch saves 128 KB of LOWMEM memory. TCP established hash table entries: 32768 (order: 6, 393216 bytes) Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b92151bab91ef906378d3e0e7128d55dd641e966 Author: Pavel Emelianov Date: Sun Jul 15 23:38:04 2007 -0700 Make /proc/slabinfo use seq_list_xxx helpers This entry prints a header in .start callback. This is OK, but the more elegant solution would be to move this into the .show callback and use seq_list_start_head() in .start one. I have left it as is in order to make the patch just switch to new API and noting more. [adobriyan@sw.ru: Wrong pointer was used as kmem_cache pointer] Signed-off-by: Pavel Emelianov Cc: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68e116a3b57d09b220fe38712bebd956b6dbbbc6 Author: Rolf Eike Beer Date: Sun Jul 15 23:38:03 2007 -0700 MM: use DIV_ROUND_UP() in mm/memory.c Replace a hand coded version of DIV_ROUND_UP(). Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a5c6e4f25704f51f9a1373f0784034306d4cf1 Author: Nishanth Aravamudan Date: Sun Jul 15 23:38:02 2007 -0700 hugetlb: remove unnecessary nid initialization nid is initialized to numa_node_id() but will either be overwritten in the loop or not used in the conditional. So remove the initialization. Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0c0b2b808f232741eadac272bd4bc51f18df0f4 Author: KAMEZAWA Hiroyuki Date: Sun Jul 15 23:38:01 2007 -0700 change zonelist order: zonelist order selection logic Make zonelist creation policy selectable from sysctl/boot option v6. This patch makes NUMA's zonelist (of pgdat) order selectable. Available order are Default(automatic)/ Node-based / Zone-based. [Default Order] The kernel selects Node-based or Zone-based order automatically. [Node-based Order] This policy treats the locality of memory as the most important parameter. Zonelist order is created by each zone's locality. This means lower zones (ex. ZONE_DMA) can be used before higher zone (ex. ZONE_NORMAL) exhausion. IOW. ZONE_DMA will be in the middle of zonelist. current 2.6.21 kernel uses this. Pros. * A user can expect local memory as much as possible. Cons. * lower zone will be exhansted before higher zone. This may cause OOM_KILL. Maybe suitable if ZONE_DMA is relatively big and you never see OOM_KILL because of ZONE_DMA exhaution and you need the best locality. (example) assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL. *node(0)'s memory allocation order: node(0)'s NORMAL -> node(0)'s DMA -> node(1)'s NORMAL. *node(1)'s memory allocation order: node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA. [Zone-based order] This policy treats the zone type as the most important parameter. Zonelist order is created by zone-type order. This means lower zone never be used bofere higher zone exhaustion. IOW. ZONE_DMA will be always at the tail of zonelist. Pros. * OOM_KILL(bacause of lower zone) occurs only if the whole zones are exhausted. Cons. * memory locality may not be best. (example) assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL. *node(0)'s memory allocation order: node(0)'s NORMAL -> node(1)'s NORMAL -> node(0)'s DMA. *node(1)'s memory allocation order: node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA. bootoption "numa_zonelist_order=" and proc/sysctl is supporetd. command: %echo N > /proc/sys/vm/numa_zonelist_order Will rebuild zonelist in Node-based order. command: %echo Z > /proc/sys/vm/numa_zonelist_order Will rebuild zonelist in Zone-based order. Thanks to Lee Schermerhorn, he gives me much help and codes. [Lee.Schermerhorn@hp.com: add check_highest_zone to build_zonelists_in_zone_order] [akpm@linux-foundation.org: build fix] Signed-off-by: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Christoph Lameter Cc: Andi Kleen Cc: "jesse.barnes@intel.com" Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18a8bd949d6adb311ea816125ff65050df1f3f6e Author: Yinghai Lu Date: Sun Jul 15 23:37:59 2007 -0700 serial: convert early_uart to earlycon for 8250 Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and include/asm-x86_64/serial.h. the serial8250_ports need to be probed late in serial initializing stage. the console_init=>serial8250_console_init=> register_console=>serial8250_console_setup will return -ENDEV, and console ttyS0 can not be enabled at that time. need to wait till uart_add_one_port in drivers/serial/serial_core.c to call register_console to get console ttyS0. that is too late. Make early_uart to use early_param, so uart console can be used earlier. Make it to be bootconsole with CON_BOOT flag, so can use console handover feature. and it will switch to corresponding normal serial console automatically. new command line will be: console=uart8250,io,0x3f8,9600n8 console=uart8250,mmio,0xff5e0000,115200n8 or earlycon=uart8250,io,0x3f8,9600n8 earlycon=uart8250,mmio,0xff5e0000,115200n8 it will print in very early stage: Early serial console at I/O port 0x3f8 (options '9600n8') console [uart0] enabled later for console it will print: console handover: boot [uart0] -> real [ttyS0] Signed-off-by: Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1c931e39327ef121797927d4b3198d370e75b9b Author: Eric W. Biderman Date: Sun Jul 15 23:37:28 2007 -0700 x86: initial fixmap support Needed to get fixed virtual address for USB debug and earlycon with mmio. Signed-off-by: Eric W. Biderman Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d37bf60de0b4ddc1633cf278189d3c9bf28fe3d2 Author: Yinghai Lu Date: Sun Jul 15 23:37:28 2007 -0700 console: console handover to preferred console for earlyprintk=ttyS0,9600 console=tty0 console=ttyS0,9600n8 the handover will happen from earlyser0 to tty0. but what we want is to hand over to ttyS0. Later with serial-convert-early_uart-to-earlycon-for-8250.patch, console=tty0 console=uart8250,io,0x3f8,9600n8 will handover to ttyS0 instead of tty0. Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaa944afb206f3fc4393630811ee621b866e3255 Author: Yinghai Lu Date: Sun Jul 15 23:37:27 2007 -0700 console: more buf for index parsing Change name to buf according to the usage as name + index Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79492689e40d4f4d3d8a7262781d56fb295b4b86 Author: Yinghai Lu Date: Sun Jul 15 23:37:25 2007 -0700 serial: assert DTR for serial console devices Some RS-232 devices require DTR to be asserted before they can be used. DTR is normally asserted in uart_startup() when the port is opened. But we don't actually open serial console ports, so assert DTR when the port is added. BTW: earlyprintk and early_uart are hard coded to set DTR/RTS. rmk says The only issue I can think of is the possibility for an attached modem to auto-answer or maybe even auto-dial before the system is ready for it to do so. Might have an undesirable cost implication for some running with such a setup. Apart from that, I can't think of any other side effect of this specific patch. Signed-off-by: Yinghai Lu Acked-by: Russell King Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23936cc0b5d89619c34c2dab11d8cf3d6f7ca028 Author: Kristian Hoegsberg Date: Sun Jul 15 23:37:24 2007 -0700 lib: add idr_remove_all Remove all ids from the given idr tree. idr_destroy() only frees up unused, cached idp_layers, but this function will remove all id mappings and leave all idp_layers unused. A typical clean-up sequence for objects stored in an idr tree, will use idr_for_each() to free all objects, if necessay, then idr_remove_all() to remove all ids, and idr_destroy() to free up the cached idr_layers. Signed-off-by: Kristian Hoegsberg Cc: Tejun Heo Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96d7fa421e6424ad9ef6d1d039375dc2edb63fe8 Author: Kristian Hoegsberg Date: Sun Jul 15 23:37:24 2007 -0700 lib: add idr_for_each() This patch adds an iterator function for the idr data structure. Compared to just iterating through the idr with an integer and idr_find, this iterator is (almost, but not quite) linear in the number of elements, as opposed to the number of integers in the range covered by the idr. This makes a difference for sparse idrs, but more importantly, it's a nicer way to iterate through the elements. The drm subsystem is moving to idr for tracking contexts and drawables, and with this change, we can use the idr exclusively for tracking these resources. [akpm@linux-foundation.org: fix comment] Signed-off-by: Kristian Hoegsberg Cc: Tejun Heo Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de7d4f0e1172a72277d660fa0be59654ea02bed0 Author: Andy Whitcroft Date: Sun Jul 15 23:37:22 2007 -0700 update checkpatch.pl to version 0.07 This version brings a number of new checks, fixes for flase positives, plus a clarification of the output to better guide use. Of note: - checks for documentation for new __setup calls - clearer reporting where braces and parenthesis are involved - reports for closing brace and semi-colon spacing - reports on unwanted externs This patch includes an update to the documentation on checkpatch.pl itself to clarify when it should be used and to indicate that it is not intended as the final arbitor of style. Full changelog: Andy Whitcroft (19): Version: 0.07 ensure we do not apply control brace checks to preprocesor directives add {u,s}{8,16,32,64} to the type matcher accept lack of spacing after the semicolons in for (;;) report new externs in .c files fix up typedef exclusion for function prototypes else trailing statements check need to account for \ at end of line add enums to the type matcher add missing check descriptions suppress double reporting of ** spacing report on do{ spacing issues include an example of the brace/parenthesis in output check for spacing after closing braces prevent double reports on pointer spacing issues handle blank continuation lines on macros classify all reports error, warning, or check revamp hanging { checks and apply in context no spaces after the last ; in a for is ok check __setup has a corresponding addition to documentation David Woodhouse (1): limit character set used in patches and descriptions to UTF-8 Signed-off-by: Andy Whitcroft Cc: David Woodhouse Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2a11b158a24301e9158e9c873fa88e5eb775486 Author: Nitin Gupta Date: Sun Jul 15 23:37:21 2007 -0700 LZO1X: fix lzo1x_worst_compress This is a correction for a macro which gives worst case compressed data size by LZO1X. This patch was provided by the LZO author (Markus Oberhumer). Signed-off-by: Nitin Gupta Cc: "Markus F.X.J. Oberhumer" Cc: "Richard Purdie" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 248a9dc32a24a80cd13a1be66dae099d97381155 Author: Nelson, Shannon Date: Sun Jul 15 23:37:20 2007 -0700 Add entries to MAINTAINERS for I/OAT and DMAENGINE Add entries to MAINTAINERS for I/OAT and DMAENGINE Signed-off-by: Shannon Nelson Cc: Chris Leech Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f89b779508f457b2af05dd5ac82a425db4a56ee3 Author: Jan Kara Date: Sun Jul 15 23:37:20 2007 -0700 jbd2 commit: fix transaction dropping We have to check that also the second checkpoint list is non-empty before dropping the transaction. Signed-off-by: Jan Kara Cc: Chuck Ebbert Cc: Kirill Korotaev Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe28e42b99173ba088b1d8448e53029e100bff27 Author: Jan Kara Date: Sun Jul 15 23:37:18 2007 -0700 jbd commit: fix transaction dropping We have to check that also the second checkpoint list is non-empty before dropping the transaction. Signed-off-by: Jan Kara Cc: Chuck Ebbert Cc: Kirill Korotaev Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09561f44c75bc462ae86590b9c089d01c4e94a74 Author: Andrew Morton Date: Sun Jul 15 23:37:18 2007 -0700 authgss build fix Recent breakage.. net/sunrpc/auth_gss/auth_gss.c:1002: warning: implicit declaration of function 'lock_kernel' net/sunrpc/auth_gss/auth_gss.c:1004: warning: implicit declaration of function 'unlock_kernel' Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8803863a9051582081fb2bcca3a6dc8fddaed93c Author: Nate Date: Mon Jul 16 15:45:13 2007 +0000 [CIFS] use simple_prepare_write to zero page data It's common for file systems to need to zero data on either side of a write, if a page is not Uptodate during prepare_write. It just so happens that simple_prepare_write() in libfs.c does exactly that, so we can avoid duplication and just call that function to zero page data. Signed-off-by: Nate Diller Signed-off-by: Andrew Morton Signed-off-by: Steve French commit bcd4f3acbaec102e2b8000c977ecc38dcd0fe367 Author: Jens Axboe Date: Mon Jul 16 14:41:49 2007 +0200 splice: direct splicing updates ppos twice OGAWA Hirofumi reported that he's noticed nfsd read corruption in recent kernels, and did the hard work of discovering that it's due to splice updating the file position twice. This means that the next operation would start further ahead than it should. nfsd_vfs_read() splice_direct_to_actor() while(len) { do_splice_to() [update sd->pos] -> generic_file_splice_read() [read from sd->pos] nfsd_direct_splice_actor() -> __splice_from_pipe() [update sd->pos] There's nothing wrong with the core splice code, but the direct splicing is an addon that calls both input and output paths. So it has to take care in locally caching offset so it remains correct. Signed-off-by: Jens Axboe commit 56a68a500fcab9e3a9a49ca7fbef14230ab7d144 Author: Adrian Bunk Date: Fri Jul 13 07:54:30 2007 +0200 more ACSI removal This patch removes some code that became dead code after the ATARI_ACSI removal. It also indirectly fixes the following bug introduced by commit c2bcf3b8978c291e1b7f6499475c8403a259d4d6: config ATARI_SLM tristate "Atari SLM laser printer support" - depends on ATARI && ATARI_ACSI!=n + depends on ATARI Acked-by: Geert Uytterhoeven Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 5874c18b105cc7a24972191b7f08a93b1205a425 Author: Neil Brown Date: Fri Jul 13 07:39:46 2007 +0200 umem: Fix match of pci_ids in umem driver the pci device list for umem was not using PCI_DEVICE, so the subvendor/subdevice fields were not set to ANY, so matching didn't work properly. Change to use PCI_DEVICE. Signed-off-by: Neil Brown Signed-off-by: Jens Axboe commit 51ea208c37a216816e44d31fbdf2c1f1b59e860e Author: Robert P. J. Day Date: Fri Jul 13 07:38:48 2007 +0200 umem: Remove references to dead CONFIG_MM_MAP_MEMORY variable Signed-off-by: Robert P. J. Day Acked-by: NeilBrown Signed-off-by: Jens Axboe commit a3e4da548328bd2bbd6265819aa19397926e5b05 Author: Adrian Bunk Date: Wed Jul 11 20:58:19 2007 +0200 remove the documentation for the legacy CDROM drivers This patch removes the documentation for the removed legacy CDROM drivers. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit d54bc2793ec3405c6b8f217568a82b87bd8a591b Author: David S. Miller Date: Mon Jul 16 04:41:51 2007 -0700 [SPARC64]: Fix UP build. Signed-off-by: David S. Miller commit e0204409df29fe1b7d18f81dfc3ae6f9d90e7a63 Author: David S. Miller Date: Mon Jul 16 03:49:40 2007 -0700 [SPARC64]: dr-cpu unconfigure support. Signed-off-by: David S. Miller commit f3c681c028846bd5d39f563909409832a295ca69 Author: David S. Miller Date: Sun Jul 15 23:53:32 2007 -0700 [SERIAL]: Fix console write locking in sparc drivers. Mirror the logic in 8250 for proper console write locking when SYSRQ is triggered or an OOPS is in progress. Signed-off-by: David S. Miller commit 9918cc2e3275bf7f3561e4de1d5a3314183e71dc Author: David S. Miller Date: Sun Jul 15 02:02:01 2007 -0700 [SPARC64]: Give more accurate errors in dr_cpu_configure(). When cpu_up() fails, we can discern the most likely cause. If cpu_present() is false, this means the cpu did not appear in the MD. If -ENODEV is the error return value, then the processor did not boot properly into the kernel. Pass this information back in the dr-cpu response packet. Signed-off-by: David S. Miller commit 39dd992aee381ff5077536853051fc69e58cc4a9 Author: David S. Miller Date: Sun Jul 15 01:29:24 2007 -0700 [SPARC64]: Clear cpu_{core,sibling}_map[] in smp_fill_in_sib_core_maps() When we hot-plug in new cpus, the core_id and proc_id of existing cpus can change. So in order to set the cpu groups correctly we need to clear the maps out completely first. Signed-off-by: David S. Miller commit b37d40d1759a383208ef47be8af94ebe59031691 Author: David S. Miller Date: Sun Jul 15 01:08:03 2007 -0700 [SPARC64]: Fix leak when DR added cpu does not bootup. Signed-off-by: David S. Miller commit b53bcb6799f8f2c0f385f24a8bb054f142c7d83a Author: David S. Miller Date: Sat Jul 14 03:16:13 2007 -0700 [SPARC64]: Add ->set_affinity IRQ handlers. dr-cpu unconfigure requests will walk throught he enabled IRQs and trigger ->set_affinity so that the going-down cpu no longer has INOs targetted to it. Signed-off-by: David S. Miller commit bd0e11ff221d929b2b711ce3e5712e097e9dd1d8 Author: David S. Miller Date: Sat Jul 14 03:14:45 2007 -0700 [SPARC64]: Process dr-cpu events in a kthread instead of workqueue. This will be necessary to handle unconfigure requests properly. Signed-off-by: David S. Miller commit 8b99cfb8cc51adae7f5294c8962a026c63100959 Author: David S. Miller Date: Sat Jul 14 02:23:37 2007 -0700 [SPARC64]: More sensible udelay implementation. Take a page from the powerpc folks and just calculate the delay factor directly. Since frequency scaling chips use a system-tick register, the value is going to be the same system-wide. Signed-off-by: David S. Miller commit 27a2ef382c7935a4dd02bff9fd361ce118df98c6 Author: David S. Miller Date: Sat Jul 14 00:58:53 2007 -0700 [SPARC64]: SMP build fixes. With the move of ldom_startcpu_cpuid() into smp.c some other things need to follow along: 1) smp.c is not a driver so we can't use "PFX" macro in the printk calls. 2) smp.c now needs asm/io.h and asm/hvtramp.h, ds.c no longer does 3) kimage_addr_to_ra() also needs to move into smp.c While we're here, update copyright info and my email address in smp.c Signed-off-by: David S. Miller commit 8f3fff205071dc1bd3203a0f6a5bf3b30e68e26f Author: David S. Miller Date: Sat Jul 14 00:54:55 2007 -0700 [SPARC64]: mdesc.c needs linux/mm.h Signed-off-by: David S. Miller commit b14f5c100ce4c63e4c5a71ab47e71cf4a1caa9e3 Author: David S. Miller Date: Sat Jul 14 00:45:16 2007 -0700 [SPARC64]: Fix build regressions added by dr-cpu changes. Do not select HOTPLUG_CPU from SUN_LDOMS, that causes HOTPLUG_CPU to be selected even on non-SMP which is illegal. Only build hvtramp.o when SMP, just like trampoline.o Protect dr-cpu code in ds.c with HOTPLUG_CPU. Likewise move ldom_startcpu_cpuid() to smp.c and protect it and the call site with SUN_LDOMS && HOTPLUG_CPU. Signed-off-by: David S. Miller commit f8be339c02c1e543eee8e09ffe600c0e61be5898 Author: David S. Miller Date: Sat Jul 14 00:41:08 2007 -0700 [SPARC64]: Unconditionally register vio_bus_type. The VIO drivers register themselves unconditionally just like those of any other bus type, so to avoid crashes on non-VIO systems we need to always register vio_bus_type. Signed-off-by: David S. Miller commit 4f0234f4f9da485ecb9729af1b88567700fd4767 Author: David S. Miller Date: Fri Jul 13 16:03:42 2007 -0700 [SPARC64]: Initial LDOM cpu hotplug support. Only adding cpus is supports at the moment, removal will come next. When new cpus are configured, the machine description is updated. When we get the configure request we pass in a cpu mask of to-be-added cpus to the mdesc CPU node parser so it only fetches information for those cpus. That code also proceeds to update the SMT/multi-core scheduling bitmaps. cpu_up() does all the work and we return the status back over the DS channel. CPUs via dr-cpu need to be booted straight out of the hypervisor, and this requires: 1) A new trampoline mechanism. CPUs are booted straight out of the hypervisor with MMU disabled and running in physical addresses with no mappings installed in the TLB. The new hvtramp.S code sets up the critical cpu state, installs the locked TLB mappings for the kernel, and turns the MMU on. It then proceeds to follow the logic of the existing trampoline.S SMP cpu bringup code. 2) All calls into OBP have to be disallowed when domaining is enabled. Since cpus boot straight into the kernel from the hypervisor, OBP has no state about that cpu and therefore cannot handle being invoked on that cpu. Luckily it's only a handful of interfaces which can be called after the OBP device tree is obtained. For example, rebooting, halting, powering-off, and setting options node variables. CPU removal support will require some infrastructure changes here. Namely we'll have to process the requests via a true kernel thread instead of in a workqueue. workqueues run on a per-cpu thread, but when unconfiguring we might need to force the thread to execute on another cpu if the current cpu is the one being removed. Removal of a cpu also causes the kernel to destroy that cpu's workqueue running thread. Another issue on removal is that we may have interrupts still pointing to the cpu-to-be-removed. So new code will be needed to walk the active INO list and retarget those cpus as-needed. Signed-off-by: David S. Miller commit b3e13fbeb9ac1eb8e7b0791bf56e1775c692972b Author: David S. Miller Date: Thu Jul 12 15:55:55 2007 -0700 [SPARC64]: Fix setting of variables in LDOM guest. There is a special domain services capability for setting variables in the OBP options node. Guests don't have permanent store for the OBP variables like a normal system, so they are instead maintained in the LDOM control node or in the SC. Signed-off-by: David S. Miller commit 83292e0a9c3f1c326b28fbf8cb70a8ce81a98163 Author: David S. Miller Date: Thu Jul 12 14:16:22 2007 -0700 [SPARC64]: Fix MD property lifetime bugs. Property values cannot be referenced outside of mdesc_grab()/mdesc_release() pairs. The only major offender was the VIO bus layer, easily fixed. Add some commentary to mdesc.h describing these rules. Signed-off-by: David S. Miller commit 43fdf27470b216ebdef47e09ff83bed2f2894b13 Author: David S. Miller Date: Thu Jul 12 13:47:50 2007 -0700 [SPARC64]: Abstract out mdesc accesses for better MD update handling. Since we have to be able to handle MD updates, having an in-tree set of data structures representing the MD objects actually makes things more painful. The MD itself is easy to parse, and we can implement the existing interfaces using direct parsing of the MD binary image. The MD is now reference counted, so accesses have to now take the form: handle = mdesc_grab(); ... operations on MD ... mdesc_release(handle); The only remaining issue are cases where code holds on to references to MD property values. mdesc_get_property() returns a direct pointer to the property value, most cases just pull in the information they need and discard the pointer, but there are few that use the pointer directly over a long lifetime. Those will be fixed up in a subsequent changeset. A preliminary handler for MD update events from domain services is there, it is rudimentry but it works and handles all of the reference counting. It does not check the generation number of the MDs, and it does not generate a "add/delete" list for notification to interesting parties about MD changes but that will be forthcoming. Signed-off-by: David S. Miller commit 133f09a169f3022be3de671b29658b7ecb375022 Author: David S. Miller Date: Wed Jul 11 23:22:55 2007 -0700 [SPARC64]: Use more mearningful names for IRQ registry. All of the interrupts say "LDX RX" and "LDX TX" currently which is next to useless. Put a device specific prefix before "RX" and "TX" instead which makes it much more useful. Signed-off-by: David S. Miller commit e450992d13ffaec6dde4bbbd308b834ae9fc3708 Author: David S. Miller Date: Wed Jul 11 18:51:31 2007 -0700 [SPARC64]: Initial domain-services driver. Signed-off-by: David S. Miller commit 13077d80286205e02eebe1c2786a914a4bbd2588 Author: David S. Miller Date: Wed Jul 11 18:18:04 2007 -0700 [SPARC64]: Export powerd facilities for external entities. Besides the existing usage for power-button interrupts, we'll want to make use of this code for domain-services where the LDOM manager can send reboot requests to the guest node. Signed-off-by: David S. Miller commit 2c4f4ecb7a421e0be6632d3366f0bc7cdf1e38b1 Author: David S. Miller Date: Wed Jul 11 18:15:59 2007 -0700 [SPARC64]: Add domain-services nodes to VIO device tree. They sit under the root of the MD tree unlike the rest of the LDC channel based virtual devices. Signed-off-by: David S. Miller commit cb4812358423e7ea47d2b6471918d65238452cc5 Author: David S. Miller Date: Wed Jul 11 18:14:41 2007 -0700 [SPARC64]: Assorted LDC bug cures. 1) LDC_MODE_RELIABLE is deprecated an unused by anything, plus it and LDC_MODE_STREAM were mis-numbered. 2) read_stream() should try to read as much as possible into the per-LDC stream buffer area, so do not trim the read_nonraw() length by the caller's size parameter. 3) Send data ACKs when necessary in read_nonraw(). 4) In read_nonraw() when we get a pure ACK, advance the RX head unconditionally past it. 5) Provide the ACKID field in the ldcdgb() packet dump in read_nonraw(). This helps debugging stream mode LDC channel problems. 6) Decrease verbosity of rx_data_wait() so that it is more useful. A debugging message each loop iteration is too much. 7) In process_data_ack() stop the loop checking when we hit lp->tx_tail not lp->tx_head. 8) Set the seqid field properly in send_data_nack(). Signed-off-by: David S. Miller commit 5a606b72a4309a656cd1a19ad137dc5557c4b8ea Author: David S. Miller Date: Mon Jul 9 22:40:36 2007 -0700 [SPARC64]: Do not ACK an INO if it is disabled or inprogress. This is also a partial workaround for a bug in the LDOM firmware which double-transmits RX inos during high load. Without this, such an event causes the kernel to loop forever in the interrupt call chain ACK'ing but never actually running the IRQ handler (and thus clearing the interrupt condition in the device). There is still a bad potential effect when double INOs occur, not covered by this changeset. Namely, if the INO is already on the per-cpu INO vector list, we still blindly re-insert it and thus we can end up losing interrupts already linked in after it. We could deal with that by traversing the list before insertion, but that's too expensive for this edge case. Signed-off-by: David S. Miller commit 667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6 Author: David S. Miller Date: Mon Jul 16 04:03:56 2007 -0700 [SPARC64]: Add Sun LDOM virtual disk driver. Signed-off-by: David S. Miller commit 4c521e422f2837b9652fa00a064a01d009f939b6 Author: David S. Miller Date: Mon Jul 9 22:23:51 2007 -0700 [SPARC64]: Add Sun LDOM virtual network driver. Signed-off-by: David S. Miller commit e53e97ce3c7119199d2788d8fd1618efa9c2d1eb Author: David S. Miller Date: Mon Jul 9 22:22:44 2007 -0700 [SPARC64]: Add LDOM virtual channel driver and VIO device layer. Virtual devices on Sun Logical Domains are built on top of a virtual channel framework. This, with help of hypervisor interfaces, provides a link layer protocol with basic handshaking over which virtual device clients and servers communicate. Built on top of this is a VIO device protocol which has it's own handshaking and message types. At this layer attributes are exchanged (disk size, network device addresses, etc.) descriptor rings are registered, and data transfers are triggers and replied to. Signed-off-by: David S. Miller commit cec9ad279b66793bee0b5009b7ca311060061efd Author: Avi Kivity Date: Thu May 24 13:11:41 2007 +0300 KVM: Use CPU_DYING for disabling virtualization Only at the CPU_DYING stage can we be sure that no user process will be scheduled onto the cpu and oops when trying to use virtualization extensions. Signed-off-by: Avi Kivity commit 4267c41a458cd7d287dc8031468fc385c2f5b2c3 Author: Avi Kivity Date: Thu May 24 13:09:41 2007 +0300 KVM: Tune hotplug/suspend IPIs The hotplug IPIs can be called from the cpu on which we are currently running on, so use on_cpu(). Similarly, drop on_each_cpu() for the suspend/resume callbacks, as we're in atomic context here and only one cpu is up anyway. Signed-off-by: Avi Kivity commit 1b6c016818a562aaea22b1a1b05b15c796b0c2f0 Author: Avi Kivity Date: Thu May 24 13:03:52 2007 +0300 KVM: Keep track of which cpus have virtualization enabled By keeping track of which cpus have virtualization enabled, we prevent double-enable or double-disable during hotplug, which is a very fatal oops. Signed-off-by: Avi Kivity commit a52b1752c077cb919b71167c54968a0b91673281 Author: Avi Kivity Date: Mon Jul 9 17:11:49 2007 +0300 SMP: Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. This patch is for !CONFIG_SMP. Cc: Andi Kleen Signed-off-by: Avi Kivity commit de489353918139161eee241a6224d67f22bfd024 Author: Avi Kivity Date: Mon Jul 9 17:11:49 2007 +0300 i386: Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. Cc: Andi Kleen Signed-off-by: Avi Kivity commit 4055551bbcb0d0be8c916134b4e9074826e89638 Author: Avi Kivity Date: Mon Jul 9 17:11:49 2007 +0300 x86_64: Allow smp_call_function_single() to current cpu This removes the requirement for callers to get_cpu() to check in simple cases. Cc: Andi Kleen Signed-off-by: Avi Kivity commit 38ef6d195fb794e61a687ef8f5a37daf6044d576 Author: Avi Kivity Date: Thu May 24 12:37:34 2007 +0300 HOTPLUG: Adapt thermal throttle to CPU_DYING CPU_DYING is notified in atomic context, so no taking mutexes here. Signed-off-by: Avi Kivity commit ac076758b97d9e3d2c1557cfa412911e93cd0919 Author: Avi Kivity Date: Thu May 24 12:33:15 2007 +0300 HOTPLUG: Adapt cpuset hotplug callback to CPU_DYING CPU_DYING is called in atomic context, so don't try to take any locks. Signed-off-by: Avi Kivity commit db912f963909b3cbc3a059b7528f6a1a1eb6ffae Author: Avi Kivity Date: Thu May 24 12:23:10 2007 +0300 HOTPLUG: Add CPU_DYING notifier KVM wants a notification when a cpu is about to die, so it can disable hardware extensions, but at a time when user processes cannot be scheduled on the cpu, so it doesn't try to use virtualization extensions after they have been disabled. This adds a CPU_DYING notification. The notification is called in atomic context on the doomed cpu. Signed-off-by: Avi Kivity commit e495606dd09d79f9fa496334ac3958f6ff179d82 Author: Avi Kivity Date: Thu Jun 28 14:15:57 2007 -0400 KVM: Clean up #includes Remove unnecessary ones, and rearange the remaining in the standard order. Signed-off-by: Avi Kivity commit d6d281684913dabb878e2f53219eed5df2cd867b Author: Avi Kivity Date: Thu Jun 28 08:38:16 2007 -0400 KVM: Remove kvmfs in favor of the anonymous inodes source kvm uses a pseudo filesystem, kvmfs, to generate inodes, a job that the new anonymous inodes source does much better. Cc: Davide Libenzi Signed-off-by: Avi Kivity commit 6031a61c2ef4cf22b69ef5494aefa54b84a27d2f Author: Joerg Roedel Date: Fri Jun 22 12:29:50 2007 +0300 KVM: SVM: Reliably detect if SVM was disabled by BIOS This patch adds an implementation to the svm is_disabled function to detect reliably if the BIOS disabled the SVM feature in the CPU. This fixes the issues with kernel panics when loading the kvm-amd module on machines where SVM is available but disabled. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 796fd1b23e463e98b3e2fc86ed571db06dc945bb Author: Avi Kivity Date: Thu Jun 21 11:54:45 2007 +0300 KVM: VMX: Remove unnecessary code in vmx_tlb_flush() A vmexit implicitly flushes the tlb; the code is bogus. Noted by Shaohua Li. Signed-off-by: Avi Kivity commit 88a97f0b2fe1cd08d06390dc2669b709ea96e11a Author: Shaohua Li Date: Wed Jun 20 17:13:26 2007 +0800 KVM: MMU: Fix Wrong tlb flush order Need to flush the tlb after updating a pte, not before. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 75880a01124c6aa5d428bdc14163039a87618be1 Author: Avi Kivity Date: Wed Jun 20 11:20:04 2007 +0300 KVM: VMX: Reinitialize the real-mode tss when entering real mode Protected mode code may have corrupted the real-mode tss, so re-initialize it when switching to real mode. Signed-off-by: Avi Kivity commit a3c870bdce4d34332ebdba7eb9969592c4c6b243 Author: Luca Tettamanti Date: Tue Jun 19 22:41:38 2007 +0200 KVM: Avoid useless memory write when possible When writing to normal memory and the memory area is unchanged the write can be safely skipped, avoiding the costly kvm_mmu_pte_write. Signed-Off-By: Luca Tettamanti Signed-off-by: Avi Kivity commit 02c03a326a5df825cc01de426f72e160db2b9538 Author: Luca Tettamanti Date: Tue Jun 19 22:41:20 2007 +0200 KVM: Fix x86 emulator writeback When the old value and new one are the same the emulator skips the write; this is undesirable when the destination is a MMIO area and the write shall be performed regardless of the previous value. This optimization breaks e.g. a Linux guest APIC compiled without X86_GOOD_APIC. Remove the check and perform the writeback stage in the emulation unless it's explicitly disabled (currently push and some 2 bytes instructions may disable the writeback). Signed-Off-By: Luca Tettamanti Signed-off-by: Avi Kivity commit 74906345ff9f84f2b3b772d368c7e49f4ba27456 Author: Eddie Dong Date: Tue Jun 19 18:05:03 2007 +0300 KVM: Add support for in-kernel pio handlers Useful for the PIC and PIT. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit ff1dc7942ba8fa4a86619bcb37ed68afae1f69ca Author: Gregory Haskins Date: Thu May 31 14:08:58 2007 -0400 KVM: VMX: Fix interrupt checking on lightweight exit With kernel-injected interrupts, we need to check for interrupts on lightweight exits too. Signed-off-by: Gregory Haskins Signed-off-by: Avi Kivity commit 2eeb2e94eb6232f0895da696c10e6636093ff72b Author: Gregory Haskins Date: Thu May 31 14:08:53 2007 -0400 KVM: Adds support for in-kernel mmio handlers Signed-off-by: Gregory Haskins Signed-off-by: Avi Kivity commit d9413cd757a7c96d97ddb46ab4e3e04760ae4c55 Author: Nitin A Kamble Date: Tue Jun 19 11:21:15 2007 +0300 KVM: Implement emulation of instruction "ret" (opcode 0xc3) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7f0aaee07b6afcf5a4ee8a1132447621d768076b Author: Nitin A Kamble Date: Tue Jun 19 11:16:04 2007 +0300 KVM: Implement emulation of "pop reg" instruction (opcode 0x58-0x5f) For use in real mode. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7700270ee3c1324c18f5b7c36ee5ba1a4165919a Author: Avi Kivity Date: Wed Jun 13 19:55:28 2007 +0300 KVM: VMX: Ensure vcpu time stamp counter is monotonous If the time stamp counter goes backwards, a guest delay loop can become infinite. This can happen if a vcpu is migrated to another cpu, where the counter has a lower value than the first cpu. Since we're doing an IPI to the first cpu anyway, we can use that to pick up the old tsc, and use that to calculate the adjustment we need to make to the tsc offset. Signed-off-by: Avi Kivity commit 94cea1bb9d050c3200b36420cc03ba744dfd4338 Author: Avi Kivity Date: Wed Jun 13 19:43:19 2007 +0300 KVM: Initialize the BSP bit in the APIC_BASE msr correctly Needs to be set on vcpu 0 only. Signed-off-by: Avi Kivity commit a3870c47891629dae1765358fbaba3c49460f47a Author: Shani Moideen Date: Mon Jun 11 09:31:33 2007 +0530 KVM: VMX: Replace memset(, 0, PAGESIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Avi Kivity commit 129ee910df90738da950021a9b9784ea43d5f228 Author: Shani Moideen Date: Mon Jun 11 09:28:26 2007 +0530 KVM: SVM: Replace memset(, 0, PAGESIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Avi Kivity commit d9e368d61263055eceac2966bb7ea31b89da3425 Author: Avi Kivity Date: Thu Jun 7 19:18:30 2007 +0300 KVM: Flush remote tlbs when reducing shadow pte permissions When a vcpu causes a shadow tlb entry to have reduced permissions, it must also clear the tlb on remote vcpus. We do that by: - setting a bit on the vcpu that requests a tlb flush before the next entry - if the vcpu is currently executing, we send an ipi to make sure it exits before we continue Signed-off-by: Avi Kivity commit 39c3b86e5c193e09f69f0e99c93600a4999ffc60 Author: Avi Kivity Date: Thu Jun 7 19:11:53 2007 +0300 KVM: Keep an upper bound of initialized vcpus That way, we don't need to loop for KVM_MAX_VCPUS for a single vcpu vm. Signed-off-by: Avi Kivity commit 72d6e5a08a8ba2105b3f36e32285e8fbfbed1f71 Author: Avi Kivity Date: Tue Jun 5 16:15:51 2007 +0300 KVM: Emulate hlt on real mode for Intel This has two use cases: the bios can't boot from disk, and guest smp bootstrap. Signed-off-by: Avi Kivity commit d3bef15f84f91c73a5515ad4c6a1749f8f63afcf Author: Avi Kivity Date: Tue Jun 5 15:53:05 2007 +0300 KVM: Move duplicate halt handling code into kvm_main.c Will soon have a thid user. Signed-off-by: Avi Kivity commit ef9254df0b3aeba729e26a062803ee7d90437b5e Author: Avi Kivity Date: Tue Jun 5 14:37:09 2007 +0300 KVM: Enable guest smp As we don't support guest tlb shootdown yet, this is only reliable for real-mode guests. Signed-off-by: Avi Kivity commit 120e9a453b5e7d9a708caff7d97b71fc4ccd59e8 Author: Avi Kivity Date: Tue Jun 5 14:36:10 2007 +0300 KVM: Fix adding an smp virtual machine to the vm list If we add the vm once per vcpu, we corrupt the list if the guest has multiple vcpus. Signed-off-by: Avi Kivity commit 7b53aa56508479507c6e5667bb252ca7c2cd19cf Author: Avi Kivity Date: Tue Jun 5 12:17:03 2007 +0300 KVM: Fix vcpu freeing for guest smp A vcpu can pin up to four mmu shadow pages, which means the freeing loop will never terminate. Fix by first unpinning shadow pages on all vcpus, then freeing shadow pages. Signed-off-by: Avi Kivity commit 313899477f7578d37e82ead1af10f794a6da3c90 Author: Nguyen Anh Quynh Date: Tue Jun 5 10:35:19 2007 +0300 KVM: Remove unnecessary initialization and checks in mark_page_dirty() Signed-off-by: Avi Kivity commit 50a3485c594d0d52196cde4d208b37cda779fbf3 Author: Robert P. J. Day Date: Sun Jun 3 13:35:29 2007 -0400 KVM: Replace C code with call to ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: Avi Kivity commit 17c3ba9d37dbda490792a2b52953f09d0dee30d6 Author: Avi Kivity Date: Mon Jun 4 15:58:30 2007 +0300 KVM: Lazy guest cr3 switching Switch guest paging context may require us to allocate memory, which might fail. Instead of wiring up error paths everywhere, make context switching lazy and actually do the switch before the next guest entry, where we can return an error if allocation fails. Signed-off-by: Avi Kivity commit bd2b2baa5c5fbb08b4b0df7508ff419407f7ece6 Author: Avi Kivity Date: Thu May 31 18:28:51 2007 +0300 KVM: MMU: Remove unused large page marker This has not been used for some time, as the same information is available in the page header. Signed-off-by: Avi Kivity commit b64b3763a5b3868e85330c891e1a30189dcde9b1 Author: Avi Kivity Date: Thu May 31 18:24:09 2007 +0300 KVM: MMU: Don't cache guest access bits in the shadow page table This was once used to avoid accessing the guest pte when upgrading the shadow pte from read-only to read-write. But usually we need to set the guest pte dirty or accessed bits anyway, so this wasn't really exploited. Signed-off-by: Avi Kivity commit fd97dc516c372982f9c3637e20b131e1f55ac2f6 Author: Avi Kivity Date: Thu May 31 18:20:14 2007 +0300 KVM: MMU: Simpify accessed/dirty/present/nx bit handling Always set the accessed and dirty bit (since having them cleared causes a read-modify-write cycle), always set the present bit, and copy the nx bit from the guest. Signed-off-by: Avi Kivity commit 4436d466219a6a7874ebc19eb6523c3a9a280dcc Author: Avi Kivity Date: Thu May 31 17:17:06 2007 +0300 KVM: MMU: Remove cr0.wp tricks No longer needed as we do everything in one place. Signed-off-by: Avi Kivity commit e663ee64aefc57f7eff7325142206c4ea0200be8 Author: Avi Kivity Date: Thu May 31 15:46:04 2007 +0300 KVM: MMU: Make setting shadow ptes atomic on i386 Signed-off-by: Avi Kivity commit 0d551bb698e1328f685ae3611c4a4a96f41bef97 Author: Avi Kivity Date: Thu May 31 15:23:35 2007 +0300 KVM: Make shadow pte updates atomic With guest smp, a second vcpu might see partial updates when the first vcpu services a page fault. So delay all updates until we have figured out what the pte should look like. Note that on i386, this is still not completely atomic as a 64-bit write will be split into two on a 32-bit machine. Signed-off-by: Avi Kivity commit a18de5a403f9b5010527b2e7b05049b539b4facd Author: Avi Kivity Date: Thu May 31 15:14:09 2007 +0300 KVM: Move shadow pte modifications from set_pte/set_pde to set_pde_common() We want all shadow pte modifications in one place. Signed-off-by: Avi Kivity commit 97a0a01ea9229e4f3f0f06e0584227e9687159a5 Author: Avi Kivity Date: Thu May 31 15:08:29 2007 +0300 KVM: MMU: Fold fix_write_pf() into set_pte_common() This prevents some work from being performed twice, and, more importantly, reduces the number of places where we modify shadow ptes. Signed-off-by: Avi Kivity commit 63b1ad24d2695db3ec1cc8b10760e130e1a1f04b Author: Avi Kivity Date: Thu May 31 11:56:54 2007 +0300 KVM: MMU: Fold fix_read_pf() into set_pte_common() Signed-off-by: Avi Kivity commit 6598c8b2420c30b48fc0d1d40d9ef6a1f7312107 Author: Avi Kivity Date: Thu May 31 11:45:18 2007 +0300 KVM: MMU: Pass the guest pde to set_pte_common We will need the accessed bit (in addition to the dirty bit) and also write access (for setting the dirty bit) in a future patch. Signed-off-by: Avi Kivity commit e60d75ea292071e7ab33c10ca73fdd33fcbbe501 Author: Avi Kivity Date: Wed May 30 19:31:17 2007 +0300 KVM: MMU: Move set_pte_common() to pte width dependent code In preparation of some modifications. Signed-off-by: Avi Kivity commit ef0197e8d9273ad8fbfb1bbd30e46e42a32c79e8 Author: Avi Kivity Date: Wed May 30 14:21:51 2007 +0300 KVM: MMU: Simplify fetch() a little bit Signed-off-by: Avi Kivity commit d3d25b048b9c7e5c1c20918157a71df734f71766 Author: Avi Kivity Date: Wed May 30 12:34:53 2007 +0300 KVM: MMU: Use slab caches for shadow pages and their headers Use slab caches instead of a simple custom list. Signed-off-by: Avi Kivity commit 8d7282036f82244c5a1146a1a7edf03c50d278d9 Author: Eddie Dong Date: Tue May 29 15:07:21 2007 +0300 KVM: Use symbolic constants instead of magic numbers Signed-off-by: Avi Kivity commit 06ff0d37285094cf9cc25370e6a78ce9bc70ddb0 Author: Markus Rechberger Date: Sun May 27 10:46:52 2007 +0300 KVM: Fix includes KVM compilation fails for some .configs. This fixes it. Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 687fdbfe64086020e60547bd14773da3762056c1 Author: Avi Kivity Date: Thu May 24 11:17:33 2007 +0300 KVM: x86 emulator: implement wbinvd Vista seems to trigger it. Signed-off-by: Avi Kivity commit de062065a5293d8f434acb2d6ba5df87ad76bbd9 Author: Jan Engelhardt Date: Wed May 23 14:22:11 2007 -0700 Use menuconfig objects II - KVM/Virt 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 Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 2cc51560aed0edb291341089d3475e1fbe8bfd04 Author: Eddie Dong Date: Mon May 21 07:28:09 2007 +0300 KVM: VMX: Avoid saving and restoring msr_efer on lightweight vmexit MSR_EFER.LME/LMA bits are automatically save/restored by VMX hardware, KVM only needs to save NX/SCE bits at time of heavy weight VM Exit. But clearing NX bits in host envirnment may cause system hang if the host page table is using EXB bits, thus we leave NX bits as it is. If Host NX=1 and guest NX=0, we can do guest page table EXB bits check before inserting a shadow pte (though no guest is expecting to see this kind of gp fault). If host NX=0, we present guest no Execute-Disable feature to guest, thus no host NX=0, guest NX=1 combination. This patch reduces raw vmexit time by ~27%. Me: fix compile warnings on i386. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit f2be4dd65437c60a4eb222bc40bc8caded62631a Author: Eddie Dong Date: Sun May 20 10:50:08 2007 +0300 KVM: VMX: Cleanup redundant code in MSR set Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit a75beee6e4f5d2f0ae6e28cd626b2f157e93afd2 Author: Eddie Dong Date: Thu May 17 18:55:15 2007 +0300 KVM: VMX: Avoid saving and restoring msrs on lightweight vmexit In a lightweight exit (where we exit and reenter the guest without scheduling or exiting to userspace in between), we don't need various msrs on the host, and avoiding shuffling them around reduces raw exit time by 8%. i386 compile fix by Daniel Hecken . Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit b3f37707b05e9ce82d5bec660e9d0b15452ee9a0 Author: Nitin A Kamble Date: Thu May 17 15:50:34 2007 +0300 KVM: VMX: Handle #SS faults from real mode Instructions with address size override prefix opcode 0x67 Cause the #SS fault with 0 error code in VM86 mode. Forward them to the emulator. Signed-Off-By: Nitin A Kamble Signed-off-by: Avi Kivity commit cd2276a795b013d1416c96b38eec90a66cdd10c4 Author: Avi Kivity Date: Mon May 14 20:41:13 2007 +0300 KVM: VMX: Use local labels in inline assembly This makes oprofile dumps and disassebly easier to read. Signed-off-by: Avi Kivity commit cd0536d7cb4d5d5c5aa37ccd3edd71c4b0524add Author: Avi Kivity Date: Tue May 8 11:34:07 2007 +0300 KVM: Fix vmx I/O bitmap initialization on highmem systems kunmap() expects a struct page, not a virtual address. Fixes an oops loading kvm-intel.ko on i386 with CONFIG_HIGHMEM. Thanks to Michael Ivanov for reporting. Signed-off-by: Avi Kivity commit 653e3108b7d6097d25089d25ab4e99bc58b28962 Author: Avi Kivity Date: Mon May 7 10:55:37 2007 +0300 KVM: Avoid corrupting tr in real mode The real mode tr needs to be set to a specific tss so that I/O instructions can function. Divert the new tr values to the real mode save area from where they will be restored on transition to protected mode. This fixes some crashes on reboot when the bios accesses an I/O instruction. Signed-off-by: Avi Kivity commit eff708bc2bacd4f22cf844871341bef341bd096a Author: Avi Kivity Date: Sun May 6 16:10:01 2007 +0300 KVM: VMX: Only reload guest msrs if they are already loaded If we set an msr via an ioctl() instead of by handling a guest exit, we have the host state loaded, so reloading the msrs would clobber host state instead of guest state. This fixes a host oops (and loss of a cpu) on a guest reboot. Signed-off-by: Avi Kivity commit 47ad8e689b4f94f9fc3b2588a7aaa65e4eca667c Author: Avi Kivity Date: Sun May 6 15:50:58 2007 +0300 KVM: MMU: Store shadow page tables as kernel virtual addresses, not physical Simpifies things a bit. Signed-off-by: Avi Kivity commit 4b02d6daa12465b209ec4f50c363f9553a51f45b Author: Avi Kivity Date: Sun May 6 15:36:30 2007 +0300 KVM: MMU: Simplify kvm_mmu_free_page() a tiny bit Signed-off-by: Avi Kivity commit 2dc7094b5662c4446aa647b257d47a9412fbacc9 Author: Matthew Gregan Date: Sun May 6 10:59:46 2007 +0300 KVM: Implement IA32_EBL_CR_POWERON msr Attempting to boot the default 'bsd' kernel of OpenBSD 4.1 i386 in a guest fails early in the kernel init inside p3_get_bus_clock while trying to read the IA32_EBL_CR_POWERON MSR. KVM logs an 'unhandled MSR' message and the guest kernel faults. This patch is sufficient to allow OpenBSD to boot, after which it seems to run fine. I'm not sure if this is the correct solution for dealing with this particular MSR, but it works for me. Signed-off-by: Matthew Gregan Signed-off-by: Avi Kivity commit a3a0636725ff172031072434d722b69bf49b7823 Author: Avi Kivity Date: Wed May 2 23:06:22 2007 +0300 KVM: Set cr0.mp for guests This allows fwait instructions to be trapped when the guest fpu is not loaded. Signed-off-by: Avi Kivity commit 5fd86fcfc0dbdd42296b1182945f7a0a05578211 Author: Avi Kivity Date: Wed May 2 20:40:00 2007 +0300 KVM: Consolidate guest fpu activation and deactivation Easier to keep track of where the fpu is this way. Signed-off-by: Avi Kivity commit abd3f2d622a810b7f6687f7ddb405e90e4cfb7ab Author: Avi Kivity Date: Wed May 2 17:57:40 2007 +0300 KVM: Rationalize exception bitmap usage Everyone owns a piece of the exception bitmap, but they happily write to the entire thing like there's no tomorrow. Centralize handling in update_exception_bitmap() and have everyone call that. Signed-off-by: Avi Kivity commit 707c08743060b6721b08df68f4fd546b106e7510 Author: Avi Kivity Date: Wed May 2 17:33:43 2007 +0300 KVM: Move some more msr mangling into vmx_save_host_state() Signed-off-by: Avi Kivity commit 33ed6329210f3ad0638306bfa46cd3aaf5a5f929 Author: Avi Kivity Date: Wed May 2 16:54:03 2007 +0300 KVM: Fix potential guest state leak into host The lightweight vmexit path avoids saving and reloading certain host state. However in certain cases lightweight vmexit handling can schedule() which requires reloading the host state. So we store the host state in the vcpu structure, and reloaded it if we relinquish the vcpu. Signed-off-by: Avi Kivity commit 7494c0ccbb8fa0903bcb1ced89cc2b79c3624974 Author: Avi Kivity Date: Tue May 1 18:24:38 2007 +0300 KVM: Increase mmu shadow cache to 1024 pages This improves kbuild times by about 10%, bringing it within a respectable 25% of native. Signed-off-by: Avi Kivity commit 0028425f647b6b78a0de8810d6b782fc3ce6c272 Author: Avi Kivity Date: Tue May 1 16:53:31 2007 +0300 KVM: Update shadow pte on write to guest pte A typical demand page/copy on write pattern is: - page fault on vaddr - kvm propagates fault to guest - guest handles fault, updates pte - kvm traps write, clears shadow pte, resumes guest - guest returns to userspace, re-faults on same vaddr - kvm installs shadow pte, resumes guest - guest continues So, three vmexits for a single guest page fault. But if instead of clearing the page table entry, we update to correspond to the value that the guest has just written, we eliminate the third vmexit. This patch does exactly that, reducing kbuild time by about 10%. Signed-off-by: Avi Kivity commit fce0657ff9f14f6b1f147b5fcd6db2f54c06424e Author: Avi Kivity Date: Tue May 1 16:44:05 2007 +0300 KVM: MMU: Respect nonpae pagetable quadrant when zapping ptes When a guest writes to a page that has an mmu shadow, we have to clear the shadow pte corresponding to the memory location touched by the guest. Now, in nonpae mode, a single guest page may have two or four shadow pages (because a nonpae page maps 4MB or 4GB, whereas the pae shadow maps 2MB or 1GB), so we when we look up the page we find up to three additional aliases for the page. Since we _clear_ the shadow pte, it doesn't matter except for a slight performance penalty, but if we want to _update_ the shadow pte instead of clearing it, it is vital that we don't modify the aliases. Fortunately, exactly which page is needed (the "quadrant") is easily computed, and is accessible in the shadow page header. All we need is to ignore shadow pages from the wrong quadrants. Signed-off-by: Avi Kivity commit 09072daf37abbfe8e2d5018dd913f229c76190f7 Author: Avi Kivity Date: Tue May 1 14:16:52 2007 +0300 KVM: Unify kvm_mmu_pre_write() and kvm_mmu_post_write() Instead of calling two functions and repeating expensive checks, call one function and provide it with before/after information. Signed-off-by: Avi Kivity commit 621358455ae043ab39bc3481f13b101bd6016c8d Author: Avi Kivity Date: Tue May 1 11:32:28 2007 +0300 KVM: Be more careful restoring fs on lightweight vmexit i386 wants fs for accessing the pda even on a lightweight exit, so ensure we can always restore it. This fixes a regression on i386 introduced by the lightweight vmexit patch. Signed-off-by: Avi Kivity commit a25f7e1f8c1ff68213a63dada9d5e32dc1a0f587 Author: Avi Kivity Date: Mon Apr 30 17:05:38 2007 +0300 KVM: Reduce misfirings of the fork detector The kvm mmu tries to detects forks by looking for repeated writes to a page table. If it sees a fork, it unshadows the page table so the page table copying can proceed at native speed instead of being emulated. However, the detector also triggered on simple demand paging access patterns: a linear walk of memory would of course cause repeated writes to the same pagetable page, causing it to unshadow prematurely. Fix by resetting the fork detector if we detect a demand fault. Signed-off-by: Avi Kivity commit 05e0c8c344dd356b42e81bdf0d47d2b884bf49b5 Author: Avi Kivity Date: Mon Apr 30 16:15:58 2007 +0300 KVM: Unindent some code Signed-off-by: Avi Kivity commit e6adf28365b2fca0b5235cabff00c9f3d1e7bdf4 Author: Avi Kivity Date: Mon Apr 30 16:07:54 2007 +0300 KVM: Avoid saving and restoring some host CPU state on lightweight vmexit Many msrs and the like will only be used by the host if we schedule() or return to userspace. Therefore, we avoid saving them if we handle the exit within the kernel, and if a reschedule is not requested. Based on a patch from Eddie Dong with a couple of fixes by me. Signed-off-by: Yaozu(Eddie) Dong Signed-off-by: Avi Kivity commit e925c5ba9380dad5fdf1d0a9d9199ac43be74c6a Author: Avi Kivity Date: Mon Apr 30 14:47:02 2007 +0300 KVM: Assume that writes smaller than 4 bytes are to non-pagetable pages This allows us to remove write protection earlier than otherwise. Should some mad OS choose to use byte writes to update pagetables, it will suffer a performance hit, but still work correctly. Signed-off-by: Avi Kivity commit c86813393f8b8f9f738ab57d9837858ed850df4b Author: Anthony Liguori Date: Mon Apr 30 09:48:11 2007 +0300 KVM: SVM: Allow direct guest access to PC debug port The PC debug port is used for IO delay and does not require emulation. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit fdef3ad1b38660d74a29abc990940b5dbaaf3fc9 Author: He, Qing Date: Mon Apr 30 09:45:24 2007 +0300 KVM: VMX: Enable io bitmaps to avoid IO port 0x80 VMEXITs This patch enables IO bitmaps control on vmx and unmask the 0x80 port to avoid VMEXITs caused by accessing port 0x80. 0x80 is used as delays (see include/asm/io.h), and handling VMEXITs on its access is unnecessary but slows things down. This patch improves kernel build test at around 3%~5%. Because every VM uses the same io bitmap, it is shared between all VMs rather than a per-VM data structure. Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 8ea02606681beb41568c62ba060bdf51fc9ba14e Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: fix up fs/proc/array.c whitespace problems while changing task_stime() i noticed a whitespace style problem in array.c - fix it. While at it, fix all the other style problems too, most of them in the scheduler-stats related portions of array.c. There is no change in functionality: text data bss dec hex filename 4356 28 0 4384 1120 array.o-before 4356 28 0 4384 1120 array.o-after Signed-off-by: Ingo Molnar commit e4af30be8fd0bed0e8f96e4e1ebd546a3dfa8f2b Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: prettify prio_to_wmult[] prettify the prio_to_wmult[] array. (this could have saved us from the typos) Signed-off-by: Ingo Molnar commit 5714d2de93fbb156c5e45fb101a2b4f0cae8fbb7 Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: document prio_to_wmult[] document prio_to_wmult[]. Signed-off-by: Ingo Molnar commit f9153ee6c71cb9ab38de3b8ed66b1c3fa27c3f7d Author: Ingo Molnar Date: Mon Jul 16 09:46:30 2007 +0200 [PATCH] sched: improve weight-array comments improve the comments around the wmult array (which controls the weight of niced tasks). Clarify that to achieve a 10% difference in CPU utilization, a weight multiplier of 1.25 has to be used. Signed-off-by: Ingo Molnar commit 5926c50b83b626991c8c38efbca2020ee96b215f Author: Ingo Molnar Date: Mon Jul 16 09:46:30 2007 +0200 [PATCH] sched: remove dead code from task_stime() Alexey Dobriyan noticed that task_stime() contains a piece of dead code. (which is a remnant of earlier versions of this code) Remove that code. Signed-off-by: Ingo Molnar commit 58ff411e0d21592565ac9ab34f33a434f26e018b Author: FUJITA Tomonori Date: Mon Jul 16 08:52:17 2007 +0200 bsg: Kconfig updates This updates bsg entry in Kconfig: - bsg supports sg v4 - bsg depends on SCSI - it might be better to mark it experimental for a while Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 15d10b611fa94b52f004a08a1d4cf7b39de3cba3 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:16 2007 +0200 bsg: add SCSI transport-level request support This enables bsg to handle SCSI transport-level request like SAS management protocol (SMP). - add BSG_SUB_PROTOCOL_{SCSI_CMD, SCSI_TMF, SCSI_TRANSPORT} definitions. - SCSI transport-level requests skip blk_verify_command(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2c9ecdf40af0554ee9a2b1cbbbbdbc77f90a40e1 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:15 2007 +0200 bsg: add bidi support bsg uses the rq->next_rq pointer for a bidi request. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit abae1fde63fcdd2a3abaa0d7930938d8326f83d2 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:14 2007 +0200 add a struct request pointer to the request structure This adds a struct request pointer to the request structure for the second data phase (bidi for now). A request queue supporting bidi requests sets QUEUE_FLAG_BIDI. This prevents sending bidi requests to a non-bidi queue. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit efba1a31f3f8fe9672eb96cd26e97fb96891f1c0 Author: FUJITA Tomonori Date: Thu Jun 7 13:24:06 2007 +0200 bsg: fix the deadlock on discarding done commands The previous commit introduced a deadlock in discarding commands, because we forget to unlock the bd spinlock. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit e7d72173248c29c6f9ba14e40374266e1b954964 Author: FUJITA Tomonori Date: Tue May 8 15:32:03 2007 +0200 bsg: fix a blocking read bug This patch fixes a bug that read() returns ENODATA even with a blocking file descriptor when there are no commands pending. This also includes some cleanups. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4cf0723ac89b5f2189da2ad07ef875de26b83c77 Author: FUJITA Tomonori Date: Fri Mar 30 11:19:39 2007 +0200 bsg: minor bug fixes This fixes the following minor issues: - add EXPORT_SYMBOL_GPL for bsg_register_queue and bsg_unregister_queue. - shut up gcc warnings Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 292b7f27129272c9ec0ee5fa56abb6f9061b1d83 Author: FUJITA Tomonori Date: Wed Mar 28 13:29:58 2007 +0200 improve bsg device allocation This patch addresses on two issues on bsg device allocation. - the current maxium number of bsg devices is 256. It's too small if we allocate bsg devices to all SCSI devices, transport entities, etc. This increses the maxium number to 32768 (taken from the sg driver). - SCSI devices are dynamically added and removed. Currently, bsg can't handle it well since bsd_device->minor is simply increased. This is dependent on the patchset that I posted yesterday: http://marc.info/?l=linux-scsi&m=117440208726755&w=2 Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4e2872d6b0252d33f28ea67f33704208ca781978 Author: FUJITA Tomonori Date: Wed Mar 28 13:29:24 2007 +0200 bind bsg to all SCSI devices This patch binds bsg to all SCSI devices (their request queues) like the current sg driver does. We can send SCSI commands to non disk and cdrom scsi devices like OSD via bsg. This patch removes bsg_register_queue from blk_register_queue so bsg devices aren't bound to non SCSI block devices. If they want bsg, I'll send a patch to do that. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit d351af01b9307566135cb0f355ca65d0952c10b5 Author: FUJITA Tomonori Date: Mon Jul 9 12:40:35 2007 +0200 bsg: bind bsg to request_queue instead of gendisk This patch binds bsg devices to request_queue instead of gendisk. Any objects (like transport entities) can define own request_handler and create own bsg device. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5 Author: FUJITA Tomonori Date: Mon Jul 9 12:39:20 2007 +0200 bsg: add a request_queue argument to scsi_cmd_ioctl() bsg uses scsi_cmd_ioctl() for some SCSI/sg ioctl commands. scsi_cmd_ioctl() gets a request queue from a gendisk arguement. This prevents bsg being bound to SCSI devices that don't have a gendisk (like OSD). This adds a request_queue argument to scsi_cmd_ioctl(). The SCSI/sg ioctl commands doesn't use a gendisk so it's safe for any SCSI devices to use scsi_cmd_ioctl(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 7e75d73080d822d2bbbd5b0f7f293719dd1f9109 Author: FUJITA Tomonori Date: Wed Jan 24 09:05:54 2007 +0100 bsg: simplify __bsg_alloc_command failpath Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 264a0472183ce7ad05eea3360f5907880a1e5e78 Author: Jens Axboe Date: Tue Jan 23 16:30:17 2007 +0100 bsg: add cheasy error checks for sysfs stuff Signed-off-by: Jens Axboe commit 5309cb38de65eddd5f7e125da750accf949f29e8 Author: Jens Axboe Date: Tue Jan 23 16:24:41 2007 +0100 Add queue resizing support Just get rid of the preallocated command map, use the slab cache to get/free commands instead. Original patch from FUJITA Tomonori , changed by me to not use a mempool. Signed-off-by: Jens Axboe commit 3862153b673516b2efa0447b9b3778f47ac8f8c8 Author: FUJITA Tomonori Date: Fri Dec 22 09:43:51 2006 +0100 Replace s32, u32 and u64 with __s32, __u32 and __u64 in bsg.h for userspace Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2ef7086a207d3d899ae88602a135fe1c24e1811f Author: Jens Axboe Date: Wed Dec 20 11:26:11 2006 +0100 bsg: silence a bogus gcc warning Signed-off-by: Jens Axboe commit b711afa6959e5c8f457f1687b5d4a485c7974f32 Author: Jens Axboe Date: Wed Dec 20 11:25:23 2006 +0100 bsg: style cleanup Signed-off-by: Jens Axboe commit 1594a3f0eb526c73bc3915e8da13f2abf0ea1acd Author: Jens Axboe Date: Wed Dec 20 11:23:35 2006 +0100 bsg: use u32 etc instead of uint32_t Signed-off-by: Jens Axboe commit 10e8855b945193a62801429af3aab9f7e27ef56a Author: FUJITA Tomonori Date: Wed Dec 20 11:20:57 2006 +0100 bsg: add SG_IO to SG v4 This adds SG_IO support to SG v4. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 70e36eceaf897da11aa0b4d82b46ca66e65a05f1 Author: FUJITA Tomonori Date: Wed Dec 20 11:20:15 2006 +0100 bsg: replace SG v3 with SG v4 This patch replaces SG v3 in bsg with SG v4 (except for SG_IO). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 45977d0e87ac988d04fccfb89221727aaf8d78a4 Author: FUJITA Tomonori Date: Wed Dec 20 11:19:32 2006 +0100 bsg: add sg_io_v4 structure This patch adds sg_io_v4 structure that Doug proposed last month. There's one major change from the RFC. I dropped iovec, which needs compat stuff. The bsg code simply calls blk_rq_map_user against dout_xferp/din_xferp. So if possible, the page frames are directly mapped. If not possible, the block layer allocates new page frames and does memory copies. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 337ad41deae1b56e56731246322a93251df86e79 Author: FUJITA Tomonori Date: Wed Dec 20 11:18:54 2006 +0100 block: export blk_verify_command for SG v4 blk_fill_sghdr_rq doesn't work for SG v4 so verify_command needed to be exported. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9e69fbb5373f7c081acdf2b75d7bac7e95023dd1 Author: FUJITA Tomonori Date: Wed Dec 20 11:18:22 2006 +0100 bsg: minor cleanups This just kills linux/config.h and dprintk warnings. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit ac6b91b8035bd269a1fd42474f907d107c074805 Author: FUJITA Tomonori Date: Wed Dec 20 11:17:43 2006 +0100 block: changes for blk_rq_unmap_user new API This converts block/scsi_ioctl.c use blk_rq_unmap_user new API. blk_unmap_sghdr_rq is too simple and it might be better to remove it. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 3d6392cfbd7dc11f23058e3493683afab4ac13a3 Author: Jens Axboe Date: Mon Jul 9 12:38:05 2007 +0200 bsg: support for full generic block layer SG v3 Signed-off-by: Jens Axboe commit ff4135aeb1f9a0201f8e22400ebc1d570df9016e Author: Dave Airlie Date: Mon Jul 16 13:53:57 2007 +1000 drm: remove core typedefs from the ioc32 wrappers Signed-off-by: Dave Airlie commit e509ac4bbc661052dc73a2e8138800ba77d4ecb9 Author: Kristoffer Ericson Date: Mon Jul 16 09:51:39 2007 +0900 sh: sh-rtc support for SH7709. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 655bfd7aebb12481ab9275284d9500bee5ba3e70 Author: Richard Purdie Date: Mon Jul 9 12:17:24 2007 +0100 backlight: Convert from struct class_device to struct device Convert the backlight and LCD classes from struct class_device to struct device since class_device is scheduled for removal. One nasty API break is the backlight power attribute has had to be renamed to bl_power and the LCD power attribute has had to be renamed to lcd_power since the original names clash with the core. I can't see a way around this. Signed-off-by: Richard Purdie Acked-by: Greg Kroah-Hartman commit fa9133c24c4115523c1381b67fdd74fd864ac0ea Author: David Brownell Date: Tue May 29 23:07:10 2007 +0100 backlight: Fix order of Kconfig entries Switch the order of LCD_CLASS_DEVICE and BACKLIGHT_CLASS_DEVICE, so that it's possible to insert LCD devices without borking the dependency displays of xconfig and other config tools. Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit f8a7c6fe14f556ca8eeddce258cb21392d0c3a2f Author: Richard Purdie Date: Sun Jul 8 23:19:31 2007 +0100 leds: Convert from struct class_device to struct device Convert the LEDs class from struct class_device to struct device since class_device is scheduled for removal. Signed-off-by: Richard Purdie Acked-by: Greg Kroah-Hartman commit f9f451d9cac24b9bd49947d1c6971f3d689381fa Author: David Brownell Date: Sun Jul 8 11:49:53 2007 +0100 leds: leds-gpio for ngw100 Add GPIO leds to the NGW100 platform and its defconfig. Access through /sys/class/leds/{a,b,sys}/* files; one defaults to a heartbeat. Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit e3986f6380558b84fef1e7ce7a29fed5bb090721 Author: Richard Purdie Date: Fri May 11 00:12:01 2007 +0100 leds: Add warning printks in error paths Add warning printks if led_trigger_register_simple() fails. Signed-off-by: Richard Purdie commit 3593a6d64d774efb9d7ec80947607401ee6731c0 Author: Richard Purdie Date: Thu May 10 23:46:30 2007 +0100 leds: Fix trigger unregister_simple if register_simple fails Fix led_trigger_unregister_simple to handle the case where led_trigger_register_simple fails, avoiding a NULL pointer dereference. Signed-off-by: Richard Purdie commit 66242f7ec531953fbc2f4040c5ffe1f1ffe6c5c9 Author: Jan Engelhardt Date: Thu May 10 10:44:11 2007 +0100 leds: Use menuconfig objects II - LED 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 Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 00852279af5ad26956bc7f4d0e86fdb40192e542 Author: David Brownell Date: Thu May 10 10:51:41 2007 +0100 leds: Teach leds-gpio to handle timer-unsafe GPIOs Teach the new leds-gpio driver that some GPIOs can't be accessed from timer callbacks ... which is how all today's standard triggers use them. Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit 22e03f3b58dfcca30f0c8de185022132459638d1 Author: Raphael Assenat Date: Tue Feb 27 19:49:53 2007 +0000 leds: Add generic GPIO LED driver This patch adds support for GPIO connected leds via the new GPIO framework. Information about leds (gpio, polarity, name, default trigger) is passed to the driver via platform_data. Signed-off-by: Raphael Assenat Signed-off-by: Richard Purdie commit 2a9915c8a2e532f6c9b435e5f90008d601a87b90 Author: Al Viro Date: Sun Jul 15 21:37:16 2007 +0100 make i2c-acorn tristate It depends on tristate I2C and it's trivial to make modular. The current Kconfig allows I2C=m, I2C_ACORN=y, which doesn't work at all; alternatives are dependency on I2C=y and making I2C_ACORN itself a tristate. The latter is the right thing to do... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds Acked-by: Russell King commit ba5b55d0498bd56b9d60d85c5f654cd7b291e9c8 Author: Al Viro Date: Sun Jul 15 21:01:32 2007 +0100 icside: devm_iounmap() needs linux/io.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds Acked-by: Russell King commit 05bd711ea2862cb1c754903326b7858bc700b2e9 Author: Al Viro Date: Sun Jul 15 21:01:22 2007 +0100 missing argument in bin_attribute ->read()/->write() Fallout from commit 91a6902958f052358899f58683d44e36228d85c2 ('sysfs: add parameter "struct bin_attribute *" ...') Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ececfdee1cc287123149c801af201e41c7c3cc84 Author: Al Viro Date: Sun Jul 15 21:01:12 2007 +0100 fallout from constified seq_operations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8ca7ee6bcc542395cc68202d319a0404ad92b41d Author: Al Viro Date: Sun Jul 15 21:01:02 2007 +0100 fallout from Auke's pci ->revision patch Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 2832e856fb7238dae0f385e309e66626d81ca0fa Author: Al Viro Date: Sun Jul 15 21:00:51 2007 +0100 ax88796: dev_dbg() wants device, not platform device Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 22bb3e9e24e08a59efcb49943609ae88b6f628d0 Author: Al Viro Date: Sun Jul 15 21:00:41 2007 +0100 pass -msize-long to sparse on s390 s390 is the only 32bit with unsigned long for size_t (usual for those is unsigned int). Tell sparse... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b4a06918c2534fc9655424e75c879bf523aa5b06 Author: Al Viro Date: Sun Jul 15 21:00:31 2007 +0100 frv: missing __clear_user() Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c248725b616179c43d944ee9f31d507fa483e6c8 Author: Al Viro Date: Sun Jul 15 21:00:21 2007 +0100 zd1211rw: too early inclusion of asm/unaligned.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4381ca3c23b07ba5b567f72325003020ddca0341 Author: Al Viro Date: Sun Jul 15 21:00:11 2007 +0100 fix return type of skb_checksum_complete() It returns __sum16, not unsigned int Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5f17c70fe6d0b8562bf396f7e5638f243ebe4da8 Author: Al Viro Date: Sun Jul 15 21:00:01 2007 +0100 PDA_POWER depends on having request_irq() ... so all proud owners of s390-based PDAs will have to live without that one Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 51ec138c6416e9ed2ba0eae3af5f0ea8a90ae44b Author: Al Viro Date: Sun Jul 15 20:59:51 2007 +0100 ieee1394: forgotten dereference... Going through the string and waiting for _pointer_ to become '\0' is not what the authors meant... Signed-off-by: Al Viro Acked-by: Ben Collins Signed-off-by: Linus Torvalds commit 0e81c666dbf95546b3d9ea6ff7d29ea19b988950 Author: Al Viro Date: Sun Jul 15 20:59:41 2007 +0100 the wrong variable checked after request_irq() Signed-off-by: Al Viro Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 7c9e3c2e3b0437d10a09b77769baf325b94aa436 Author: Al Viro Date: Sun Jul 15 20:59:31 2007 +0100 wrong order of arguments of ->readdir() Shows how many people are testing coda - the bug had been there for 5 years and results of stepping on it are not subtle. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 53b67950026ee642b43615f46df22ec3d36b4a53 Author: Al Viro Date: Sun Jul 15 20:59:22 2007 +0100 minimal fixes for drivers/usb/gadget/m66592-udc.c still looks racy (and definitely leaks) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4a379e6657ae2dd910f9f06d46bd7c05fbe9ed5c Author: Steve French Date: Sun Jul 15 21:58:28 2007 +0000 [CIFS] Fix build break - inet.h not included when experimental ifdef off Signed-off-by: Steve French commit 0909fca51346d0ece688532c54d41ebc986aef7f Author: Andrew Morton Date: Sun Jul 15 22:37:03 2007 +0400 git-battery vs git-acpi drivers/w1/slaves/w1_ds2760.c:85: warning: initialization from incompatible pointer type The ACPI guys changed the bin_attr APIs (commit 91a6902958f052358899f58683d44e36228d85c2) Cc: Anton Vorontsov Cc: Len Brown Signed-off-by: Andrew Morton commit 7b3d54a8c30d2c524889a05d0c1334813d516b93 Author: Anton Vorontsov Date: Sun Jul 15 05:18:25 2007 +0400 Power supply class and drivers: remove non obligatory return statements Per Jeff Garzik request. Signed-off-by: Jeff Garzik Signed-off-by: Anton Vorontsov commit 5ebf6e6a96e41220edec23a90e4140985d1a5732 Author: Jeff Garzik Date: Sat Jul 14 19:12:04 2007 -0400 pda_power: clean up irq, timer Clean up pda_power interrupt handling: Prior to this patch, the driver would pass information it needed to the interrupt handler dev_id pointer, and then prompt forget it ever did so, recreating that same information after a couple passes through the timer-based state machine. This patch removes the redundant checks by passing the pda_power_supply[] pointer through the state machine. The current code passed 'irq' through the state machine, as an index to recreate the pointer, when we could more simply pass around the pointer itself. This patch makes it easier to remove the 'irq' argument in the future, in addition to cleaning up the driver today. Signed-off-by: Jeff Garzik commit 3be86148e7b394b5de2aeb720004f9788a66c300 Author: Anton Vorontsov Date: Sun Jul 15 04:43:36 2007 +0400 MAINTAINERS: Add maintainers for power supply subsystem and drivers Signed-off-by: Anton Vorontsov Acked-by: David Woodhouse commit 9413d7b8aa777dd1fc7db9563ce5e80d769fe7b5 Author: FUJITA Tomonori Date: Sat May 26 00:32:58 2007 +0900 [SCSI] ibmvscsi: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Cc: Santiago Leon Signed-off-by: James Bottomley commit a862ea31655a382488315b701e0820a74faf120d Author: FUJITA Tomonori Date: Sat May 26 02:07:09 2007 +0900 [SCSI] dc395x: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Jamie Lenehan Signed-off-by: James Bottomley commit 69eca4f52b044edd9890aaa25d74f52e5fcd170e Author: FUJITA Tomonori Date: Mon May 14 19:22:21 2007 +0900 [SCSI] ncr53c8xx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Matthew Wilcox Signed-off-by: James Bottomley commit 938febd62b860447247eb9b1c3b6bbc99d2c7f81 Author: FUJITA Tomonori Date: Sat May 26 02:31:17 2007 +0900 [SCSI] sym53c8xx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Matthew Wilcox Signed-off-by: James Bottomley commit cebadc5c97547aa8567ee2d628b187a34869b389 Author: Alan Cox Date: Mon Jul 9 12:00:10 2007 -0700 [SCSI] ppa: coding police and printk levels Add printk levels Clean up some oddities of formatting Fix goto labels Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 75a1099c0bfc5545088cdc9eae2fd98015656595 Author: Satyam Sharma Date: Mon Jul 9 12:00:07 2007 -0700 [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc drivers/scsi/aic7xxx_old.c:aic7xxx_slave_alloc() unnecessarily passes GFP_ATOMIC (along with GFP_KERNEL) to kmalloc() from a context that is not atomic. Remove the pointless GFP_ATOMIC. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Cc: Doug Ledford Signed-off-by: James Bottomley commit a3f249a242e804b61a14518ec9d5ec8ee48720d7 Author: Satyam Sharma Date: Mon Jul 9 12:00:07 2007 -0700 [SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c drivers/message/i2o/device.c:i2o_parm_field_get() unnecessarily passes GFP_ATOMIC (along with GFP_KERNEL) to kmalloc() from a context that is not atomic. Remove the pointless GFP_ATOMIC. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 3021c710cbf87c4ac528b737908d0c0669e8098e Author: Adrian Bunk Date: Mon Jul 9 12:00:10 2007 -0700 [SCSI] remove the dead CYBERSTORMIII_SCSI option Not converted to the 2.6 kconfig system and no code in the tree. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0a9f2a467d8dacaf7e97469dba99ed2d07287d80 Author: Ilpo Järvinen Date: Sun Jul 15 00:19:29 2007 -0700 [TCP]: Verify the presence of RETRANS bit when leaving FRTO For yet unknown reason, something cleared SACKED_RETRANS bit underneath FRTO. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 063ed369c97f8de4cce23bf93bebd7ffacb542ff Author: Vlad Yasevich Date: Sun Jul 15 00:16:35 2007 -0700 [IPV6]: Call inet6addr_chain notifiers on link down Currently if the link is brought down via ip link or ifconfig down, the inet6addr_chain notifiers are not called even though all the addresses are removed from the interface. This caused SCTP to add duplicate addresses to it's list. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c3bc7cff8fddb6ff9715be8bfc3d911378c4d69d Author: Patrick McHardy Date: Sun Jul 15 00:03:05 2007 -0700 [NET_SCHED]: Kill CONFIG_NET_CLS_POLICE The NET_CLS_ACT option is now a full replacement for NET_CLS_POLICE, remove the old code. The config option will be kept around to select the equivalent NET_CLS_ACT options for a short time to allow easier upgrades. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 73ca4918fbb98311421259d82ef4ab44feeace43 Author: Patrick McHardy Date: Sun Jul 15 00:02:31 2007 -0700 [NET_SCHED]: act_api: qdisc internal reclassify support The behaviour of NET_CLS_POLICE for TC_POLICE_RECLASSIFY was to return it to the qdisc, which could handle it internally or ignore it. With NET_CLS_ACT however, tc_classify starts over at the first classifier and never returns it to the qdisc. This makes it impossible to support qdisc-internal reclassification, which in turn makes it impossible to remove the old NET_CLS_POLICE code without breaking compatibility since we have two qdiscs (CBQ and ATM) that support this. This patch adds a tc_classify_compat function that handles reclassification the old way and changes CBQ and ATM to use it. This again is of course not fully backwards compatible with the previous NET_CLS_ACT behaviour. Unfortunately there is no way to fully maintain compatibility *and* support qdisc internal reclassification with NET_CLS_ACT, but this seems like the better choice over keeping the two incompatible options around forever. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f6853e2df3de82c1dac8f62ddcf3a8dfa302419e Author: Patrick McHardy Date: Sun Jul 15 00:02:10 2007 -0700 [NET_SCHED]: sch_dsmark: act_api support Handle act_api classification results. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9210080445b0c51a73b488750a26eb17177d8684 Author: Patrick McHardy Date: Sun Jul 15 00:01:49 2007 -0700 [NET_SCHED]: sch_atm: act_api support Handle act_api classification results. The ATM scheduler behaves slightly different than other schedulers in that it only handles policer results for successful classifications, this behaviour is retained for the act_api case. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b0188d4dbe5f4285372dd033acf7c92a97006629 Author: Patrick McHardy Date: Sun Jul 15 00:01:25 2007 -0700 [NET_SCHED]: sch_atm: Lindent Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f13ec93fba60d339dc1663eb47b2fb801225d2d2 Author: Dmitry Butskoy Date: Sat Jul 14 23:53:08 2007 -0700 [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets From: Dmitry Butskoy Taken from http://bugzilla.kernel.org/show_bug.cgi?id=8747 Problem Description: It is related to the possibility to obtain MSG_ERRQUEUE messages from the udp and raw sockets, both connected and unconnected. There is a little typo in net/ipv6/icmp.c code, which prevents such messages to be delivered to the errqueue of the correspond raw socket, when the socket is CONNECTED. The typo is due to swap of local/remote addresses. Consider __raw_v6_lookup() function from net/ipv6/raw.c. When a raw socket is looked up usual way, it is something like: sk = __raw_v6_lookup(sk, nexthdr, daddr, saddr, IP6CB(skb)->iif); where "daddr" is a destination address of the incoming packet (IOW our local address), "saddr" is a source address of the incoming packet (the remote end). But when the raw socket is looked up for some icmp error report, in net/ipv6/icmp.c:icmpv6_notify() , daddr/saddr are obtained from the echoed fragment of the "bad" packet, i.e. "daddr" is the original destination address of that packet, "saddr" is our local address. Hence, for icmpv6_notify() must use "saddr, daddr" in its arguments, not "daddr, saddr" ... Steps to reproduce: Create some raw socket, connect it to an address, and cause some error situation: f.e. set ttl=1 where the remote address is more than 1 hop to reach. Set IPV6_RECVERR . Then send something and wait for the error (f.e. poll() with POLLERR|POLLIN). You should receive "time exceeded" icmp message (because of "ttl=1"), but the socket do not receive it. If you do not connect your raw socket, you will receive MSG_ERRQUEUE successfully. (The reason is that for unconnected socket there are no actual checks for local/remote addresses). Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c Author: Jean Delvare Date: Sat Jul 14 20:51:44 2007 -0700 [IPV4]: Cleanup call to __neigh_lookup() Back in the times of Linux 2.2, negative values for the creat parameter of __neigh_lookup() had a particular meaning, but no longer, so we should pass 1 instead. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 0621ed2e4edbe2f6f83dafbf85eecefae7aaf2e8 Author: Patrick McHardy Date: Sat Jul 14 20:49:26 2007 -0700 [NET_SCHED]: Revert "avoid transmit softirq on watchdog wakeup" optimization As noticed by Ranko Zivojnovic , calling qdisc_run from the timer handler can result in deadlock: > CPU#0 > > qdisc_watchdog() fires and gets dev->queue_lock > qdisc_run()...qdisc_restart()... > -> releases dev->queue_lock and enters dev_hard_start_xmit() > > CPU#1 > > tc del qdisc dev ... > qdisc_graft()...dev_graft_qdisc()...dev_deactivate()... > -> grabs dev->queue_lock ... > > qdisc_reset()...{cbq,hfsc,htb,netem,tbf}_reset()...qdisc_watchdog_cancel()... > -> hrtimer_cancel() - waiting for the qdisc_watchdog() to exit, while still > holding dev->queue_lock > > CPU#0 > > dev_hard_start_xmit() returns ... > -> wants to get dev->queue_lock(!) > > DEADLOCK! The entire optimization is a bit questionable IMO, it moves potentially large parts of NET_TX_SOFTIRQ work to TIMER_SOFTIRQ/HRTIMER_SOFTIRQ, which kind of defeats the separation of them. Signed-off-by: Patrick McHardy Acked-by: Ranko Zivojnovic Signed-off-by: David S. Miller commit 59eecdfb166f6846ae356ddc744abed5820ad965 Author: Patrick McHardy Date: Sat Jul 14 20:48:44 2007 -0700 [NETFILTER]: nf_conntrack: UDPLITE support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 61075af51f252913401c41fbe94075b46c94e9f1 Author: Patrick McHardy Date: Sat Jul 14 20:48:19 2007 -0700 [NETFILTER]: nf_conntrack: mark protocols __read_mostly Also remove two unnecessary EXPORT_SYMBOLs and move the nf_conntrack_l3proto_ipv4 declaration to the correct file. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 370786f9cfd430cb424f00ce4110e75bb1b95a19 Author: Jan Engelhardt Date: Sat Jul 14 20:47:26 2007 -0700 [NETFILTER]: x_tables: add connlimit match ipt_connlimit has been sitting in POM-NG for a long time. Here is a new shiny xt_connlimit with: * xtables'ified * will request the layer3 module (previously it hotdropped every packet when it was not loaded) * fixed: there was a deadlock in case of an OOM condition * support for any layer4 protocol (e.g. UDP/SCTP) * using jhash, as suggested by Eric Dumazet * ipv6 support Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a887c1c148ffb3eb1c193e9869ca5297c6e22078 Author: Patrick McHardy Date: Sat Jul 14 20:46:15 2007 -0700 [NETFILTER]: Lower *tables printk severity Lower ip6tables, arptables and ebtables printk severity similar to Dan Aloni's patch for iptables. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 130e7a83d7ec8c5c673225e0fa8ea37b1ed507a5 Author: Yasuyuki Kozakai Date: Sat Jul 14 20:45:41 2007 -0700 [NETFILTER]: nf_conntrack: Don't track locally generated special ICMP error The conntrack assigned to locally generated ICMP error is usually the one assigned to the original packet which has caused the error. But if the original packet is handled as invalid by nf_conntrack, no conntrack is assigned to the original packet. Then nf_ct_attach() cannot assign any conntrack to the ICMP error packet. In that case the current nf_conntrack_icmp assigns appropriate conntrack to it. But the current code mistakes the direction of the packet. As a result, NAT code mistakes the address to be mangled. To fix the bug, this changes nf_conntrack_icmp not to assign conntrack to such ICMP error. Actually no address is necessary to be mangled in this case. Spotted by Jordan Russell. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2a3123fbe58da9fd3f35cd242087896ace6049f Author: Yasuyuki Kozakai Date: Sat Jul 14 20:45:14 2007 -0700 [NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it nf_ct_get_tuple() requires the offset to transport header and that bothers callers such as icmp[v6] l4proto modules. This introduces new function to simplify them. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ffc30690480bdd337e4914302b926d24870b56b2 Author: Yasuyuki Kozakai Date: Sat Jul 14 20:44:50 2007 -0700 [NETFILTER]: nf_conntrack: make l3proto->prepare() generic and renames it The icmp[v6] l4proto modules parse headers in ICMP[v6] error to get tuple. But they have to find the offset to transport protocol header before that. Their processings are almost same as prepare() of l3proto modules. This makes prepare() more generic to simplify icmp[v6] l4proto module later. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d87d8469e2dd19a3a134b99f78288d41854c614b Author: Yasuyuki Kozakai Date: Sat Jul 14 20:44:23 2007 -0700 [NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6460d948f3ebf7d5040328a60a0ab7221f69945b Author: Michael Chan Date: Sat Jul 14 19:07:52 2007 -0700 [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. Add ethtool utility function to set or clear IPV6_CSUM feature flag. Modify tg3.c and bnx2.c to use this function when doing ethtool -K to change tx checksum. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit febca281f677a775c61cd0572c2f35e4ead9e7d5 Author: Ursula Braun Date: Sat Jul 14 19:04:25 2007 -0700 [AF_IUCV]: Add lock when updating accept_q The accept_queue of an af_iucv socket will be corrupted, if adding and deleting of entries in this queue occurs at the same time (connect request from one client, while accept call is processed for another client). Solution: add locking when updating accept_q Signed-off-by: Ursula Braun Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit 13fdc9a74df0fec70f421c6891e184ed8c3b9088 Author: Ursula Braun Date: Sat Jul 14 19:03:41 2007 -0700 [AF_IUCV]: Avoid deadlock between iucv_path_connect and tasklet. An iucv deadlock may occur, where one CPU is spinning on the iucv_table_lock for iucv_tasklet_fn(), while another CPU is holding the iucv_table_lock for an iucv_path_connect() and is waiting for the first CPU in an smp_call_function. Solution: replace spin_lock in iucv_tasklet_fn by spin_trylock and reschedule tasklet in case of non-granted lock. Signed-off-by: Ursula Braun Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit da7de31cc50796a53593785d4508b7b7ffa9a9b2 Author: Jennifer Hunt Date: Sat Jul 14 19:03:00 2007 -0700 [AF_IUCV]: Improve description of IUCV and AFIUCV configuration options. Signed-off-by: Jennifer Hunt Signed-off-by: Ursula Braun >braunu@de.ibm.com> Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit acd159b6b5828175be6b9ccccd9b054239ec63e9 Author: Adrian Bunk Date: Sat Jul 14 19:00:59 2007 -0700 [INET_SOCK]: make net/ipv4/inet_timewait_sock.c:__inet_twsk_kill() static This patch makes the needlessly global __inet_twsk_kill() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit b3b0b681b12478a7afa7d1f3d58be96830e16c7d Author: Stephen Hemminger Date: Sat Jul 14 18:57:19 2007 -0700 [TCP]: tcp probe add back ssthresh field Sangtae noticed the ssthresh got missed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a7ecfc866578e665e20004a2f5fff5b73e8be3bc Author: Patrick McHardy Date: Sat Jul 14 18:56:30 2007 -0700 [VLAN]: Fix memset length Fix sizeof(ETH_ALEN) Introduced by my rtnl_link patches. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53 Author: Patrick McHardy Date: Sat Jul 14 18:55:06 2007 -0700 [NET]: Add macvlan driver Add macvlan driver, which allows to create virtual ethernet devices based on MAC address. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 56addd6eeeb4e11f5a0af7093ca078e0f29140e0 Author: Patrick McHardy Date: Sat Jul 14 18:53:28 2007 -0700 [VLAN]: Use multicast list synchronization helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde Author: Patrick McHardy Date: Sat Jul 14 18:52:56 2007 -0700 [VLAN]: Fix promiscous/allmulti synchronization races The set_multicast_list function may be called without holding the rtnl mutex, resulting in races when changing the underlying device's promiscous and allmulti state. Use the change_rx_mode hook, which is always invoked under the rtnl. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 Author: Patrick McHardy Date: Sat Jul 14 18:52:02 2007 -0700 [NET]: dev_mcast: add multicast list synchronization helpers The method drivers currently use to synchronize multicast lists is not very pretty: - walk the multicast list - search each entry on a copy of the previous list - if new add to lower device - walk the copy of the previous list - search each entry on the current list - if removed delete from lower device - copy entire list This patch adds a new field to struct dev_addr_list to store the synchronization state and adds two helper functions for synchronization and cleanup. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 24023451c8df726692e2f52288a20870d13b501f Author: Patrick McHardy Date: Sat Jul 14 18:51:31 2007 -0700 [NET]: Add net_device change_rx_mode callback Currently the set_multicast_list (and set_rx_mode) callbacks are responsible for configuring the device according to the IFF_PROMISC, IFF_MULTICAST and IFF_ALLMULTI flags and the mc_list (and uc_list in case of set_rx_mode). These callbacks can be invoked from BH context without the rtnl_mutex by dev_mc_add/dev_mc_delete, which makes reading the device flags and promiscous/allmulti count racy. For real hardware drivers that just commit all changes to the hardware this is not a real problem since the stack guarantees to call them for every change, so at least the final call will not race and commit the correct configuration to the hardware. For software devices that want to synchronize promiscous and multicast state to an underlying device however this can cause corruption of the underlying device's flags or promisc/allmulti counts. When the software device is concurrently put in promiscous or allmulti mode while set_multicast_list is invoked from bottem half context, the device might synchronize the change to the underlying device without holding the rtnl_mutex, which races with concurrent changes to the underlying device. Add a dev->change_rx_flags hook that is invoked when any of the flags that affect rx filtering change (under the rtnl_mutex), which allows drivers to perform synchronization immediately and only synchronize the address lists in set_multicast_list/set_rx_mode. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57 Author: Ingo Molnar Date: Sat Jul 14 18:50:15 2007 -0700 [RFKILL]: fix net/rfkill/rfkill-input.c bug on 64-bit systems Subject: [patch] net/input: fix net/rfkill/rfkill-input.c bug on 64-bit systems this recent commit: commit cf4328cd949c2086091c62c5685f1580fe9b55e4 Author: Ivo van Doorn Date: Mon May 7 00:34:20 2007 -0700 [NET]: rfkill: add support for input key to control wireless radio added this 64-bit bug: .... unsigned int flags; spin_lock_irqsave(&task->lock, flags); .... irq 'flags' must be unsigned long, not unsigned int. The -rt tree has strict checks about this on 64-bit so this triggered a build failure. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 2d785a50a8aa404c19f56d2c22445e48e418112b Author: Steve French Date: Sun Jul 15 01:48:57 2007 +0000 [CIFS] Add support for new POSIX unlink In the cleanup phase of the dbench test, we were noticing sharing violation followed by failed directory removals when dbench did not close the test files before the cleanup phase started. Using the new POSIX unlink, which Samba has supported for a few months, avoids this. Signed-off-by: Steve French commit 7689e82efdb636e8a076a1293b977bce313110c5 Author: Cornelia Huck Date: Mon Jul 9 11:59:59 2007 -0700 [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA With dma-mapping-prevent-dma-dependent-code-from-linking-on.patch scsi fails to build on !HAS_DMA architectures: drivers/built-in.o(.text+0x20af6): In function `scsi_dma_map': : undefined reference to `dma_map_sg' drivers/built-in.o(.text+0x20b5c): In function `scsi_dma_unmap': : undefined reference to `dma_unmap_sg' I split those functions out into a new file. Builds on s390 and i386. Move scsi_dma_{map,unmap} into scsi_lib_dma.c which is only build if HAS_DMA is set. Signed-off-by: Cornelia Huck Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: James Bottomley Cc: Jeff Garzik Cc: Christoph Hellwig Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 6d877688ef411313c94aa3c83c7473fbec6db32c Author: Matthew Wilcox Date: Wed Jul 11 12:54:55 2007 -0600 [SCSI] Clean up scsi_add_lun a bit This patch tidies up scsi_add_lun a bit. I rewrote the kerneldoc to match the actual parameters, moved the check for RBC and MMC REPORT_LUN devices away from the switch(), changed the setup of sdev->type to account for BLIST_ISROM, moved the check for BLIST_NO_ULD_ATTACH further down in the function, removed a bogus comment and fixed some whitespace issues. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 0cba35e42ce58a5b20319f9f57f9aa4ce37daf76 Author: Thomas Bogendoerfer Date: Wed Jul 11 19:08:31 2007 +0200 [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs remove printk, which triggers because of low scsi clock on SNI RMs Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 2da8658910580787ced4abc668adfb0f09710efb Author: Thomas Bogendoerfer Date: Wed Jul 11 19:09:36 2007 +0200 [SCSI] sni_53c710: Cleanup - base address is now a physical address; no need to convert it - remove not needed error printk in module init function Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 6ea7e33ee1b74de9b60327fec1a0cd39afac3983 Author: David C Somayajulu Date: Mon Jul 9 12:44:36 2007 -0700 [SCSI] qla4xxx: Fix underrun/overrun conditions On Wed, 2007-06-06 at 11:55 -0700, David C Somayajulu wrote: This patch fixes the code handling underrun and overrun conditions. Also fixed coding style as per Mike Christie's advice. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit 0c2cc4337968f7aab91a91b8d5889982e3a3bd0d Author: Matthias Kaehlcke Date: Mon Jul 9 12:00:11 2007 -0700 [SCSI] megaraid_mbox: use mutex instead of semaphore The Megaraid Mailbox driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: "Patro, Sumant" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 5fa0f5e47a87ceb8a3269b28fa14764b37364f63 Author: Salyzyn, Mark Date: Mon Jul 9 09:57:11 2007 -0400 [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation. Adding Adaptec 51245 (16 port), 51645 (20 port) and 52445 (28 port) Universal Serial RAID controllers to the aacraid documentation. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit cad7d7858bde1c1a6c1132ec8cad2b3abfacbd0d Author: Seokmann Ju Date: Thu Jul 5 13:17:01 2007 -0700 [SCSI] qla2xxx: update version to 8.02.00-k1. Following patch bump up the driver version reflecting NPIV addition to the qla2xxx. - version changed from 8.01.07-k7 to 8.02.00-k1. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 2c3dfe3f6ad8daff5acdb01713e4f2b116e78136 Author: Seokmann Ju Date: Thu Jul 5 13:16:51 2007 -0700 [SCSI] qla2xxx: add support for NPIV Following patch adds support for NPIV (N-Port ID Virtualization) to the qla2xxx. - supported within switched-fabric topologies only. - supports up to 63 virtual ports on each physical port. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 968a5763fb7247feb0e69573a2975a7a0c094267 Author: Ed Lin Date: Thu Jul 5 12:09:06 2007 -0700 [SCSI] stex: use resid for xfer len information The original implementation in stex_ys_commands() is inappropriate. For xfer len information, we should use resid instead. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 80dc3e062a8f82acd5852df15f6b4bc3359de871 Author: Matthew Wilcox Date: Thu Jul 5 08:57:50 2007 -0600 [SCSI] Add Brownie 1200U3P to blacklist The Brownie 1200U3P has the same problem with REPORT LUNS as the 1600U3P. Add it to the blacklist. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a73e45b3da2be548c8f45cf887e4171a8f39a3c3 Author: Boaz Harrosh Date: Wed Jul 4 21:26:01 2007 +0300 [SCSI] scsi.c: convert to use the data buffer accessors - a couple of prints, they can use the accessors Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 0ab179bcf31fd54c7b34b4191ea8591267641e92 Author: Boaz Harrosh Date: Wed Jul 4 21:18:55 2007 +0300 [SCSI] tmscsim: Further clean-up of the driver - The saved sg_count was a leftover from the time the driver was doing dma mapping by himself. But now that scsi-ml is called for the mapping it is not the drivers responsibility. Signed-off-by: Boaz Harrosh Acked-by: G. Liakhovetski Signed-off-by: James Bottomley commit cde760856ce3a88bcceb02f208bcd259c2a71c4c Author: Geert Uytterhoeven Date: Thu Jun 28 13:53:02 2007 +0200 [SCSI] CONFIG_SCSI_FD_8xx no longer exists CONFIG_SCSI_FD_8xx no longer exists. Apparently it was renamed to CONFIG_SCSI_SEAGATE, but the Makefile was not correctly updated. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit da3962fe63eae4f490356cb54e4700eac752541b Author: Akinobu Mita Date: Tue Jun 26 00:39:33 2007 +0900 [SCSI] sr: fix error handling in module_init Sweep registered blkdev when scsi_register_driver has failed. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: James Bottomley commit a57850379e389829a2fc569733b41da3d52bf366 Author: James Bottomley Date: Sat Jul 14 18:47:04 2007 -0500 [SCSI] lpfc: Fix NPIV compile problem drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_create_port': drivers/scsi/lpfc/lpfc_init.c:1573: error: 'struct kobject' has no member named 'dentry' Just remove the if check on this ... lpfc shouldn't be poking around in kobject structures. drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_pci_probe_one': drivers/scsi/lpfc/lpfc_init.c:1723: warning: unused variable 'retval' And remove the unused variable. Cc: James Smart Signed-off-by: James Bottomley commit c59fd9ebc46da8d48b76955d4d48e3597f8c8726 Author: FUJITA Tomonori Date: Wed Jul 4 06:03:11 2007 -0700 [SCSI] lpfc: fix NPIV mapping problems This patch uses dma_map_sg with phba->pcidev->dev instead of scsi_dma_map. scsi_dma_map doesn't work for NPIV since fc_vport->dev isn't fully initialized. check_addr() in arch/x86_64/kernel/pci-nommu.c leads to the crash since dev->dma_mask is NULL. For more details: http://marc.info/?l=linux-scsi&m=118312448030633&w=2 Signed-off-by: FUJITA Tomonori Acked-by: James Smart Signed-off-by: James Bottomley commit d4bd4cd0630060a64681590b9405b87e43c11f14 Author: Boaz Harrosh Date: Tue Jul 3 18:12:35 2007 +0300 [SCSI] lpfc: add missed data buffer accessor This is an addendum to: commit a0b4f78f9a4c869e9b29f254054ad7441cb40bbf Author: FUJITA Tomonori [SCSI] lpfc: convert to use the data buffer accessors One place was missed in the merge Signed-off-by: Boaz Harrosh Acked-by: James Smart Signed-off-by: James Bottomley commit d0f656cad313bb04a151273bb57e108b2cc9876f Author: Priyanka Gupta Date: Tue Jun 19 14:02:10 2007 -0700 [SCSI] Remove unused method scsi_device_cancel Removes an obsolete method scsi_device_cancel which isn't being used anywhere in the kernel. Signed-off-by: Priyanka Gupta Acked-by: Grant Grundler Signed-off-by: James Bottomley commit 0af8887ebf4556a76680a61b0bb156d934702c63 Author: Eric Van Hensbergen Date: Fri Jul 13 16:47:58 2007 -0500 9p: fix a race condition bug in umount which caused a segfault umounting partitions after heavy activity would sometimes trigger a segmentation violation. This fix appears to remove that problem. Fix originally provided by Latchesar Ionkov. Signed-off-by: Eric Van Hensbergen commit 9e2f6688c0b52882496aff576b009bc1f7eea0b8 Author: Eric Van Hensbergen Date: Fri Jul 13 13:05:21 2007 -0500 9p: re-enable mount time debug option During reorganization, the mount time debug option was removed in favor of module-load-time parameters. However, the mount time option is still a useful for feature during debug and for user-fault isolation when the module is compiled into the kernel. Signed-off-by: Eric Van Hensbergen commit 9523a841b109765f8779236d28be6458ee3a6824 Author: Eric Van Hensbergen Date: Fri Jul 13 13:01:27 2007 -0500 9p: cache meta-data when cache=loose This patch expands the impact of the loose cache mode to allow for cached metadata increasing the performance of directory listings and other metadata read operations. Signed-off-by: Eric Van Hensbergen commit 1d6b5602381524c339af2c2fdfe42ad0a01464a4 Author: Latchesar Ionkov Date: Wed Jul 11 15:14:46 2007 -0600 net/9p: set error to EREMOTEIO if trans->write returns zero If trans->write returns 0, p9_write_work goes through the error path, but sets the error code to zero. This patch sets the error code to EREMOTEIO if trans->write returns zero value. Signed-off-by: Latchesar Ionkov commit e46662be7fddde3464bf208317542c2f8df13d0b Author: Latchesar Ionkov Date: Wed Jul 11 15:13:54 2007 -0600 net/9p: change net/9p module name to 9pnet Change module name of net/9p module from 9p.ko to 9pnet.ko. fs/9p module already uses 9p.ko name. Signed-off-by: Latchesar Ionkov commit bd238fb431f31989898423c8b6496bc8c4204a86 Author: Latchesar Ionkov Date: Tue Jul 10 17:57:28 2007 -0500 9p: Reorganization of 9p file system code This patchset moves non-filesystem interfaces of v9fs from fs/9p to net/9p. It moves the transport, packet marshalling and connection layers to net/9p leaving only the VFS related files in fs/9p. This work is being done in preparation for in-kernel 9p servers as well as alternate 9p clients (other than VFS). Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit 0f1145cc18e970ebe37da114fc34c297f135e062 Author: David Chinner Date: Fri Jun 29 17:26:09 2007 +1000 [XFS] Fix lockdep annotations for xfs_lock_inodes SGI-PV: 967035 SGI-Modid: xfs-linux-melb:xfs-kern:29026a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit d7f0923d83dcabfc063257a281529cdbcd5eedb5 Author: David Chinner Date: Sat Jul 14 16:05:04 2007 +1000 [LIB]: export radix_tree_preload() XFS filestreams functionality uses radix trees and the preload functions. XFS can be built as a module and hence we need radix_tree_preload() exported. radix_tree_preload_end() is a static inline, so it doesn't need exporting. Signed-Off-By: Dave Chinner Signed-Off-By: Tim Shimmin commit faa63e9584df41020440756b8b90b7b63f95e4f6 Author: Michal Marek Date: Wed Jul 11 11:10:19 2007 +1000 [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode * 32bit struct xfs_fsop_bulkreq has different size and layout of members, no matter the alignment. Move the code out of the #else branch (why was it there in the first place?). Define _32 variants of the ioctl constants. * 32bit struct xfs_bstat is different because of time_t and on i386 because of different padding. Make xfs_bulkstat_one() accept a custom "output formatter" in the private_data argument which takes care of the xfs_bulkstat_one_compat() that takes care of the different layout in the compat case. * i386 struct xfs_inogrp has different padding. Add a similar "output formatter" mecanism to xfs_inumbers(). SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29102a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1fa503df66f7bffc0ff62662626897eec79446c2 Author: Michal Marek Date: Wed Jul 11 11:10:09 2007 +1000 [XFS] Compat ioctl handler for handle operations 32bit struct xfs_fsop_handlereq has different size and offsets (due to pointers). TODO: case XFS_IOC_{FSSETDM,ATTRLIST,ATTRMULTI}_BY_HANDLE still not handled. SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29101a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 547e00c3c681265b1fe5e34c7643f3ddac748ba0 Author: Michal Marek Date: Wed Jul 11 11:09:57 2007 +1000 [XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1. i386 struct xfs_fsop_geom_v1 has no padding after the last member, so the size is different. SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29100a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3a59c94c4b48878c6af047cdfc8c137d0fa7a0f0 Author: Eric Sandeen Date: Wed Jul 11 11:09:47 2007 +1000 [XFS] Clean up function name handling in tracing code Remove the hardcoded "fnames" for tracing, and just embed them in tracing macros via __FUNCTION__. Kills a lot of #ifdefs too. SGI-PV: 967353 SGI-Modid: xfs-linux-melb:xfs-kern:29099a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b11f94d537e6b69f13770143fd7ded3d09fdbaab Author: David Chinner Date: Wed Jul 11 11:09:33 2007 +1000 [XFS] Quota inode has no parent. Avoid using a special "zero inode" as the parent of the quota inode as this can confuse the filestreams code into thinking the quota inode has a parent. We do not want the quota inode to follow filestreams allocation rules, so pass a NULL as the parent inode and detect this condition when doing stream associations. SGI-PV: 964469 SGI-Modid: xfs-linux-melb:xfs-kern:29098a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 2a82b8be8a8dacb48cb7371449a7a9daa558b4a8 Author: David Chinner Date: Wed Jul 11 11:09:12 2007 +1000 [XFS] Concurrent Multi-File Data Streams In media spaces, video is often stored in a frame-per-file format. When dealing with uncompressed realtime HD video streams in this format, it is crucial that files do not get fragmented and that multiple files a placed contiguously on disk. When multiple streams are being ingested and played out at the same time, it is critical that the filesystem does not cross the streams and interleave them together as this creates seek and readahead cache miss latency and prevents both ingest and playout from meeting frame rate targets. This patch set creates a "stream of files" concept into the allocator to place all the data from a single stream contiguously on disk so that RAID array readahead can be used effectively. Each additional stream gets placed in different allocation groups within the filesystem, thereby ensuring that we don't cross any streams. When an AG fills up, we select a new AG for the stream that is not in use. The core of the functionality is the stream tracking - each inode that we create in a directory needs to be associated with the directories' stream. Hence every time we create a file, we look up the directories' stream object and associate the new file with that object. Once we have a stream object for a file, we use the AG that the stream object point to for allocations. If we can't allocate in that AG (e.g. it is full) we move the entire stream to another AG. Other inodes in the same stream are moved to the new AG on their next allocation (i.e. lazy update). Stream objects are kept in a cache and hold a reference on the inode. Hence the inode cannot be reclaimed while there is an outstanding stream reference. This means that on unlink we need to remove the stream association and we also need to flush all the associations on certain events that want to reclaim all unreferenced inodes (e.g. filesystem freeze). SGI-PV: 964469 SGI-Modid: xfs-linux-melb:xfs-kern:29096a Signed-off-by: David Chinner Signed-off-by: Barry Naujok Signed-off-by: Donald Douwsma Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: Vlad Apostolov commit 0892ccd6fe13e08ad9e57007afbb78fe02d66005 Author: Andrew Morton Date: Thu Jun 28 16:46:56 2007 +1000 [XFS] Use uninitialized_var macro to stop warning about rtx Appease gcc in regards to "warning: 'rtx' is used uninitialized in this function". SGI-PV: 907752 SGI-Modid: xfs-linux-melb:xfs-kern:29007a Signed-off-by: Andrew Morton Signed-off-by: Tim Shimmin commit fbf3ce8d8ec508f6bd99b36de034d2ae3e1ae7ac Author: Christoph Hellwig Date: Thu Jun 28 16:46:47 2007 +1000 [XFS] XFS should not be looking at filp reference counts A check for file_count is always a bad idea. Linux has the ->release method to deal with cleanups on last close and ->flush is only for the very rare case where we want to perform an operation on every drop of a reference to a file struct. This patch gets rid of vop_close and surrounding code in favour of simply doing the page flushing from ->release. SGI-PV: 966562 SGI-Modid: xfs-linux-melb:xfs-kern:28952a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 16a087d8e1af9b974125870dceb9e4a35249ad1d Author: Vignesh Babu Date: Thu Jun 28 16:46:37 2007 +1000 [XFS] Use is_power_of_2 instead of open coding checks SGI-PV: 966576 SGI-Modid: xfs-linux-melb:xfs-kern:28950a Signed-off-by: Vignesh Babu Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit bbaaf53808c778bda24f8245a440c5ceacc1a37d Author: Christoph Hellwig Date: Thu Jun 28 16:43:50 2007 +1000 [XFS] Reduce shouting by removing unnecessary macros from dir2 code. SGI-PV: 966505 SGI-Modid: xfs-linux-melb:xfs-kern:28947a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 54aa8e26e90da882b145fcd33ed752431d6b318b Author: David Chinner Date: Thu Jun 28 16:43:39 2007 +1000 [XFS] Simplify XFS min/max macros. SGI-PV: 964547 SGI-Modid: xfs-linux-melb:xfs-kern:28945a Signed-off-by: David Chinner Signed-off-by: Nathan Scott Signed-off-by: Tim Shimmin commit 24ad33ff714bd117cab30e71e2ad41e4e1185108 Author: Eric Sandeen Date: Thu Jun 28 16:43:30 2007 +1000 [XFS] Kill off xfs_count_bits xfs_count_bits is only called once, and is then compared to 0. IOW, what it really wants to know is, is the bitmap empty. This can be done more simply, certainly. SGI-PV: 966503 SGI-Modid: xfs-linux-melb:xfs-kern:28944a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 87ae3c2411cfd280e8289e232b718fae9f63950b Author: Jesper Juhl Date: Thu Jun 28 16:43:14 2007 +1000 [XFS] Cancel transactions on xfs_itruncate_start error. SGI-PV: 966502 SGI-Modid: xfs-linux-melb:xfs-kern:28943a Signed-off-by: Jesper Juhl Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 39726be2a2e6e61f352852da2c3a807773e33346 Author: Christoph Hellwig Date: Mon Jun 18 17:57:45 2007 +1000 [XFS] Use do_div() on 64 bit types. SGI-PV: 966145 SGI-Modid: xfs-linux-melb:xfs-kern:28889a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 516b2e7c2661615ba5d5ad9fb584f068363502d3 Author: David Chinner Date: Mon Jun 18 16:50:48 2007 +1000 [XFS] Fix remount,readonly path to flush everything correctly. The remount readonly path can fail to writeback properly because we still have active transactions after calling xfs_quiesce_fs(). Further investigation shows that this path is broken in the same ways that the xfs freeze path was broken so fix it the same way. SGI-PV: 964464 SGI-Modid: xfs-linux-melb:xfs-kern:28869a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 957d0ebed04239b734552c7da3fae9094b6f090c Author: David Chinner Date: Mon Jun 18 16:50:37 2007 +1000 [XFS] Cleanup inode extent size hint extraction SGI-PV: 966004 SGI-Modid: xfs-linux-melb:xfs-kern:28866a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 84e1e99f112dead8f9ba036c02d24a9f5ce7f544 Author: David Chinner Date: Mon Jun 18 16:50:27 2007 +1000 [XFS] Prevent ENOSPC from aborting transactions that need to succeed During delayed allocation extent conversion or unwritten extent conversion, we need to reserve some blocks for transactions reservations. We need to reserve these blocks in case a btree split occurs and we need to allocate some blocks. Unfortunately, we've only ever reserved the number of data blocks we are allocating, so in both the unwritten and delalloc case we can get ENOSPC to the transaction reservation. This is bad because in both cases we cannot report the failure to the writing application. The fix is two-fold: 1 - leverage the reserved block infrastructure XFS already has to reserve a small pool of blocks by default to allow specially marked transactions to dip into when we are at ENOSPC. Default setting is min(5%, 1024 blocks). 2 - convert critical transaction reservations to be allowed to dip into this pool. Spots changed are delalloc conversion, unwritten extent conversion and growing a filesystem at ENOSPC. This also allows growing the filesytsem to succeed at ENOSPC. SGI-PV: 964468 SGI-Modid: xfs-linux-melb:xfs-kern:28865a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 641c56fbfeae85d5ec87fee90a752f7b7224f236 Author: David Chinner Date: Mon Jun 18 16:50:17 2007 +1000 [XFS] Prevent deadlock when flushing inodes on unmount When we are unmounting the filesystem, we flush all the inodes to disk. Unfortunately, if we have an inode cluster that has just been freed and marked stale sitting in an incore log buffer (i.e. hasn't been flushed to disk), it will be holding all the flush locks on the inodes in that cluster. xfs_iflush_all() which is called during unmount walks all the inodes trying to reclaim them, and it doing so calls xfs_finish_reclaim() on each inode. If the inode is dirty, if grabs the flush lock and flushes it. Unfortunately, find dirty inodes that already have their flush lock held and so we sleep. At this point in the unmount process, we are running single-threaded. There is nothing more that can push on the log to force the transaction holding the inode flush locks to disk and hence we deadlock. The fix is to issue a log force before flushing the inodes on unmount so that all the flush locks will be released before we start flushing the inodes. SGI-PV: 964538 SGI-Modid: xfs-linux-melb:xfs-kern:28862a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 0164af51cedf46e1d58fd53854373f544150c597 Author: Tim Shimmin Date: Mon Jun 18 16:50:08 2007 +1000 [XFS] Log the agf_length change in xfs_growfs_data_private(). SGI-PV: 963528 SGI-Modid: xfs-linux-melb:xfs-kern:28856a Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig commit effd120edb7609069cca9f3d1cb4bfae464b2f85 Author: David Chinner Date: Mon Jun 18 16:49:58 2007 +1000 [XFS] Map unwritten extents correctly for I/o completion processing If we have multiple unwritten extents within a single page, we fail to tell the I/o completion construction handlers we need a new handle for the second and subsequent blocks in the page. While we still issue the I/O correctly, we do not have the correct ranges recorded in the ioend structures and hence when we go to convert the unwritten extents we screw it up. Make sure we start a new ioend every time the mapping changes so that we convert the correct ranges on I/O completion. SGI-PV: 964647 SGI-Modid: xfs-linux-melb:xfs-kern:28797a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 45c34141126a89da07197d5b89c04c6847f1171a Author: David Chinner Date: Mon Jun 18 16:49:44 2007 +1000 [XFS] Apply transaction delta counts atomically to incore counters With the per-cpu superblock counters, batch updates are no longer atomic across the entire batch of changes. This is not an issue if each individual change in the batch is applied atomically. Unfortunately, free block count changes are not applied atomically, and they are applied in a manner guaranteed to cause problems. Essentially, the free block count reservation that the transaction took initially is returned to the in core counters before a second delta takes away what is used. because these two operations are not atomic, we can race with another thread that can use the returned transaction reservation before the transaction takes the space away again and we can then get ENOSPC being reported in a spot where we don't have an ENOSPC condition, nor should we ever see one there. Fix it up by rolling the two deltas into the one so it can be applied safely (i.e. atomically) to the incore counters. SGI-PV: 964465 SGI-Modid: xfs-linux-melb:xfs-kern:28796a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit b2826136a1fc3ea451bcbb73a75ca50b3231aa8f Author: David Chinner Date: Tue Jun 5 16:24:44 2007 +1000 [XFS] Handle null returned from xfs_vtoi() in xfs_setfilesize(). SGI-PV: 965636 SGI-Modid: xfs-linux-melb:xfs-kern:28777a Signed-off-by: David Chinner Signed-off-by: Olaf Weber Signed-off-by: Tim Shimmin commit e927af90aaa7d75543edbbd9c2810e6963d0443f Author: David Chinner Date: Tue Jun 5 16:24:36 2007 +1000 [XFS] Block on unwritten extent conversion during synchronous direct I/O. Currently we do not wait on extent conversion to occur, and hence we can return to userspace from a synchronous direct I/O write without having completed all the actions in the write. Hence a read after the write may see zeroes (unwritten extent) rather than the data that was written. Block the I/O completion by triggering a synchronous workqueue flush to ensure that the conversion has occurred before we return to userspace. SGI-PV: 964092 SGI-Modid: xfs-linux-melb:xfs-kern:28775a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit f4a9f28a909debe97cd3f6ca30e82e5811125bff Author: David Chinner Date: Tue Jun 5 16:24:27 2007 +1000 [XFS] Flush the block device before closing it on unmount. SGI-PV: 965630 SGI-Modid: xfs-linux-melb:xfs-kern:28774a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 4e5ae8386b55677bde05bbd38b8fc82c67ad4564 Author: David Chinner Date: Tue Jun 5 16:24:15 2007 +1000 [XFS] xfs_bmapi fails to update the previous extent pointer When processing multiple extent maps, xfs_bmapi needs to keep track of the extent behind the one it is currently working on to be able to trim extent ranges correctly. Failing to update the previous pointer can result in corrupted extent lists in memory and this will result in panics or assert failures. Update the previous pointer correctly when we move to the next extent to process. SGI-PV: 965631 SGI-Modid: xfs-linux-melb:xfs-kern:28773a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 210c6f1caa451623e14a7cd71000d2c2e0d9cc43 Author: David Chinner Date: Thu May 24 15:26:51 2007 +1000 [XFS] Fix the transaction flags to make lazy superblock counters work. SGI-PV: 964999 SGI-Modid: xfs-linux-melb:xfs-kern:28653a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 92821e2ba4ae26887223326fb0b95cdab963b768 Author: David Chinner Date: Thu May 24 15:26:31 2007 +1000 [XFS] Lazy Superblock Counters When we have a couple of hundred transactions on the fly at once, they all typically modify the on disk superblock in some way. create/unclink/mkdir/rmdir modify inode counts, allocation/freeing modify free block counts. When these counts are modified in a transaction, they must eventually lock the superblock buffer and apply the mods. The buffer then remains locked until the transaction is committed into the incore log buffer. The result of this is that with enough transactions on the fly the incore superblock buffer becomes a bottleneck. The result of contention on the incore superblock buffer is that transaction rates fall - the more pressure that is put on the superblock buffer, the slower things go. The key to removing the contention is to not require the superblock fields in question to be locked. We do that by not marking the superblock dirty in the transaction. IOWs, we modify the incore superblock but do not modify the cached superblock buffer. In short, we do not log superblock modifications to critical fields in the superblock on every transaction. In fact we only do it just before we write the superblock to disk every sync period or just before unmount. This creates an interesting problem - if we don't log or write out the fields in every transaction, then how do the values get recovered after a crash? the answer is simple - we keep enough duplicate, logged information in other structures that we can reconstruct the correct count after log recovery has been performed. It is the AGF and AGI structures that contain the duplicate information; after recovery, we walk every AGI and AGF and sum their individual counters to get the correct value, and we do a transaction into the log to correct them. An optimisation of this is that if we have a clean unmount record, we know the value in the superblock is correct, so we can avoid the summation walk under normal conditions and so mount/recovery times do not change under normal operation. One wrinkle that was discovered during development was that the blocks used in the freespace btrees are never accounted for in the AGF counters. This was once a valid optimisation to make; when the filesystem is full, the free space btrees are empty and consume no space. Hence when it matters, the "accounting" is correct. But that means the when we do the AGF summations, we would not have a correct count and xfs_check would complain. Hence a new counter was added to track the number of blocks used by the free space btrees. This is an *on-disk format change*. As a result of this, lazy superblock counters are a mkfs option and at the moment on linux there is no way to convert an old filesystem. This is possible - xfs_db can be used to twiddle the right bits and then xfs_repair will do the format conversion for you. Similarly, you can convert backwards as well. At some point we'll add functionality to xfs_admin to do the bit twiddling easily.... SGI-PV: 964999 SGI-Modid: xfs-linux-melb:xfs-kern:28652a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 3260f78ad6d5b788e78ea709d377f58e569bee41 Author: Andrew Morton Date: Thu May 24 15:25:42 2007 +1000 [XFS] Use generic shrinker interfaces in XFS. SGI-PV: 964986 SGI-Modid: xfs-linux-melb:xfs-kern:28642a Signed-Off-By: Andrew Morton Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 92dfe8d266eaf35a50607a0e0dcf525e1d367c80 Author: David Chinner Date: Thu May 24 15:22:19 2007 +1000 [XFS] Make hole punching at EOF atomic. If hole punching at EOF is done as two steps (i.e. truncate then extend) the file is in a transient state between the two steps where an application can see the incorrect file size. Punching a hole to EOF needs to be treated in teh same way as all other hole punching cases so that the file size is never seen to change. SGI-PV: 962012 SGI-Modid: xfs-linux-melb:xfs-kern:28641a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 511105b3d7c2440ee84fc3f90d200569aac88162 Author: David Chinner Date: Thu May 24 15:21:57 2007 +1000 [XFS] Fix vmalloc leak on mount/unmount. When setting the length of the iclogbuf to write out we should just be changing the desired byte count rather completely reassociating the buffer memory with the buffer. Reassociating the buffer memory changes the apparent length of the buffer and hence when we free the buffer, we don't free all the vmap()d space we originally allocated. SGI-PV: 964983 SGI-Modid: xfs-linux-melb:xfs-kern:28640a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit ca165b88927e41ad18908d7b37f08ef81eae0bf8 Author: Christoph Hellwig Date: Thu May 24 15:21:11 2007 +1000 [XFS] Fix double free in xfs_buf_get_noaddr error handling path SGI-PV: 964983 SGI-Modid: xfs-linux-melb:xfs-kern:28639a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3db296f341b5902c4f9317022ae5d4da2d59d598 Author: David Chinner Date: Mon May 14 18:24:16 2007 +1000 [XFS] Fix use-after-free during log unmount. Don't reference the log buffer after running the callbacks as the callback can trigger the log buffers to be freed during unmount. SGI-PV: 964545 SGI-Modid: xfs-linux-melb:xfs-kern:28567a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 40095b64f5da601a8ab61fbe4b40feb46830052e Author: David Chinner Date: Mon May 14 18:24:09 2007 +1000 [XFS] Sleeping with the ilock waiting for I/O completion is Bad. Recent fixes to the filesystem freezing code introduced a vn_iowait call in the middle of the sync code. Unfortunately, at the point where this call was added we are holding the ilock. The ilock is needed by I/O completion for unwritten extent conversion and now updating the file size. Hence I/o cannot complete if we hold the ilock while waiting for I/O completion. Fix up the bug and clean the code up around it. SGI-PV: 963674 SGI-Modid: xfs-linux-melb:xfs-kern:28566a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 4cc929ee305c69573cb842aade059dbe2a93940c Author: Nathan Scott Date: Mon May 14 18:24:02 2007 +1000 [XFS] Don't grow filesystems past the size they can index. When growing a filesystem we don't check to see if the new size overflows the page cache index range, so we can do silly things like grow a filesystem page 16TB on a 32bit. Check new filesystem sizes against the limits the kernel can support. SGI-PV: 957886 SGI-Modid: xfs-linux-melb:xfs-kern:28563a Signed-Off-By: Nathan Scott Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1fa40b01ae4d1b00e366d4949edcc230f5cd6d99 Author: Christoph Hellwig Date: Mon May 14 18:23:50 2007 +1000 [XFS] Only use refcounted pages for I/O Many block drivers (aoe, iscsi) really want refcountable pages in bios, which is what almost everyone send down. XFS unfortunately has a few places where it sends down buffers that may come from kmalloc, which breaks them. Fix the places that use kmalloc()d buffers. SGI-PV: 964546 SGI-Modid: xfs-linux-melb:xfs-kern:28562a Signed-Off-By: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 8d9107e8c50e1c4ff43c91c8841805833f3ecfb9 Author: Linus Torvalds Date: Fri Jul 13 16:53:18 2007 -0700 Revert "SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel" This reverts commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0. It bit people like Michal Piotrowski: "My system is too secure, I can not login :)" because it changed how CONFIG_NETLABEL worked, and broke older SElinux policies. As a result, quoth James Morris: "Can you please revert this patch? We thought it only affected people running MLS, but it will affect others. Sorry for the hassle." Cc: James Morris Cc: Stephen Smalley Cc: Michal Piotrowski Cc: Paul Moore Signed-off-by: Linus Torvalds commit 4fbef206daead133085fe33905f5e842d38fb8da Author: Jens Axboe Date: Fri Jul 13 22:42:20 2007 +0200 nfsd: fix nfsd_vfs_read() splice actor setup When nfsd was transitioned to use splice instead of sendfile() for data transfers, a line setting the page index was lost. Restore it, so that nfsd is functional when that path is used. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 4fd885170bf13841ada921495b7b00c4b9971cf9 Author: Thomas Gleixner Date: Fri Jul 13 21:43:55 2007 +0200 CFS: Fix missing digit off in wmult table Roman Zippel noticed another inconsistency of the wmult table. wmult[16] has a missing digit. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 4f8de2745629330d78776282ea490fece22ee5e4 Author: Tony Luck Date: Fri Jul 13 16:31:54 2007 -0700 [IA64] Clean away some code inside some non-existent CONFIG ifdefs Robert P.J. Day has a script that finds places in the code that use non-existent CONFIG variables. It complained of two uses in ia64 specific code: CONFIG_IA64_SDV and CONFIG_KDB (both used in the hp/sim code). Signed-off-by: Tony Luck commit 829a9996259e4d0b20ce7b94c49b985d6ba6b760 Author: Hidetoshi Seto Date: Fri Jul 13 16:21:44 2007 -0700 [IA64] ar.itc access must really be after xtime_lock.sequence has been read The ".acq" semantics of the load only apply w.r.t. other data access. Reading the clock (ar.itc) isn't a data access so strange things can happen here. Specifically the read of ar.itc can be launched as soon as the read of xtime_lock.sequence is ISSUED. Since this may cache miss, and that might cause a thread switch, and there may be cache contention for the line containing xtime_lock, it may be a long time before the actual value is returned, so the ar.itc value may be very stale. Move the consumption of r28 up before the read of ar.itc to make sure that we really have got the current value of xtime_lock.sequence before look at ar.itc. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 83e12a076e3587d60cfbe65a761ef54e14a264e3 Author: Mark Goodwin Date: Fri Jul 13 11:59:37 2007 +1000 [IA64] correctly count CPU objects in the ia64/sn hwperf interface Correctly count CPU objects for SGI ia64/sn hwperf interface Signed-off-by: Mark Goodwin Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 788b5f0834ea1566b931cf1ce8424027b3c4caf0 Author: Alan Cox Date: Mon Jul 9 11:42:24 2007 -0700 [IA64] arbitary speed tty ioctl support Add the needed constants and defines to activate this for the IA64 platform. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 8b69ad0e690eb5f38c23087247a12e5fde1baeff Author: Linus Torvalds Date: Fri Jul 13 10:43:52 2007 -0700 Revert "[CPUFREQ] powernow-k8: clarify number of cores." This reverts commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff. As noted by Peter Anvin: "It causes build failures on i386. Yet another case of unnecessary divergence between i386 and x86-64 I'm afraid..." Signed-off-by: Linus Torvalds commit f787a50306680c187cf2896a8017937c1bf6dc7e Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: small topology.h cleanup trivial cleanup: LOCAL_DISTANCE and REMOTE_DISTANCE are only used in topology.h and inside an #ifndef section - limit their existence to that #ifndef. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 4bd77321a833077c5c9ac7b9d284e261e4a8906e Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: fix show_task()/show_tasks() output fix show_task()/show_tasks() output: - there's no sibling info anymore - the fields were not aligned properly with the description - get rid of the lazy-TLB output: it's been quite some time since we last had a bug there, and when we had a bug it wasnt helped a bit by this debug output. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 45f384a64f0769bb9a3caf0516de88a629f48e61 Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: remove stale version info from kernel/sched_debug.c kernel/sched_debug.c referred to CFS -v20, but there's no CFS versioning needed within the upstream kernel. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a5968df8737eda477d9d1038f5428ebd4d0884e1 Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: allow larger granularity Allow granularity up to 100 msecs, instead of 10 msecs. (needed on larger boxes) Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit e127031f4f76dc367c5d2f9d883715730dd82f7d Author: Mike Galbraith Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: fix prio_to_wmult[] for nice 1 There's a typo in the values in prio_to_wmult[] for nice level 1. While it did not cause bad CPU distribution, but caused more rescheduling between nice-0 and nice-1 tasks than necessary. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit f24ae12b3eeb1b956b752d4d5907e311cfa95a1a Author: Atsushi Nemoto Date: Sat Jul 14 00:06:44 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/mach-tx4927/ioremap.h include2/asm/mach-tx49xx/ioremap.h:39:52: warning: cast truncates bits from constant value (fff000000 becomes ff000000) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e1bb828906e54ffb7e8b358516158ffdcf9581b8 Author: Atsushi Nemoto Date: Fri Jul 13 23:51:46 2007 +0900 [MIPS] Make show_code static and add __user tag Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 01bebc66793f2cc65104452dc319a8a99f005934 Author: Atsushi Nemoto Date: Fri Jul 13 23:51:38 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/compat.h Cast to a __user pointer via "unsigned long" to get rid of this warning: include2/asm/compat.h:135:10: warning: cast adds address space to expression () Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 5e0373b8e449b0c72495a6d8401c53f678b71988 Author: Atsushi Nemoto Date: Fri Jul 13 23:02:42 2007 +0900 [MIPS] Add some __user tags Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e70dfc10b99ebffa1f464b1b9290df2589284f70 Author: Atsushi Nemoto Date: Fri Jul 13 23:02:29 2007 +0900 [MIPS] math-emu minor cleanup Declaring emulpc and contpc as "unsigned long" can get rid of some casts. This also get rid of some sparse warnings. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e50e1c744df20e704441a99eef7c6414e6920712 Author: Atsushi Nemoto Date: Fri Jul 13 02:00:26 2007 +0900 [MIPS] Kill CONFIG_TX4927BUG_WORKAROUND Kill workarounds for very early chip (perhaps pre-TX4927A). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b58f4b7aaf5ddaf2fdc13dfeb3ce6e61d51c3ac5 Author: Ralf Baechle Date: Fri Jul 13 10:40:23 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_FB_XPERT98 Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 85a882bc3553636930bef7773201955c0e2fcf99 Author: Ralf Baechle Date: Fri Jul 13 06:45:48 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_SRC_CLK Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 8f597acab2742b7ae9a556613c389ffa914cdbbd Author: Ralf Baechle Date: Fri Jul 13 06:42:36 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_USE32K Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 6fec2e1727049ce6a404f4af61461d860594d5db Author: Ralf Baechle Date: Fri Jul 13 06:33:09 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1XXX_PSC_SPI Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 33f60da0dad0884256f888c19303e16c95d2086d Author: Ralf Baechle Date: Fri Jul 13 17:39:59 2007 +0100 [CHAR] Delete leftovers of old Alchemy UART driver Signed-off-by: Ralf Baechle commit 51b58e3e26ebfb8cd56825c4b396ed251f51dec9 Author: Terry Loftin Date: Thu Jul 12 17:23:22 2007 -0600 [IA64] use machvec=dig on hpzx1 platforms On HP zx1 machines, the 'machvec=dig' parameter is needed for the kdump kernel to avoid problems with the HP sba iommu. The problem is that during the boot of the kdump kernel, the iommu is re-initialized, so in-flight DMA from improperly shutdown drivers causes an IOTLB miss which leads to an MCA. With kdump, the idea is to get into the kdump kernel with as little code as we can, so shutting down drivers properly is not an option. The workaround is to add 'machvec=dig' to the kdump kernel boot parameters. This makes the kdump kernel avoid using the sba iommu altogether, leaving the IOTLB intact. Any ongoing DMA falls harmlessly outside the kdump kernel. After the kdump kernel reboots, all devices will have been shutdown properly and DMA stopped. This patch pushes that functionality into the sba iommu initialization code, so that users won't have to find the obscure documentation telling them about 'machvec=dig'. This patch only affects HP platforms. It still includes one extern declaration in the file, because no applicable header file exists. Signed-off-by: Terry Loftin Signed-off-by: Alex Williamson Signed-off-by: Tony Luck commit 3039f0735a280b54c7364fbfe6a9287f7f0b510a Author: Dan Williams Date: Fri Jul 13 08:06:19 2007 -0700 ioatdma: add the unisys "i/oat" pci vendor/device id Cc: John Magolan Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams commit 5816815f7850509ed51ab94eb4f644e405ccb865 Author: Dan Williams Date: Tue Jan 2 11:10:43 2007 -0700 ARM: Add drivers/dma to arch/arm/Kconfig Cc: Russell King Signed-off-by: Dan Williams commit 2492c845189a961a92d8537a44d233e8e1e45c6d Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver Adds the platform device definitions and the architecture specific support routines (i.e. register initialization and descriptor formats) for the iop-adma driver. Changelog: * add support for > 1k zero sum buffer sizes * added dma/aau platform devices to iq80321 and iq80332 setup * fixed the calculation in iop_desc_is_aligned * support xor buffer sizes larger than 16MB * fix places where software descriptors are assumed to be contiguous, only hardware descriptors are contiguous for up to a PAGE_SIZE buffer size * convert to async_tx * add interrupt support * add platform devices for 80219 boards * do not call platform register macros in driver code * remove switch() statements for compatible register offsets/layouts * change over to bitmap based capabilities * remove unnecessary ARM assembly statement * checkpatch.pl fixes * gpl v2 only correction * phys move to dma_async_tx_descriptor Cc: Russell King Signed-off-by: Dan Williams commit 39a8d7d13c113e4a98bfdfc45c7233188e4d715f Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 iop13xx: surface the iop13xx adma units to the iop-adma driver Adds the platform device definitions and the architecture specific support routines (i.e. register initialization and descriptor formats) for the iop-adma driver. Changelog: * added 'descriptor pool size' to the platform data * add base support for buffer sizes larger than 16MB (hw max) * build error fix from Kirill A. Shutemov * rebase for async_tx changes * add interrupt support * do not call platform register macros in driver code * remove unnecessary ARM assembly statement * checkpatch.pl fixes * gpl v2 only correction Cc: Russell King Signed-off-by: Dan Williams commit c211092313b90f898dec61f35207fc282d1eadc3 Author: Dan Williams Date: Tue Jan 2 13:52:26 2007 -0700 dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines The Intel(R) IOP series of i/o processors integrate an Xscale core with raid acceleration engines. The capabilities per platform are: iop219: (2) copy engines iop321: (2) copy engines (1) xor and block fill engine iop33x: (2) copy and crc32c engines (1) xor, xor zero sum, pq, pq zero sum, and block fill engine iop34x (iop13xx): (2) copy, crc32c, xor, xor zero sum, and block fill engines (1) copy, crc32c, xor, xor zero sum, pq, pq zero sum, and block fill engine The driver supports the features of the async_tx api: * asynchronous notification of operation completion * implicit (interupt triggered) handling of inter-channel transaction dependencies The driver adapts to the platform it is running by two methods. 1/ #include which defines the hardware specific iop_chan_* and iop_desc_* routines as a series of static inline functions 2/ The private platform data attached to the platform_device defines the capabilities of the channels 20070626: Callbacks are run in a tasklet. Given the recent discussion on LKML about killing tasklets in favor of workqueues I did a quick conversion of the driver. Raid5 resync performance dropped from 50MB/s to 30MB/s, so the tasklet implementation remains until a generic softirq interface is available. Changelog: * fixed a slot allocation bug in do_iop13xx_adma_xor that caused too few slots to be requested eventually leading to data corruption * enabled the slot allocation routine to attempt to free slots before returning -ENOMEM * switched the cleanup routine to solely use the software chain and the status register to determine if a descriptor is complete. This is necessary to support other IOP engines that do not have status writeback capability * make the driver iop generic * modified the allocation routines to understand allocating a group of slots for a single operation * added a null xor initialization operation for the xor only channel on iop3xx * support xor operations on buffers larger than the hardware maximum * split the do_* routines into separate prep, src/dest set, submit stages * added async_tx support (dependent operations initiation at cleanup time) * simplified group handling * added interrupt support (callbacks via tasklets) * brought the pending depth inline with ioat (i.e. 4 descriptors) * drop dma mapping methods, suggested by Chris Leech * don't use inline in C files, Adrian Bunk * remove static tasklet declarations * make iop_adma_alloc_slots easier to read and remove chances for a corrupted descriptor chain * fix locking bug in iop_adma_alloc_chan_resources, Benjamin Herrenschmidt * convert capabilities over to dma_cap_mask_t * fixup sparse warnings * add descriptor flush before iop_chan_enable * checkpatch.pl fixes * gpl v2 only correction * move set_src, set_dest, submit to async_tx methods * move group_list and phys to async_tx Cc: Russell King Signed-off-by: Dan Williams commit f6dff381af01006ffae3c23cd2e07e30584de0ec Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: remove raid5 compute_block and compute_parity5 replaced by raid5_run_ops Signed-off-by: Dan Williams Acked-By: NeilBrown commit 830ea01673a397798d1281d2022615559f5001bb Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - request io processing in raid5_run_ops I/O submission requests were already handled outside of the stripe lock in handle_stripe. Now that handle_stripe is only tasked with finding work, this logic belongs in raid5_run_ops. Signed-off-by: Dan Williams Acked-By: NeilBrown commit f0a50d3754c7f1b7f05f45b1c0b35d20445316b5 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async expand ops When a stripe is being expanded bulk copying takes place to move the data from the old stripe to the new. Since raid5_run_ops only operates on one stripe at a time these bulk copies are handled in-line under the stripe lock. In the dma offload case we poll for the completion of the operation. After the data has been copied into the new stripe the parity needs to be recalculated across the new disks. We reuse the existing postxor functionality to carry out this calculation. By setting STRIPE_OP_POSTXOR without setting STRIPE_OP_BIODRAIN the completion path in handle stripe can differentiate expand operations from normal write operations. Signed-off-by: Dan Williams Acked-By: NeilBrown commit b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async read ops When a read bio is attached to the stripe and the corresponding block is marked R5_UPTODATE, then a read (biofill) operation is scheduled to copy the data from the stripe cache to the bio buffer. handle_stripe flags the blocks to be operated on with the R5_Wantfill flag. If new read requests arrive while raid5_run_ops is running they will not be handled until handle_stripe is scheduled to run again. Changelog: * cleanup to_read and to_fill accounting * do not fail reads that have reached the cache Signed-off-by: Dan Williams Acked-By: NeilBrown commit e89f89629b5de76e504d1be75c82c4a6b2419583 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async check ops Check operations are scheduled when the array is being resynced or an explicit 'check/repair' command was sent to the array. Previously check operations would destroy the parity block in the cache such that even if parity turned out to be correct the parity block would be marked !R5_UPTODATE at the completion of the check. When the operation can be carried out by a dma engine the assumption is that it can check parity as a read-only operation. If raid5_run_ops notices that the check was handled by hardware it will preserve the R5_UPTODATE status of the parity disk. When a check operation determines that the parity needs to be repaired we reuse the existing compute block infrastructure to carry out the operation. Repair operations imply an immediate write back of the data, so to differentiate a repair from a normal compute operation the STRIPE_OP_MOD_REPAIR_PD flag is added. Changelog: * remove test_and_set/test_and_clear BUG_ONs, Neil Brown Signed-off-by: Dan Williams Acked-By: NeilBrown commit f38e12199a94ca458e4f03c5a2c984fb80adadc5 Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: handle_stripe5 - add request/completion logic for async compute ops handle_stripe will compute a block when a backing disk has failed, or when it determines it can save a disk read by computing the block from all the other up-to-date blocks. Previously a block would be computed under the lock and subsequent logic in handle_stripe could use the newly up-to-date block. With the raid5_run_ops implementation the compute operation is carried out a later time outside the lock. To preserve the old functionality we take advantage of the dependency chain feature of async_tx to flag the block as R5_Wantcompute and then let other parts of handle_stripe operate on the block as if it were up-to-date. raid5_run_ops guarantees that the block will be ready before it is used in another operation. However, this only works in cases where the compute and the dependent operation are scheduled at the same time. If a previous call to handle_stripe sets the R5_Wantcompute flag there is no facility to pass the async_tx dependency chain across successive calls to raid5_run_ops. The req_compute variable protects against this case. Changelog: * remove the req_compute BUG_ON Signed-off-by: Dan Williams Acked-By: NeilBrown commit e33129d84130459dbb764a1a52a4bfceab3da978 Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: handle_stripe5 - add request/completion logic for async write ops After handle_stripe5 decides whether it wants to perform a read-modify-write, or a reconstruct write it calls handle_write_operations5. A read-modify-write operation will perform an xor subtraction of the blocks marked with the R5_Wantprexor flag, copy the new data into the stripe (biodrain) and perform a postxor operation across all up-to-date blocks to generate the new parity. A reconstruct write is run when all blocks are already up-to-date in the cache so all that is needed is a biodrain and postxor. On the completion path STRIPE_OP_PREXOR will be set if the operation was a read-modify-write. The STRIPE_OP_BIODRAIN flag is used in the completion path to differentiate write-initiated postxor operations versus expansion-initiated postxor operations. Completion of a write triggers i/o to the drives. Changelog: * make the 'rcw' parameter to handle_write_operations5 a simple flag, Neil Brown * remove test_and_set/test_and_clear BUG_ONs, Neil Brown Signed-off-by: Dan Williams Acked-By: NeilBrown commit d84e0f10d38393f617227f0c831a99c69294651f Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: common infrastructure for running operations with raid5_run_ops All the handle_stripe operations that are to be transitioned to use raid5_run_ops need a method to coherently gather work under the stripe-lock and hand that work off to raid5_run_ops. The 'get_stripe_work' routine runs under the lock to read all the bits in sh->ops.pending that do not have the corresponding bit set in sh->ops.ack. This modified 'pending' bitmap is then passed to raid5_run_ops for processing. The transition from 'ack' to 'completion' does not need similar protection as the existing release_stripe infrastructure will guarantee that handle_stripe will run again after a completion bit is set, and handle_stripe can tolerate a sh->ops.completed bit being set while the lock is held. A call to async_tx_issue_pending_all() is added to raid5d to kick the offload engines once all pending stripe operations work has been submitted. This enables batching of the submission and completion of operations. Signed-off-by: Dan Williams Acked-By: NeilBrown commit 91c00924846a0034020451c280c76baa4299f9dc Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: raid5_run_ops - run stripe operations outside sh->lock When the raid acceleration work was proposed, Neil laid out the following attack plan: 1/ move the xor and copy operations outside spin_lock(&sh->lock) 2/ find/implement an asynchronous offload api The raid5_run_ops routine uses the asynchronous offload api (async_tx) and the stripe_operations member of a stripe_head to carry out xor+copy operations asynchronously, outside the lock. To perform operations outside the lock a new set of state flags is needed to track new requests, in-flight requests, and completed requests. In this new model handle_stripe is tasked with scanning the stripe_head for work, updating the stripe_operations structure, and finally dropping the lock and calling raid5_run_ops for processing. The following flags outline the requests that handle_stripe can make of raid5_run_ops: STRIPE_OP_BIOFILL - copy data into request buffers to satisfy a read request STRIPE_OP_COMPUTE_BLK - generate a missing block in the cache from the other blocks STRIPE_OP_PREXOR - subtract existing data as part of the read-modify-write process STRIPE_OP_BIODRAIN - copy data out of request buffers to satisfy a write request STRIPE_OP_POSTXOR - recalculate parity for new data that has entered the cache STRIPE_OP_CHECK - verify that the parity is correct STRIPE_OP_IO - submit i/o to the member disks (note this was already performed outside the stripe lock, but it made sense to add it as an operation type The flow is: 1/ handle_stripe sets STRIPE_OP_* in sh->ops.pending 2/ raid5_run_ops reads sh->ops.pending, sets sh->ops.ack, and submits the operation to the async_tx api 3/ async_tx triggers the completion callback routine to set sh->ops.complete and release the stripe 4/ handle_stripe runs again to finish the operation and optionally submit new operations that were previously blocked Note this patch just defines raid5_run_ops, subsequent commits (one per major operation type) modify handle_stripe to take advantage of this routine. Changelog: * removed ops_complete_biodrain in favor of ops_complete_postxor and ops_complete_write. * removed the raid5_run_ops workqueue * call bi_end_io for reads in ops_complete_biofill, saves a call to handle_stripe * explicitly handle the 2-disk raid5 case (xor becomes memcpy), Neil Brown * fix race between async engines and bi_end_io call for reads, Neil Brown * remove unnecessary spin_lock from ops_complete_biofill * remove test_and_set/test_and_clear BUG_ONs, Neil Brown * remove explicit interrupt handling for channel switching, this feature was absorbed (i.e. it is now implicit) by the async_tx api * use return_io in ops_complete_biofill Signed-off-by: Dan Williams Acked-By: NeilBrown commit 45b4233caac05da0118b608a9fc2a40a9fc580cd Author: Dan Williams Date: Mon Jul 9 11:56:43 2007 -0700 raid5: replace custom debug PRINTKs with standard pr_debug Replaces PRINTK with pr_debug, and kills the RAID5_DEBUG definition in favor of the global DEBUG definition. To get local debug messages just add '#define DEBUG' to the top of the file. Signed-off-by: Dan Williams Acked-By: NeilBrown commit a445685647e825c713175d180ffc8dd54d90589b Author: Dan Williams Date: Mon Jul 9 11:56:43 2007 -0700 raid5: refactor handle_stripe5 and handle_stripe6 (v3) handle_stripe5 and handle_stripe6 have very deep logic paths handling the various states of a stripe_head. By introducing the 'stripe_head_state' and 'r6_state' objects, large portions of the logic can be moved to sub-routines. 'struct stripe_head_state' consumes all of the automatic variables that previously stood alone in handle_stripe5,6. 'struct r6_state' contains the handle_stripe6 specific variables like p_failed and q_failed. One of the nice side effects of the 'stripe_head_state' change is that it allows for further reductions in code duplication between raid5 and raid6. The following new routines are shared between raid5 and raid6: handle_completed_write_requests handle_requests_to_failed_array handle_stripe_expansion Changes: * v2: fixed 'conf->raid_disk-1' for the raid6 'handle_stripe_expansion' path * v3: removed the unused 'dirty' field from struct stripe_head_state * v3: coalesced open coded bi_end_io routines into return_io() Signed-off-by: Dan Williams Acked-By: NeilBrown commit 9bc89cd82d6f88fb0ca39b30445c329a430fd66b Author: Dan Williams Date: Tue Jan 2 11:10:44 2007 -0700 async_tx: add the async_tx api The async_tx api provides methods for describing a chain of asynchronous bulk memory transfers/transforms with support for inter-transactional dependencies. It is implemented as a dmaengine client that smooths over the details of different hardware offload engine implementations. Code that is written to the api can optimize for asynchronous operation and the api will fit the chain of operations to the available offload resources. I imagine that any piece of ADMA hardware would register with the 'async_*' subsystem, and a call to async_X would be routed as appropriate, or be run in-line. - Neil Brown async_tx exploits the capabilities of struct dma_async_tx_descriptor to provide an api of the following general format: struct dma_async_tx_descriptor * async_(..., struct dma_async_tx_descriptor *depend_tx, dma_async_tx_callback cb_fn, void *cb_param) { struct dma_chan *chan = async_tx_find_channel(depend_tx, ); struct dma_device *device = chan ? chan->device : NULL; int int_en = cb_fn ? 1 : 0; struct dma_async_tx_descriptor *tx = device ? device->device_prep_dma_(chan, len, int_en) : NULL; if (tx) { /* run asynchronously */ ... tx->tx_set_dest(addr, tx, index); ... tx->tx_set_src(addr, tx, index); ... async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); } else { /* run synchronously */ ... ... async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); } return tx; } async_tx_find_channel() returns a capable channel from its pool. The channel pool is organized as a per-cpu array of channel pointers. The async_tx_rebalance() routine is tasked with managing these arrays. In the uniprocessor case async_tx_rebalance() tries to spread responsibility evenly over channels of similar capabilities. For example if there are two copy+xor channels, one will handle copy operations and the other will handle xor. In the SMP case async_tx_rebalance() attempts to spread the operations evenly over the cpus, e.g. cpu0 gets copy channel0 and xor channel0 while cpu1 gets copy channel 1 and xor channel 1. When a dependency is specified async_tx_find_channel defaults to keeping the operation on the same channel. A xor->copy->xor chain will stay on one channel if it supports both operation types, otherwise the transaction will transition between a copy and a xor resource. Currently the raid5 implementation in the MD raid456 driver has been converted to the async_tx api. A driver for the offload engines on the Intel Xscale series of I/O processors, iop-adma, is provided in a later commit. With the iop-adma driver and async_tx, raid456 is able to offload copy, xor, and xor-zero-sum operations to hardware engines. On iop342 tiobench showed higher throughput for sequential writes (20 - 30% improvement) and sequential reads to a degraded array (40 - 55% improvement). For the other cases performance was roughly equal, +/- a few percentage points. On a x86-smp platform the performance of the async_tx implementation (in synchronous mode) was also +/- a few percentage points of the original implementation. According to 'top' on iop342 CPU utilization drops from ~50% to ~15% during a 'resync' while the speed according to /proc/mdstat doubles from ~25 MB/s to ~50 MB/s. The tiobench command line used for testing was: tiobench --size 2048 --block 4096 --block 131072 --dir /mnt/raid --numruns 5 * iop342 had 1GB of memory available Details: * if CONFIG_DMA_ENGINE=n the asynchronous path is compiled away by making async_tx_find_channel a static inline routine that always returns NULL * when a callback is specified for a given transaction an interrupt will fire at operation completion time and the callback will occur in a tasklet. if the the channel does not support interrupts then a live polling wait will be performed * the api is written as a dmaengine client that requests all available channels * In support of dependencies the api implicitly schedules channel-switch interrupts. The interrupt triggers the cleanup tasklet which causes pending operations to be scheduled on the next channel * Xor engines treat an xor destination address differently than a software xor routine. To the software routine the destination address is an implied source, whereas engines treat it as a write-only destination. This patch modifies the xor_blocks routine to take a an explicit destination address to mirror the hardware. Changelog: * fixed a leftover debug print * don't allow callbacks in async_interrupt_cond * fixed xor_block changes * fixed usage of ASYNC_TX_XOR_DROP_DEST * drop dma mapping methods, suggested by Chris Leech * printk warning fixups from Andrew Morton * don't use inline in C files, Adrian Bunk * select the API when MD is enabled * BUG_ON xor source counts <= 1 * implicitly handle hardware concerns like channel switching and interrupts, Neil Brown * remove the per operation type list, and distribute operation capabilities evenly amongst the available channels * simplify async_tx_find_channel to optimize the fast path * introduce the channel_table_initialized flag to prevent early calls to the api * reorganize the code to mimic crypto * include mm.h as not all archs include it in dma-mapping.h * make the Kconfig options non-user visible, Adrian Bunk * move async_tx under crypto since it is meant as 'core' functionality, and the two may share algorithms in the future * move large inline functions into c files * checkpatch.pl fixes * gpl v2 only correction Cc: Herbert Xu Signed-off-by: Dan Williams Acked-By: NeilBrown commit 685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73 Author: Dan Williams Date: Mon Jul 9 11:56:42 2007 -0700 xor: make 'xor_blocks' a library routine for use with async_tx The async_tx api tries to use a dma engine for an operation, but will fall back to an optimized software routine otherwise. Xor support is implemented using the raid5 xor routines. For organizational purposes this routine is moved to a common area. The following fixes are also made: * rename xor_block => xor_blocks, suggested by Adrian Bunk * ensure that xor.o initializes before md.o in the built-in case * checkpatch.pl fixes * mark calibrate_xor_blocks __init, Adrian Bunk Cc: Adrian Bunk Cc: NeilBrown Cc: Herbert Xu Signed-off-by: Dan Williams commit d379b01e9087a582d58f4b678208a4f8d8376fe7 Author: Dan Williams Date: Mon Jul 9 11:56:42 2007 -0700 dmaengine: make clients responsible for managing channels The current implementation assumes that a channel will only be used by one client at a time. In order to enable channel sharing the dmaengine core is changed to a model where clients subscribe to channel-available-events. Instead of tracking how many channels a client wants and how many it has received the core just broadcasts the available channels and lets the clients optionally take a reference. The core learns about the clients' needs at dma_event_callback time. In support of multiple operation types, clients can specify a capability mask to only be notified of channels that satisfy a certain set of capabilities. Changelog: * removed DMA_TX_ARRAY_INIT, no longer needed * dma_client_chan_free -> dma_chan_release: switch to global reference counting only at device unregistration time, before it was also happening at client unregistration time * clients now return dma_state_client to dmaengine (ack, dup, nak) * checkpatch.pl fixes * fixup merge with git-ioat Cc: Chris Leech Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams Acked-by: David S. Miller commit 7405f74badf46b5d023c5d2b670b4471525f6c91 Author: Dan Williams Date: Tue Jan 2 11:10:43 2007 -0700 dmaengine: refactor dmaengine around dma_async_tx_descriptor The current dmaengine interface defines mutliple routines per operation, i.e. dma_async_memcpy_buf_to_buf, dma_async_memcpy_buf_to_page etc. Adding more operation types (xor, crc, etc) to this model would result in an unmanageable number of method permutations. Are we really going to add a set of hooks for each DMA engine whizbang feature? - Jeff Garzik The descriptor creation process is refactored using the new common dma_async_tx_descriptor structure. Instead of per driver do___to_ methods, drivers integrate dma_async_tx_descriptor into their private software descriptor and then define a 'prep' routine per operation. The prep routine allocates a descriptor and ensures that the tx_set_src, tx_set_dest, tx_submit routines are valid. Descriptor creation and submission becomes: struct dma_device *dev; struct dma_chan *chan; struct dma_async_tx_descriptor *tx; tx = dev->device_prep_dma_(chan, len, int_flag) tx->tx_set_src(dma_addr_t, tx, index /* for multi-source ops */) tx->tx_set_dest(dma_addr_t, tx, index) tx->tx_submit(tx) In addition to the refactoring, dma_async_tx_descriptor also lays the groundwork for definining cross-channel-operation dependencies, and a callback facility for asynchronous notification of operation completion. Changelog: * drop dma mapping methods, suggested by Chris Leech * fix ioat_dma_dependency_added, also caught by Andrew Morton * fix dma_sync_wait, change from Andrew Morton * uninline large functions, change from Andrew Morton * add tx->callback = NULL to dmaengine calls to interoperate with async_tx calls * hookup ioat_tx_submit * convert channel capabilities to a 'cpumask_t like' bitmap * removed DMA_TX_ARRAY_INIT, no longer needed * checkpatch.pl fixes * make set_src, set_dest, and tx_submit descriptor specific methods * fixup git-ioat merge * move group_list and phys to dma_async_tx_descriptor Cc: Jeff Garzik Cc: Chris Leech Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams Acked-by: David S. Miller commit 51a92c0f6ce8fa85fa0e18ecda1d847e606e8066 Author: Jens Axboe Date: Fri Jul 13 14:11:43 2007 +0200 splice: fix offset mangling with direct splicing (sendfile) If the output actor doesn't transfer the full amount of data, we will increment ppos too much. Two related bugs in there: - We need to break out and return actor() retval if it is shorted than what we spliced into the pipe. - Adjust ppos only according to actor() return. Also fix loop problem in generic_file_splice_read(), it should not keep going when data has already been transferred. Signed-off-by: Jens Axboe commit 29ce20586be54ceba49c55ae049541398cd2c416 Author: James Morris Date: Fri Jul 13 11:44:32 2007 +0200 security: revalidate rw permissions for sys_splice and sys_vmsplice Revalidate read/write permissions for splice(2) and vmslice(2), in case security policy has changed since the files were opened. Acked-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Jens Axboe commit d3f35d98b3b87d2506289320375687c6e9bc53ed Author: Tom Zanussi Date: Thu Jul 12 08:12:05 2007 +0200 relay: fixup kerneldoc comment Change comment from kerneldoc to normal. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 24da24de2eae0c277b85836e2b4b09cfafeea995 Author: Tom Zanussi Date: Thu Jul 12 08:12:04 2007 +0200 relay: fix bogus cast in subbuf_splice_actor() The current code that sets the read position in subbuf_splice_actor may give erroneous results if the buffer size isn't a power of 2. This patch fixes the problem. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 9a60ddbcb710ff78cd8c772681723a04e3f5aba3 Author: Dave Jones Date: Fri Jul 13 01:34:10 2007 -0400 [CPUFREQ] Fix typos in powernow-k8 printk's. Based on a patch from Joachim which didn't apply, so I fixed it up by hand, and also corrected the surrounding indentation a little. Signed-off-by: Joachim.Deguara Acked-by: Mark Langsdorf Signed-off-by: Dave Jones commit 084f34939424161669467c19280dbcf637730314 Author: Thomas Renninger Date: Mon Jul 9 11:35:28 2007 -0700 [CPUFREQ] Restore previously used governor on a hot-replugged CPU Negative side effect: needs NR_CPUs pointer array of memory in CONFIG_HOTPLUG_CPU case. Still needs userspace track keeping and rewriting of governors if governors change while a CPU is not active (always the governor at CPU remove time is restored). Move of policy->user_policy.governor assignment is just a minor cleanup. http://bugzilla.kernel.org/show_bug.cgi?id=8671 Signed-off-by: Thomas Renninger Signed-off-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 91973de736bc97dc04156242c5a4b00993b6c902 Author: Peter Oruba Date: Mon Jul 9 11:35:27 2007 -0700 [CPUFREQ] bugfix cpufreq in combination with performance governor There is a frequency scaling issue that I encountered with the performance governor in combination with CPU hotplug. In cpufreq.c CPU frequency is reduced to its minimum before the CPU gets unregistered and set offline. Does that have a particular reason? Since the (k8-)governor does not monitor CPU frequency that setting also applies then to the remaining CPU as well and lets the system run on the lowest frequency although performance is chose as the policy. Signed-off-by: Peter Oruba Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit aac22d0a79f51d7bd93145be36322baaa4b423f8 Author: Andrew Morton Date: Mon Jul 9 11:35:27 2007 -0700 [CPUFREQ] powernow-k8 compile fix. Make it compile on UP. Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 68485695e5a84399da7b48b208ac42623fe22963 Author: Adrian Bunk Date: Sun Jul 8 23:39:14 2007 +0200 [CPUFREQ] the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI This patch contains the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI. Signed-off-by: Adrian Bunk Acked-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 905497c4b2e6715eebde97cbcb313354e14c2489 Author: Rafał Bilski Date: Sun Jul 8 21:51:26 2007 +0200 [CPUFREQ] Longhaul - Option to disable ACPI C3 support On some motherboards ACPI C3 is available, but it isn't causing frequency transition on VIA Nehemiah. Longhaul wasn't working at all earlier, but due to scaling_cur_speed returning true CPU frequency now, it looks like CPU is getting stuck at highest frequency since 2.6.21. I didn't find a reason. Halt is causing frequency transition. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 075fc19bdea9120989142fa2179abd958b3a5c72 Author: Paul Mundt Date: Fri Jul 13 12:27:13 2007 +0900 sh: Revert __xdiv64_32 size change. It's only __div64_32 that needs the fix, __xdiv64_32 behaves as expected with the original size. Signed-off-by: Paul Mundt commit 50c2f75388727018c3c357454a247072915a9e3f Author: Steve French Date: Fri Jul 13 00:33:32 2007 +0000 [CIFS] whitespace/formatting fixes This should be the last big batch of whitespace/formatting fixes. checkpatch warnings for the cifs directory are down about 90% and many of the remaining ones are harder to remove or make the code harder to read. Signed-off-by: Steve French commit 2f5a5dc0c1a9e970ceb9b47d778732962d6dd9f6 Author: Paul Mundt Date: Fri Jul 13 09:30:57 2007 +0900 sh: Update r7785rp defconfig. Signed-off-by: Paul Mundt commit 2414b86d21dbacc53826d375c6001d31d8ebbee2 Author: Paul Mundt Date: Fri Jul 13 09:30:31 2007 +0900 sh: Export div symbols for GCC 4.2 and ST GCC. GCC 4.2 can emit integer variants of the FP division routines, so these need to be exported in order to keep the modules happy. 4.1.x versions of the ST compiler have these things backported, and so also generate these symbols (whereas vanilla gcc 4.1.x does not), so handle the __GNUC_STM_RELEASE__ case to accomodate updated versions of the 4.1.x toolchain. Signed-off-by: Paul Mundt commit 773208946a132fb733ba273ee8562814f828cc28 Author: Linus Torvalds Date: Thu Jul 12 17:06:50 2007 -0700 Revert "USB: fix gregkh-usb-usb-use-menuconfig-objects" This reverts commit acb11c8b8020f1f1b2545152020675ef32d09a58. It was broken. We most certainly *do* want the default to be the old behaviour (and the common case!), instead of breaking everybodys configuration and making 99% of all people have to override the default. What were you guys thinking? Signed-off-by: Linus Torvalds commit de081fa517fed81b0369f2e90ca87c30182879c8 Author: Linus Torvalds Date: Thu Jul 12 16:40:08 2007 -0700 Revert "[BNX2]: Seems to not need net/tcp.h" This reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73. The driver _does_ need the networking header files; CC [M] drivers/net/bnx2.o drivers/net/bnx2.c: In function 'bnx2_start_xmit': drivers/net/bnx2.c:5177: warning: implicit declaration of function 'tcp_optlen' drivers/net/bnx2.c:5181: error: invalid application of 'sizeof' to incomplete type 'struct ipv6hdr' drivers/net/bnx2.c:5202: error: invalid application of 'sizeof' to incomplete type 'struct tcphdr' drivers/net/bnx2.c:5207: warning: implicit declaration of function 'tcp_hdr' drivers/net/bnx2.c:5207: error: invalid type argument of '->' make[2]: *** [drivers/net/bnx2.o] Error 1 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 Cc: Ilpo Jävinen Cc: David Miller Signed-off-by: Linus Torvalds commit 13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f Author: Suresh Jayaraman Date: Thu Jun 28 11:16:30 2007 -0600 USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc Remove unnecessary cast of return value of kzalloc() in usb/host/ohci-pnx4008.c Signed-off-by: Suresh Jayaraman Signed-off-by: Greg Kroah-Hartman commit 6c59649d49df4b9084bf407890734b5965d77b41 Author: Oliver Neukum Date: Tue Jul 10 14:12:08 2007 +0200 USB: additions to the quirk list this adds some scanners reported to be crashed by autosuspend to the quirk list. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8dfe4b14869fd185ca25ee88b02ada58a3005eaf Author: Alan Stern Date: Fri Jul 6 14:24:27 2007 -0400 usb-storage: implement autosuspend This patch (as930) implements autosuspend for usb-storage. It is adapted from a patch by Oliver Neukum. Autosuspend is allowed except during LUN scanning, resets, and command execution. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b0e2a705bffbfb70d9bed8b5f9094901f28d9563 Author: Andrey Arapov Date: Wed Jul 4 17:11:42 2007 +0200 USB: cdc-acm: add new device id to option driver USB: add new device id to option driver device is Samsung X180 China cellphone Signed-off-by: Andrey Arapov Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 2d70c99b9340fa6c834fa6e32209e153f35a3e20 Author: David Brownell Date: Sun Jul 1 17:55:50 2007 -0700 USB: goku_udc trivial cleanups Minor fixes to goku_udc ... whitespace, let -DDEBUG do its thing, check the return value of device_register(), sparse tweaks. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 70790f6339a868e2a0d643f44899418f64a95943 Author: David Brownell Date: Sun Jul 1 17:35:28 2007 -0700 USB: usb gadget stack can now -DDEBUG with Kconfig Although the other USB driver directories got taught how use Kconfig and the Makefile to enable the debugging messages enabled by -DDEBUG, the gadget stack was overlooked. This patch remedies that omission, but doesn't update any drivers to remove previous idiosyncracies in this area ... other than the RNDIS code, which defined its own DEBUG() macro in a broken way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67ab134ba9f83f9de86e58adfeaa14a9efa6e00 Author: David Brownell Date: Sun Jul 1 12:21:00 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 2 This patch removes controller driver infrastructure which supported the now-removed usb_ep_{alloc,free}_buffer() calls. As can be seen, many of the implementations of this were broken to various degrees. Many didn't properly return dma-coherent mappings; those which did so were necessarily ugly because of bogosity in the underlying dma_free_coherent() calls ... which on many platforms can't be called from the same contexts (notably in_irq) from which their dma_alloc_coherent() sibling can be called. The main potential downside of removing this is that gadget drivers wouldn't have specific knowledge that the controller drivers have: endpoints that aren't dma-capable don't need any dma mappings at all. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9d8bab58b758cd5a96d368a8cc64111c9ab50407 Author: David Brownell Date: Sun Jul 1 11:04:54 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 1 Remove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers. This patch just removes the interface and its users; later patches will remove controller driver support. - This interface is invariably not implemented correctly in the controller drivers (e.g. using dma pools, a mechanism which post-dates the interface by several years). - At this point no gadget driver really *needs* to use it. In current kernels, any driver that needs such a mechanism could allocate a dma pool themselves. Removing this interface is thus a simplification and improvement. Note that the gmidi.c driver had a bug in this area; fixed. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ad8c623f4f48085edd51c7f4cdfd10295547bf45 Author: David Brownell Date: Sat Jun 30 06:30:04 2007 -0700 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks Cleanups to the pxa2xx_udc code: - Primarily removing unused DMA hooks. - One "sparse" warning removed - Remove some Lubbock-only LED hooks (for debugging) That DMA code was never really completed. It worked, mostly, for IN transfers (to the host) if they were fortuitously aligned, but that code was never fully tested. And it was never coded for OUT transfers (which is where DMA would really help) ... because of chip errata on essentially every chip other than the pxa255, and because of design botches (nothing automated data toggle). So it's effectively been dead code for several years now ... no point in keeping it around. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9068a4c6467986e8fda5bdb29bd5f10c6788e2ff Author: Milan Svoboda Date: Sat Jun 30 06:25:35 2007 -0700 USB: pxa2xx_udc: use generic gpio layer This patch lets the pxa2xx_udc use the generic gpio layer, on the relevant PXA and IXP systems. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e4f747373cd96c86db3c64c21710748c6889c03c Author: Oliver Neukum Date: Fri Jun 29 08:44:37 2007 +0200 USB: quirk for samsung printer this printer does not survive suspension. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit fbf54dd32001359ccda6a9d8577f7b00e67357c7 Author: David Brownell Date: Sun Jul 1 23:33:12 2007 -0700 USB: usb/dma doc updates This patch updates some of the documentation about DMA buffer management for USB, and ways to avoid extra copying. Our understanding of the issues has improved over time. - Most drivers should *avoid* the dma-coherent allocators. There are a few exceptions (like the HID driver). - Some methods are currently commented out; it seems folk writing USB drivers aren't doing performance tuning at that level yet. - Just avoid highmem; there's no good way to pass an "I can do highmem DMA" capability through a driver stack. This is easy, everything already avoids highmem. But it'd be nice if x86_32 systems with much physical memory could use it directly with network adapters and mass storage devices. (Patch, anyone?) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c0e0c19cc9d899da0ee15104907ac158eb94365b Author: S.Caglar Onur Date: Wed Jul 4 13:52:47 2007 -0700 USB: drivers/usb/storage/unusual_devs.h whitespace cleanup Following patch removes trailing whitespaces at the ends of lines and converts smarttabs/whitespaces into real tabs. Signed-off-by: S.Caglar Onur Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a603c665516a3cb9df6abafad491bef24cc87aa5 Author: Robert P. J. Day Date: Mon Jul 9 12:03:13 2007 -0700 USB: remove Makefile reference to obsolete OHCI_AT91 Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dc731024347ab499c3fc0347ab90d972771b8a1 Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: io_*: remove bogus termios no change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit eb58c0c5f2b3cf6306a184cdf1c751155b7ddb3b Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: mos7720: remove bogus no termios change check Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9a64f251326154dcd40b21a6980fe2ab9537dde7 Author: Alan Cox Date: Mon Jul 9 12:03:11 2007 -0700 USB: visor and whiteheat: remove bogus termios change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e0c79f512cf469bc11fe9d53a4dcc5d0c39a3b79 Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 31473aae5afb11f0c5217dafdbc9df8a470071aa Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: mos7840.c: turn this into a serial driver The MOS driver is "interesting", in a bad kind of 'how the hell did this get merged' kind of way - Remove the bogus termios change check - Remove the duplicate code for half the ioctls - Remove the supporting code to duplicate the ioctl code Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 70f458f668aa09cc45384728dec434f2975a3947 Author: Yinghai Lu Date: Mon Jul 9 12:03:09 2007 -0700 USB: make the usb_device numa_node get assigned from controller So we can use dev_to_node(&usb_dev->dev) later in kmalloc_node to dma buffer Signed-off-by: Yinghai Lu Cc: Andi Kleen Acked-by: Christoph Lameter Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0ffbbe25a73db12792a05f725aa39f8a5de2c882 Author: Oliver Neukum Date: Mon Jul 9 12:03:08 2007 -0700 USB: ftdi_sio: fix oops due to processing workarounds too early Fix an oops that happens in relation with applying work arounds for buggy ftdi_sio devices. The quirks were handled too early because due to changes in the initialisation of usb serial devices the device was not fully initialised when the old hook was called. Addresses bug 8564 Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a69228deefea57ca27c17a196e5727b091c6d323 Author: Matthias Kaehlcke Date: Mon Jul 9 12:03:07 2007 -0700 USB: drivers/block/ub.c: use list_for_each_entry() Low performance USB storage driver: Use list_for_each_entry() instead of list_for_each() Signed-off-by: Matthias Kaehlcke Cc: Pete Zaitcev Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit acb11c8b8020f1f1b2545152020675ef32d09a58 Author: Jan Engelhardt Date: Mon Jul 9 12:03:06 2007 -0700 USB: fix gregkh-usb-usb-use-menuconfig-objects Generally, Jens Axboe was against 'default y', so I'll have some patches to remove it. Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8d6d5fd05088c023bb8b22a4bd0067c21f9c5f18 Author: Venki Pallipadi Date: Mon Jul 9 12:03:06 2007 -0700 USB: Make usb-autosuspend timer 1 sec jiffy aligned Make usb autosuspend timers 1sec jiffy aligned. This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8e80e753ea654ae0a66b33e404c0a517b34cb6e1 Author: Jeremy Katz Date: Tue Jun 19 17:16:10 2007 -0400 USB: Don't autosuspend Blackberry devices. Blackberry devices charge over USB. By autosuspending the port, they are not able to charge reliably. Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 49bb607fa0bd94e4855ee695f9ed3ecee7579cc6 Author: Jeremy Katz Date: Tue Jun 19 17:15:38 2007 -0400 USB: Support Blackberry Pearl with berry_charge The Blackberry Pearl (8100) needs similar tweaks as older Blackberry models to be able to charge when connected via USB. The Pearl also adds an additional need to go into a separate mode for fully accessing the device; do that by default as well. Changes based on the changes from bcharge in the barry project (http://barry.sf.net) Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 165fe97ed6107d3cde63592d5ac36400a5eb9f6f Author: Craig W. Nadler Date: Fri Jun 15 23:14:35 2007 -0400 USB: add IAD support to usbfs and sysfs USB_IAD: Adds support for USB Interface Association Descriptors. This patch adds support to the USB host stack for parsing, storing, and displaying Interface Association Descriptors. In /proc/bus/usb/devices lines starting with A: show the fields in an IAD. In sysfs if an interface on a USB device is referenced by an IAD the following files will be added to the sysfs directory for that interface: iad_bFirstInterface, iad_bInterfaceCount, iad_bFunctionClass, and iad_bFunctionSubClass, iad_bFunctionProtocol Signed-off-by: Craig W. Nadler Signed-off-by: Greg Kroah-Hartman commit 50d2dc7266573dfbdc84fc207494dd21315782ef Author: Greg Kroah-Hartman Date: Mon Jun 25 01:08:01 2007 -0700 USB: mos7720: change developer email addresses Update the original developer's email addresses at their request. Cc: Vijaya Kumar Cc: Ajay Kumar Cc: Gurudeva Signed-off-by: Greg Kroah-Hartman commit 8ccef0df54642f0f72f922d8aa57e8b290e31671 Author: Alan Stern Date: Thu Jun 21 16:26:46 2007 -0400 USB: Fix off-by-1 error in the scatter-gather library The loop in usb_sg_wait() is structured in a way that makes it hard to tell, when the loop exits, whether or not the last URB submission succeeded. This patch (as928) changes it from a "for" loop to a "while" loop and keeps "i" always equal to the number of successful submissions. This fixes an off-by-one error which can show up when the first URB submission fails. The patch also removes a couple of lines that initialize fields which don't need to be initialized. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cfa59dab27d1b282886e7772a8f9548236883892 Author: Alan Stern Date: Thu Jun 21 16:25:35 2007 -0400 USB: Don't resume root hub if the controller is suspended Root hubs can't be resumed if their parent controller device is still suspended. This patch (as925) adds a check for that condition in hcd_bus_resume() and prevents it from being treated as a fatal controller failure. ehci-hcd is updated to add the corresponding test. Unnecessary debugging messages are removed from uhci-hcd and dummy-hcd. The error return code from dummy-hcd is changed to -ESHUTDOWN, the same as the others. ohci-hcd doesn't need any changes. Suspend handling in the non-PCI host drivers is somewhat hit-and-miss. This patch shouldn't have any effect on them. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7e6da9eb189dfa221e3bf9c21d58f02adc8983c Author: Alan Stern Date: Thu Jun 21 16:25:17 2007 -0400 USB: Remove usages of dev->power.power_state This patch (as922) removes all but one of the remaining vestiges of dev->power.power_state from usbcore. The only usage left must remain until the deprecated "power/state" sysfs attribute is gone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 317c67b8f7092db325a3df825646eb26982908c6 Author: Pete Zaitcev Date: Thu Jun 21 12:44:56 2007 -0700 USB: usblp: add dynamic URBs, fix races This patch's main bulk aims to make usblp the premier driver for code pillaging once again. The code is as streamlined as possible and is bug-free as possible. The usb-skeleton performs the same function, but is somewhat abstract. The usblp is usb-skeleton which is actually used by many. Since I combed a few small bugs away, this also fixes the small races we had in usblp for a while. For example, now it's possible for several threads to make write(2) calls (sounds silly, but consider a printer for paper record, where every line of text is self-contained and thus it's all right to have them interleaved). Also gone are issues with interrupts using barriers dangerously. This patch makes use of Oliver's anchor, and so it must trail the anchor patch on the way to Linus. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 73e4fb3f70987b36fd0f16b5f762b2018ab84e4f Author: Pete Zaitcev Date: Thu Jun 21 15:18:35 2007 -0700 USB: Pete's taking over usblp Vojtech agreed to pass usblp over to me, so if you find bugs don't bug him. Signed-off-by: Pete Zaitcev Signed-off-by: Vojtech Pavlik Signed-off-by: Greg Kroah-Hartman commit 7542548fd843f3d49068f17a082069319f19992a Author: Li Yang Date: Tue Jun 19 17:33:48 2007 +0800 USB: fsl_usb2_udc: fix bug for portsc bit masking Fix a bug that PORT_TYPE and PORT_WIDTH aren't masked correctly in portsc. Signed-off-by: Christopher Cason Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 7bbe990c989ee16f2c1be3e4ae28f8004bec788c Author: Oliver Neukum Date: Wed Jun 13 17:13:31 2007 +0200 USB: autosuspend for usblcd this patch implements autosuspend for the usblcd driver. It uses the new usb_anchor infrastructure. Many thanks to Georges for testing. Signed-off-by: Oliver Neukum Cc: Georges Toth Signed-off-by: Greg Kroah-Hartman commit 55b3fd41b0846929f68b5fb1058ad8077289f584 Author: Haavard Skinnemoen Date: Thu Jun 14 18:01:45 2007 +0200 usb gadget: Rename husb2dev -> usba husb2dev was the internal name of the USB Device Controller on AT32AP7000. Rename it to "atmel_usba", which is closer to the official name used in documentation and marketing material. Signed-off-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 8b3b01c898a44c2fc7217eb579982b9d132113f5 Author: Marcel Holtmann Date: Wed Jun 13 08:02:11 2007 +0200 USB: Add URB_FREE_BUFFER flag and the logic behind it USB: Add URB_FREE_BUFFER flag for freeing the transfer buffer In some cases it is not needed that the driver keeps track of the transfer buffer of an URB. It can be simply freed along with the URB itself when the reference count goes down to zero. The new flag URB_FREE_BUFFER enables this behavior. Signed-off-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 300871cd963e24a68aaa9b762f4a10403697d9be Author: Laurent Pinchart Date: Tue Jun 12 21:47:17 2007 +0200 USB: Fix up full-speed bInterval values in high-speed interrupt descriptor Many device manufacturers are using full-speed bInterval values in high-speed interrupt endpoint descriptors. If the bInterval value is greater than 16, assume the device uses full-speed descriptors and fix the value accordingly. Signed-off-by: Laurent Pinchart Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 87d093e25d73249ae92b28ae88db92eaea7df70f Author: Oliver Neukum Date: Mon Jun 11 14:55:51 2007 +0200 USB: usb-skeleton: use anchors in pre/post reset use anchors in pre/post_reset Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 758f7e161b1da3039368bf7180b9d9f4c33453da Author: Oliver Neukum Date: Mon Jun 11 14:55:08 2007 +0200 USB: usb-skeleton" use anchors in suspend/resume handling use anchors in suspend/resume handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e73c7247b8e10a74cbf6b7430585e02c7cc05444 Author: Oliver Neukum Date: Mon Jun 11 14:54:02 2007 +0200 USB: usb-skeleton: use anchors in disconnect handling use anchors in disconnect handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a6ea438b6d38689b7f876093bcba4505fe1995d1 Author: Alan Cox Date: Fri Jun 22 14:44:54 2007 +0100 USB: serial: ir_usb: Clean up the worst of it, remove exciting 'crash on open' feature - Drivers don't call ldisc termios methods. They certainly don't call them the way this one does - remove wrong call - The tty buffer code isn't designed to be abused from IRQ handlers and the new buffering removes the need for the uglies involved - fix them - Style - Remove incorrect baud and change handling for termios changes The driver now has some style, but not a lot - it goes insane if you have two dongles for example as it continues to use global variables for per dongle state. That bit isn't my problem. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9a8baec77205dfe14f98a4e291c830a311125a8b Author: Alan Cox Date: Fri Jun 22 14:40:18 2007 +0100 USB: serial: belkin_sa: Various needed fixes Use the baud rate stuff from the kernel don't parse CBAUD directly Remove pointless and wrong 'no change' check Could do with some good testing as well but again better than adding && BROKEN (The use of BELKIN_SA_BAUD() might seem a bit odd but x/a = b and x/b = a (rounded for integers)). Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 568c24adeaa4d9ec2fd04c6ae226eeb673a385db Author: Alan Cox Date: Fri Jun 22 14:36:29 2007 +0100 USB: serial: ark3116.c: Mixed fixups o Don't parse the cflag for baud rates, its not valid to do so any more and this driver got it wrong anyway o Don't do clever termios change checks in drivers and get them wrong (arguably we should do some smart ones in the tty core but stty to change nothing is *not* a common or critical path I don't have the hardware so if you can test this carefully please do. I thought fixing it up this far was better than marking it and other bits of USB serial && BROKEN Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9e85c5f63268a5700860f53e52b090973652a5b2 Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: cleanup the startup and shutdown path This removes the ugly code that was copied from the keyspan driver and allocates the in urbs in a much shorter code path that can be understood easier. Also turned off the interrupt urb when no port was open as it's not nice to keep the bus busy for no good reason at all (this should be a power savings.) All in all, this saved over 40 lines of code and cleaned things up better. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 17c2327419a889293fb955baf0c69a7d38c5809c Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: remove incorrect usage of the urb status field You can't rely on the fact that the status really is correct like it was. Also simplified the write path and now we allocate the urb and data on the fly, instead of trying to do that really odd timeout check which I am guessing doesn't really work properly. This should speed up the device by keeping the hardware queue full easier. As a benefit, this reduces the size of the driver. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 05400013698776a71b1e401ceacf709bda3d1517 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: whiteheat: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 38e8c910ff7a1aafe2923f085df0f74a60f9de3c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: visor: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 52171b480865985c060a58fa3cbcd31ba6e13f75 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ti_usb_3410_5052: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 17dd2215adee8c988b88308671cc20a69839a850 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: sierra: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 3a75ab943688d765cdb60b33f3f9db72c752c521 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: safe_serial: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Stuart Lynne Cc: Tom Rushworth Signed-off-by: Greg Kroah-Hartman commit 461d696aeeae294ad22dfcaae462d1757f955778 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: pl2303: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 78c26aebd9f4d29f9bd163c7c47f2c89991fcdb1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: oti6858: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d6977b51d5faa8649bbab0e53455e8421d425ce1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: option: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit fdc2deb3892e802e916d1df7b1587aa0dbf3b271 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: omninet: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 9965d612631c62c2018973080fa03396f49fce59 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: navman: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 0643c72435bcd36980314de825773989d4dca97f Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7840: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Paul Schroeder Signed-off-by: Greg Kroah-Hartman commit 81105984848481d8876e454e3c503dbd0e8e4dce Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7720: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: VijayaKumar G.N. Cc: AjayKumar Cc: Gurudeva N. Signed-off-by: Greg Kroah-Hartman commit e96da398ce32c0e2af5eee772feb112323f027b4 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mct_u232: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Wolfgang Grandegger Signed-off-by: Greg Kroah-Hartman commit 6fcdcf04e391c033eb9a558a744d8729d52e646e Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kobil_sct: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Thomas Wahrenbruch Signed-off-by: Greg Kroah-Hartman commit 17c1b35a469b5e518b88cc509562ccfb44950145 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kl5kusb105: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Utz-Uwe Haus Signed-off-by: Greg Kroah-Hartman commit 23189aee76c3297c7ff797ca8bc8e314783039ef Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan_pda: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 95b934548049e2fd6a67853c6b5055c073bf6961 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 3152b74f92048223263c54383b3639a2939d853a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ir-usb: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit b4a1579772667f9ebc0c9e26ed0b674966085e85 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipw: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Roelf Diedericks Signed-off-by: Greg Kroah-Hartman commit 2362deb5782d9861a0dade72e2e29114652c69a3 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipaq: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Ganesh Varadarajan Signed-off-by: Greg Kroah-Hartman commit ee337c212ad5d61fd58cfa6a4e48a84497495ebc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_ti: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 2a393f5fd872fad99d639812087383111074cfeb Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_edgeport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit fbd272254b034e22a5157af51c8c5907a8f69614 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: generic: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit f9feb517faf03ee85de6e2467f7fcb87c1af2258 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: garmin_gps: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Hermann Kneissel Signed-off-by: Greg Kroah-Hartman commit 0fb0aa188d0e61d58485288071e73d3766513f2a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ftdi_sio: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kuba Ober Signed-off-by: Greg Kroah-Hartman commit 335202f44a9a68902a80e09ba33aa4eaddc9c8ed Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: empeg: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit 85d75107117eca0e29ac3da8cb82b45f9cd3a7fa Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: digi_acceleport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Peter Berger Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 8d7bc55ecf86d1488996c4619642b4557e5e42f1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cypress_m8: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Lonnie Mendez Cc: Neil Whelchel Signed-off-by: Greg Kroah-Hartman commit 7dcc85cd9b7134bbcdc50dc14ccfc7c49f092506 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cyberjack: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit f26aad25d2c336a1efd393aff17bfe975b04fed5 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: belkin_sa: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d3434cf6916d9014d7906b3b2513f8fe325a6d5c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: airprime: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 1373dbbca55503804ed191ba3914af68ce01e4bc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: aircable: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 4d0dce3e0b794942407391c52f8dd2760802f391 Author: Greg Kroah-Hartman Date: Tue Jun 12 11:43:37 2007 -0700 USB: fix up license wording on some of my usb-serial drivers Also update the copyright date on the pl2303 driver, as it was out of date. Signed-off-by: Greg Kroah-Hartman commit 9f6a93f7bbb6d73ca0e43c000f3bbf521cd4f782 Author: Pete Zaitcev Date: Fri Jun 8 13:37:49 2007 -0700 usb: free DMA mappings if enqueue fails This patch releases DMA resources if enqueue fails in the HCD. Linux had this bug ever since we converted from virt_to_bus for 2.4. It is difficult to hit. A user would need a significant memory pressure or some other unusual condition. It was reported to me by IBM. They ran a management application for RSA II adapters which sent Bulk requests to an Interrupt endpoint. Submissions got rejected by HCD due to an invalid interval value and the swiotlb pool became depleted in the matter of hours. We fixed the invalid interval issue in devio.c separately, but this seems to be a bug worth fixing as well. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 60aac1ec26b960fe77bf600457bc6c06f8aa7db4 Author: Alan Stern Date: Fri Jun 8 15:25:02 2007 -0400 USB: Handle bogus low-speed Bulk endpoints A noticeable number of low-speed devices mistakenly include descriptors for Bulk endpoints, which is forbidden by the USB spec. In an attempt to make such devices more usable, this patch (as924) converts the descriptors to Interrupt with an interval of 1 ms. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 52f6b5e1f15fa8c06efa69a4b5faa69c04707c92 Author: Benny Halevy Date: Tue May 15 11:15:27 2007 +0300 synchronization in usb_serial_put I think there is a race between usb_serial_put() and usb_serial_get_by_index() (and get_free_serial()) with regards to handling the serial port refcount. usb_serial_get_by_index() gets a reference on the serial port under table_lock while return_serial releases all the returned ports from the table under the same lock. However, the table_lock is not taken around the call to kref_put, theoretically allowing to sneak in and grab a reference after kref_put has already determined that the reference count is zero (and before calling destroy_serial) causing use after free. Signed-off-by: Benny Halevy Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit efdff60885e36b5091cdc47742dd5768ff4119be Author: Oliver Neukum Date: Tue Jun 5 10:50:48 2007 +0200 USB: io_ti: sleep with spinlock held detected by automatic tool this fixes the sleep found with the automatic tool. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 756aa6b3d536afe85e151138cb03a293998887b3 Author: Christian Engelmayer Date: Wed May 30 11:04:48 2007 -0700 ehci-hub: improved over-current recovery According to the USB Specification Revision 2.0 chapter 11.12.5 a hub experiencing an over-current condition must place all affected ports in the powered-off state. It seems that some root hubs need port power to be cycled by software in order to get back to normal functionality after an over-current condition ... like the EHCI implementation on an MPC8343E. Signed-off-by: Christian Engelmayer Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 648dcfc805ea1308552225e96113dc60e054f2f0 Author: David Brownell Date: Thu Jun 7 14:13:26 2007 -0700 USB: usb host side can be configured given PCMCIA Platforms with PCMCIA support can implement host-side USB with "sl811_cs", so make sure this menu shows up on platforms with PCMCIA. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ed76cacbea08ebfdb678c8687f98237cb7c67bb6 Author: Alan Stern Date: Thu Jun 7 17:12:25 2007 -0400 USB: usb-storage: use kthread_stop() for the control thread This patch (as923) makes usb-storage's control thread use kthread_should_stop()/kthread_stop(). The scanning thread can't be similarly converted until the core kthread implementation allows threads to call do_exit(). The advantage of this change is that we can now be certain the control thread has terminated before storage_disconnect() returns. This will simplify the locking requirements when autosuspend support is added. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 3fc154b6b8134b98bb94d60cad9a46ec1ffbe372 Author: Arnaud Patard Date: Wed Jun 6 21:05:49 2007 -0700 USB Gadget driver for Samsung s3c2410 ARM SoC This patch adds the support for the Usb Device Controller on Samsung S3C24xx SoCs. This driver passes all tests from testusb (including #13) and has been tested on S3C2410, S3C24212, and S3C2440 SoCs. Whitespace updates, minor cleanups by David Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Cc: Herbert Pötzl Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7a4eb7fd50d4df99fc1f623e6d90680d9fca3d82 Author: Geoff Levand Date: Tue Jun 5 20:04:35 2007 -0700 USB: PS3: USB system-bus rework USB HCD glue updates to reflect the new PS3 unifed device support. - Fixed remove() routine. - Added shutdown() routine. - Added request_mem_region() call. - Fixed MODULE_ALIAS(). - Made a proper fix for the hack done to support muti-platform in commit 48fda45120a819ca40cadc50144b55bff1c4c78d. Signed-off-by: Geoff Levand Cc: Paul Mackerras Signed-off-by: Greg Kroah-Hartman commit 59c2afa072506aae10ef93126aab651142e0c908 Author: Alan Stern Date: Tue Jun 5 16:46:26 2007 -0700 USB: option: fix usage of urb->status abuse Might fix bug 8561 On Mon, 4 Jun 2007, Paulo Pereira wrote: > The patch that you send is not resolving the problem... :( > I stil have Kernel panic after 45/60 min of work with Ktorrent/Amule... > > The Drump is: > > Call Trace: > [] usb_hcd_submit+0xb1/0x763 > [] ipt_do_table+0x2c7/0x2ef [ip_tables] > [] nf_ct_deliver_cached_events+0x41/0x96 [nf_conntrak] > [] ipv4_confirm+0x36/0c3b [nf_conntrack_ipv4] > [] tcp_v4_rcv+0x827/0x899 > [] nf_hook_slow+0x4d/0xb5 > [] irq_enter+0x19/0x23 > [] irq_enter+0x19/0x23 > [] do_IRQ+0xbd/0xd1 > [] option_write+0xa7/0xef [option] Okay, from this it looks like there's a problem in the option.c serial driver. Glancing at the code, it's obvious why: The thing totally abuses the USB API. Try applying this patch; it should help. From: Alan Stern Cc: Paulo Pereira Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4365831dadfeeeb4c9f8c4944e48ccf78c27f845 Author: Li Yang Date: Wed Jun 6 21:13:44 2007 -0700 USB: fsl_usb2_udc: Get max ep number from DCCPARAMS register Currently the driver is expecting max ep number in platform data which isn't passing this information. This patch fix the problem by reading it from DCCPARAMS(Device Controller Capability Parameters) register. The change also need some reordering of the probe code. Signed-off-by: Li Yang Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 37b5453dd4dafccec3fad636c28f1c3e3e14354f Author: Li Yang Date: Thu Jun 7 16:07:18 2007 +0800 USB: fsl_usb2_udc: replace deprecated irq flag Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit b41a60eca833d76593d4dac8a59f5c38714194ee Author: Alan Stern Date: Wed May 30 15:39:33 2007 -0400 USB: add power/persist device attribute This patch (as920) adds an extra level of protection to the USB-Persist facility. Now it will apply by default only to hubs; for all other devices the user must enable it explicitly by setting the power/persist device attribute. The disconnect_all_children() routine in hub.c has been removed and its code placed inline. This is the way it was originally as part of hub_pre_reset(); the revised usage in hub_reset_resume() is sufficiently different that the code can no longer be shared. Likewise, mark_children_for_reset() is now inline as part of hub_reset_resume(). The end result looks much cleaner than before. The sysfs interface is updated to add the new attribute file, and there are corresponding documentation updates. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 54515fe528d8c6f9bfaf7d0b9fffb908deecad78 Author: Alan Stern Date: Wed May 30 15:38:58 2007 -0400 USB: unify reset_resume and normal resume This patch (as919) unifies the code paths used for normal resume and for reset-resume. Earlier I had failed to note a section in the USB spec which requires the host to resume a suspended port before resetting it if the attached device is enabled for remote wakeup. Since the port has to be resumed anyway, we might as well reuse the existing code. The main changes are: usb_reset_suspended_device() is eliminated. usb_root_hub_lost_power() is moved down next to the hub_reset_resume() routine, to which it is logically related. finish_port_resume() does a port reset() if the device's reset_resume flag is set. usb_port_resume() doesn't check whether the port is initially enabled if this is a USB-Persist sort of resume. Code to perform the port reset is added to the resume pathway for the non-CONFIG_USB_SUSPEND case. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f07600cf9eb3ee92777b2001e564faa413144a99 Author: Alan Stern Date: Wed May 30 15:38:16 2007 -0400 USB: add reset_resume method This patch (as918) introduces a new USB driver method: reset_resume. It is called when a device needs to be reset as part of a resume procedure (whether because of a device quirk or because of the USB-Persist facility), thereby taking over a role formerly assigned to the post_reset method. As a consequence, post_reset no longer needs an argument indicating whether it is being called as part of a reset-resume. This separation of functions makes the code clearer. In addition, the pre_reset and post_reset method return types are changed; they now must return an error code. The return value is unused at present, but at some later time we may unbind drivers and re-probe if they encounter an error during reset handling. The existing pre_reset and post_reset methods in the usbhid, usb-storage, and hub drivers are updated to match the new requirements. For usbhid the post_reset routine is also used for reset_resume (duplicate method pointers); for the other drivers a new reset_resume routine is added. The change to hub.c looks bigger than it really is, because mark_children_for_reset_resume() gets moved down next to the new hub_reset_resume() routine. A minor change to usb-storage makes the usb_stor_report_bus_reset() routine acquire the host lock instead of requiring the caller to hold it already. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 624d6c0732d2c4ac00945ad79dbb6ff39ba90ee3 Author: Alan Stern Date: Wed May 30 15:35:16 2007 -0400 USB: remove excess code from hub.c This patch (as917) removes a now-unnecessary level of subroutine nesting from hub.c. Since usb_port_suspend() does nothing but call hub_port_suspend(), and usb_port_resume() does nothing but call hub_port_resume(), there's no reason to keep the routines separate. Also included in the patch are a few cosmetic changes involving whitespace and use of braces. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 686314cfbdac21c9019c0e04487b5d940db62406 Author: Alan Stern Date: Wed May 30 15:34:36 2007 -0400 USB: separate root and non-root suspend/resume This patch (as916) completes the separation of code paths for suspend and resume of root hubs as opposed to non-root devices. Root hubs will be power-managed through their bus_suspend and bus_resume methods, whereas normal devices will use usb_port_suspend() and usb_port_resume(). Changes to the hcd_bus_{suspend,resume} routines mostly represent motion of code that was already present elsewhere. They include: Adding debugging log messages, Setting the device state appropriately, and Adding a resume recovery time delay. Changes to the port-suspend and port-resume routines in hub.c include: Removal of checks for root devices (since they will never be triggered), and Removal of checks for NULL or invalid device pointers (these were left over from earlier kernel versions and aren't needed at all). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4956eccdd6101c5abb71966079e8183d12796d6c Author: Alan Stern Date: Wed May 30 16:51:28 2007 -0400 USB: remove __usb_port_suspend This patch (as915b) combines the public routine usb_port_suspend() and the private routine __usb_port_suspend() into a single function. By removing the explicit mention of otg_port in the call to __usb_port_suspend(), we prevent a possible error in which the system tries to perform HNP on the wrong port when a non-targeted device is plugged into a non-OTG port. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d576bb9f2769b315a795f77f0c33322a976add7a Author: Michael Hanselmann Date: Thu May 31 23:34:27 2007 +0200 USB: Fix NEC OHCI chip silicon bug This patch fixes a silicon bug in some NEC OHCI chips. The bug appears at random times and is very, very difficult to reproduce. Without the following patch, Linux would shut the chip and its associated devices down. In Apple PowerBooks this leads to an unusable keyboard and mouse (SSH still working). The idea of restarting the chip is taken from public Darwin code. Signed-off-by: Michael Hanselmann Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 020363384adfb02f26c1c038a127ed3da3d5cf37 Author: Tony Lindgren Date: Tue May 29 09:57:41 2007 -0700 USB: Disable file_storage USB_CONFIG_ATT_WAKEUP Disable file_storage USB_CONFIG_ATT_WAKEUP as it requires user interaction during Chapter 9 tests. Signed-off-by: Tony Lindgren Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d23a13779f14808b54181d31222e6c44532abd80 Author: Vladimir Barinov Date: Wed May 23 20:07:48 2007 +0400 USB: EHCI: Safe endianness for transfer buffers after reset in case of HUB with TT This patch fixes the endianness select for transfer buffers in EHCI controllers that have Transaction Translator built in the hub. Also I cleaned it up to make rid of magic numbers. Signed-off-by: Vladimir Barinov Cc: Signed-off-by: Greg Kroah-Hartman commit 5fea2a4dabdfa1ad59845c42ea770ee8cb41ecad Author: Al Borchers Date: Wed May 23 12:24:53 2007 -0700 USB: digi_acceleport further buffer clean up Some further cleanup after Oliver's patch to update the tty buffering. The input buffer is not used at all anymore, so I removed it. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 08a2b3b610a734a6d6e4ff0455eec1241966fcb3 Author: Oliver Neukum Date: Thu May 24 13:52:51 2007 +0200 USB: whiteheat driver update this is an update of the whiteheat driver. It fixes: - switch from spinlocks to mutexes to prevent sleeping with a spinlock held - locking to stop races with disconnect - error handling for commands that time out Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 403dfb58c3134a339e415fba9f6d45b51c6ee357 Author: Oliver Neukum Date: Fri May 25 13:42:56 2007 +0200 USB: usb-skeleton: usb anchor to implement flush This patch set introduces usb_anchor and uses it to implement all modern APIs in the skeleton driver. - proper error reporting in the skeleton driver - implementation of flush() Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 51a2f077c44e559841b09de6da605b4d3ae40dad Author: Oliver Neukum Date: Fri May 25 13:40:56 2007 +0200 USB: introduce usb_anchor - introduction of usb_anchor and its methods Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit ffcdc18d64d73ecce49c182f969977ae88ff4384 Author: Vikram Pandita Date: Fri May 25 21:31:07 2007 -0700 USB Core: hub.c: prevent re-enumeration on HNP Patch is to prevent the OTG host of doing 3 times enumeration of device when the Host suspends for HNP. The error code used in this case is ENOTSUPP. Signed-off-by: Vikram Pandita Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b29dbbd811b006deea85275e37fc1a09e8983d48 Author: David Brownell Date: Fri May 25 20:40:31 2007 -0700 USB: usb serial gadget, sparse fixes Fix a few serial gadget issues reported by the latest "sparse": some functions should have been defined as static, not just declared that way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 715f9527c1c1edd1a9c7a55ab4535211279c9374 Author: t.sefzick Date: Wed Apr 25 15:05:22 2007 +0200 USB: flow control fix for pl2303 in order to be able to switch back to 'flow-control none' after having activated 'flow-control rts/cts', I made a small change to 'pl2303.c'. Signed-off-by: Greg Kroah-Hartman commit 1abdeeb1d566f74bc5b3e68447d91c8c37d47942 Author: Oliver Neukum Date: Mon May 7 12:09:33 2007 +0200 USB: generic usb serial to new buffering scheme the generic driver also had its own buffering. Signed-off-by: Oliver Neukum commit 39892da44b21b5362eb848ca424d73a25ccc488f Author: Oliver Neukum Date: Mon May 7 13:16:58 2007 +0200 USB: Digi AccelePort adapted to new tty buffering this fixes the flushing trouble due to its own buffering for this driver. Signed-off-by: Oliver Neukum Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit b308e74d9c708ee2a9af14fbe235e0a41216f4ed Author: Oliver Neukum Date: Mon May 7 10:37:08 2007 +0200 USB: visor driver adapted to new tty buffering the new tty buffering code allows usb drivers to stop private buffering. In fact we must do so to allow flushing to work correctly. This does so for the visor driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a5262dcfda9163ca1f8a64349a6f7ba640ac1dc2 Author: David Brownell Date: Mon May 14 19:36:41 2007 -0700 USB: export as Make sure gadgetfs userspace interface is properly exported: - Move to ; - Export it using Kbuild; - Add an #include guard; - Correct some internal documentation; - Update struct layout so it's the same on 32/64 bit kernels. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8234509c3968a87faa301a8a9d7f8b987cd9181c Author: David Rientjes Date: Fri May 11 14:39:44 2007 -0700 USB: use function attribute __maybe_unused Substitute USB instances of __attribute__ ((unused)) functions with the newly introduced __maybe_unused. Signed-off-by: David Rientjes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ba02978a48f0117b3d0aced97a30615a5d7412e2 Author: Li Yang Date: Fri May 11 17:09:55 2007 +0800 USB: ehci_fsl update for MPC831x support For MPC831x support, change the ehci-fsl driver to preserve bits set in platform code. Add a common CONFIG_USB_EHCI_FSL to indicate presence of Freescale EHCI SOC. Add FSL_USB2_DR_OTG operating mode support, thus both host and device can work for the mini-ab receptacle. Note: this doesn't enable OTG protocol support. Signed-off-by: Li Yang Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d68c0be69b65aa260448cea9fb1c555ae90d268 Author: Stefan Roese Date: Fri May 4 11:39:37 2007 -0700 USB: Set CONFIG_USB_EHCI_BIG_ENDIAN_MMIO/_DESC in usb/host/Kconfig Now select the big-endian configuration options CONFIG_USB_EHCI_BIG_ENDIAN_MMIO and CONFIG_USB_EHCI_BIG_ENDIAN_DESC in the usb host Kconfig file and not in the platform Kconfig files. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit fc65a15f1fc0fc95c319c9bfaeb7636fef9987cc Author: Stefan Roese Date: Fri May 4 11:38:17 2007 -0700 USB: EHCI big endian data structures support (for 440EPx) This patch adds support for the AMCC 440EPx EHCI controller whose in-memory data structures and the registers are represented in big- endian format. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 97cd49ebf74e3bee49d541a47ef085df1fbfac7d Author: Stepan Moskovchenko Date: Wed May 9 14:53:04 2007 -0400 USB: ftdi_sio.c: Allow setting latency timer on FT232RL The new FT232RL allows setting and getting the value of the latency timer, like on the FT232BM. However, the driver will not create the sysfs entries for the RL without this one-line patch. I have tested it on two systems with successful results. From: Stepan Moskovchenko Signed-off-by: Greg Kroah-Hartman commit 20dfdad74a2baabeecc2896c770efcbf698b9b8d Author: Alan Stern Date: Tue May 22 11:50:17 2007 -0400 USB: rework C++-style comments This patch (as911) replaces some C++-style commented-out debugging lines in driver.c with a new "verbose debugging" macro. It makes the code look cleaner, and it's easier to turn the debugging on or off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d4ead16f50f9ad30bdc7276ec8fee7a24c72f294 Author: Alan Stern Date: Tue May 22 11:46:41 2007 -0400 USB: prevent char device open/deregister race This patch (as908) adds central protection in usbcore for the prototypical race between opening and unregistering a char device. The spinlock used to protect the minor-numbers array is replaced with an rwsem, which can remain locked across a call to a driver's open() method. This guarantees that open() and deregister() will be mutually exclusive. The private locks currently used in several individual drivers for this purpose are no longer necessary, and the patch removes them. The following USB drivers are affected: usblcd, idmouse, auerswald, legousbtower, sisusbvga/sisusb, ldusb, adutux, iowarrior, and usb-skeleton. As a side effect of this change, usb_deregister_dev() must not be called while holding a lock that is acquired by open(). Unfortunately a number of drivers do this, but luckily the solution is simple: call usb_deregister_dev() before acquiring the lock. In addition to these changes (and their consequent code simplifications), the patch fixes a use-after-free bug in adutux and a race between open() and release() in iowarrior. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 55e5fdfa541ec7bf1b1613624ed4dd8cdacaa841 Author: Mark Lord Date: Mon May 14 19:48:02 2007 -0400 USB: hub.c loops forever on resume from ram due to bluetooth Okay, found it. The root cause here was a missing CONFIG_USB_SUSPEND=y, which means the hci_usb device never got marked as USB_STATE_SUSPENDED, which then caused the loop to go on forever. The system works fine now with CONFIG_USB_SUSPEND=y in the .config. Here's the patch to prevent future lockups for this or other causes. I no longer need it, but it does still seem a good idea. Signed-off-by: Mark Lord Signed-off-by: Greg Kroah-Hartman commit 8538f96ae5aada1c04d69a993b20ad160b191d47 Author: Daniel Drake Date: Thu May 10 00:32:24 2007 +0100 USB: add USB_DEVICE_AND_INTERFACE_INFO for device matching Recently, the USB device matching code stopped matching generic interface matches against devices with vendor-specific device class values. Some drivers now need to explicitly match USB device ID's (in addition to generic interface info) to retain the same behaviour as before. This new macro, suggested by Alan Stern, makes the explicit device/interface matching a little simpler for those users. Signed-off-by: Daniel Drake Signed-off-by: Greg Kroah-Hartman commit 7f9985c2e4e5555b750d6f891b4923e63cc834c1 Author: David Brownell Date: Tue May 8 21:01:30 2007 -0700 USB: usb gadget, dead config cleanup Remove some dead CONFIG_ symbols, and document the status of a few others. The "gadget_chips.h" references are by and large to drivers which exist but haven't yet been submitted for merging to the main 2.6 tree. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 45b844df5a4b17884b4e26e43bfc4802604e7cab Author: Dave Platt Date: Tue May 8 11:00:12 2007 -0700 USB: RTS/CTS handshaking support, DTR fixes for MCT U232 serial adapter Improvements and fixes to the MCT U232 USB/serial interface driver. Implement RTS/CTS hardware flow control. Implement HUPCL. Bring handling of DTR and RTS into conformance with other Linux serial port drivers - assert both signals when opening device, even if "crtscts" is not currently selected. Signed-off-by: Dave Platt Signed-off-by: Greg Kroah-Hartman commit 01cd08192040eab30f837f061ca07f43cf15f4a1 Author: Arjan van de Ven Date: Tue May 22 12:42:56 2007 -0700 USB: Patch to align the various USB timers to fire at the same time This patch modifies the USB regular 250ms timer to be "perfectly aligned" to the second and quarters thereof. This change is there to make sure that if you have multiple USB ports, the timers for all these ports will fire at the same time rather than all spread out. All spread out wakes the CPU up from power saving idle a lot more than needed... Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit fc4cbd755b75c7687b923da5b75ba4a64652582e Author: Martin K. Petersen Date: Tue May 22 15:57:04 2007 -0400 USB: io_ti: Digi EdgePort update for new devices This patch adds support for the most recent Digi EdgePort USB serial devices. Signed-off-by: Martin K. Petersen Signed-off-by: Mike Swift Signed-off-by: Jeremy McBane Signed-off-by: Greg Kroah-Hartman commit dd4dd19e8d13e1e9bf8295bf71f132b511b130bf Author: Alan Stern Date: Fri May 4 11:55:54 2007 -0400 USB: Make device reset stop retrying after disconnect This patch (as898) changes the port reset code in the hub driver. If a connect change occurs, it is reported the same way as a disconnect (which of course is what it really is). It also changes usb_reset_device(), to prevent the routine from futilely retrying the reset after a disconnect has occurred. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3c519b846c4d5edf7c94d1eede42445a815bf65c Author: Alan Stern Date: Fri May 4 11:55:31 2007 -0400 USB: EHCI: fix handover for designated full-speed ports This patch (as895) fixes up a loose end in the port-handover code for the USB-Persist facility. A special case occurs when a high-speed device is attached to a port which the user has designated to run at full-speed only; the port must be disabled before the handover can take place. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6bc6cff52e0c4c4c876b1b8a5750041da61ad42b Author: Alan Stern Date: Fri May 4 11:53:03 2007 -0400 USB: add RESET_RESUME device quirk This patch (as888) adds a new USB device quirk for devices which are unable to resume correctly. By using the new code added for the USB-persist facility, it is a simple matter to reset these devices instead of resuming them. To get things kicked off, a quirk entry is added for the Philips PSC805. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 383975d765523a56dc43a6cd6d52e9b376800cf2 Author: Alan Stern Date: Fri May 4 11:52:40 2007 -0400 USB: EHCI, OHCI: handover changes This patch (as887) changes the way ehci-hcd and ohci-hcd handle a loss of VBUS power during suspend. In order for the USB-persist facility to work correctly, it is necessary for low- and full-speed devices attached to a high-speed port to be handed back to the companion controller during resume processing. This entails three changes: adding code to ehci-hcd to perform the handover, removing code from ohci-hcd to turn off ports during root-hub reinit, and adding code to ohci-hcd to turn on ports during PCI controller resume. (Other bus glue resume methods for platforms supporting high-speed controllers would need a similar change, if any existed.) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c Author: Alan Stern Date: Fri May 4 11:52:20 2007 -0400 USB: add USB-Persist facility This patch (as886) adds the controversial USB-persist facility, allowing USB devices to persist across a power loss during system suspend. The facility is controlled by a new Kconfig option (with appropriate warnings about the potential dangers); when the option is off the behavior will remain the same as it is now. But when the option is on, people will be able to use suspend-to-disk and keep their USB filesystems intact -- something particularly valuable for small machines where the root filesystem is on a USB device! Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce7cd137fced114d49178b73d468b82096a107fb Author: Pete Zaitcev Date: Thu May 3 16:51:16 2007 -0700 usbmon: Add class for binary interface Add a class which allows for an easier integration with udev. This code was originally written by Paolo Abeni, and arrived to my tree as a part of big patch to add binary API on December 18. As I understand, Paolo always meant the class to be a part of the whole thing. This is his udev rule to go along with the patch: KERNEL=="usbmon[0-9]*", NAME="usbmon%n", MODE="0440",OWNER="root",GROUP="bin" Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 49cdee0ed0fce9e1bda81f5dcad8d5cce6aec983 Author: Kees Lemmens Date: Tue Mar 27 12:34:30 2007 +0200 USB: oti6858 usb-serial driver (in Nokia CA-42 cable) Last week I've been searching for a driver for the CA-42 cable (see usb below) that fitted my kernel 2.6.20. I only found an abandoned version for a driver on your website that indeed worked on 2.6.18 but wouldn't even compile with a more recent 2.6.20 kernel. I fiddled 2 evenings with the kernel code and have patched it up now to work with the modifications in the 2.6.20 kernel. The patch is attached hereafter and it works fine (at least for me :-) ). Bus 2 Device 13: ID 0ea0:6858 Ours Technology, Inc. I had to fiddle a little with the settings in .gnokiirc but that also occurred with the older 2.6.18 kernel. Nevertheless, on one system with this cable and my Nokia 6070 I had best results with : model = 6510 connection = dku5 while on an other system with the same kernel, cable and phone it only worked with : model = AT connection = serial serial_write_usleep = 1 From: Kees Lemmens Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit 9c033e810eef0aff6d4d3bf028aa1e583c074f93 Author: David Brownell Date: Thu May 17 12:21:19 2007 -0700 USB: ehci refcounts work on ppc7448 Remove atomic operations on the reference counter for EHCI queue heads. On various platforms (including ppc7448), atomic operations are unusable with dma-coherent memory. Signed-off-by: Steven J. Hill Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 04d06ad0f1fdb499af84ae3d7969e2136a462f38 Author: Jan Engelhardt Date: Thu May 10 23:04:13 2007 -0700 USB: Use menuconfig objects 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 Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e8054854221d9d51e381c64d365404f4c1c30f50 Author: Alan Stern Date: Fri May 4 11:55:11 2007 -0400 USB: make hub driver's release more robust This revised patch (as893c) improves the method used by the hub driver to release its private data structure. The current code is non-robust, relying on a memory region not getting reused by another driver after it has been freed. The patch adds a reference count to the structure, resolving the question of when to release it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 06b84e8adcad8280d76a7c71e772c5cddba96d85 Author: Alan Stern Date: Fri May 4 11:54:50 2007 -0400 USB: remove "locktree" routine from the hub driver This patch (as892) removes the "locktree" routine from the hub driver. It currently is used in only one place, by a single kernel thread; hence it isn't doing any good. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f3fd77cd2f4499f3e2ef9a1e6d5e4f4349d556c3 Author: Alan Stern Date: Fri May 4 11:54:28 2007 -0400 USB: remove references to dev.power.power_state This revised patch (as891b) removes two unnecessary references to intf->dev.power.power_state from usb-storage, and replaces a reference to root_hub->dev.power.power_state with a check of hcd->state. This is in preparation for the removal of dev.power.power_state, which is already deprecated. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8adb4786789c25007f39b4d00dd03cc83bdcb896 Author: Alan Stern Date: Fri May 4 11:53:30 2007 -0400 USB: don't unsuspend for a new connection This patch (as889) prevents the hub driver from trying to resume a port when there is a new connection. For one thing, the resume is not needed -- the upcoming port reset will clear the suspend feature automatically. For another, on some systems the resume fails and causes problems. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b6f6436da0c6853eedad86f5075b139c1a3bcb5d Author: Alan Stern Date: Fri May 4 11:51:54 2007 -0400 USB: move bus_suspend and bus_resume method calls This patch (as885) moves the root-hub bus_suspend() and bus_resume() method calls from the hub driver's suspend and resume methods into the usb_generic driver methods, where they make just as much sense. Their old locations were not fully correct. For example, in a kernel compiled without CONFIG_USB_SUSPEND, if one were to do: echo -n 1-0:1.0 >/sys/bus/usb/drivers/hub/unbind to unbind the hub driver from a root hub, there would then be no way to suspend that root hub. Attempts to put the system to sleep would fail; the USB controller driver would refuse to suspend because the root hub was still active. The patch also makes a very slight change in the way devices with no driver are handled during suspend. Rather than doing a standard USB port-suspend directly, now the suspend routine in usb_generic is called. In practice this should never affect anyone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4d461095ef6967324bc5da5d65d23ad27fc604f9 Author: Alan Stern Date: Fri May 4 11:51:25 2007 -0400 USB: Implement PM FREEZE and PRETHAW This patch (as884) finally implements the time-saving semantics possible with the Power Management FREEZE and PRETHAW events. Their proper handling requires only that devices be quiesced, with interrupts and DMA turned off; non-root USB devices don't actually need to be put in a suspended state. The patch checks and avoids doing the suspend call when possible. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 784a6e1cc406b7ef48476a1f38b83fc551f5616f Author: Alan Stern Date: Fri May 4 11:49:57 2007 -0400 USB: interface PM state This patch (as880) strives to keep the PM core's idea of a USB interface's power state in synch with usbcore's own idea. In the end this doesn't really matter, but it's better to be consistent. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f6ace2c99afefb7969ccccba2fb413ad29ab2e2e Author: Yoshihiro Shimoda Date: Wed May 30 20:42:41 2007 +0900 USB: r8a66597-hcd: fix NULL access This patch fixes the problem that accesses NULL pointer when disconnected a cable while play music with usb-speaker. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 5d3043586db428b5b4b3df89fa0c2db9731e934c Author: Yoshihiro Shimoda Date: Thu May 10 13:18:19 2007 +0900 USB: r8a66597-hcd: host controller driver for R8A66597 I would like to submit Renesas R8A66597 USB HCD driver. R8A66597 is Renesas USB 2.0 host and peripheral combined controller device originally designed for embedded products. As a limitation of this device, it does not support externel hub more than 2 tier, and cannot communicate with a USB device more than 10. Then this device is not compatible with EHCI and/or OHCI, I wrote driver support patch based on sl811 code. This driver has the following unique specifications: - Implement transfer timeout to share one pipe with plural endpoint. - Detach detection of a USB device connected to externel hub. The driver has been tested external hub, usb-hdd, usb-cdrom, usb-speaker, mice, keyboard, and usbtest driver. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 15a1d5c9271219db2f1bc448247fb8ccbcc08418 Author: Yoshihiro Shimoda Date: Wed May 30 22:06:00 2007 +0900 USB: m66592-udc: fix use old interrupt flags This patch fixes the problem that used SA_* flags. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 4cf2503c6801a69fee25030475eceeefb36d1b56 Author: Yoshihiro Shimoda Date: Thu May 10 13:18:23 2007 +0900 USB: m66592-udc: peripheral controller driver for M66592 I would like to submit Renesas M66592 udc driver. The M66592 is Renesas USB 2.0 peripheral controller. This controller supports USB high-speed. The driver has been tested Gadget Zero, Ethernet Gadget, File-backed Storage Gadget, and passed usbtest script. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 0ca1268e109acf6d71507398cb95cab2e670b654 Author: Lucy McCoy Date: Fri May 18 12:10:41 2007 -0700 USB Serial Keyspan: add support for USA-49WG & USA-28XG Add support for Keyspan adapters: USA-49WG and USA-28XG Signed-off-by: Lucy P. McCoy Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 87e71b473ee199cf4b7b7a0ce890cd01f45e3a0e Author: Simon Arlott Date: Thu May 10 23:04:11 2007 -0700 USB: cxacru: Cleanup sysfs attribute code This changes the format of unknown status values to be less verbose and uses an array instead of several different snprintf calls. Since only enum values are assigned to it, poll_state is changed from int to enum. Use abs() for dB values instead of two almost identical return lines. Signed-off-by: Simon Arlott Acked-by: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dbd682b7c6d58916096616cdf94852641bc09d9 Author: Stefan Roese Date: Tue May 1 09:29:37 2007 -0700 USB: EHCI support for big-endian descriptors This patch implements supports for EHCI controllers whose in-memory data structures are represented in big-endian format. This is needed (unfortunately) for the AMCC PPC440EPx SoC EHCI controller; the EHCI spec doesn't specify little-endian format, although that's what most other implementations use. The guts of the patch are to introduce the hc32 type and change all references from le32 to hc32. All access routines are converted from cpu_to_le32(...) to cpu_to_hc32(ehci, ...) and similar for the other "direction". (This is the same approach used with OHCI.) David fixed: Whitespace fixes; refresh against ehci cpufreq patch; move glue for that PPC driver to the patch adding it; fix free symbol capture bugs in modified "constant" macros; and make "hc32" etc be "le32" unless we really need the BE options, so "sparse" can do some real good. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 196705c9bbc03540429b0f7cf9ee35c2f928a534 Author: Stuart_Hayes@Dell.com Date: Thu May 3 08:58:49 2007 -0700 USB: EHCI cpufreq fix EHCI controllers that don't cache enough microframes can get MMF errors when CPU frequency changes occur between the start and completion of split interrupt transactions, due to delays in reading main memory (caused by CPU cache snoop delays). This patch adds a cpufreq notifier to the EHCI driver that will inactivate split interrupt transactions during frequency transitions. It was tested on Intel ICH7 and Serverworks/Broadcom HT1000 EHCI controllers. Signed-off-by: Stuart Hayes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ec22559e0b7a05283a3413bda5d177e42c950e23 Author: Oliver Neukum Date: Fri Apr 27 20:54:57 2007 +0200 USB: suspend support for usb serial this implements generic support for suspend/resume for usb serial. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 57e4acb3f63e1d3d74a75613eefde8b2d68164e3 Author: Tony Luck Date: Thu Jul 12 16:04:39 2007 -0700 [IA64] Un-break ia64 build Commit 91a6902958f052358899f58683d44e36228d85c2 added an extra argument to pci_read_legacy_io() and pci_write_legacy_io(). But the prototypes in include/asm-ia64/pci.h were not updated. Signed-off-by: Tony Luck commit cec7c893d8654723028f09d33341e42673558057 Author: Roland Dreier Date: Thu Jul 12 15:59:36 2007 -0700 IB: Update MAINTAINERS with Hal's new email address Signed-off-by: Roland Dreier commit 65541cb7cf353946ecd78016a453b453b8830656 Author: Jack Morgenstein Date: Thu Jun 21 13:03:11 2007 +0300 IB/mlx4: Implement query SRQ Signed-off-by: Dotan Barak Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 6a775e2ba4f7635849ade628e64723ab2beef0bc Author: Jack Morgenstein Date: Thu Jun 21 12:27:47 2007 +0300 IB/mlx4: Implement query QP Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit dd172d72addefd89795e819cc2cc3eb1b9d12a7f Author: Chandra Seetharaman Date: Thu Jul 12 17:30:05 2007 +0100 dm mpath: rdac This patch supports LSI/Engenio devices in RDAC mode. Like dm-emc it requires userspace support. In your multipath.conf file you must have: path_checker rdac hardware_handler "1 rdac" prio_callout "/sbin/mpath_prio_tpc /dev/%n" And you also then must have a updated multipath tools release which has rdac support. Signed-off-by: Chandra Seetharaman Signed-off-by: Mike Christie Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fc1ff9588a6d56258ff9576a31aa34f17757c666 Author: Jonathan Brassow Date: Thu Jul 12 17:29:15 2007 +0100 dm raid1: handle log failure When writing to a mirror, the log must be updated first. Failure to update the log could result in the log not properly reflecting the state of the mirror if the machine should crash. We change the return type of the rh_flush function to give us the ability to check if a log write was successful. If the log write was unsuccessful, we fail the writes to avoid the case where the log does not properly reflect the state of the mirror. A follow-up patch - which is dependent on the ability to requeue I/O's to core device-mapper - will requeue the I/O's for retry (allowing the mirror to be reconfigured.) Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit f44db678edcc6f4c2779ac43f63f0b9dfa28b724 Author: Jonathan Brassow Date: Thu Jul 12 17:29:04 2007 +0100 dm raid1: handle resync failures Device-mapper mirroring currently takes a best effort approach to recovery - failures during mirror synchronization are completely ignored. This means that regions are marked 'in-sync' and 'clean' and removed from the hash list. Future reads and writes that query the region will incorrectly interpret the region as in-sync. This patch handles failures during the recovery process. If a failure occurs, the region is marked as 'not-in-sync' (aka RH_NOSYNC) and added to a new list 'failed_recovered_regions'. Regions on the 'failed_recovered_regions' list are not marked as 'clean' upon removal from the list. Furthermore, if the DM_RAID1_HANDLE_ERRORS flag is set, the region is marked as 'not-in-sync'. This action prevents any future read-balancing from choosing an invalid device because of the 'not-in-sync' status. If "handle_errors" is not specified when creating a mirror (leaving the DM_RAID1_HANDLE_ERRORS flag unset), failures will be ignored exactly as they would be without this patch. This is to preserve backwards compatibility with user-space tools, such as 'pvmove'. However, since future read-balancing policies will rely on the correct sync status of a region, a user must choose "handle_errors" when using read-balancing. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit d0d444c7d48c14d59f665887c758fde248f1cb37 Author: Jonathan Brassow Date: Thu Jul 12 17:28:42 2007 +0100 dm: add ratelimit logging macros Add ratelimit extension to dm logging macros. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 07a83c47cfc00ba5f0f090ccddd3a0703be0eec9 Author: Stefan Bader Date: Thu Jul 12 17:28:33 2007 +0100 dm: disable barriers This patch causes device-mapper to reject any barrier requests. This is done since most of the targets won't handle this correctly anyway. So until the situation improves it is better to reject these requests at the first place. Since barrier requests won't get to the targets, the checks there can be removed. Cc: stable@kernel.org Signed-off-by: Stefan Bader Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 943317efdbc295e8a28df3f5cbd549d066ee8b4a Author: Jonathan Brassow Date: Thu Jul 12 17:28:25 2007 +0100 dm raid1: clear region outside spinlock A clear_region function is permitted to block (in practice, rare) but gets called in rh_update_states() with a spinlock held. The bits being marked and cleared by the above functions are used to update the on-disk log, but are never read directly. We can perform these operations outside the spinlock since the bits are only changed within one thread viz. - mark_region in rh_inc() - clear_region in rh_update_states(). So, we grab the clean_regions list items via list_splice() within the spinlock and defer clear_region() until we iterate over the list for deletion - similar to how the recovered_regions list is already handled. We then move the flush() call down to ensure it encapsulates the changes which are done by the later calls to clear_region(). Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0764147b111b8ca886e4f2e9c9e019106b09b657 Author: Milan Broz Date: Thu Jul 12 17:28:13 2007 +0100 dm snapshot: permit invalid activation Allow invalid snapshots to be activated instead of failing. This allows userspace to reinstate any given snapshot state - for example after an unscheduled reboot - and clean up the invalid snapshot at its leisure. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fcac03abd325e4f7a4cc8fe05fea2793b1c8eb75 Author: Milan Broz Date: Thu Jul 12 17:28:00 2007 +0100 dm snapshot: fix invalidation deadlock Process persistent exception store metadata IOs in a separate thread. A snapshot may become invalid while inside generic_make_request(). A synchronous write is then needed to update the metadata while still inside that function. Since the introduction of md-dm-reduce-stack-usage-with-stacked-block-devices.patch this has to be performed by a separate thread to avoid deadlock. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 596f138eede0c113aa655937c8be85fc15ccd61c Author: Jun'ichi Nomura Date: Thu Jul 12 17:27:45 2007 +0100 dm io: fix panic on large request bio_alloc_bioset() will return NULL if 'num_vecs' is too large. Use bio_get_nr_vecs() to get estimation of maximum number. Cc: stable@kernel.org Signed-off-by: "Jun'ichi Nomura" Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit c95bc206da4bc9838bad826883f8f461a972e441 Author: Milan Broz Date: Thu Jul 12 17:27:24 2007 +0100 dm raid1: fix status Fix mirror status line broken in dm-log-report-fault-status.patch: - space missing between two words - placeholder ("0") required for compatibility with a subsequent patch - incorrect offset parameter Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0cd3312434cd1f29bee6bff53bf2790d733ad2a2 Author: Alasdair G Kergon Date: Thu Jul 12 17:27:01 2007 +0100 dm: remove duplicate module name from error msgs Remove explicit module name from messages as the macro now includes it automatically. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit ac818646d4be79123ad8dc5f1c4da8575d4960f8 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:47 2007 +0100 dm delay: cleanup Use setup_timer(). Replace semaphore with mutex. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 028867ac28e51afc834a5931e7545c022557eded Author: Alasdair G Kergon Date: Thu Jul 12 17:26:32 2007 +0100 dm: use kmem_cache macro Use new KMEM_CACHE() macro and make the newly-exposed structure names more meaningful. Also remove some superfluous casts and inlines (let a modern compiler be the judge). Acked-by: Christoph Lameter Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 79e15ae424afa0a40b1a0c4478046d6ba0b71e20 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:19 2007 +0100 dm: bio_list prefetch removal Remove dubious prefetch from bio_list_for_each() macro. Cc: Jens Axboe Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fcae8e098877b798c365fd9d807f86d5e2a2b324 Author: Russell King Date: Thu Jul 12 21:29:45 2007 +0100 [ARM] sa1100: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit f3ebbc20ab835ff98cf920f85de989064e352ee5 Author: Russell King Date: Thu Jul 12 21:29:06 2007 +0100 [ARM] sa1100: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. As per the corresponding PXA patch, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit c6e54a578133fb353a50fb44d650768b3b9eb18e Author: Albert Lee Date: Sat Jul 7 15:00:37 2007 +0800 libata: remove irq_on from ata_bus_reset() and ata_std_postreset() It seems irq_on() in ata_bus_reset() and ata_std_postreset() are leftover of the EDD reset. Remove them. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit e04b3b9d03477781eff068957a9abfc92ffc4f59 Author: Tejun Heo Date: Tue Jul 10 17:58:21 2007 +0900 ata_piix: kill incorrect invalid map value warning The last two slots of MAP 00b of ich6m was incorrectly marked as reserved. This is left over from converting the entry to allow 00b. This causes no real problem. It only makes the driver print annoying warning message. Fix it. [patch also proferred by Pierre Tardy at the end of 2006 -jg] Signed-off-by: Tejun Heo -- drivers/ata/ata_piix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit e8361fc410badfe23986fc070843112306bd9c8d Author: Chuck Ebbert Date: Thu Jul 12 14:37:19 2007 -0400 libata: add another Maxtor drive with broken NCQ to the list Add another Maxtor 6B200M0 drive with broken NCQ to the list. Signed-off-by: Chuck Ebbert Signed-off-by: Jeff Garzik commit 63fc33ceb0ccc08b3f62d7bfe56a33eb33ca9427 Author: Daniel Drake Date: Tue Jul 10 19:32:11 2007 +0200 [PATCH] mac80211: improved 802.11g CTS protection Currently, CTS protection is partially implemented twice: 1. via prism2 ioctls, only used by hostapd 2. via STA beacon parsing, recorded in sta.use_protection but never used (other than printed in debugfs) Protection control should be implemented on a per-subif basis. For example, a single physical device may be running a soft AP on one channel, and a STA on another. The AP interface should use protection based on what hostapd told it, and the STA interface should use protection based on beacon parsing. These should operate independantly: one subif using protection should not influence the other. To implement this, I moved the use_protection flag into ieee80211_sub_if_data and removed the device-global cts_protect_erp_frames flag. I also made the PRISM2_PARAM_CTS_PROTECT_ERP_FRAMES write operation only available for AP interfaces, to avoid any possibility of the user messing with the behaviour of a STA. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 5628221caf88e2a052782b042e12da7cd34111b0 Author: Daniel Drake Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: ERP IE handling improvements The "protection needed" flag is currently parsed out of the ERP IE in beacons. This patch allows the ERP IE to be available at assocation time and causes the appropriate actions to be performed earlier. It is slightly complicated by the fact that most APs don't include the ERP IE in association responses. To work around this, we store ERP values in the ieee80211_sta_bss structure. Also added some WLAN_ERP defines for use by upcoming patches. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 1fd5e589d8c7d3cd42ddd39358338766cfcedec8 Author: Larry Finger Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: Implementation of SIOCSIWRATE The WEXT ioctl SIOCSIWRATE is not implemented in mac80211. This patch adds the missing routine. It supports the 'auto' keyword, fixed rates, and the combination of 'auto' and a fixed rate to select an upper bound. Based on the patch from Mohamed Abbas . Signed-off-by: Larry Finger Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 4480f15ca62a595248d6d8e2b3e75052113cde59 Author: Johannes Berg Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: clarify some mac80211 things The semantics of not having an add_interface callback are not well defined, this callback is required because otherwise you cannot obtain the requested MAC address of the device. Change the documentation to reflect this, add a note about having no MAC address at all, add a warning that mac_addr in struct ieee80211_if_init_conf can be NULL and finally verify that a few callbacks are assigned by way of BUG_ON() Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 5558235c6bade6662e6f257a35f2dfdc8a742147 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: conserve stack space due to padding This patch reorders some fields in struct ieee802_11_elems to save 17*7 or 17*3 bytes (on 64/32-bit machines respectively) stack space in a few functions. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 191b92666e3a8aa52af84e2d03350c25145be695 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill PRISM2_PARAM_CLEAR_KEYS Not used anywhere, hence dead code. wpa_supplicant has its own clear_keys routine. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit fda6cc7ac45f97d4d40cc42781041dec488fa78c Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: remove PRISM2_PARAM_DROP_UNENCRYPTED ioctl Interestingly, wpa_supplicant doesn't use it, but uses the currently unsupported IW_AUTH_DROP_UNENCRYPTED. So I guess it doesn't matter anyway. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 9771f740c6319e67bab44d18b9717c894a6f266d Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill antenna select ioctls Not used anywhere. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 3ef8bed4692a0de6a47d162196c850c5dea85b70 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill rate control ioctls These aren't used anywhere (hostapd, wpa_supplicant) and until we have a proper interface to the rate control algorithms they don't make much sense either since e.g. rc80211_lowest won't honour them. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 40f7cac9f8dd662c1dd02334afdceef0be03e34f Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: separate monitor/subif_start_xmit This patch separates the monitor interface start_xmit from the subif start xmit (those other devices have 802.3 framing, monitor interfaces have radiotap framing) Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 333af2f0715c8d4d38cb657d8f4fb7c4e3ceba9f Author: Hong Liu Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: add support for iwlist channel Add supported channels info in SIOCGIWRANGE implementation. Signed-off-by: Hong Liu Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit c59304b5e07128816347fe3996d7952561f60529 Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: remove ieee80211_set_aid_for_sta Remove ieee80211_set_aid_for_sta and associated code. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 7f8c05982865a32ee001b79ee0bd469f55ac8aba Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: remove ieee80211_msg_passive_scan This constant is unused. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit b306f45300866adc01b84f7aa083bfcd9cbb89c4 Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: show transmitted frames on monitor interfaces This patch makes mac80211 show transmitted frames on monitor interfaces, including radiotap headers that indicate some transmission parameters. The shown parameters will need to be expanded, but this should work as a basis to work from. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit e4c967c6d88ca94365dd8e2a7bbd22eedb8d7ae7 Author: Andy Green Date: Tue Jul 10 19:32:07 2007 +0200 [PATCH] mac80211: Monitor mode radiotap-based packet injection Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 179f831bc33104d14deb54a52b7a8b43433f8ccc Author: Andy Green Date: Tue Jul 10 19:29:38 2007 +0200 [PATCH] cfg80211: Radiotap parser Generic code to walk through the fields in a radiotap header, accounting for nasties like extended "field present" bitfields and alignment rules Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 08d1f2155cd5b21bb3848f46d9747afb1ccd249d Author: Andy Green Date: Tue Jul 10 19:29:37 2007 +0200 [PATCH] mac80211: Monitor mode radiotap injection docs Add monitor mode radiotap injection docs. Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit ee9ccdf70163ca6408f6965e0fbc65baeac7312c Author: Jeff Garzik Date: Thu Jul 12 15:51:22 2007 -0400 [libata] sata_mv: Fix and clean up per-chip-generation tests Due to a mistake in test logic, Gen-IIE chips were being treated as Gen-II chips in some cases. Fix this, and in the process, clean up IS_50XX/IS_60XX tests to the more uniform IS_GEN_{I,II,IIE} tests. Signed-off-by: Jeff Garzik commit bdd4dddee325a7dce3e84cf48201a06aa8508aa4 Author: Jeff Garzik Date: Thu Jul 12 14:34:26 2007 -0400 [libata] sata_mv: Convert to new exception handling (EH) infrastructure This makes hotplug, NCQ, etc. possible, and removes one of the few remaining old-EH drivers. Signed-off-by: Jeff Garzik commit 4537deb5e90b717a725b3d74b58b4bb1d28443d0 Author: Jeff Garzik Date: Thu Jul 12 14:30:19 2007 -0400 [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH) * Continue replacing "CONSTANT & var" tests with "var & CONSTANT" * Don't clear EDMA_CFG_NCQ_GO_ON_ERR on Gen-IIE, where that bit does not exist * Set I/O Id field in descriptor, where present. Appears to work fine on all versions, even though queueing is still disabled. * call pci_set_mwi(), to (a) make sure cacheline size is set properly, and (b) enable MWI transactions * Remove never-used handling of coalescing interrupt bits (these events are always masked) Signed-off-by: Jeff Garzik commit c39736823232bc3ca113c8228fa852c09fba300e Author: H. Peter Anvin Date: Wed Jul 11 12:18:58 2007 -0700 Remove old i386 setup code This removes the old i386 setup code. This is done as a separate patch to avoid breaking git bisect as some of the i386 code was also used by the old x86-64 code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 91a6c462b02d8dc02dbe95e5a407d78078a38d01 Author: H. Peter Anvin Date: Wed Jul 11 12:18:57 2007 -0700 Use the new x86 setup code for x86-64; unify with i386 This unifies arch/*/boot (except arch/*/boot/compressed) between i386 and x86-64, and uses the new x86 setup code for x86-64 as well. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 4fd06960f120e02e9abc802a09f9511c400042a5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:56 2007 -0700 Use the new x86 setup code for i386 This patch hooks the new x86 setup code into the Makefile machinery. It also adapts boot/tools/build.c to a two-file (as opposed to three-file) universe, and simplifies it substantially. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f2d98ae63dc64dedb00499289e13a50677f771f9 Author: H. Peter Anvin Date: Wed Jul 11 12:18:55 2007 -0700 Linker script for the new x86 setup code Linker script to define the layout of the new x86 setup code. Includes assert for size overflow and a misaligned setup header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 626073132b381684c4983e0d911e9aceb32e2cbc Author: H. Peter Anvin Date: Wed Jul 11 12:18:54 2007 -0700 Assembly header and main routine for new x86 setup code The assembly header and initialization code, and the main() routine. main.c also contains some miscellaneous very short routines. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7052fdd890bda0b3904674b69a1d24aec0a10d67 Author: H. Peter Anvin Date: Wed Jul 11 12:18:53 2007 -0700 Code for actual protected-mode entry This is the code which actually does the switch to protected mode, including all preparation. It is also responsible for invoking the boot loader hooks, if present. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5e8ddcbe8692ca9854991c6875d302fa7e424e3c Author: H. Peter Anvin Date: Wed Jul 11 12:18:52 2007 -0700 Video mode probing support for the new x86 setup code Video mode probing for the new x86 setup code. This code breaks down different drivers into modules. This code deliberately drops support for a lot of the vendor-specific mode probing present in the assembly version, since a lot of those probes have been found to be stale in current versions of those chips -- frequently, support for those modes have been dropped from recent video BIOSes due to space constraints, but the video BIOS signatures are still the same. However, additional drivers should be extremely straightforward to plug in, if desirable. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 337496eb73ec970fe008095fdb2b2af60a2a7fa3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:51 2007 -0700 Voyager support for the new x86 setup code Voyager support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 449f2ab946b5ffbc357d815e8e3cce8def642984 Author: H. Peter Anvin Date: Wed Jul 11 12:18:50 2007 -0700 Memory probing support for the new x86 setup code Probe memory (INT 15h: E820, E801, 88). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 3b53d3045bbb8ea3c9dce663b102eab0903817c5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:49 2007 -0700 MCA support for new x86 setup code MCA probing support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit d13444a5a53b0159e6316a7a7be9890143a5af71 Author: H. Peter Anvin Date: Wed Jul 11 12:18:48 2007 -0700 EDD probing code for the new x86 setup code Probe EDD and MBR signatures, in order to make it easier to map physical hard drives to BIOS drives. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 31b54f40e12e4d04941762be6615edaf3c6ed811 Author: H. Peter Anvin Date: Wed Jul 11 12:18:47 2007 -0700 CPU features verification for the new x86 setup code Verify that the CPU has enough features to run the kernel. This may entail enabling features on some CPUs. By doing this in the setup code we can be guaranteed to still be able to write to the console through the BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 0008ea39bd03ee1f29e361e6f6e1b8a6289e5234 Author: H. Peter Anvin Date: Wed Jul 11 12:18:46 2007 -0700 Version string for the new x86 setup code Module which only includes the kernel version string. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1543610ad79ac4cc61c26f8a29c84e4229faa9a3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:45 2007 -0700 Console-writing code for the new x86 setup code This implements writing text to the console, including printf(). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e44c22f65f96217692e1a915032fbe7d22236751 Author: H. Peter Anvin Date: Wed Jul 11 12:18:44 2007 -0700 Command-line parsing code for the new x86 setup code Simple command-line parser which allows us to access the kernel command line from the setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 49df18fa3f95a5c988b64e4e20e15372282e96ea Author: H. Peter Anvin Date: Wed Jul 11 12:18:43 2007 -0700 APM probing code APM probing code for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5a8a8128bc218ebd067c660912d838344b05c608 Author: H. Peter Anvin Date: Wed Jul 11 12:18:42 2007 -0700 A20 handling code A20 handling code for the new x86 setup code. This implements the same algorithms as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5be865661516263d90317a6b35b588a2d7c3cb55 Author: H. Peter Anvin Date: Wed Jul 11 12:18:41 2007 -0700 String-handling functions for the new x86 setup code. strcmp(), memcpy(), memset(), as well as routines to copy to and from other segments (as pointed to by fs and gs). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ad7e906d5687bb076fe6c3c980d6e013a3a42bde Author: H. Peter Anvin Date: Wed Jul 11 12:18:40 2007 -0700 Simple bitops for the new x86 setup code. A simple collection of bitops for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 62bd0337d0c4a77902502558aa30ceeb15655407 Author: H. Peter Anvin Date: Wed Jul 11 12:18:39 2007 -0700 Top header file for new x86 setup code Top header file for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f7f4a5fbd21bf7fc4f207ddaf5126c78c0d1e0b5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:38 2007 -0700 Header file to produce 16-bit code with gcc gcc for i386 can be used with the assembly prefix ".code16gcc" to generate 16-bit (real-mode) code. This header file provides the assembly prefix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 8afd2af88921c2cb1c9540cecd0714da7ae4fcd0 Author: H. Peter Anvin Date: Wed Jul 11 12:18:37 2007 -0700 x86-64: add symbolic constants for the boot segment selectors Add symbolic constants for the segment selectors/GDT slots used by the setup code, for consistency with i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 77e1dd654bc24182a7ad34f415abd488ae7af6eb Author: H. Peter Anvin Date: Wed Jul 11 12:18:36 2007 -0700 x86-64: add CONFIG_PHYSICAL_ALIGN for consistency with i386 Add CONFIG_PHYSICAL_ALIGN (currently as a hardcoded constant) to provide consistency with i386. This value is manifest in the bzImage header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48c7ae674f03e56c78ff42c6796a36e90db67874 Author: H. Peter Anvin Date: Wed Jul 11 12:18:35 2007 -0700 Make struct boot_params a real structure, and remove obsolete fields Make struct boot_params a real structure, and remove the handling of some obsolete fields, in particular hd*_info, which was only used by the ST-506 driver, and likely to be wrong for that driver on any modern BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 9c25d134b3735a4b197e108b4c7d6bbec1a275e8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:34 2007 -0700 Make definitions for struct e820entry and struct e820map consistent Make definitions for struct e820entry and struct e820map consistent between i386 and x86-64. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 85414b693ac037d709582a167a330db3a5d186d8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:33 2007 -0700 Define zero-page offset 0x1e4 as a scratch field, and use it The relocatable kernel code needs a scratch field for the decompressor to determine its own location. It was using a location inside struct screen_info; reserve a free location and document it as scratch instead. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1d67953f2bda8876045c24ae58841f27d9bb7572 Author: Venki Pallipadi Date: Wed Jul 11 12:18:32 2007 -0700 Use a new CPU feature word to cover features that are spread around Some Intel features are spread around in different CPUID leafs like 0x5, 0x6 and 0xA. Make this feature detection code common across i386 and x86_64. Display Intel Dynamic Acceleration feature in /proc/cpuinfo. This feature will be enabled automatically by current acpi-cpufreq driver. Refer to Intel Software Developer's Manual for more details about the feature. Thanks to hpa (H Peter Anvin) for the making the actual code detecting the scattered features data-driven. Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e087db510cd96a75a614f6f6fcd5499ab21cb087 Author: H. Peter Anvin Date: Wed Jul 11 12:18:31 2007 -0700 Clean up struct screen_info () struct screen_info has unaligned members, it needs to be packed. In the process, fix the naming of some of the members, which don't belong in this structure but are part of it anyway. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de32e04175efbc1ff5e0f509253d5dfc84f173b3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:30 2007 -0700 x86 Kconfig: change X86_MINIMUM_CPU_MODEL to X86_MINIMUM_CPU_FAMILY The X86_MINIMUM_CPU_MODEL name isn't really right, so change it to X86_MINIMUM_CPU_FAMILY. Also, the default minimum should be 3, not 0. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ec481536b15eb0520d8f0204b0294480050fe1f8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:29 2007 -0700 Unify the CPU features vectors between i386 and x86-64 Unify the handling of the CPU features vectors between i386 and x86-64. This also adopts the collapsing of features which are required at compile-time into constant tests from x86-64 to i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f8c09377d754f35a135454181b869ab527cc0757 Author: H. Peter Anvin Date: Wed Jul 11 12:18:28 2007 -0700 include/asm-i386/boot.h: This is , not include/asm-i386/boot.h incorrectly has the multiple include guards as _LINUX_BOOT_H instead of _ASM_BOOT_H. Fix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48dd643c3b02544994fa091573c2242441a7733f Author: H. Peter Anvin Date: Wed Jul 11 12:18:27 2007 -0700 hd.c: remove BIOS/CMOS queries An ST-506 disk these days is pretty much someone trying to pull ancient data using an auxilliary controller. Pulling data from the BIOS or CMOS is just plain wrong, since it's likely to be the primary OS disk... and would be user-entered data anyway. Instead, require the user enters it on the command line. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7f1291f2caa536c441507b459f91770a5280fb5d Author: H. Peter Anvin Date: Wed Jul 11 12:18:26 2007 -0700 x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code Change MAINTAINERS to formally take responsibility for the i386 boot code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de61b542b822746d1498718c40f5dd740da49629 Author: Ralf Baechle Date: Thu Jul 12 17:41:23 2007 +0100 [MIPS] Rename PC speaker code While the PC speaker is wired up to the i8254 there is more to the i8254 than just the PC speaker so this code was getting in the way under its current name. Signed-off-by: Ralf Baechle commit fdc1f93847ea618e51f001805e022794d8bffff3 Author: Ralf Baechle Date: Thu Jul 12 17:41:21 2007 +0100 [MIPS] Don't use genrtc. The only pseudo-legitimate MIPS user of genrtc was a systems that doesn't have an RTC in hardware at all. At this point faking one is a little pointless ... commit 1f2c6d6b0c553e44273aaee24820c67ebfbbfebe Author: Yoichi Yuasa Date: Thu Jun 7 22:27:50 2007 +0900 [MIPS] Remove unused time.c for swarm Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 28fc582cc9b7fc6ed6a9fbf9565a2b1e56eee880 Author: Atsushi Nemoto Date: Fri Jul 13 01:49:49 2007 +0900 [MIPS] Sparse: Use NULL for pointer This fixes a sparse warning: arch/mips/kernel/traps.c:376:44: warning: Using plain integer as NULL pointer Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8ed07a1cce1530d2fd42e23c867a7c0c1170515a Author: Atsushi Nemoto Date: Fri Jul 13 01:26:52 2007 +0900 [MIPS] Fix a sparse warning in arch/mips/pci/pci.c Fixes this warning: arch/mips/pci/pci.c:284:18: warning: symbol 'dev' shadows an earlier one arch/mips/pci/pci.c:272:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0db34215c7e0ef618e7b29fbf271194ca5434f8e Author: Kevin D. Kissell Date: Thu Jul 12 16:21:08 2007 +0100 [MIPS] SMTC: Interrupt mask backstop hack To support multiple TC microthreads acting as "CPUs" within a VPE, VPE-wide interrupt mask bits must be specially manipulated during interrupt handling. To support legacy drivers and interrupt controller management code, SMTC has a "backstop" to track and if necessary restore the interrupt mask. This has some performance impact on interrupt service overhead. Disable it only if you know what you are doing. Signed-off-by: Ralf Baechle commit bd0765098bf22eb8b1319f649a4c3301b40ec04c Author: Yoichi Yuasa Date: Fri May 11 21:18:48 2007 +0900 [MIPS] separate platform_device registration for VR41xx RTC Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 44173fb2e83183b585e137e6fee8ba32460f5645 Author: Yoichi Yuasa Date: Thu May 10 22:21:35 2007 +0900 [MIPS] Separate platform_device registration for VR41xx GPIO Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit a74b4605181595c633ff4cfd44949886b0918172 Author: Ralf Baechle Date: Thu Jul 12 17:41:14 2007 +0100 [MIPS] MIPSsim: Fix build. Signed-off-by: Ralf Baechle commit 891649409edbed528728b4a104d29e43e9d7473a Author: Yoichi Yuasa Date: Wed May 9 00:03:02 2007 +0900 [MIPS] separate platform_device registration for VR41xx serial interface Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 8c41286edffef0d6e7fb770b178275c8beb24055 Author: Atsushi Nemoto Date: Thu Jul 12 00:55:40 2007 +0900 [MIPS] Include cacheflush.h in uncache.c This fixes this sparse warning: arch/mips/lib/uncached.c:38:22: warning: symbol 'run_uncached' was not declared. Should it be static? Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 40df3831f9b2fa386f55b580f294ea4f686704be Author: Atsushi Nemoto Date: Thu Jul 12 00:51:00 2007 +0900 [MIPS] Cleanup tlbdebug.h Also include tlbdebug.h in dump_tlb.c and r3k_dump_tlb.c. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 87d43dd48d6e68095be85c4e5f991fd7c89c052e Author: Atsushi Nemoto Date: Wed Jul 11 23:30:40 2007 +0900 [MIPS] Change names of local variables to silence sparse (part 2) This patch is an workaround for these sparse warnings: include2/asm/mmu_context.h:172:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:133:16: originally declared here include2/asm/mmu_context.h:232:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:203:16: originally declared here include2/asm/mmu_context.h:277:3: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:250:16: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c0cf500145b4154adcbc55afc1a63db24cee84a2 Author: Atsushi Nemoto Date: Wed Jul 11 23:12:00 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/io.h CKSEG1ADDR() returns unsigned int value on 32bit kernel. Cast it to unsigned long to get rid of this warning: include2/asm/io.h:215:12: warning: cast adds address space to expression () Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9815778ae016004c33ce267a00b7d567192ef6e7 Author: Thomas Bogendoerfer Date: Wed Jul 11 19:10:39 2007 +0200 [MIPS] RM: Use only phyiscal address for 82596 and 53c710 Use physical address for 82596 and 53c710 base address Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0adc327bda829f6f7302ca2abdbe776828db7a97 Author: Ralf Baechle Date: Thu Jul 12 14:01:06 2007 +0100 [MIPS] Hydrogen3: Remove remaining bits of code. Signed-off-by: Ralf Baechle commit ddfada5ac00647ed0e6091322acff9d615bf7497 Author: Ralf Baechle Date: Wed Jul 11 00:20:01 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 96532151ff3567154cac92983b9edc3138fa097c Author: Ralf Baechle Date: Wed Jul 11 00:07:34 2007 +0100 Revert "[MIPS] DEC: Fix modpost warning." This reverts commit 8713762acf341edea9d25d6a4817f235c67bc004. commit 3bd39664481fc51d82e58a3bec6ba77febc7dfae Author: Ralf Baechle Date: Wed Jul 11 08:32:21 2007 +0100 [MIPS] Fix resume for 64K page size on R4000 class processors. Problem reported by Peter Watkins but this is a different fix. Signed-off-by: Ralf Baechle commit d1cbbd6b413510c6512f4f80ffd48db1a8dd554a Author: Catalin Marinas Date: Wed Jul 11 11:29:39 2007 +0100 [ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs When running Linux in non-secure mode (on ARM1176 for example), depending on the CP15 secure configuration register, the CPSR.F bit (6) might only be modified from the secure mode. However, the valid_user_regs() function checks for this bit being cleared. With commit a6c61e9d, a SIGSEGV is forced in handle_signal() if the user registers are not considered valid. The patch also ensures that the CPSR.A bit is cleared and the USR mode is set if the CPU does not support the 26bit user mode. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f884b1cf578e079f01682514ae1ae64c74586602 Author: Catalin Marinas Date: Thu Jul 12 16:10:22 2007 +0100 [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file The patch moves the HWCAP definitions and the extern elf_hwcap declaration to the hwcap.h header file. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 46c41e62a1feb4ab2e941f33f06bbf8feab2d2cf Author: Russell King Date: Tue May 15 15:39:36 2007 +0100 [ARM] pxa: move platform devices to separate header file Signed-off-by: Russell King commit 34f3231f435dfb8e6c83271c63461fdd2901dc97 Author: Russell King Date: Tue May 15 10:39:49 2007 +0100 [ARM] pxa: move device registration into CPU-specific file This allows individual CPU support to determine which platform devices should be registered. Also fix a copy-n-paste bug in the I2C power platform device entry. Signed-off-by: Russell King commit 4adb70fc1b9b545ce6221f0cc35a8fa0eab13461 Author: Russell King Date: Wed Jun 27 09:57:32 2007 +0100 [ARM] pxa: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit 2aca0a865722fce435034cee5a33e1726fe10a9f Author: Russell King Date: Wed Jun 27 09:56:05 2007 +0100 [ARM] pxa: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. Firstly, we may not be using the internal RTC for time keeping; some platforms have an external RTC for this inspite of the PXA having an internal RTC. Secondly, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit f53f066c25036210036730d64c876ea586114425 Author: Eric Miao Date: Fri Jun 22 05:40:17 2007 +0100 [ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma code Since the number of dma channels varies between pxa25x and pxa27x, it introduces some specific code in dma.c. This patch moves the specific code to pxa25x.c and pxa27x.c and makes dma.c more generic. 1. add pxa_init_dma() for dma initialization, the number of channels are passed in by the argument 2. add a "prio" field to the "struct pxa_dma_channel" for the channel priority, and is initialized in pxa_init_dma() 3. use a general priority comparison with the channels "prio" field so to remove the processor specific pxa_for_each_dma_prio macro, this is not lightning fast as the original one, but it is acceptable as it happens when requesting dma, which is usually not so performance critical Signed-off-by: eric miao Acked-by: Nicolas Pitre Signed-off-by: Russell King commit cd49104d99b56383a3b1fdce2f31018197093c31 Author: Eric Miao Date: Fri Jun 22 04:14:09 2007 +0100 [ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq() /* should be ok this time, I aligned this patch to your arm:pxa2.mbox */ 1. move pxa25x specific IRQ initialization code to pxa25x_init_irq() and pxa27x code to pxa27x_init_irq(), remove pxa_init_irq() 2. replace all pxa_init_irq() with their PXA25x or PXA27x specific functions Signed-off-by: eric miao Signed-off-by: Russell King commit 8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa Author: Eric Miao Date: Wed Jun 6 06:49:59 2007 +0100 [ARM] 4440/1: PXA: enable the checking of ICIP2 for IRQs ICIP2 is not examined during IRQ entrance, this patch add the checking if the processor is PXA27x or later, with CoreG bits in CPUID (Core Generation) > 1 Signed-off-by: eric miao Signed-off-by: Russell King commit 4a3dcd35c82a2a25b2832502290e1a3f1571e9ef Author: Eric Miao Date: Wed Jun 6 06:45:18 2007 +0100 [ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler() 1. use GPIO_IRQ_mask[] to select those bits of interest, actually only those "unmasked" GPIO IRQs with their corresponding bits in GPIO_IRQ_mask[] set to "1" should be checked 2. remove #ifdef PXA_LAST_GPIO > 96 .. #endif, GPIO_IRQ_mask[] is used to mask out the irrelevant bits, so that even though the GEDR3 on PXA25x is reserved, it will be masked, and the following code will never run. Another point is that GPIO85- GPIO95 bits within GEDR2 will also be masked out on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 348f2e3b2956e30f07d2507d7234c3f12a8a612d Author: Eric Miao Date: Wed Jun 6 06:37:15 2007 +0100 [ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio() move the GPIO IRQ initialization code to pxa_init_irq_gpio() Signed-off-by: eric miao Signed-off-by: Russell King commit 53665a50fdac6fe11e0dde4e2b95700ed5184dc4 Author: Eric Miao Date: Wed Jun 6 06:36:04 2007 +0100 [ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low() 1. move low IRQ initialization code to pxa_init_irq_low() Signed-off-by: eric miao Signed-off-by: Russell King commit c08b7b3ef6bf489ddabadc03e050f3db2ea44b5d Author: Eric Miao Date: Wed Jun 6 06:32:38 2007 +0100 [ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS 1. define PXA_GPIO_IRQ_BASE to be right after the internal IRQs, and define PXA_GPIO_IRQ_NUM to be 128 for all PXA2xx variants 2. make the code specific to the high IRQ numbers (32..64) to be PXA27x specific 3. add a function pxa_init_irq_high() to initialize the internal high IRQ chip, the invoke of this function could be moved to PXA27x specific initialization code Signed-off-by: eric miao Signed-off-by: Russell King commit 486c955118dbbb0f13dc4d40cc5dac2b23f82676 Author: Eric Miao Date: Wed Jun 6 06:22:20 2007 +0100 [ARM] 4434/1: PXA: remove PXA_IRQ_SKIP 1. PXA_IRQ_SKIP is defined to be 7 on PXA25x so that the first IRQ starts from zero. This makes IRQ numbering inconsistent between PXA25x and PXA27x. Remove this macro so that the same IRQ_XXXXX definition has the same value on both PXA25x and PXA27x. 2. make IRQ_SSP3..IRQ_PWRI2C valid only if PXA27x is defined, this avoids unintentional use of these macros on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 88dfe98c688e1700a4a9f73f8b7d570f4f52170d Author: Russell King Date: Tue May 15 11:22:48 2007 +0100 [ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare() pxa_pm_prepare() tried to validate the suspend method type. As noted in previous commits: eb9289eb20df6b54214c45ac7c6bf5179a149026 9c372d06ce9ddf65e1393f9ea22a6d6bd5f96b42 e8c9c502690efd24b7055bf608e7a3c34216848b the checking of the suspend type in the 'prepare' method is the wrong place to do this; use the 'valid' method instead. This means that pxa_pm_prepare() can be entirely removed. Signed-off-by: Russell King commit e176bb05fec4c00450302a75e81f8da3dc9e309e Author: Russell King Date: Tue May 15 11:16:10 2007 +0100 [ARM] pxa: move pm_ops structure into CPU specific files Move the pm_ops structure into the PXA25x and PXA27x support files. Remove the old pxa_pm_prepare() function, and rename the both pxa_cpu_pm_prepare() functions as pxa_pm_prepare(). We'll fix that later. Signed-off-by: Russell King commit b23170c01f6e4ea043df7cd9486c2488e01f3d60 Author: Russell King Date: Tue May 15 10:26:49 2007 +0100 [ARM] pxa: introduce cpu_is_pxaXXX macros Signed-off-by: Russell King commit 7a2b94bc39915041304578188441f0f21aa5532a Author: Russell King Date: Wed May 16 15:44:37 2007 +0100 [ARM] pxa: remove MMC register defines from pxa-regs.h pxamci.h redefines the MMC registers differently so they can be used with ioremap. Remove the incompatible definitions from pxa-regs.h. Signed-off-by: Russell King commit f4b6a0a401f2cec5e6199e805ed42f30d8c04e94 Author: Russell King Date: Tue May 15 16:49:02 2007 +0100 [ARM] pxa: use mutexes instead of semaphores Signed-off-by: Russell King commit f62c3f2c35874713ebbb6b6a4b9d9c6caaed4f14 Author: Russell King Date: Tue May 15 11:03:24 2007 +0100 [ARM] pxa: remove useless pxa_pm_finish() function pxa_pm_finish() does nothing but return zero. The core code does nothing with this return value, and will not try to call the finish method in the pm_ops structure if it is NULL. Therefore, we can remove this useless function. Signed-off-by: Russell King commit 0a85e9a271a754e352af8a8b625025017fd97449 Author: Jean Delvare Date: Thu Jul 12 14:12:32 2007 +0200 i2c-rpx: Remove This driver has been broken forever. It depends on i2c-algo-8xx which has never been in the mainline kernel. Signed-off-by: Jean Delvare commit 254db9b5e7b1b0d38a4f177c2c23a5685c78221a Author: Domen Puncer Date: Thu Jul 12 14:12:31 2007 +0200 i2c-mpc: work around missing-9th-clock-pulse bug Work around a problem reported on: http://ozlabs.org/pipermail/linuxppc-embedded/2005-July/019038.html Without this patch I2C on mpc5200 becomes unusable after a while. Tested on mpc5200 boards by Matthias Fechner and me. Signed-off-by: Domen Puncer Signed-off-by: Jean Delvare commit 1b144df1d7d69d6dd3394205933c8951dd8b6784 Author: Marc St-Jean Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New PMC MSP71xx TWI bus driver Add TWI driver for the PMC-Sierra MSP71xx devices. [JD: Drop the probe hack, don't set algo_data as we never use it, return the right error code if the driver registration fails.] Signed-off-by: Marc St-Jean Signed-off-by: Jean Delvare commit c6e16295b71ec006c8cb6d13520e9194652a6026 Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c-savage4: Delete many unused defines Signed-off-by: Jean Delvare commit e296fb7f301f3c3398adc6d991b097cfa73e1c0c Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c/tsl2550: Speed up initialization There's some redundancy in the tsl2550 initialization sequence. It is powering up the device twice, and setting the operating mode twice too. Setting things just once saves SMBus transactions, which aren't always cheap, speeding up the device initialization. Signed-off-by: Jean Delvare Cc: Rodolfo Giometti commit b9cdad74883a797952de52464d118d685cafc05a Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New bus driver for the TAOS evaluation modules This is a new I2C bus driver for the TAOS evaluation modules. Developped and tested on the TAOS TSL2550 EVM. Signed-off-by: Jean Delvare commit 7edcb9abb594a8f3b4ca756e03d01c870aeae127 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Use the internal 32-byte buffer on ICH4+ Add an ability to utilize the internal SRAM buffer on ICH4 and newer host controllers to speed up execution of block operations. I've split the code so that it is more clear which block transaction is performed. First of all the host controller's type is identified. isich4 is set when we think that the controller has the internal buffer. Then, before every block transaction, if isich4 is set, we attempt to enable the E32B bit in SMBAUXCTL register. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit ca8b9e32a11a7cbfecbef00c8451a79fe1af392e Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Various cleanups * Use defines instead of raw numbers for register bits * Fix several wrong indentations and trailing whitespace * Move hwpec timeout checking to a separate function Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit a92c344d8c640a812c7a9f5a5202d862cd052a0f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c: Add support for the TSL2550 Add support for Taos TSL2550 ambient light sensors. (http://www.taosinc.com/product_detail.asp?cateid=4&proid=18). Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 066af983c74162fa98e7c5ffa8a5ead4a6979b1f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c-pxa: Support new-style I2C drivers Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 4d6ceed4426cd85e1203a3153246334a3537f92b Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Make some internal functions static i2c_gpio_getsda() and i2c_gpio_getscl() are only used in this file. Signed-off-by: Atsushi Nemoto Acked-by: Haavard Skinnemoen Signed-off-by: Jean Delvare commit 7e69c3ac93a9a7aa29dab7179f86da67db7b0ca3 Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Add support for new-style clients Use i2c_bit_add_numbered_bus() so that the i2c-gpio adapter works well with new-style pre-declared devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Jean Delvare commit 757ba4c697244da878b65585d8cb671da1cb9eaf Author: Martin Michlmayr Date: Thu Jul 12 14:12:30 2007 +0200 i2c-iop3xx: Switch to static adapter numbering Update the IOP3xx I2C driver to use i2c_add_numbered_adapter(), so that later patches can convert boards to using new-style drivers. Signed-off-by: Martin Michlmayr Tested-by: Voipio Riku Cc: Dan J Williams Signed-off-by: Jean Delvare commit 7375cd822d600b4e8b83cbc025422e4267bf5fac Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 i2c-sis5595: Resolve resource conflict with sis5595 Let the i2c-sis5595 driver release its PCI device after registering. This is to allow the sis5595 hardware monitoring driver to also access this PCI device. The same trick is already used in the i2c-viapro and via686a drivers to let them both load. Signed-off-by: Jean Delvare commit 7d13714650ec8868f999d2dc3d06e2723687d0c3 Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 matroxfb: Clean-up i2c header inclusions matroxfb_crtc2 has nothing to do with i2c, so there's no reason why matroxfb_crtc2.h should include i2c header files. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec commit b53c82211a7239643aa7c9b4887429c30f353406 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:29 2007 +0200 i2c-nforce2: Add support for SMBus block transactions Add support for SMBus block read/write transactions to i2c-nforce2 driver, in particular to host controllers MCP51 and MCP55. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit 1469fa263870acd890a4b9f6ef557acc5d673b44 Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mpc: Use i2c_add_numbered_adapter Move the i2c-mpc driver over to using the new i2c infrastructure. Specifically, it now uses i2c_add_numbered_adapter so that the bus number can be determined ahead of time and used to register i2c clients before the bus is instantiated. Tested on an MPC5200 based board Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 65b22ad9508b609b0625eccb2680996a1e09ed16 Author: Dale Farnsworth Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mv64xxx: Use i2c_add_numbered_adapter Convert the Marvell mv64xxx I2C driver to use the new i2c infrastructure, by calling i2c_add_numbered_adapter(). This allows clients to be registered before the bus is instantiated. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Jean Delvare commit c29c22218b99dad95f7cd0281415a854aeee805c Author: Henry Su Date: Thu Jul 12 14:12:29 2007 +0200 i2c-piix4: Add support for the ATI SB700 Add the SMBus device ID for ATI SB700. Signed-off-by: Henry Su Signed-off-by: Jean Delvare commit 5162b75b24963eebe62c4d4161d0fe0b337a313b Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c: New DS1682 chip driver A driver for the Dallas DS1682 elapsed time recorder chip. Tested on a MPC5200 based board using the integrated i2c adapter. Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 4b2643d7d9bdcd776749e17f73c168ddf02e93cb Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Fix the i2c_smbus_read_i2c_block_data() prototype Let the drivers specify how many bytes they want to read with i2c_smbus_read_i2c_block_data(). So far, the block count was hard-coded to I2C_SMBUS_BLOCK_MAX (32), which did not make much sense. Many driver authors complained about this before, and I believe it's about time to fix it. Right now, authors have to do technically stupid things, such as individual byte reads or full-fledged I2C messaging, to work around the problem. We do not want to encourage that. I even found that some bus drivers (e.g. i2c-amd8111) already implemented I2C block read the "right" way, that is, they didn't follow the old, broken standard. The fact that it was never noticed before just shows how little i2c_smbus_read_i2c_block_data() was used, which isn't that surprising given how broken its prototype was so far. There are some obvious compatiblity considerations: * This changes the i2c_smbus_read_i2c_block_data() prototype. Users outside the kernel tree will notice at compilation time, and will have to update their code. * User-space has access to i2c_smbus_xfer() directly using i2c-dev, so the changed expectations would affect tools such as i2cdump. In order to preserve binary compatibility, we give I2C_SMBUS_I2C_BLOCK_DATA a new numeric value, and define I2C_SMBUS_I2C_BLOCK_BROKEN with the old numeric value. When i2c-dev receives a transaction with the old value, it can convert it to the new format on the fly. Signed-off-by: Jean Delvare commit ba7fbb723f50ab2607989a282af655fb0fab0492 Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Deprecate legacy RTC drivers We have a new RTC subsystem with better drivers. Legacy driver status: * ds1337: The DS1337 and DS1339 are now supported by the rtc-ds1307 driver, so it looks to me like we could even delete the ds1337 driver right away. * ds1374: Will soon be replaced with Scott Wood's rtc-ds1374 driver. * m41t00: The M41T00 is supported by the rtc-ds1307 driver. For the M41T81 and M41T85, the rtc-m41t80 driver written by Atsushi Nemoto should work. Signed-off-by: Jean Delvare Cc: Alessandro Zummo Acked-by: Mark A. Greer Acked-by: James Chapman Cc: Randy Vinson commit 890e037509f5b3f967b16ea0ea525c7c75b213ae Author: Jean Delvare Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Delete outdated x1205 driver documentation The x1205 driver moved to the RTC subsystem and was significantly modified since then, so just delete the outdated documentation. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 9d9c01ceff00fcba50043f500cac471ecf6752c9 Author: Matthias Kaehlcke Date: Thu Jul 12 14:12:28 2007 +0200 scx200_acb: Use mutex instead of semaphore The scx200_acb driver use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Cc: Jordan Crouse Signed-off-by: Jean Delvare commit d75d53cd571c02990d56e72f615ab11e943772f9 Author: Mark M. Hoffman Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Fix sparse warning in i2c.h Kill a sparse warning by un-nesting two container_of() calls. Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c Author: David Brownell Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Add kernel documentation Generate I2C kerneldoc; fix various glitches and add "context" sections to that documentation. Most I2C and SMBus functions still have no kerneldoc. Let me suggest providing kerneldoc for all the i2c_smbus_*() functions as a small and mostly self-contained project for anyone so inclined. :) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 909d6c6c80311f800aee338e5fa528818b115951 Author: George G. Davis Date: Tue Jun 26 01:38:27 2007 +0100 [ARM] 4453/1: Fully Decode ARM instruction set state in show_regs() tombstone The ARM show_regs() tombstone only partially decodes which ARM ISA was executing at the time a fault occurred displaying either "(T)" for the Thumb case or nothing at all for other cases. This patch therefore explicitly identifies which state the processor is in at the time of a fault: ARM, Thumb, Jazelle or JazelleEE. Signed-off-by: George G. Davis Acked-by: Catalin Marinas Signed-off-by: Russell King commit 9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a Author: Bill Gatliff Date: Thu May 31 22:02:22 2007 +0100 [ARM] 4423/1: add ATAGS support Examines the ATAGS pointer (r2) at boot, and interprets a nonzero value as a reference to an ATAGS structure. A suitable ATAGS structure replaces the kernel's command line. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 7d09e85448dfa78e3e58186c934449aaf6d49b50 Author: Catalin Marinas Date: Fri Jun 1 17:14:53 2007 +0100 [ARM] 4393/2: ARMv7: Add uncompressing code for the new CPU Id format The current arch/arm/boot/compressed/head.S code only supports cores to ARMv6 with the old CPU Id format. This patch adds support for the new ARMv6 with the new CPU Id and ARMv7 cores that no longer have the ARMv4 cache operations. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 6d78b5f9c6cf59c98d3833e09d0ed6aebd6a33d3 Author: Russell King Date: Sun Jun 3 19:26:04 2007 +0100 [ARM] Fix bounding error in ioremap_pfn() If size=16M offset=2K then we should map two supersections rather than just one. Signed-off-by: Russell King commit 4486b86368d72bcac76439638b36667b1c6a1360 Author: Russell King Date: Sun Jun 3 18:54:42 2007 +0100 [ARM] riscpc: fix decompressor font file handling font_acorn_8x8.o was being built in drivers/video/console/ twice during a build _in the same location_ - once for the kernel proper, and once for the decompressor. The result is when you came to run an install target, the kernel was always rebuilt due to this file apparantly having been built with different compiler arguments. Solve this by making a local copy at build time in the decompressor's directory. Signed-off-by: Russell King commit 8a87a996eae3d25b0670a243f4829ea4aa9eb63d Author: Andrew Victor Date: Mon May 14 14:30:15 2007 +0100 [ARM] 4377/1: KS8695: GPIO driver Driver to control the GPIO pins on the KS8695 processor. The driver natively supports the Generic GPIO interface. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit eab03b3f6609518a80eae4d1f5d78ff8f44e116a Author: Russell King Date: Sun Jun 3 18:50:49 2007 +0100 [ARM] If linux/irq.h is included, asm/irq.h is not required Signed-off-by: Russell King commit d85ed59524d936f4c2657ba39a483b4ab373a59e Author: Michael-Luke Jones Date: Sat May 26 21:58:07 2007 +0100 [ARM] 4407/1: Remove in-kernel mach id setting for gtwx5715 ixp4xx board If MACH_GTWX5715 is set in Kconfig, this code sets the mach id automatically. Howeber, this means that any IXP4xx kernel which is setup to support the gtwx5715 board will not successfully boot on any other board. If the bootloader sets the wrong mach id, it should be set correctly by a kernel shim. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit ddaca4a26efc0716708f027914bf5508e2d86cc7 Author: Michael-Luke Jones Date: Thu May 31 12:27:14 2007 +0100 [ARM] 4408/2: Fixup support for gtwx5715 ixp4xx board This patch fixes up compiling of the gtwx5715 board setup code, which has apparently been broken since 2.6.18 and the generic IRQ changes. In addition it removes some unecessary extern declarations in the gtwx5715-pci.c file. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit dcdeeb21c010e9b5cb2e91f865cd5bebb65bc31f Author: Imre Kaloz Date: Sat Jun 2 15:47:51 2007 +0100 [ARM] 4426/2: Netgear WG302 v2 and WAG302 v2 support This patch provides support for the Netgear WG302 v2 and WAG302 v2 AccessPoint series. This patch relies on the patch "Gateway 7001 series support" minimally, as they only have UART2 connected. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 46918bd13b887e8f0ae2987e690bc2af9c6c08a4 Author: Imre Kaloz Date: Sat Jun 2 15:44:08 2007 +0100 [ARM] 4425/2: Gateway 7001 series support This patch provides support for the Gateway 7001 AccessPoint series. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 4ad48b4bfa121a67ec04162d584afcfa75ed151a Author: Vladimir Barinov Date: Wed May 16 20:39:02 2007 +0100 [ARM] 4385/2: ixdp425: NAND support IXDP425 NAND support (arch specific part). The generic platform driver that is used by ixdp425 platfrom is already in upstream kernel in 2.6.22-rc1. Signed-off-by: Vladimir Barinov Signed-off-by: Ruslan Sushko Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 51198ea9478b6e10759ab07cd0b9917663c8df7a Author: Dan Williams Date: Wed Jun 6 17:51:21 2007 +0100 [ARM] 4429/2: iop13xx: expose the 'iop' attribute versions of the tpmi control registers The tpmi control registers can be accessed on the internal bus via an address with PCI attributes or IOP attributes (i.e. read-only, read-write... etc). The sas driver needs access to the iop-attribute registers for initialization. Changelog: * use ARRAY_SIZE for num_resources, Russell King Signed-off-by: Dan Williams Signed-off-by: Russell King commit 89bba43514d06478eb27e3fa9099a8ae7dee5589 Author: Pavel Pisa Date: Sun May 13 17:37:33 2007 +0100 [ARM] 4374/3: i.MX/MX1 clock event source Support clock event source based on i.MX general purpose timer in free running timer mode. Signed-off-by: Pavel Pisa Acked-by: Thomas Gleixner Acked-by: Sascha Hauer Signed-off-by: Russell King commit b3e6a508ed920698d367e5993ed056d70364d91f Author: Pavel Pisa Date: Sat May 12 14:31:17 2007 +0100 [ARM] 4373/1: i.MX/MX1 GPIO support implementation Support for generic input output for MX1 family. The implementation prevents allocation of one pin by two users, but does not store pointer to the user description permanently, because this solution would have bigger memory overhead. The simple way to integrate code with per BSP pins setup and allocation is required else all GPIO registration checking is useless. The function imx_gpio_setup_multiple_pins() can be used for this purpose in future. Signed-off-by: Pavel Pisa Signed-off-by: Russell King commit feb47225525a4194e7f6db5e745265793626ceb0 Author: Greg Ungerer Date: Mon Jun 4 06:46:26 2007 +0100 [ARM] 4428/1: modify at91 includes to handle non-MMU at91x40 family Modify the common at91 hardware support to deal with the non-MMU at91x40 family. The base RAM (which is most likely not DRAM) is set to the configured value. Virtual IO device mapping is set to be 1 to 1 with the physical addresses. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit 70672224009bc3d4d6713337b3456bc7ab71d52b Author: Greg Ungerer Date: Mon Jun 4 06:45:38 2007 +0100 [ARM] 4427/1: base Atmel at91x40 architecture defines Base at91x40 architecture support defines. These parts are somewhat simpler than the ARM9 Atmel based parts. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit b54942f8203689014f80ec89c55ccb1f48ab1166 Author: Greg Ungerer Date: Fri May 18 06:28:01 2007 +0100 [ARM] 4391/1: make at91 debug unit support optional The AT91x40 family doesn't have the debug unit like its bigger brothers. But it does have the ID and extension registers (with the bit meanings the same). Reorganize at91_dbgu.h to cater for this. This also affects the load uncompressor, since it outputs to the debug port. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit d0f9b55ece0ec1ffc9e2e57fd7a79200994aead4 Author: Andrew Victor Date: Mon Jun 4 08:41:59 2007 +0100 [ARM] 4420/2: AT91: GPIO buttons on SAM9261-EK board Register the GPIO-connected buttons on the SAM9261-EK board as a "gpio-keys" platform device. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit cdf95c73694e464cf9877cb5aa51df77f42815bc Author: Andrew Victor Date: Mon May 14 15:08:21 2007 +0100 [ARM] 4379/1: AT91: LCD support on SAM9261-EK and SAM9263-EK boards Add board-specific setup for the LCD on the Atmel AT91SAM9261-EK and AT91SAM9263-EK boards. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 3c3e69cd4c667e6ce7939d83b274d48c57779479 Author: Ben Dooks Date: Thu Jul 12 10:57:37 2007 +0100 [ARM] 4470/2: OSIRIS: large page NAND support Add support for the partition layout on the revision B modules which have large page NAND fitted. The new partition table accounts for the use of the 128KiB block parts, which means the second partition on the device is moved to the new boundary. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5ce4b1fe6c6a126f9274f19d8b2d2c8d29cd49b6 Author: Ben Dooks Date: Thu Jul 12 10:44:53 2007 +0100 [ARM] 4467/3: BAST: AX88796 device resources Add resources for the AX88796 on the Simtec BAST. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ad3613f4798e229c8885b924c88e17ab85fef96a Author: Ben Dooks Date: Wed Jul 11 11:10:42 2007 +0100 [ARM] 4469/1: ANUBIS: large page NAND support Add support for the partition layour used on the revision B modules which ship with large page NAND flash as default. The differnce between the old and new layouts is that the large page devices use 128KiB blocks, so the initial loader partition now ends at 128KiB boundary pushing the begining of partition 1 up. The rest of the partitions are in the same place as the small page NAND devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 8a9ccb7f182d15d6d6d0debb819790f25c87a30b Author: Ben Dooks Date: Thu Jul 12 10:47:35 2007 +0100 [ARM] 4468/2: ANUBIS: Add SM501 device resources Add resources for the SM501 present on the Simtec Anubis board, including the framebuffer and the I2C for DDC. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit eac1d8dab03bde6d20679c961a6409c1b786c201 Author: Ben Dooks Date: Wed Jul 11 10:14:53 2007 +0100 [ARM] 4466/1: ANUBIS: Anubis AX88796 support This patch adds the resources necessary for the AX88796 driver to attach to the AX88796 network controller fitted on the Simtec Anubis board. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 83f53220f8313f097cdf181928be13bafbb697ea Author: Vladimir Barinov Date: Tue Jul 10 13:10:04 2007 +0100 [ARM] 4432/5: davinci: pin mux support Support pin multiplexing configurations driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3d9edf09d4525dad95f98b31f31aa86b8071fab9 Author: Vladimir Barinov Date: Tue Jul 10 13:03:43 2007 +0100 [ARM] 4457/2: davinci: GPIO support Support GPIO driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: David Brownell Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3e062b07ada88edb9ffdd147e39c7df4b4418f64 Author: Vladimir Barinov Date: Tue Jun 5 16:36:55 2007 +0100 [ARM] 4430/1: davinci: clock control support Support clock control driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit f4d640c9be1979a603ed017e1e03a16ba3a4d7a1 Author: Roy Huang Date: Thu Jul 12 16:43:46 2007 +0800 Blackfin serial driver: supporting BF548-EZKIT serial port Signed-off-by: Roy Huang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8cb661d6a4b69734c393beeb523cbf86c915f374 Author: Erik Johansson Date: Thu Jul 12 16:37:00 2007 +0900 sh: fix race in parallel out-of-tree build Depending on which of the three dependencies for archprepare (in arch/sh/Makefile) get built first, the directory include/asm-sh may or may not exist when the maketools target is built. If the directory does not exist, awk will fail to generate machtypes.h. This patch fixes this by creating the directory before awk is executed. Signed-off-by: Erik Johansson Signed-off-by: Paul Mundt commit db83b991bce1b4792125d4b23bb108e8cfd5d366 Author: Michael Hennerich Date: Thu Jul 12 12:07:40 2007 +0800 Video Console: Blackfin doesnt support VGA console Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 61b59563266aa6bedaf5d45b9b25bc48bb4d3ed3 Author: Sonic Zhang Date: Thu Jul 12 17:06:45 2007 +0800 Blackfin arch: Add peripheral io API to gpio header file Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit e745106ce34553171a5d8d2450be07c0cffe39d5 Author: Sonic Zhang Date: Thu Jul 12 15:20:25 2007 +0800 Blackfin arch: set up gpio interrupt IRQ_PJ9 for BF54x ATAPI PATA driver Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit db0fa2064585a099e0c652983bd38d71ee7830f3 Author: Bryan Wu Date: Thu Jul 12 14:55:05 2007 +0800 Blackfin arch: add missing CONFIG_LARGE_ALLOCS when upstream merging Signed-off-by: Bryan Wu commit 798b77095dea2f89e42f5aaa0e5b18833fea5358 Author: Mike Frysinger Date: Thu Jul 12 14:35:15 2007 +0800 Blackfin arch: as pointed out by Robert P. J. Day, update the CPU_FREQ name to match current Kconfig Cc: Robert P. J. Day Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5cf77a5fd03c65b9dd33c283ce308a3abc4cb375 Author: Mike Frysinger Date: Thu Jul 12 14:26:26 2007 +0800 Blackfin arch: extract the entry point from the linked kernel extract the entry point from the linked kernel rather than assuming entry point == load address Signed-off-by: Bryan Wu commit c04d66bbbdbbc7b5d55c42795f29e494190f8fb3 Author: Bryan Wu Date: Thu Jul 12 17:26:31 2007 +0800 Blackfin arch: clean up some coding style issues Signed-off-by: Bryan Wu commit 1d1894749cca89f4bb013364524199b3015d7b00 Author: Mike Frysinger Date: Thu Jul 12 12:32:00 2007 +0800 Blackfin arch: combine the common code of free_initrd_mem and free_initmem Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5610db61cf2945a5e74667e952f2792c96ba53a1 Author: Michael Hennerich Date: Thu Jul 12 12:32:52 2007 +0800 Blackfin arch: Add Support for Peripheral PortMux and resouce allocation Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 520473b0775ce046d179afa686fb3222884c389d Author: Mike Frysinger Date: Thu Jul 12 12:20:20 2007 +0800 Blackfin arch: use PAGE_SIZE when doing aligns rather than hardcoded values Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b07af760c9bd8e87c3aa9275298566379ec4e9c1 Author: Sonic Zhang Date: Thu Jul 12 12:18:08 2007 +0800 Blackfin arch: fix bug set dma_address properly in dma_map_sg Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 157cc5aad94fb7025c41a60788c1bfb5299010aa Author: Michael Hennerich Date: Thu Jul 12 16:20:21 2007 +0800 Blackfin arch: Disable CACHELINE_ALIGNED_L1 for BF54x by default Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f40d24d909ad99c802a6813ff32b6feb20ab8c71 Author: Alex Landau Date: Thu Jul 12 12:11:48 2007 +0800 Blackfin arch: Port the dm9000 driver to Blackfin by using the correct low-level io routines Signed-off-by: Alex Landau Signed-off-by: Bryan Wu commit 9be343c5bcd1cf285c2150f363bc9dd7aab8b7fb Author: Michael Hennerich Date: Thu Jul 12 11:58:44 2007 +0800 Blackfin arch: There is no CDPRIO Bit in the EBIU_AMGCTL Register of BF54x arch However there are similar things in the EBIU_DDRQUE Register Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9401e618c8f70920f34893946239e24d40a3519a Author: Mike Frysinger Date: Thu Jul 12 11:50:43 2007 +0800 Blackfin arch: scrub dead code we converted to using a system call for userspace spinlocks rather than a dedicated exception long ago Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c9e27ece79f6170fd1cd1a40c5de5d93456606e7 Author: Michael Hennerich Date: Thu Jul 12 11:48:14 2007 +0800 Blackfin arch: Fix Warning add some defines in BF54x header file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d4cf291526a74cc33d33700a35b74395eec812fd Author: Adrian Bunk Date: Sun Jul 1 22:23:53 2007 +0200 security: unexport mmap_min_addr Remove unneeded export. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0 Author: Paul Moore Date: Fri Jun 29 11:48:16 2007 -0400 SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel These changes will make NetLabel behave like labeled IPsec where there is an access check for both labeled and unlabeled packets as well as providing the ability to restrict domains to receiving only labeled packets when NetLabel is in use. The changes to the policy are straight forward with the following necessary to receive labeled traffic (with SECINITSID_NETMSG defined as "netlabel_peer_t"): allow mydom_t netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; The policy for unlabeled traffic would be: allow mydom_t unlabeled_t:{ tcp_socket udp_socket rawip_socket } recvfrom; These policy changes, as well as more general NetLabel support, are included in the SELinux Reference Policy SVN tree, r2352 or later. Users who enable NetLabel support in the kernel are strongly encouraged to upgrade their policy to avoid network problems. Signed-off-by: Paul Moore Signed-off-by: James Morris commit ed0321895182ffb6ecf210e066d87911b270d587 Author: Eric Paris Date: Thu Jun 28 15:55:21 2007 -0400 security: Protection for exploiting null dereference using mmap Add a new security check on mmap operations to see if the user is attempting to mmap to low area of the address space. The amount of space protected is indicated by the new proc tunable /proc/sys/vm/mmap_min_addr and defaults to 0, preserving existing behavior. This patch uses a new SELinux security class "memprotect." Policy already contains a number of allow rules like a_t self:process * (unconfined_t being one of them) which mean that putting this check in the process class (its best current fit) would make it useless as all user processes, which we also want to protect against, would be allowed. By taking the memprotect name of the new class it will also make it possible for us to move some of the other memory protect permissions out of 'process' and into the new class next time we bump the policy version number (which I also think is a good future idea) Acked-by: Stephen Smalley Acked-by: Chris Wright Signed-off-by: Eric Paris Signed-off-by: James Morris commit 13bddc2e9d591e31bf20020dc19ea6ca85de420e Author: Tobias Oed Date: Mon Jun 11 08:56:31 2007 -0400 SELinux: Use %lu for inode->i_no when printing avc Inode numbers are unsigned long and so need to %lu as format string of printf. Signed-off-by: Tobias Oed Signed-off-by: James Morris commit 2c3c05dbcbc7b9d71549fe0e2b249f10f5a66518 Author: Stephen Smalley Date: Thu Jun 7 15:34:10 2007 -0400 SELinux: allow preemption between transition permission checks In security_get_user_sids, move the transition permission checks outside of the section holding the policy rdlock, and use the AVC to perform the checks, calling cond_resched after each one. These changes should allow preemption between the individual checks and enable caching of the results. It may however increase the overall time spent in the function in some cases, particularly in the cache miss case. The long term fix will be to take much of this logic to userspace by exporting additional state via selinuxfs, and ultimately deprecating and eliminating this interface from the kernel. Tested-by: Ingo Molnar Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 9dc9978084ea2a96b9f42752753d9e38a9f9d7b2 Author: Eric Paris Date: Mon Jun 4 17:41:22 2007 -0400 selinux: introduce schedule points in policydb_destroy() During the LSPP testing we found that it was possible for policydb_destroy() to take 10+ seconds of kernel time to complete. Basically all policydb_destroy() does is walk some (possibly long) lists and free the memory it finds. Turning off slab debugging config options made the problem go away since the actual functions which took most of the time were (as seen by oprofile) > 121202 23.9879 .check_poison_obj > 78247 15.4864 .check_slabp were caused by that. So I decided to also add some voluntary schedule points in that code so config voluntary preempt would be enough to solve the problem. Something similar was done in places like shmem_free_pages() when we have to walk a list of memory and free it. This was tested by the LSPP group on the hardware which could reproduce the problem just loading a new policy and was found to not trigger the softlock detector. It takes just as much processing time, but the kernel doesn't spend all that time stuck doing one thing and never scheduling. Someday a better way to handle memory might make the time needed in this function a lot less, but this fixes the current issue as it stands today. Signed-off-by: Eric Paris Signed-off-by: James Morris commit e47c8fc582a2c9f3cba059e543c4a056cd6bf8c4 Author: Christopher J. PeBenito Date: Wed May 23 09:12:09 2007 -0400 selinux: add selinuxfs structure for object class discovery The structure is as follows (relative to selinuxfs root): /class/file/index /class/file/perms/read /class/file/perms/write ... Each class is allocated 33 inodes, 1 for the class index and 32 for permissions. Relative to SEL_CLASS_INO_OFFSET, the inode of the index file DIV 33 is the class number. The inode of the permission file % 33 is the index of the permission for that class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0dd4ae516e7b5be89caed2532f9d953d0b1dbf01 Author: Christopher J. PeBenito Date: Wed May 23 09:12:08 2007 -0400 selinux: change sel_make_dir() to specify inode counter. Specify the inode counter explicitly in sel_make_dir(), rather than always using sel_last_ino. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0c92d7c73b6f99897c8bc7990717b9050cfc722f Author: Christopher J. PeBenito Date: Wed May 23 09:12:07 2007 -0400 selinux: rename sel_remove_bools() for more general usage. sel_remove_bools() will also be used by the object class discovery, rename it for more general use. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 Author: Christopher J. PeBenito Date: Wed May 23 09:12:06 2007 -0400 selinux: add support for querying object classes and permissions from the running policy Add support to the SELinux security server for obtaining a list of classes, and for obtaining a list of permissions for a specified class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 15028aad00ddf241581fbe74a02ec89cbb28d35d Author: Michael Chan Date: Wed Jul 11 19:49:22 2007 -0700 [TG3]: Update version to 3.78. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 70b65a2d628d2e66bbf044bb764be64949f3580c Author: Matt Carlson Date: Wed Jul 11 19:48:50 2007 -0700 [TG3]: Add missing NVRAM strapping. This patch adds a missing NVRAM strapping for 5755 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9ef8ca99749784644602535691f8cf201ee2a225 Author: Matt Carlson Date: Wed Jul 11 19:48:29 2007 -0700 [TG3]: Enable auto MDI. This patch adds automatic MDI crossover support when autonegotiation is turned off. Automatic MDI crossover allows link to be established without the use of a crossover cable. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e8f3f6cad7e423253090887bc4afe7bc844162da Author: Matt Carlson Date: Wed Jul 11 19:47:55 2007 -0700 [TG3]: Fix the polarity bit. For most pre-5705 devices, multiple link interrupts were being generated for a single physical link change. The source of the interrupts was determined to be unnecessary toggling of the MAC link polarity bit. This patch changes the way the link polarity bit gets configured. Where possible, code that dynamically configures the bit in response to link changes has been replaced by code that configures the bit once during initialization time and then leaves the bit alone. For correctness, this patch also limits the use of the bit to those devices where it is defined, namely devices before the 5705. This patch also corrects the link polarity configurations for 5700 devices when paired against a bcm5411 phy. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 469665459d26da8d0b46c70d070da1e192e48e46 Author: Michael Chan Date: Wed Jul 11 19:47:19 2007 -0700 [TG3]: Fix irq_sync race condition. Gagan Arneja pointed out that tg3_reset_task() could potentially race with another thread calling tg3_full_lock() such as the ethtool_set_xxx() functions. This may trigger the BUG_ON() in tg3_irq_quiesce() or cause the irq_sync flag to be out- of-sync. I think the easiest way to fix this is to get the tp->lock first before setting the irq_sync flag. This is safe to do because the tp->lock is never grabbed by the irq handler. This change will guarantee that the irq_sync flag updates will be serialized. We also have to change one spot to call tg3_netif_start() (which clears the irq_sync flag) before releasing the tp->lock. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit db3d99c090e0cdb34b1274767e062bfddbb384bc Author: Patrick McHardy Date: Wed Jul 11 19:46:26 2007 -0700 [NET_SCHED]: ematch: module autoloading Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 662ad4f8efd3ba2ed710d36003f968b500e6f123 Author: Stephen Hemminger Date: Wed Jul 11 19:43:52 2007 -0700 [TCP]: tcp probe wraparound handling and other changes Switch from formatting messages in probe routine and copying with kfifo, to using a small circular queue of information and formatting on read. This avoids wraparound issues with kfifo, and saves one copy. Also make sure to state correct license, rather than copying off some other driver I started with. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e06877c6fdbc67b1132be895f995acd1ff30135 Author: Patrick McHardy Date: Wed Jul 11 19:42:31 2007 -0700 [RTNETLINK]: rtnl_link: allow specifying initial device address Drivers need to validate the initial addresses in their netlink attribute validation function or manually reject them if they can't support this. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d85cba2b272a5201a60966a65a4f8c0bcc0bb71 Author: Patrick McHardy Date: Wed Jul 11 19:42:13 2007 -0700 [RTNETLINK]: rtnl_link API simplification All drivers need to unregister their devices in the module unload function. While doing so they must hold the rtnl and atomically unregister the rtnl_link ops as well. This makes the rtnl_link_unregister function that takes the rtnl itself completely useless. Provide default newlink/dellink functions, make __rtnl_link_unregister and rtnl_link_unregister unregister all devices with matching rtnl_link_ops and change the existing users to take advantage of that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8c979c26a0f093c13290320edda799d8335e50ae Author: Patrick McHardy Date: Wed Jul 11 19:45:24 2007 -0700 [VLAN]: Fix MAC address handling The VLAN MAC address handling is broken in multiple ways. When the address differs when setting it, the real device is put in promiscous mode twice, but never taken out again. Additionally it doesn't resync when the real device's address is changed and needlessly puts it in promiscous mode when the vlan device is still down. Fix by moving address handling to vlan_dev_open/vlan_dev_stop and properly deal with address changes in the device notifier. Also switch to dev_unicast_add (which needs the exact same handling). Since the set_mac_address handler is identical to the generic ethernet one with these changes, kill it and use ether_setup(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71bffe556c59a7865bf0b1ecd94530f1e296cdb0 Author: Patrick McHardy Date: Wed Jul 11 19:41:18 2007 -0700 [ETH]: Validate address in eth_mac_addr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 29578624e354f56143d92510fff33a8b2aaa2c03 Author: Olaf Kirch Date: Wed Jul 11 19:32:02 2007 -0700 [NET]: Fix races in net_rx_action vs netpoll. Keep netpoll/poll_napi from messing with the poll_list. Only net_rx_action is allowed to manipulate the list. Signed-off-by: Olaf Kirch Signed-off-by: David S. Miller commit 0caf3ead5131215cbd462d31f7658798030f793d Author: Kristoffer Ericson Date: Thu Jul 12 10:47:08 2007 +0900 sh: Kill off dead mach.c for hp6xx. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit be15d65d97f924e11ad7b59b1dc23b9db8d02209 Author: Kristoffer Ericson Date: Thu Jul 12 10:44:41 2007 +0900 sh: hd64461.h cleanup and added comments. Now that we dont have PIO mapping anymore we need to make sure we got the correct value in our headers. Some well needed comments have also been added. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit bdf4fa536ba5c6eff125f18231d54e227b1f3629 Author: Robert P. J. Day Date: Thu Jul 12 10:41:52 2007 +0900 sh: Update the alignment when 4K stacks are used. Use the newly added .bss.page_aligned section for aligning the stacks rather than THREAD_SIZE. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mundt commit e181127a7a12c5d8e29afa19d235b53bf4140cb3 Author: Paul Mundt Date: Thu Jul 12 10:40:36 2007 +0900 sh: Add a .bss.page_aligned section for 4K stacks. Signed-off-by: Paul Mundt commit aab1b16a61d653173b1c5f158c51ec08dd6605b0 Author: Paul Mundt Date: Thu Jul 12 09:48:54 2007 +0900 sh: Don't let SH-4A clobber SH-4 CFLAGS. Older compilers don't support the -m4a{,nofpu} flags, which has the side-effect of allowing FP operations to be emitted. Switch this to incremental tuning, so we at least have -m4-nofpu as a fallback for the gcc3 toolchains. Without this, certain modules emit references to __udivsi3_i4 and __sdivsi3_i4. Reported-by: Andrew Morton Signed-off-by: Paul Mundt commit bd63cb52c05bbb154f539369cae4fb9c9b6277da Author: Dave Airlie Date: Thu Jul 12 10:35:02 2007 +1000 drm: remove sarea typedefs Leave the userspace typedefs in place Signed-off-by: Dave Airlie commit e0be428e6645f2891fab6be92d1b0e9aad972e7d Author: Dave Airlie Date: Thu Jul 12 10:26:44 2007 +1000 drm: detypedef the hashtab and more of sman Signed-off-by: Dave Airlie commit 9698b4dba42eb758ad98012c21e5fbdb372fe2d9 Author: Dave Airlie Date: Thu Jul 12 10:21:05 2007 +1000 drm: de-typedef sman Signed-off-by: Dave Airlie commit 428ed6024fa74a271142f3257966e9b5e1cb37a1 Author: Dan Aloni Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: fix I/OAT for kexec Under kexec, I/OAT initialization breaks over busy resources because the previous kernel did not release them. I'm not sure this fix can be considered a complete one but it works for me. I guess something similar to the *_remove method should occur there.. Signed-off-by: Dan Aloni Signed-off-by: Chris Leech Signed-off-by: Andrew Morton commit e00c5d8b4d800b95b72b3f072e1d55d7c7034702 Author: Andrew Morton Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: warning fix net/ipv4/tcp.c: In function 'tcp_recvmsg': net/ipv4/tcp.c:1111: warning: unused variable 'available' Signed-off-by: Andrew Morton Signed-off-by: Chris Leech commit 2b1244a43be97f504494b557a7f7a65fe0d00dba Author: Chris Leech Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: Only offload copies for TCP when there will be a context switch The performance wins come with having the DMA copy engine doing the copies in parallel with the context switch. If there is enough data ready on the socket at recv time just use a regular copy. Signed-off-by: Chris Leech commit 91a6902958f052358899f58683d44e36228d85c2 Author: Zhang Rui Date: Sat Jun 9 13:57:22 2007 +0800 sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes Well, first of all, I don't want to change so many files either. What I do: Adding a new parameter "struct bin_attribute *" in the .read/.write methods for the sysfs binary attributes. In fact, only the four lines change in fs/sysfs/bin.c and include/linux/sysfs.h do the real work. But I have to update all the files that use binary attributes to make them compatible with the new .read and .write methods. I'm not sure if I missed any. :( Why I do this: For a sysfs attribute, we can get a pointer pointing to the struct attribute in the .show/.store method, while we can't do this for the binary attributes. I don't know why this is different, but this does make it not so handy to use the binary attributes as the regular ones. So I think this patch is reasonable. :) Who benefits from it: The patch that exposes ACPI tables in sysfs requires such an improvement. All the table binary attributes share the same .read method. Parameter "struct bin_attribute *" is used to get the table signature and instance number which are used to distinguish different ACPI table binary attributes. Without this parameter, we need to offer different .read methods for different ACPI table binary attributes. This is impossible as there are various ACPI tables on different platforms, and we don't know what they are until they are loaded. Signed-off-by: Zhang Rui Signed-off-by: Greg Kroah-Hartman commit 51225039f3cf9d250596d1344494b293274b9169 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: make directory dentries and inodes reclaimable This patch makes dentries and inodes for sysfs directories reclaimable. * sysfs_notify() is modified to walk sysfs_dirent tree instead of dentry tree. * sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to grab the victim dentry. * sysfs_rename_dir() and sysfs_move_dir() grab all dentries using sysfs_get_dentry() on startup. * Dentries for all shadowed directories are pinned in memory to serve as lookup start point. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 53e0ae92690c52eceb997905d85fbb42de5fff63 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: implement sysfs_get_dentry() Some sysfs operations require dentry and inode. sysfs_get_dentry() looks up and gets dentry for the specified sysfs_dirent. It finds the first ancestor with dentry attached and starts looking up dentries from there. Looking up from the nearest ancestor is necessary to support shadowed directories because we can't reliably lookup dentry for one of the shadows. Dentries for each shadow will be pinned in memory such that they can serve as the starting point for dentry lookup. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a0edd7c848945a75e2f41673f43bc37d0a5fed15 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: move sysfs_drop_dentry() to dir.c and make it static After add/remove path restructuring, the only user of sysfs_drop_dentry() is sysfs_addrm_finish(). Move sysfs_drop_dentry() to dir.c and make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fb6896da37f19be4b75154c14d1cd79231255b17 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: restructure add/remove paths and fix inode update The original add/remove code had the following problems. * parent's timestamps are updated on dentry instantiation. this is incorrect with reclaimable files. * updating parent's timestamps isn't synchronized. * parent nlink update assumes the inode is accessible which won't be true once directory dentries are made reclaimable. This patch restructures add/remove paths to resolve the above problems. Add/removal are done in the following steps. 1. sysfs_addrm_start() : acquire locks including sysfs_mutex and other resources. 2-a. sysfs_add_one() : add new sd. linking the new sd into the children list is caller's responsibility. 2-b. sysfs_remove_one() : remove a sd. unlinking the sd from the children list is caller's responsibility. 3. sysfs_addrm_finish() : release all resources and clean up. Steps 2-a and/or 2-b can be repeated multiple times. Parent's inode is looked up during sysfs_addrm_start(). If available (always at the moment), it's pinned and nlink is updated as sd's are added and removed. Timestamps are updated during finish if any sd has been added or removed. If parent's inode is not available during start, sysfs_mutex ensures that parent inode is not created till add/remove is complete. All the complexity is contained inside the helper functions. Especially, dentry/inode handling is properly hidden from the rest of sysfs which now mostly operate on sysfs_dirents. As an added bonus, codes which use these helpers to add and remove sysfs_dirents are now more structured and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3007e997de91ec59af39a3f9c91595b31ae6e08b Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: use sysfs_mutex to protect the sysfs_dirent tree As kobj sysfs dentries and inodes are gonna be made reclaimable, i_mutex can't be used to protect sysfs_dirent tree. Use sysfs_mutex globally instead. As the whole tree is protected with sysfs_mutex, there is no reason to keep sysfs_rename_sem. Drop it. While at it, add docbook comments to functions which require sysfs_mutex locking. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 5f9953237f684ea1778adb9d26162da00b282225 Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: consolidate sysfs spinlocks Replace sysfs_lock and kobj_sysfs_assoc_lock with sysfs_assoc_lock. sysfs_lock was originally to be used to protect sysfs_dirent tree but mutex seems better choice, so there is no reason to keep sysfs_lock separate. Merge the two spinlocks into one. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 608e266a2d4e62c1b98c1c573064b6afe8c06a58 Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: make kobj point to sysfs_dirent instead of dentry As kobj sysfs dentries and inodes are gonna be made reclaimable, dentry can't be used as naming token for sysfs file/directory, replace kobj->dentry with kobj->sd. The only external interface change is shadow directory handling. All other changes are contained in kobj and sysfs. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit f0b0af4792d751106e2003f96af76fa95e10c68d Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement sysfs_find_dirent() and sysfs_get_dirent() Implement sysfs_find_dirent() and sysfs_get_dirent(). sysfs_dirent_exist() is replaced by sysfs_find_dirent(). These will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 380e6fbb729a55b73d5d8409551474884e0d93fc Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement SYSFS_FLAG_REMOVED flag Implement SYSFS_FLAG_REMOVED flag which currently is used only to improve sanity check in sysfs_deactivate(). The flag will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b402d72cf7b338a074e3c12b305ec79284e18845 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: rename sysfs_dirent->s_type to s_flags and make room for flags Rename sysfs_dirent->s_type to s_flags, pack type into lower eight bits and reserve the rest for flags. sysfs_type() can used to access the type. All existing sd->s_type accesses are converted to use sysfs_type(). While at it, type test is changed to equality test instead of bit-and test where appropriate. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit d0bcb5689a521df98bff7549fcb8b17499660a99 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: make sysfs_drop_dentry() access inodes using ilookup() sysfs_drop_dentry() used to go through sd->s_dentry and sd->s_parent->s_dentry to access the inodes. This is incorrect because inode can be cached without dentry. This patch makes sysfs_drop_dentry() access inodes using ilookup() on sd->s_ino. This is both correct and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 9d9307dabb3de8140fb3801bf6eb01f231dbd83d Author: Rafael J. Wysocki Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: Fix oops in sysfs_drop_dentry on x86_64 Fix oops on x86_64 caused by the dereference of dir in sysfs_drop_dentry() made before checking if dir is not NULL (cf. http://marc.info/?l=linux-kernel&m=118151626704924&w=2). Signed-off-by: Rafael J. Wysocki Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c73f18b7d95de8a007039337063a770b5fc8e7a Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: use singly-linked list for sysfs_dirent tree Make sysfs_dirent use singly linked list for its tree structure. sysfs_link_sibling() and sysfs_unlink_sibling() functions are added to handle simpler cases. It adds some complexity and cpu cycle overhead but reduced memory footprint is worthwhile on big machines. This change reduces the sizeof sysfs_dirent from 104 to 88 on 64bit and from 60 to 52 on 32bit. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8619f979898397582e366877fd5feeba7560d70c Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: slim down sysfs_dirent->s_active Make sysfs_dirent->s_active an atomic_t instead of rwsem. This reduces the size of sysfs_dirent from 136 to 104 on 64bit and from 76 to 60 on 32bit with lock debugging turned off. With lock debugging turned on the reduction is much larger. s_active starts at zero and each active reference increments s_active. Putting a reference decrements s_active. Deactivation subtracts SD_DEACTIVATED_BIAS which is currently INT_MIN and assumed to be small enough to make s_active negative. If s_active is negative, sysfs_get() no longer grants new references. Deactivation succeeds immediately if there is no active user; otherwise, it waits using a completion for the last put. Due to the removal of lockdep tricks, this change makes things less trickier in release_sysfs_dirent(). As all the complexity is contained in three s_active functions, I think it's more readable this way. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: move s_active functions to fs/sysfs/dir.c These functions are about to receive more complexity and doesn't really need to be inlined in the first place. Move them from fs/sysfs/sysfs.h to fs/sysfs/dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0b8ead82f5d9d8f08c0d1236f2e350b70a977753 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: fix root sysfs_dirent -> root dentry association The root sysfs_dirent didn't point to the root dentry fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8312a8d7c1d19d31027bd4ca127ce671962c23d4 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: use iget_locked() instead of new_inode() After dentry is reclaimed, sysfs always used to allocate new dentry and inode if the file is accessed again. This causes problem with operations which only pin the inode. For example, if inotify watch is added to a sysfs file and the dentry for the file is reclaimed, the next update event creates new dentry and new inode making the inotify watch miss all the events from there on. This patch fixes it by using iget_locked() instead of new_inode(). sysfs_new_inode() is renamed to sysfs_get_inode() and inode is initialized iff the inode is newly allocated. sysfs_instantiate() is responsible for unlocking new inodes. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fc9f54b9982e14e6dbe023425c87ffbfd6992c45 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: reorganize sysfs_new_indoe() and sysfs_create() Reorganize/clean up sysfs_new_inode() and sysfs_create(). * sysfs_init_inode() is separated out from sysfs_new_inode() and is responsible for basic initialization. * sysfs_instantiate() replaces the last step of sysfs_create() and is responsible for dentry instantitaion. * type-specific initialization is moved out to the callers. * mode is specified only once when creating a sysfs_dirent. * spurious list_del_init(&sd->s_sibling) dropped from create_dir() This change is to * prepare for inode allocation fix. * separate alloc and init code for synchronization update. * make dentry/inode initialization more flexible for later changes. This patch doesn't introduce visible behavior change. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7f7cfffe60ed6271c4028ec79ae1c297b44bcb14 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: fix parent refcounting during rename and move Parent reference wasn't properly transferred during rename and move. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 42b37df6abb42ae021e15bf865b43f3629c7f3ab Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: make sysfs_alloc_ino() static sysfs_alloc_ino() isn't used out side of fs/sysfs/dir.c. Make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 driver-core: make devt_attr and uevent_attr static devt_attr and uevent_attr are either allocated dynamically with or embedded in device and class_device as they needed their owner field set to the module implementing the driver. Now that sysfs implements immediate disconnect and owner field removed from struct attribute, there is no reason to do this. Remove these attributes from [class_]device and use static attribute structures instead. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: kill unnecessary attribute->owner sysfs is now completely out of driver/module lifetime game. After deletion, a sysfs node doesn't access anything outside sysfs proper, so there's no reason to hold onto the attribute owners. Note that often the wrong modules were accounted for as owners leading to accessing removed modules. This patch kills now unnecessary attribute->owner. Note that with this change, userland holding a sysfs node does not prevent the backing module from being unloaded. For more info regarding lifetime rule cleanup, please read the following message. http://article.gmane.org/gmane.linux.kernel/510293 (tweaked by Greg to not delete the field just yet, to make it easier to merge things properly.) Signed-off-by: Tejun Heo Cc: Cornelia Huck Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit dbde0fcf9f8f6d477af3c32d9979e789ee680cde Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: reimplement sysfs_drop_dentry() This patch reimplements sysfs_drop_dentry() such that remove_dir() can use it to drop dentry instead of using a separate mechanism. With this change, making directories reclaimable is much easier. This patch used to contain fixes for two race conditions around sd->s_dentry but that part has been separated out and included into mainline early as commit 6aa054aadfea613a437ad0b15d38eca2b963fc0a and dd14cbc994709a1c5a64ed3621f583c49a27e521. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 198a2a847015805c6f57d8cc732bdaaccb494007 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: separate out sysfs_attach_dentry() Consolidate sd <-> dentry association into sysfs_attach_dentry() and call it after dentry and inode are properly set up. This is in preparation of sysfs_drop_dentry() updates. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 73107cb3ad3963c0f929ae681c05081eafb1c079 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: kill attribute file orphaning Now that sysfs_dirent can be disconnected from kobject on deletion, there is no need to orphan each attribute files. All [bin_]attribute nodes are automatically orphaned when the parent node is deleted. Kill attribute file orphaning. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0ab66088c855eca68513bdd7442a426c4b374ced Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement sysfs_dirent active reference and immediate disconnect sysfs: implement sysfs_dirent active reference and immediate disconnect Opening a sysfs node references its associated kobject, so userland can arbitrarily prolong lifetime of a kobject which complicates lifetime rules in drivers. This patch implements active reference and makes the association between kobject and sysfs immediately breakable. Now each sysfs_dirent has two reference counts - s_count and s_active. s_count is a regular reference count which guarantees that the containing sysfs_dirent is accessible. As long as s_count reference is held, all sysfs internal fields in sysfs_dirent are accessible including s_parent and s_name. The newly added s_active is active reference count. This is acquired by invoking sysfs_get_active() and it's the caller's responsibility to ensure sysfs_dirent itself is accessible (should be holding s_count one way or the other). Dereferencing sysfs_dirent to access objects out of sysfs proper requires active reference. This includes access to the associated kobjects, attributes and ops. The active references can be drained and denied by calling sysfs_deactivate(). All active sysfs_dirents must be deactivated after deletion but before the default reference is dropped. This enables immediate disconnect of sysfs nodes. Once a sysfs_dirent is deleted, it won't access any entity external to sysfs proper. Because attr/bin_attr ops access both the node itself and its parent for kobject, they need to hold active references to both. sysfs_get/put_active_two() helpers are provided to help grabbing both references. Parent's is acquired first and released last. Unlike other operations, mmapped area lingers on after mmap() is finished and the module implement implementing it and kobj need to stay referenced till all the mapped pages are gone. This is accomplished by holding one set of active references to the bin_attr and its parent if there have been any mmap during lifetime of an openfile. The references are dropped when the openfile is released. This change makes sysfs lifetime rules independent from both kobject's and module's. It not only fixes several race conditions caused by sysfs not holding onto the proper module when referencing kobject, but also helps fixing and simplifying lifetime management in driver model and drivers by taking sysfs out of the equation. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit eb36165353d0e5ac32b063f555acedcbaf6d3b75 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement bin_buffer Implement bin_buffer which contains a mutex and pointer to PAGE_SIZE buffer to properly synchronize accesses to per-openfile buffer and prepare for immediate-kobj-disconnect. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b29ac252afff87b8465b064ca2d9740cf1f6e52 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: reimplement symlink using sysfs_dirent tree sysfs symlink is implemented by referencing dentry and kobject from sysfs_dirent - symlink entry references kobject, dentry is used to walk the tree. This complicates object lifetimes rules and is dangerous - for example, there is no way to tell to which module the target of a symlink belongs and referencing that kobject can make it linger after the module is gone. This patch reimplements symlink using only sysfs_dirent tree. sd for a symlink points and holds reference to the target sysfs_dirent and all walking is done using sysfs_dirent tree. Simpler and safer. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit aecdcedaab49ca40620dc7dd70f67ee7269a66c9 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: implement kobj_sysfs_assoc_lock kobj->dentry can go away anytime unless the user controls when the associated sysfs node is deleted. This patch implements kobj_sysfs_assoc_lock which protects kobj->dentry. This will be used to maintain kobj based API when converting sysfs to use sysfs_dirent tree instead of dentry/kobject. Note that this lock belongs to kobject/driver-model not sysfs. Once sysfs is converted to not use kobject in its interface, this can be removed from sysfs. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3e5190380ebef77f2b015c9e7a4ca225a3d75021 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: make sysfs_dirent->s_element a union Make sd->s_element a union of sysfs_elem_{dir|symlink|attr|bin_attr} and rename it to s_elem. This is to achieve... * some level of type checking : changing symlink to point to sysfs_dirent instead of kobject is much safer and less painful now. * easier / standardized dereferencing * allow sysfs_elem_* to contain more than one entry Where possible, pointer is obtained by directly deferencing from sd instead of going through other entities. This reduces dependencies to dentry, inode and kobject. to_attr() and to_bin_attr() are unused now and removed. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c096b507f15397da890051ee73de4266d3941fb Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: add sysfs_dirent->s_name Add s_name to sysfs_dirent. This is to further reduce dependency to the associated dentry. Name is copied for directories and symlinks but not for attributes. Where possible, name dereferences are converted to use sd->s_name. sysfs_symlink->link_name and sysfs_get_name() are unused now and removed. This change allows symlink to be implemented using sysfs_dirent tree proper, which is the last remaining dentry-dependent sysfs walk. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 13b3086d2ea483cbcae5a4236446cecc082a72cf Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: add sysfs_dirent->s_parent Add sysfs_dirent->s_parent. With this patch, each sd points to and holds a reference to its parent. This allows walking sysfs tree without referencing sd->s_dentry which can go away anytime if the user doesn't control when it's deleted. sd->s_parent is initialized and parent is referenced in sysfs_attach_dirent(). Reference to parent is released when the sd is released, so as long as reference to a sd is held, s_parent can be followed. dentry walk in sysfs_readdir() is convereted to s_parent walk. This will be used to reimplement symlink such that it uses only sysfs_dirent tree. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a26cd7226c24c3be5dd5f48a74832fe64beb8489 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: consolidate sysfs_dirent creation functions Currently there are four functions to create sysfs_dirent - __sysfs_new_dirent(), sysfs_new_dirent(), __sysfs_make_dirent() and sysfs_make_dirent(). Other than sysfs_make_dirent(), no function has two users if calls to implement other functions are excluded. This patch consolidates sysfs_dirent creation functions into the following two. * sysfs_new_dirent() : allocate and initialize * sysfs_attach_dirent() : attach to sysfs_dirent hierarchy and/or associate with dentry This simplifies interface and gives callers more flexibility. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 996b73764e9bb9d5e751fd15b130ba38637d66a8 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten and fix sysfs_rename_dir() error handling Error handling in sysfs_rename_dir() was broken. * When lookup_one_len() fails, 0 is returned. * If parent inode check fails, returns with inode mutex and rename rwsem held. This patch fixes the above bugs and flattens error handling such that it's more readable and easier to modify. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dfeb9fb0343363aadc3ee00a9347d120bc2a26b1 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten cleanup paths in sysfs_add_link() and create_dir() Flatten cleanup paths in sysfs_add_link() and create_dir() to improve readability and ease further changes to these functions. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 93e3cd8270d036953120eca83610f95d3f7374c6 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: fix error handling in binattr write() Error handling in fs/sysfs/bin.c:write() was wrong because size_t count is used to receive return value from flush_write() which is negative on failure. This patch updates write() such that int variable is used instead. read() is updated the same way for consistency. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7a23ad44047b1084a032bc0d127fe08af024593a Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: make sysfs_put() ignore NULL sd Make sysfs_put() ignore NULL sd instead of oopsing. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b611bb7abdcc08278453fc9f6517401fd69ef95 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: allocate inode number using ida sysfs used simple incrementing allocator which is not guaranteed to be unique. This patch makes sysfs use ida to give each sd a unique and packed inode number. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fa7f912ad4ae0ed7591add52422e48282389652d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: move release_sysfs_dirent() to dir.c There is no reason this function should be inlined and soon to follow sysfs object reference simplification will make it heavier. Move it to dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 72dba584b695d8bc8c1a50ed54ad4cba7c62314d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 ida: implement idr based id allocator Implement idr based id allocator. ida is used the same way idr is used but lacks id -> ptr translation and thus consumes much less memory. struct ida_bitmap is attached as leaf nodes to idr tree which is managed by the idr code. Each ida_bitmap is 128bytes long and contains slightly less than a thousand slots. ida is more aggressive with releasing extra resources acquired using ida_pre_get(). After every successful id allocation, ida frees one reserved idr_layer if possible. Reserved ida_bitmap is not freed automatically but only one ida_bitmap is reserved and it's almost always used right away. Under most circumstances, ida won't hold on to memory for too long which isn't actively used. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit e33ac8bdb0c84fe7afd2c45537b763faf28c589e Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: separate out idr_mark_full() Separate out idr_mark_full() from sub_alloc() and make marking the allocated slot full the responsibility of idr_get_new_above_int(). Allocation part of idr_get_new_above_int() is renamed to idr_get_empty_slot(). New idr_get_new_above_int() allocates a slot using the function, install the user pointer and marks it full using idr_mark_full(). This change doesn't introduce any behavior change. This will be used by ida. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7aae6dd80e265aa9402ed507caaff4a5dba55069 Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: fix obscure bug in allocation path In sub_alloc(), when bitmap search fails, it goes up one level to continue search. This is done by updating the id cursor and searching the upper level again. If the cursor was at the end of the upper level, we need to go further than that. This wasn't implemented and when that happens the part of the cursor which indexes into the upper level wraps and sub_alloc() ends up searching the wrong bitmap. It allocates id which doesn't match the actual slot. This patch fixes this by restarting from the top if the search needs to go higher than one level. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dc0afa8388972a9ed7c2203cc46d8df1a4713f65 Author: Cornelia Huck Date: Mon Jul 9 11:39:18 2007 -0700 Driver core: coding style cleanup This converts code of the form if ((error = some_func())) goto fixup; to error = some_func(); if (error) goto fixup; Signed-off-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 93160c6397e460bc4c7ac15323fb698f91ef02e5 Author: Rafael J. Wysocki Date: Mon Jul 9 11:39:19 2007 -0700 PM: do not use saved_state from struct dev_pm_info on ARM The saved_state member of 'struct dev_pm_info' that's going to be removed is used in arch/arm/common/locomo.c, arch/arm/common/sa1111.c and arch/arm/mach-sa1100/neponset.c. Change the code in there to use local variables for saving the state of devices during suspend. Signed-off-by: Rafael J. Wysocki Cc: Greg KH Cc: David Brownell Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 43a49f8baa6b0e7e5b68ed0ee141e1efacfd9ae6 Author: Rafael J. Wysocki Date: Sun Jun 17 19:50:51 2007 +0200 PM: Do not check parent state in suspend and resume core code The checks if the device's parent is in the right state done in drivers/base/power/suspend.c and drivers/base/power/resume.c serve no particular purpose, since if the parent is in a wrong power state, the device's suspend or resume callbacks are supposed to return an error anyway. Moreover, they are also useless from the sanity checking point of view, because they rely on the code being checked to set dev->parent->power.power_state.event appropriately, which need not happen if that code is buggy. For these reasons they can be removed. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1c3f7d1c79425dd8f627b8da139fd1855f096b6e Author: Rafael J. Wysocki Date: Sun Jun 17 19:49:20 2007 +0200 PM: Remove power_state.event checks from suspend core code The suspend routines should be called for every device during a system sleep transition, regardless of the device's state, so that drivers can regard these method calls as notifications that the system is about to go to sleep, rather than as directives to put their devices into the 'off' state. This is documented in Documentation/power/devices.txt and is already done in the core resume code, so it seems reasonable to make the core suspend code behave accordingly. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 515c53576299e32d6bdb6295cfa2fe1307516eb4 Author: Rafael J. Wysocki Date: Sun Jun 17 19:48:06 2007 +0200 PM: Remove prev_state from struct dev_pm_info The prev_state member of struct dev_pm_info (defined in include/linux/pm.h) is only used during a resume to check if the device's state before the suspend was 'off', in which case the device is not resumed. However, in such cases the decision whether or not to resume the device should be made on the driver level and the resume callbacks from the device's bus and class should be executed anyway (the may be needed for some things other than just powering on the device). Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 2a0134554e12f530c6eccb1dab3f0f8954f855c9 Author: Adrian Bunk Date: Mon Jun 18 01:42:54 2007 +0200 Driver core: fix devres_release_all() return value Every file should include the headers containing the prototypes for it's global functions. Since the GNU C compiler is now able to detect that the function prototype of devres_release_all() in the header and the actual function disagree regarding the return value, this patch also fixes this bug. Signed-off-by: Adrian Bunk Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ab71c6f0767bcbc618f3db51f668d5b951c00b60 Author: Stefan Richter Date: Sun Jun 17 11:02:12 2007 +0200 driver core: fix kernel doc of device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 1f5681aae8feadd113644c9e077152416c12b75c Author: Stefan Richter Date: Sun Jun 17 11:01:18 2007 +0200 driver core: properly get driver in device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit f8916c11a4dc4cb2367e9bee1788f4e0f1b4eabc Author: Michael S. Tsirkin Date: Sun Jun 10 22:39:12 2007 +0300 Driver core: include linux/mutex.h from attribute_container.c attribute_container.c uses DEFINE_MUTEX, so while linux/mutex.h seems to be pulled in indirectly by one of the headers it includes, the right thing is to include linux/mutex.h directly. Signed-off-by: Michael S. Tsirkin commit 9e584a4fe58881e2dc8f09bdf8444b199ab5ecaf Author: Rafael J. Wysocki Date: Wed Jun 13 16:19:27 2007 +0200 PM: Simplify suspend_device Reduce code duplication in drivers/base/suspend.c by introducing a separate function for printing diagnostic messages. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit cc4900690bf77257996e90f0059eb074b8db52e6 Author: Rafael J. Wysocki Date: Wed Jun 13 15:55:34 2007 +0200 PM: Remove saved_state from struct dev_pm_info The saved_state member of struct dev_pm_info, defined in include/linux/pm.h, is not used anywhere, so it can be removed. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 9cddad77574313fcee36c5e60122718daa7c0361 Author: Rafael J. Wysocki Date: Wed Jun 13 15:53:34 2007 +0200 PM: Remove pm_parent from struct dev_pm_info The pm_parent member of struct dev_pm_info (defined in include/linux/pm.h) is only used to check if the device's parent is in the right state while the device is being suspended or resumed. However, this can be done just as well with the help of the parent pointer in struct device, so pm_parent can be removed along with some code that handles it. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 11048dcf333c414f237bb713c422e68f67b115a3 Author: Matthias Kaehlcke Date: Wed May 23 14:19:41 2007 -0700 Power Management: use mutexes instead of semaphores The Power Management code uses semaphores as mutexes. Use the mutex API instead of the (binary) semaphores. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9f3f776bd9e3d52f0204db1df0914b50d6a2372e Author: Matthias Kaehlcke Date: Wed May 23 14:19:42 2007 -0700 sysdev: use mutex instead of semaphore The sysdev code use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 80f03e349f06a261a8e980bf6005c61811a0d66a Author: Kay Sievers Date: Sat May 26 11:21:36 2007 +0200 Driver core: add missing kset uevent We get uevents for a bus/class going away, but not one registering. Add the missing uevent in kset_register(), which will send an event for a new bus/class. Suppress all unwanted uevents for bus subdirectories like /bus/*/devices/, /bus/*/drivers/. Now we get for module usbcore: add /module/usbcore (module) add /bus/usb (bus) add /class/usb_host (class) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb (bus) remove /module/usbcore (module) instead of: add /module/usbcore (module) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb/drivers (bus) remove /bus/usb/devices (bus) remove /bus/usb (bus) remove /module/usbcore (module) Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4f5c791a850e5305a5b1b48d0e4b4de248dc96f9 Author: Lennart Poettering Date: Tue May 8 22:07:02 2007 +0200 DMI-based module autoloading The patch below adds DMI/SMBIOS based module autoloading to the Linux kernel. The idea is to load laptop drivers automatically (and other drivers which cannot be autoloaded otherwise), based on the DMI system identification information of the BIOS. Right now most distros manually try to load all available laptop drivers on bootup in the hope that at least one of them loads successfully. This patch does away with all that, and uses udev to automatically load matching drivers on the right machines. Basically the patch just exports the DMI information that has been parsed by the kernel anyway to userspace via a sysfs device /sys/class/dmi/id and makes sure that proper modalias attributes are available. Besides adding the "modalias" attribute it also adds attributes for a few other DMI fields which might be useful for writing udev rules. This patch is not an attempt to export the entire DMI/SMBIOS data to userspace. We already have "dmidecode" which parses the complete DMI info from userspace. The purpose of this patch is machine model identification and good udev integration. To take advantage of DMI based module autoloading, a driver should export one or more MODULE_ALIAS fields similar to these: MODULE_ALIAS("dmi:*:svnMICRO-STARINT'LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); These lines are specific to my msi-laptop.c driver. They are basically just a concatenation of a few carefully selected DMI fields with all potentially bad characters stripped. Besides laptop drivers, modules like "hdaps", the i2c modules and the hwmon modules are good candidates for "dmi:" MODULE_ALIAS lines. Besides merely exporting the DMI data via sysfs the patch adds support for a few more DMI fields. Especially the CHASSIS fields are very useful to identify different laptop modules. The patch also adds working MODULE_ALIAS lines to my msi-laptop.c driver. I'd like to thank Kay Sievers for helping me to clean up this patch for posting it on lkml. Patch is against Linus' current GIT HEAD. Should probably apply to older kernels as well without modification. Signed-off-by: Lennart Poettering Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cfc94cdf8e0f14e692a5a40ef3cc10f464b2511b Author: Jan Kara Date: Wed May 9 13:19:52 2007 +0200 debugfs: add rename for debugfs files Implement debugfs_rename() to allow renaming files/directories in debugfs. Signed-off-by: Jan Kara Signed-off-by: Greg Kroah-Hartman commit 46336009b5009e9fab3bd623a3beb9c7421545ac Author: Kay Sievers Date: Fri Jun 8 13:36:37 2007 -0700 Rules on how to use sysfs in userspace programs Here's a document to help clear things up. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 36e235901f90fb83215be43cbd8f1ca14661ea40 Author: Matthew Wilcox Date: Tue Jul 10 10:54:40 2007 -0600 PCI: Only build PCI syscalls on architectures that want them The PCI syscalls are built on every architecture except X86, but only a few have ever hooked them up. Use a new Kconfig symbol to save a couple of kB on the architectures that have never used the syscalls. Tested on x86 and ia64 only. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 5463d9f0f323123d96989d318ac9c537158ad0a5 Author: Randy Dunlap Date: Thu Jun 28 16:04:21 2007 -0700 PCI: limit pci_get_bus_and_slot to domain 0 Limit pci_get_bus_and_slot() to domain (segment) 0 since domain is not specified in the function call and defaulting to domain 0 is the only reasonable thing to do (rather than returning a device from some other unknown domain). Signed-off-by: Randy Dunlap Acked-by: H. Peter Anvin Signed-off-by: Greg Kroah-Hartman commit 0bbd6424c55f0ab9e7fcd6a851bc49e265259ff5 Author: Gary Hade Date: Thu Jul 5 11:10:48 2007 -0700 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure On some systems, the ACPI bus check event can reference a bridge that is higher in the ACPI hierarchy than the bridge immediately above the hotplug PCI slot into which an adapter was just inserted. The current 'acpiphp' code expects the bus check event to reference the bridge immediately above the slot that received the adapter so the hotplug operation can fail on these systems with the message "acpiphp_glue: cannot get bridge info". This change fixes the problem by re-enumerating all slots that lie below the bridge referenced by the bus check event, including those slots that may be located under lower level PCI-to-PCI bridge(s). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9ef2241b18266d75319e7d66156243bd9010be44 Author: Gary Hade Date: Thu Jul 5 11:10:47 2007 -0700 PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge acpiphp is writing hot plug parameters to the PCI host bridge PCI config space. This patch removes the incorrect operation. Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit bfceafc5979d9055e04f03f970de6ff7a4bce1b6 Author: Gary Hade Date: Thu Jul 5 11:10:46 2007 -0700 PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 On systems where the optional _PS3 ACPI object is not implemented acpiphp fails to power off the slot. This is happening because the current code does not attempt to remove power using the _EJ0 ACPI object. This patch restores the _EJ0 evaluation attempt which was apparently inadvertently removed from the power-off sequence when the _EJ0 evaluation code was relocated from power_off_slot() to acpiphp_eject_slot(). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 5b57a6cea464fc686a6bc446f667c05901fa9734 Author: Kenji Kaneshige Date: Thu Jul 5 11:10:45 2007 -0700 PCI: hotplug: pciehp: wait for 1 second after power off slot According to the specification, we must wait for at least 1 second after turning power off before taking any action that relies on power having been removed from the slot/adapter. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit cca03dec2f0eb8f3c4578e067d2b20a366b940db Author: Andrew Lunn Date: Mon Jul 9 11:55:58 2007 -0700 PCI: pci_set_power_state(): check for PM capabilities earlier Check for PCI_CAP_ID_PM before checking the device state. Apparently fixes some log spam via the 3c59x driver. Signed-off-by: Andrew Lunn Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0bec2c85bb269446358dceae82ca7822ccfd4e9f Author: Scott Murray Date: Mon Jul 9 11:55:57 2007 -0700 PCI: cpci_hotplug: Convert to use the kthread API Signed-off-by: Christoph Hellwig Signed-off-by: Scott Murray Acked-by: Kristen Carlson Accardi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 694625c0b322905d6892fad873029f764cd4823f Author: Randy Dunlap Date: Mon Jul 9 11:55:54 2007 -0700 PCI: add pci_try_set_mwi As suggested by Andrew, add pci_try_set_mwi(), which does not require return-value checking. - add pci_try_set_mwi() without __must_check - make it return 0 on success, errno if the "try" failed or error - review callers Signed-off-by: Randy Dunlap Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f5609d7e679db3f29433f56e1f2e397a2f815288 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:54 2007 -0700 PCI: pcie: remove SPIN_LOCK_UNLOCKED Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6f6f8c2f4b59711857d14ada8e70309d52e8fae4 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:51 2007 -0700 PCI: ROUND_UP macro cleanup in drivers/pci ROUND_UP macro cleanup, use ALIGN where ever appropriate Signed-off-by: Milind Arun Choudhary Acked-by: Scott Murray Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit caa5171622c8fef70fa20d2d74f4326866039df9 Author: Jan Beulich Date: Mon Jul 9 11:55:51 2007 -0700 PCI: remove pci_dac_dma_... APIs Based on replies to a respective query, remove the pci_dac_dma_...() APIs (except for pci_dac_dma_supported() on Alpha, where this function is used in non-DAC PCI DMA code). Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Jesse Barnes Cc: Christoph Hellwig Acked-by: David Miller Cc: Jeff Garzik Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b7b095c154c50ee753832bbf78e8690c492fc8f6 Author: Andrew Morton Date: Mon Jul 9 11:55:50 2007 -0700 PCI: pci-x-pci-express-read-control-interfaces cleanups - remove unneeded local - 80-col fix Cc: Peter Oruba Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 579082df38839efc5b14aa3f48b8806e3e8dc5c2 Author: Rolf Eike Beer Date: Tue Jul 10 13:35:05 2007 +0200 PCI: Fix typo in include/linux/pci.h Signed-off-by: Rolf Eike Beer Signed-off-by: Greg Kroah-Hartman commit 12bedda9f404c4d34eda6477b0ec32140d83501b Author: Jiri Slaby Date: Mon Jun 18 10:56:52 2007 +0200 PCI: pci_ids, remove double or more empty lines pci_ids, remove two or more empty lines Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f732ee0b71365ddc20e6a0b408f9fd1732d7eb75 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: pci_ids, add atheros and 3com_2 vendors pci_ids, add atheros and 3com_2 vendors Atheros is wifi vendor. 3com_2 (0xa727) is an vendor id for one card with ath chip. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 03966e097db1a3b7aff5d364277f2e66069923df Author: Jiri Slaby Date: Mon Jun 18 10:55:30 2007 +0200 PCI: pci_ids, reorder some entries pci_ids, reorder some entries Some lines are not vendor sorted, reorder it to comply with the rest of document. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit c43eaa02abf3b034a9694dcca5c177ecb6072f89 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: i386: traps, change VENDOR to DEVICE traps, change VENDOR to DEVICE Change macro for SGI lithium (arch/i386/mach-visws/traps.c) device from VENDOR to DEVICE, because it's a device id. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 1d0ed384c1f2582b6f7408642c77a78a0c410122 Author: Jiri Slaby Date: Mon Jun 18 10:58:13 2007 +0200 PCI: ATM: lanai, change VENDOR to DEVICE lanai, change VENDOR to DEVICE There were 2 bad named macros in pci_ids (LANAI 2 and IHB). Rename it to DEVICE, because it's device id. Also make some cleanpu in pci_device_id table (use PCI_VDEVICE). Cc: Mitchell Blank Jr Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 Author: Auke Kok Date: Fri Jun 8 15:46:36 2007 -0700 PCI: Change all drivers to use pci_device->revision Instead of all drivers reading pci config space to get the revision ID, they can now use the pci_device->revision member. This exposes some issues where drivers where reading a word or a dword for the revision number, and adding useless error-handling around the read. Some drivers even just read it for no purpose of all. In devices where the revision ID is being copied over and used in what appears to be the equivalent of hotpath, I have left the copy code and the cached copy as not to influence the driver's performance. Compile tested with make all{yes,mod}config on x86_64 and i386. Signed-off-by: Auke Kok Acked-by: Dave Jones Signed-off-by: Greg Kroah-Hartman commit b8a3a5214d7cc115f1ca3a3967b7229d97c46f4a Author: Auke Kok Date: Fri Jun 8 15:46:30 2007 -0700 PCI: read revision ID by default Currently there are 97 occurrences where drivers need the pci revision ID. We can do this once for all devices. Even the pci subsystem needs the revision several times for quirks. The extra u8 member pads out nicely in the pci_dev struct. Signed-off-by: Auke Kok Signed-off-by: Greg Kroah-Hartman commit 56906c612e10b5e32a48ccbe8a3c08ab6acf5a28 Author: David Brownell Date: Mon May 7 10:26:17 2007 -0700 PCI: remove useless pci driver method Remove pointless and never-called enable_wake() hook from pci_driver and from documentation. Evidently this was introduced in the 2.4.6 kernel, but there's no evidence it was ever called; and it was rarely implemented. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e57571a07de8464f2e5911f87d2c8f29b0430fb7 Author: Adrian Bunk Date: Wed Apr 4 17:25:48 2007 +0200 PCI: unexport pci_proc_attach_device On Mon, Apr 02, 2007 at 10:47:45PM -0700, Andrew Morton wrote: >... > Changes since 2.6.21-rc5-mm3: >... > +fix-82875-pci-setup.patch >... > Misc >... pci_proc_attach_device() no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit f0dce411930d16a678173e534594bca160f5eaff Author: Stephen Hemminger Date: Wed Jun 6 11:50:34 2007 +0800 PCI aer: add pci_cleanup_aer_correct_aer_status Function to clear bogus correctable errors. Analog to pci_aer_uncorrect_are_status. The Marvell chips seem to start out with a bogus value that needs to be cleared. Yanmin ported it to 2.6.22-rc4 by fixing a fuzz patch applying info. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 65b3bc358a3195ebe459761a248cf33a61539947 Author: Stephen Hemminger Date: Wed Jun 6 11:46:49 2007 +0800 PCI aer: fix stub return values The stubs used when advanced error reporting is not enabled must have same return type as real functions. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 8d29bfb79e632fe318f4c01c9c2e8faacb89b800 Author: Zhang, Yanmin Date: Wed Jun 6 11:44:16 2007 +0800 PCI: fix AER driver error information Below patch fixes aer driver error information and enables aer driver although CONFIG_ACPI=n. As a matter of fact, the new patch is created from below 2 patches plus a minor patch apply fuzz fixing. Because the second patch fixed a compilation error introduced by the first patch, I merge them to facilitate bisect. 1) http://marc.info/?l=linux-kernel&m=117783233918191&w=2; 2) http://marc.info/?l=linux-mm-commits&m=118046936720790&w=2 Signed-off-by: Zhang Yanmin Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit f477836457730a2b925f625023ec4e5bf11015be Author: Kenji Kaneshige Date: Thu May 31 09:43:34 2007 -0700 PCI: hotplug: pciehp: Fix possible race condition in writing slot The slot control register is modified as follows: (1) Read the register value (2) Change the value (3) Write the value to the register Those must be done atomically, otherwise writing to control register would cause an unexpected result. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adf809d01043d8808e47db2d35fc07b53062884e Author: Alan Cox Date: Mon May 21 14:16:17 2007 -0700 + pci_find_slot-mark-deprecated.patch added to -mm tree We've now fixed up most users of pci_find_slot, and the remainder are either hard and need someone with the hardware and info to work on it, or patches exist but are not yet merged. Time therefore for some gentle encouragement Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a2cd52ca904f5913651e71764755e712894ccc2f Author: Michael Ellerman Date: Tue May 8 12:03:08 2007 +1000 PCI: Make pcibios_add_platform_entries() return errors Currently pcibios_add_platform_entries() returns void, but could fail, so instead have it return an int and propagate errors up to pci_create_sysfs_dev_files(). Fixes: arch/powerpc/kernel/pci_64.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result arch/powerpc/kernel/pci_32.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 575e3348cb80c3265278756778d5091d5ca4efbf Author: Michael Ellerman Date: Tue May 8 12:03:07 2007 +1000 PCI: Use a weak symbol for the empty version of pcibios_add_platform_entries() I'm not sure if this is going to fly, weak symbols work on the compilers I'm using, but whether they work for all of the affected architectures I can't say. I've cc'ed as many arch maintainers/lists as I could find. But assuming they do, we can use a weak empty definition of pcibios_add_platform_entries() to avoid having an empty definition on every arch. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit d556ad4bbe75faf17b239e151a9f003322b2e851 Author: Peter Oruba Date: Tue May 15 13:59:13 2007 +0200 PCI: add PCI-X/PCI-Express read control interfaces This patch introduces an interface to read and write PCI-X / PCI-Express maximum read byte count values from PCI config space. There is a second function that returns the maximum _designed_ read byte count, which marks the maximum value for a device, since some drivers try to set MMRBC to the highest allowed value and rely on such a function. Based on patch set by Stephen Hemminger Cc: Stephen Hemminger Signed-off-by: Peter Oruba Signed-off-by: Greg Kroah-Hartman commit e4585da22ad04a055cbb5c863a37aa8cc02eac89 Author: Alan Cox Date: Mon Apr 23 14:57:37 2007 +0100 pci syscall.c: Switch to refcounting API Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a23adb5b2db7f2a0758abfa20b0220dbcbfd7aa9 Author: Greg Kroah-Hartman Date: Thu Jun 7 13:27:09 2007 -0700 PCI: point people to Bernhard instead of the linux-kernel list Back in commit 8c4b2cf9af9b4ecc29d4f0ec4ecc8e94dc4432d7, Bernhard said that he would fix up all instances of when this message happens. So point people at him instead of the linux-kernel list which can not fix things up. Cc: Bernhard Kaindl Cc: Dave Jones Cc: Andrew Morton Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit 46ae3571526e4fc3a004053b5fb57984ca5b3eb6 Author: Greg Kroah-Hartman Date: Fri Jun 8 12:08:34 2007 +0800 PCI: remove cpqphp driver maintainer I'm no longer maintaining this driver as I no longer have the hardware and I doubt anyone else does either. Signed-off-by: Greg Kroah-Hartman commit 72d0b7a81d60f5e64ee7197bc190b9b3265f99dd Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 I/OAT: Add documentation for the tcp_dma_copybreak sysctl Signed-off-by: Chris Leech commit 70774b47392171faae0e98f795aa1507f9246af1 Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 ioatdma: Remove the use of writeq from the ioatdma driver There's only one now anyway, and it's not in a performance path, so make it behave the same on 32-bit and 64-bit CPUs. Signed-off-by: Chris Leech commit e38288117c50fe22ed1693c2d8397245bb7e1a53 Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 ioatdma: Remove the wrappers around read(bwl)/write(bwl) in ioatdma Signed-off-by: Chris Leech commit ff487fb773749124550a5ad2b7fbfe0376af6f0d Author: Jeff Garzik Date: Thu Mar 8 09:57:34 2007 -0800 drivers/dma: handle sysfs errors From: Jeff Garzik Signed-off-by: Jeff Garzik Signed-off-by: Chris Leech commit 000725d56a196e72dc22328324c5ec5506265736 Author: Chris Leech Date: Thu Mar 8 09:57:33 2007 -0800 ioatdma: Push pending transactions to hardware more frequently Every 20 descriptors turns out to be to few append commands with newer/faster CPUs. Pushing every 4 still cuts down on MMIO writes to an acceptable level without letting the DMA engine run out of work. Signed-off-by: Chris Leech commit c5d3e45a2200a0905dc45b72714726b7aac3aaf1 Author: Jeff Garzik Date: Wed Jul 11 18:30:50 2007 -0400 [libata] sata_mv: Minor cleanups and renaming, preparing for new EH & NCQ Minor cleanups, new definitions, and code movement, preparing for upcoming new-EH and NCQ changes. This commit shoult not change behavior at all. Signed-off-by: Jeff Garzik commit 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9 Author: Miklos Szeredi Date: Wed Jul 11 14:22:39 2007 -0700 [AF_UNIX]: Rewrite garbage collector, fixes race. Throw out the old mark & sweep garbage collector and put in a refcounting cycle detecting one. The old one had a race with recvmsg, that resulted in false positives and hence data loss. The old algorithm operated on all unix sockets in the system, so any additional locking would have meant performance problems for all users of these. The new algorithm instead only operates on "in flight" sockets, which are very rare, and the additional locking for these doesn't negatively impact the vast majority of users. In fact it's probable, that there weren't *any* heavy senders of sockets over sockets, otherwise the above race would have been discovered long ago. The patch works OK with the app that exposed the race with the old code. The garbage collection has also been verified to work in a few simple cases. Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit 1612b18ccb2318563ba51268289dc3271a6052f7 Author: Russ Anderson Date: Fri May 18 17:17:17 2007 -0500 [IA64] Support multiple CPUs going through OS_MCA Linux does not gracefully deal with multiple processors going through OS_MCA aa part of the same MCA event. The first cpu into OS_MCA grabs the ia64_mca_serialize lock. Subsequent cpus wait for that lock, preventing them from reporting in as rendezvoused. The first cpu waits 5 seconds then complains that all the cpus have not rendezvoused. The first cpu then handles its MCA and frees up all the rendezvoused cpus and releases the ia64_mca_serialize lock. One of the subsequent cpus going thought OS_MCA then gets the ia64_mca_serialize lock, waits another 5 seconds and then complains that none of the other cpus have rendezvoused. This patch allows multiple CPUs to gracefully go through OS_MCA. The first CPU into ia64_mca_handler() grabs a mca_count lock. Subsequent CPUs into ia64_mca_handler() are added to a list of cpus that need to go through OS_MCA (a bit set in mca_cpu), and report in as rendezvoused, and but spin waiting their turn. The first CPU sees everyone rendezvous, handles his MCA, wakes up one of the other CPUs waiting to process their MCA (by clearing one mca_cpu bit), and then waits for the other cpus to complete their MCA handling. The next CPU handles his MCA and the process repeats until all the CPUs have handled their MCA. When the last CPU has handled it's MCA, it sets monarch_cpu to -1, releasing all the CPUs. In testing this works more reliably and faster. Thanks to Keith Owens for suggesting numerous improvements to this code. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 256a7e097ba3d1179867b4c9aba1b75fb32d44f2 Author: Jes Sorensen Date: Wed Jul 11 17:26:30 2007 +0200 [IA64] silence GCC ia64 unused variable warnings Tell GCC to stop spewing out unnecessary warnings for unused variables passed to functions as pointers for ia64 files. Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 012b7105cc816fb797eb1c161cdfc0052b5c3f53 Author: Alex Chiang Date: Wed Jul 11 11:02:15 2007 -0600 [IA64] prevent MCA when performing MMIO mmap to PCI config space Example memory map (HP rx7640 with 'default' acpiconfig setting, VGA disabled): 0x00000000 - 0x3FFFBFFF supports only WB (cacheable) access If a user attempts to perform an MMIO mmap (using the PCIIOC_MMAP_IS_MEM ioctl) to PCI config space (like mmap'ing and accessing memory at 0xA0000), we will MCA because the kernel will attempt to use a mapping with the UC attribute. So check the memory attribute in kern_mmap and the EFI memmap. If WC is requested, and WC or UC access is supported for the region, allow it. Otherwise, use the same attribute the kernel uses. Updates documentation and test cases as well. Signed-off-by: Alex Chiang Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit 9e121327b37b751ef66e6f57e2d02dd568955148 Author: Dean Nelson Date: Wed Jul 11 10:22:16 2007 -0500 [IA64] add sn_register_pmi_handler oemcall Add wrapper function to make SN_SAL_REGISTER_PMI_HANDLER ia64_sal_oemcall. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 7521a3c566dda7bb09576975324fc0a08a79ad14 Author: Steve French Date: Wed Jul 11 18:30:34 2007 +0000 [CIFS] Fix oops in cifs_create when nfsd server exports cifs mount nfsd is passing null nameidata (probably the only one doing that) on call to create - cifs was missing one check for this. Note that running nfsd over a cifs mount requires specifying fsid on the nfs exports entry and requires mounting cifs with serverino mount option. Signed-off-by: Steve French commit e559e91cce3af215d78b7262360f19b95978aab3 Author: Sebastian Siewior Date: Fri Jun 22 19:47:35 2007 +0800 [CRYPTO] api: Allow ablkcipher with no queues Evgeniy's hifn driver and probably mine don't use ablkcipher->queue at all. The show method of ablkcipher will access this field without checking if it is valid. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit e69ff734e15eb7f61621f8764ce0a2181823a737 Author: Herbert Xu Date: Fri Jun 8 16:26:08 2007 +1000 [CRYPTO] cipher: Remove obsolete fields from cipher_tfm This removes all the unused block cipher fields from cipher_tfm. Signed-off-by: Herbert Xu commit ca7c39385ce1a7b44894a4b225a4608624e90730 Author: Sebastian Siewior Date: Sat May 19 19:51:21 2007 +1000 [CRYPTO] api: Handle unaligned keys in setkey setkey() in {cipher,blkcipher,ablkcipher,hash}.c does not respect the requested alignment by the algorithm. This patch fixes it. The extra memory is allocated by kmalloc() with GFP_ATOMIC flag. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit fe3c5206adc5d7395828185ab73e9a522655b984 Author: Herbert Xu Date: Sat May 19 17:51:40 2007 +1000 [CRYPTO] api: Wake up all waiters when larval completes Right now when a larval matures or when it dies of an error we only wake up one waiter. This would cause other waiters to timeout unnecessarily. This patch changes it to use complete_all to wake up all waiters. Signed-off-by: Herbert Xu commit 2e290f43ddb2331db2e308da206fe154bec91a7d Author: Jan Engelhardt Date: Fri May 18 15:11:01 2007 +1000 [CRYPTO] Kconfig: Use menuconfig objects 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 Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit 55910517af381eba4f978740e5e46e23eb269326 Author: Dave Airlie Date: Wed Jul 11 16:53:40 2007 +1000 drm: detypedeffing continues... Signed-off-by: Dave Airlie commit cdd55a294c13f8bf05b2f4fee4c96934d5ebd2e4 Author: Dave Airlie Date: Wed Jul 11 16:32:08 2007 +1000 drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs Signed-off-by: Dave Airlie commit 99d24edeb6abc6ca3a0d0fbdb83c664c04403c8c Author: Patrick McHardy Date: Tue Jul 10 23:24:52 2007 -0700 [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876) When creating a new connection by sending an unknown chunk type, we don't transition to a valid state, causing a NULL pointer dereference in sctp_packet when accessing sctp_timeouts[SCTP_CONNTRACK_NONE]. Fix by don't creating new conntrack entry if initial state is invalid. Noticed by Vilmos Nebehaj Signed-off-by: Patrick McHardy Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chris Wright Signed-off-by: David S. Miller commit 8fc2fdf4c9437576f38e97c2f5b700ec77038984 Author: Dave Airlie Date: Wed Jul 11 16:21:47 2007 +1000 drm: drop drm_vma_entry_t, drm_magic_entry_t Signed-off-by: Dave Airlie commit 056219e2fa6664ec83bc258ebcf30f1a7919d423 Author: Dave Airlie Date: Wed Jul 11 16:17:42 2007 +1000 drm: drop drm_buf_t typedef Signed-off-by: Dave Airlie commit eddca551a3e7be2fed54282f255f18efe9ead131 Author: Dave Airlie Date: Wed Jul 11 16:09:54 2007 +1000 drm: fixup other drivers for typedef removals Signed-off-by: Dave Airlie commit 56b3d975bbce65f655c5612b4822da671f9fd9b2 Author: Philippe De Muyter Date: Tue Jul 10 23:07:31 2007 -0700 [NET]: Make all initialized struct seq_operations const. Make all initialized struct seq_operations in net/ const Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 3be550f34b03e5eb762f74d447ebbeba97efbd6d Author: Patrick McHardy Date: Tue Jul 10 23:06:43 2007 -0700 [UDP]: Fix length check. Rémi Denis-Courmont wrote: > Right. By the way, shouldn't "len" rather be signed in there? > > unsigned int len; > > /* if we're overly short, let UDP handle it */ > len = skb->len - sizeof(struct udphdr); > if (len <= 0) > goto udp; It should, but the < 0 case can't happen since __udp4_lib_rcv already makes sure that we have at least a complete UDP header. Anyways, this patch fixes it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dffe4f048b420f1af0b10a6090add0c5ea69e585 Author: Micah Gruber Date: Tue Jul 10 23:04:19 2007 -0700 [IPV6]: Remove unneeded pointer idev from addrconf_cleanup(). This trivial patch removes the unneeded pointer idev returned from __in6_dev_get(), which is never used. The check for NULL can be simply done by if (__in6_dev_get(dev) == NULL). Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit ed8b548ce3cb988f59a0fd9af6ccdc4f8198cd19 Author: Ilpo Järvinen Date: Tue Jul 10 23:02:12 2007 -0700 [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h No longer needed. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4c752098f529f41abfc985426a3eca0f2cb96676 Author: YOSHIFUJI Hideaki Date: Wed May 23 13:28:48 2007 +0900 [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options. Because reversing RH0 is no longer supported by deprecation of RH0, let's make IPV6_{RECV,2292}RTHDR boolean options. Boolean are more appropriate from standard POV. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bb4dbf9e61d0801927e7df2569bb3dd8287ea301 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:55:49 2007 -0700 [IPV6]: Do not send RH0 anymore. Based on . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 84b1fd103dbbe01b5905db1444d3fc8afa9a7207 Author: Dave Airlie Date: Wed Jul 11 15:53:27 2007 +1000 drm: remove drm_file_t, drm_device_t and drm_head_t typedefs some drivers still todo. Signed-off-by: Dave Airlie commit c382bb9d32a55029fb13b118858e25908fab4617 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:47:58 2007 -0700 [IPV6]: Restore semantics of Routing Header processing. The "fix" for emerging security threat was overkill and it broke basic semantic of IPv6 routing header processing. We should assume RT0 (or even RT2, depends on configuration) as "unknown" RH type so that we - silently ignore the routing header if segleft == 0 - send ICMPv6 Parameter Problem message back to the sender, otherwise. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c9726d6890f7f3a892c879e067c3ed839f61e745 Author: Ranjit Manomohan Date: Tue Jul 10 22:43:16 2007 -0700 [NET_SCHED]: Make HTB scheduler work with TSO. Currently the HTB scheduler does not correctly account for TSO packets which causes large inaccuracies in the bandwidth control when using TSO. This patch allows the HTB scheduler to work with TSO enabled devices. Signed-off-by: Ranjit Manomohan Signed-off-by: David S. Miller commit c6c6e3e05c0b4349824efcdd36650e7be9d5c7c3 Author: Herbert Xu Date: Tue Jul 10 22:41:55 2007 -0700 [NET]: Update comments for skb checksums Rusty (whose comments we should all study and emulate :) pointed out that our comments for skb checksums are no longer up-to-date. So here is a patch to 1) add the case of partial checksums on input; 2) update partial checksum case to mention csum_start/csum_offset; 3) mention the new IPv6 feature bit. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5b7f990927fe87ad3bec762a33c0e72bcbf6841e Author: Marcel Holtmann Date: Wed Jul 11 09:51:55 2007 +0200 [Bluetooth] Add basics to better support and handle eSCO links To better support and handle eSCO links in the future a bunch of constants needs to be added and some basic routines need to be updated. This is the initial step. Signed-off-by: Marcel Holtmann commit c60ce623bd16137627009d05e311d877729f2ad6 Author: Dave Airlie Date: Wed Jul 11 15:27:12 2007 +1000 drm: remove a bunch of typedefs on the userspace interface This moves a bunch of typedefs into a !defined __KERNEL__ to keep userspace API compatiblity, it changes all internal usages to structs/enum/unions. Signed-off-by: Dave Airlie commit cfbba49d80be6cf8d3872b66fc5421f119843b36 Author: Patrick McHardy Date: Mon Jul 9 15:33:40 2007 -0700 [NET]: Avoid copying writable clones in tunnel drivers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4839c52b01ca91be1c62761e08fb3deb3881e857 Author: Philippe De Muyter Date: Mon Jul 9 15:32:57 2007 -0700 [IPV4]: Make ip_tos2prio const. Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 6b25d30bf112370a12d05c3c0fd43732985dab01 Author: Patrick McHardy Date: Mon Jul 9 15:30:19 2007 -0700 [NET]: Fix gen_estimator timer removal race As noticed by Jarek Poplawski , the timer removal in gen_kill_estimator races with the timer function rearming the timer. Check whether the timer list is empty before rearming the timer in the timer function to fix this. Signed-off-by: Patrick McHardy Acked-by: Jarek Poplawski Signed-off-by: David S. Miller commit 1498b3f1952ae539a7d5c356acf942d5f4c1aece Author: Satyam Sharma Date: Mon Jul 9 15:22:23 2007 -0700 [NETPOLL]: Fix a leak-n-bug in netpoll_cleanup() 93ec2c723e3f8a216dde2899aeb85c648672bc6b applied excessive duct tape to the netpoll beast's netpoll_cleanup(), thus substituting one leak with another, and opening up a little buglet :-) net_device->npinfo (netpoll_info) is a shared and refcounted object and cannot simply be set NULL the first time netpoll_cleanup() is called. Otherwise, further netpoll_cleanup()'s see np->dev->npinfo == NULL and become no-ops, thus leaking. And it's a bug too: the first call to netpoll_cleanup() would thus (annoyingly) "disable" other (still alive) netpolls too. Maybe nobody noticed this because netconsole (only user of netpoll) never supported multiple netpoll objects earlier. This is a trivial and obvious one-line fixlet. Signed-off-by: Satyam Sharma Signed-off-by: David S. Miller commit 5f1de3ec661e7b08348f565b7ca17586e7e94fc5 Author: Robert P. J. Day Date: Mon Jul 9 13:20:54 2007 -0700 [RXRPC]: Remove Makefile reference to obsolete RXRPC config variable Since there is no Kconfig variable RXRPC anywhere in the tree, and the variable AF_RXRPC performs exactly the same function, remove the reference to CONFIG_RXRPC from net/Makefile. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0236e667e188af0336cd776e5b54c1f3fd19a03c Author: Dan Aloni Date: Mon Jul 9 13:20:12 2007 -0700 [NETFILTER] net/ipv4/netfilter/ip_tables.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4fda25a2cd7a18e0ef9f29ba3dd6f6cd9b7ca43f Author: Adrian Bunk Date: Mon Jul 9 13:18:57 2007 -0700 [DCCP]: Make struct dccp_li_cachep static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit aa4291108f434a183207e645379414270118dccb Author: Matthias Kaehlcke Date: Mon Jul 9 13:18:12 2007 -0700 [IRDA]: use mutex instead of semaphore in VLSI 82C147 IrDA controller driver The VLSI 82C147 IrDA controller driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6f11df8355e8f59f7572bf6ac1f63d692483b0c6 Author: Andrew Morton Date: Mon Jul 9 13:16:00 2007 -0700 [NET]: "wrong timeout value in sk_wait_data()": cleanups - save 4 bytes - it's read-mostly. Signed-off-by: Andrew Morton Acked-by: Vasily Averin Signed-off-by: David S. Miller commit 60f0438a87cfd9f5faa439ca419497cd64e4c59e Author: Pavel Emelianov Date: Mon Jul 9 13:15:14 2007 -0700 [NET]: Make some network-related proc files use seq_list_xxx helpers This includes /proc/net/protocols, /proc/net/rxrpc_calls and /proc/net/rxrpc_connections files. All three need seq_list_start_head to show some header. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9af97186fcc9a1d9bbf195eb4bc2399d0dd66223 Author: Pavel Emelianov Date: Mon Jul 9 13:12:24 2007 -0700 [ATM] br2684: Use seq_list_xxx helpers The .show callback receives the list_head pointer now, not the struct br2684_dev one. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1c8c7d64169dc4b1ae3d8cd1bf35ea0a099b50ad Author: Stephen Hemminger Date: Sat Jul 7 23:03:44 2007 -0700 [NET]: netdevice mtu assumptions documentation Document the expectations about device MTU handling. The documentation about oversize packet handling is probably too loose. IMHO devices should drop oversize packets for robustness, but many devices allow it now. For example, if you set mtu to 1200 bytes, most ether devices will allow a 1500 byte frame in. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1722933323b70f44b0548131604f1f3454c2aa8f Author: Stephen Hemminger Date: Sat Jul 7 22:59:14 2007 -0700 [NET]: netdevice locking assumptions documentation Update the documentation about locking assumptions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 963bd949b12158d9b5380b718b31c4b33372ed73 Author: Ilpo Järvinen Date: Sat Jul 7 22:54:56 2007 -0700 [BNX2]: Seems to not need net/tcp.h Got bored to always recompile it for no reason. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3a334b34b62d94be0275e5c76fa153cf7fd42770 Author: Michael Chan Date: Sat Jul 7 22:52:37 2007 -0700 [BNX2]: Update version to 1.6.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 58fc2ea4057511f84deaa182b1a3612327ecbf2d Author: Michael Chan Date: Sat Jul 7 22:52:02 2007 -0700 [BNX2]: Print management firmware version. Add management firmware version for ethtool -i. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df149d70e1f34ec4995c8a703dbde38071ff4a05 Author: Michael Chan Date: Sat Jul 7 22:51:36 2007 -0700 [BNX2]: Enhance the heartbeat. In addition to the periodic heartbeat, we're adding a heartbeat request interrupt when the heartbeat is late. This is needed during netpoll where the timer is not available. -rt kernels will also benefit since the timer is not as accurate. [ We discussed this patch last time and we decided that the -rt kernel problem alone did not justify this patch. I think the netpoll problem makes this patch necessary. ] Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b8a7ce7bedb2134acb731e08e588ad92087a40ff Author: Michael Chan Date: Sat Jul 7 22:51:03 2007 -0700 [BNX2]: Reduce spurious INTA interrupts. Spurious interrupts are often encountered especially on systems using the 8259 PIC mode. This is because the I/O write to deassert the interrupt is posted and won't get to the chip immediately. As a result, the IRQ may remain asserted after the IRQ handler exits, causing spurious interrupts. Add read back to flush the I/O write to deassert the IRQ immediately. We also store the last_status_idx immediately in the IRQ handler to help detect whether the interrupt is ours or not when the IRQ is entered again before ->poll gets called. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b1084b8f99a6b5e97c0c9bc1b4455db4fa51a07 Author: Michael Chan Date: Sat Jul 7 22:50:37 2007 -0700 [BNX2]: Modify link up message. Modify the link up dmesg to report remote copper or Serdes link. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7b6b83474cb9bdd07dadfb7497a29c3005ad9d1d Author: Michael Chan Date: Sat Jul 7 22:50:15 2007 -0700 [BNX2]: Add ethtool support for remote PHY. Modify the driver's ethtool_ops->get_settings and set_settings functions to support remote PHY. Users control the remote copper PHY settings by specifying link settings for the tp (twisted pair) port. The nway_reset function is also modified to support remote PHY. mii-tool operations are not supported on remote PHY and we will return -EOPNOTSUPP. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0d8a6571051d23c214d7a316976138a6fd8bda1c Author: Michael Chan Date: Sat Jul 7 22:49:43 2007 -0700 [BNX2]: Add support for remote PHY. In blade servers, the Serdes PHY in 5708S can control the remote copper PHY through autonegotiation on the backplane. This patch adds the logic to interface with the firmware to control the remote PHY autonegotiation and to handle remote PHY link events. When remote PHY is present, the 5708S Serdes device practically becomes a copper device with full control over the 1000Base-T link settings. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9700e6befea505b03b6e625536a9a106811e9a14 Author: Michael Chan Date: Sat Jul 7 22:48:31 2007 -0700 [BNX2]: Add remote PHY bit definitions. Add new fields in struct bnx2 and other bit definitions in shared memory to support remote PHY. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit deaf391b4cc9d9f8e2b2793ebd56da776b54197a Author: Michael Chan Date: Sat Jul 7 22:48:00 2007 -0700 [BNX2]: Add bnx2_set_default_link(). Put existing code to setup the default link settings in this new function. This makes it easier to support the remote PHY feature in the next few patches. Also change ETHTOOL_ALL_FIBRE_SPEED to include 2500Mbps if supported. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5faf41535214b68c989a22302c8870f8758cbb8c Author: Balazs Scheidler Date: Sat Jul 7 22:41:01 2007 -0700 [NETFILTER]: x_tables: add more detail to error message about match/target mask mismatch Signed-off-by: Balazs Scheidler Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 585426fdc5b4cccaacf0afc8cf821ff763750ae8 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:26 2007 -0700 [NETFILTER]: nf_queue: Use RCU and mutex for queue handlers Queue handlers are registered/unregistered in only process context. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce7663d84a87bb4e1743f62950bf7dceed723a13 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:08 2007 -0700 [NETFILTER]: nfnetlink_queue: don't unregister handler of other subsystem The queue handlers registered by ip[6]_queue.ko at initialization should not be unregistered according to requests from userland program using nfnetlink_queue. If we allow that, there is no way to register the handlers of built-in ip[6]_queue again. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d53778e81ac7af266dac8a20cc328328c327112 Author: Patrick McHardy Date: Sat Jul 7 22:39:38 2007 -0700 [NETFILTER]: Convert DEBUGP to pr_debug Convert DEBUGP to pr_debug and fix lots of non-compiling debug statements. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 342b7e3c8a3c84252799c4ac4d9a604b8903d2b4 Author: Patrick McHardy Date: Sat Jul 7 22:39:16 2007 -0700 [NETFILTER]: xt_helper: use RCU The ->helper pointer is protected by RCU, no need to take nf_conntrack_lock. Also remove excessive debugging. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 91e8db80065d655ce1b6d74cadc921671e8d5285 Author: Patrick McHardy Date: Sat Jul 7 22:38:54 2007 -0700 [NETFILTER]: nf_conntrack_h323: turn some printks into DEBUGPs Don't spam the ringbuffer with decoding errors. The only printks remaining are for dropped packets when we're certain they are H.323. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3c3f4243e135b3d8c41d98be0cb2f54a4141abf Author: Patrick McHardy Date: Sat Jul 7 22:38:30 2007 -0700 [NETFILTER]: ipt_CLUSTERIP: add compat code Adjust structure size and don't expect pointers passed in from userspace to be valid. Also replace an enum in an ABI structure by a fixed size type. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3569b621ceba0a9cfb80e24c0bd19fd632ccee25 Author: Patrick McHardy Date: Sat Jul 7 22:38:07 2007 -0700 [NETFILTER]: ipt_SAME: add to feature-removal-schedule Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7ae7730fd6d98be1afe8ad9ea77813de607ec970 Author: Patrick McHardy Date: Sat Jul 7 22:37:38 2007 -0700 [NETFILTER]: nf_conntrack: early_drop improvement When the maximum number of conntrack entries is reached and a new one needs to be allocated, conntrack tries to drop an unassured connection from the same hash bucket the new conntrack would hash to. Since with a properly sized hash the average number of entries per bucket is 1, the chances of actually finding one are not very good. This patch makes it walk the hash until a minimum number of 8 entries are checked. Based on patch by Vasily Averin . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ec59a1110aee6846adada8979915cacae64042ce Author: Patrick McHardy Date: Sat Jul 7 22:37:03 2007 -0700 [NETFILTER]: nf_conntrack: mark helpers __read_mostly Most are __read_mostly already, this changes the remaining ones. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b8a7fe6c10511fce10b20efa163123f4041f2550 Author: Patrick McHardy Date: Sat Jul 7 22:36:46 2007 -0700 [NETFILTER]: nf_conntrack_helper: use hashtable for conntrack helpers Eliminate the last global list searched for every new connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f264a7df08d50bb4a23be6a9aa06940e497ac1c4 Author: Patrick McHardy Date: Sat Jul 7 22:36:24 2007 -0700 [NETFILTER]: nf_conntrack_expect: introduce nf_conntrack_expect_max sysct As a last step of preventing DoS by creating lots of expectations, this patch introduces a global maximum and a sysctl to control it. The default is initialized to 4 * the expectation hash table size, which results in 1/64 of the default maxmimum of conntracks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b560580a13b180bc1e3cad7ffbc93388cc39be5d Author: Patrick McHardy Date: Sat Jul 7 22:35:56 2007 -0700 [NETFILTER]: nf_conntrack_expect: maintain per conntrack expectation list This patch brings back the per-conntrack expectation list that was removed around 2.6.10 to avoid walking all expectations on expectation eviction and conntrack destruction. As these were the last users of the global expectation list, this patch also kills that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 31f15875c5ad98a13b528aaf19c839e22b43dc9a Author: Patrick McHardy Date: Sat Jul 7 22:35:21 2007 -0700 [NETFILTER]: nf_conntrack_helper/nf_conntrack_netlink: convert to expectation hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d08ad440feae11b8d6e7599147a8a20ac60f99a Author: Patrick McHardy Date: Sat Jul 7 22:34:07 2007 -0700 [NETFILTER]: nf_conntrack_expect: convert proc functions to hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a71c085562bcc99e8b711cab4222bff1f6e955da Author: Patrick McHardy Date: Sat Jul 7 22:33:47 2007 -0700 [NETFILTER]: nf_conntrack: use hashtable for expectations Currently all expectations are kept on a global list that - needs to be searched for every new conncetion - needs to be walked for evicting expectations when a master connection has reached its limit - needs to be walked on connection destruction for connections that have open expectations This is obviously not good, especially when considering helpers like H.323 that register *lots* of expectations and can set up permanent expectations, but it also allows for an easy DoS against firewalls using connection tracking helpers. Use a hashtable for expectations to avoid incurring the search overhead for every new connection. The default hash size is 1/256 of the conntrack hash table size, this can be overriden using a module parameter. This patch only introduces the hash table for expectation lookups and keeps other users to reduce the noise, the following patches will get rid of it completely. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e9c1b084e17ca225b6be731b819308ee0f9e04b8 Author: Patrick McHardy Date: Sat Jul 7 22:32:53 2007 -0700 [NETFILTER]: nf_conntrack: move expectaton related init code to nf_conntrack_expect.c Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cf6994c2b9812a9f02b99e89df411ffc5db9c779 Author: Patrick McHardy Date: Sat Jul 7 22:32:34 2007 -0700 [NETFILTER]: nf_conntrack_netlink: sync expectation dumping with conntrack table dumping Resync expectation table dumping code with conntrack dumping: don't rely on the unique ID anymore since that requires to walk the list backwards, which doesn't work with the upcoming conversion to hlists. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e1d4e6c5a448bd114e0cef6311c974cb7c7385e Author: Patrick McHardy Date: Sat Jul 7 22:32:03 2007 -0700 [NETFILTER]: nf_conntrack_expect: avoid useless list walking Don't walk the list when unexpecting an expectation, we already have a reference and the timer check is enough to guarantee that it still is on the list. This comment suggests that it was copied there by mistake from expectation eviction: /* choose the oldest expectation to evict */ Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d4156e8cd93f5772483928aaf4960120caebd789 Author: Patrick McHardy Date: Sat Jul 7 22:31:32 2007 -0700 [NETFILTER]: nf_conntrack: reduce masks to a subset of tuples Since conntrack currently allows to use masks for every bit of both helper and expectation tuples, we can't hash them and have to keep them on two global lists that are searched for every new connection. This patch removes the never used ability to use masks for the destination part of the expectation tuple and completely removes masks from helpers since the only reasonable choice is a full match on l3num, protonum and src.u.all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df43b4e7ca46952756b2fc039ed80469b1bff62d Author: Patrick McHardy Date: Sat Jul 7 22:31:07 2007 -0700 [NETFILTER]: nf_conntrack_ftp: use nf_ct_expect_init Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6823645d608541c2c69e8a99454936e058c294e0 Author: Patrick McHardy Date: Sat Jul 7 22:30:49 2007 -0700 [NETFILTER]: nf_conntrack_expect: function naming unification Currently there is a wild mix of nf_conntrack_expect_, nf_ct_exp_, expect_, exp_, ... Consistently use nf_ct_ as prefix for exported functions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53aba5979e1d964c0234816eda2316f1c2e7946d Author: Patrick McHardy Date: Sat Jul 7 22:30:27 2007 -0700 [NETFILTER]: nf_nat: use hlists for bysource hash Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac565e5fc104fe1842a87f2206fcfb7b6dda903d Author: Patrick McHardy Date: Sat Jul 7 22:30:08 2007 -0700 [NETFILTER]: nf_conntrack: export hash allocation/destruction functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 330f7db5e578e1e298ba3a41748e5ea333a64a2b Author: Patrick McHardy Date: Sat Jul 7 22:28:42 2007 -0700 [NETFILTER]: nf_conntrack: remove 'ignore_conntrack' argument from nf_conntrack_find_get All callers pass NULL, this also doesn't seem very useful for modules. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f205c5e0c28aa7e0fb6eaaa66e97928f9d9e6994 Author: Patrick McHardy Date: Sat Jul 7 22:28:14 2007 -0700 [NETFILTER]: nf_conntrack: use hlists for conntrack hash Convert conntrack hash to hlists to reduce its size and cache footprint. Since the default hashsize to max. entries ratio sucks (1:16), this patch doesn't reduce the amount of memory used for the hash by default, but instead uses a better ratio of 1:8, which results in the same max. entries value. One thing worth noting is early_drop. It really should use LRU, so it now has to iterate over the entire chain to find the last unconfirmed entry. Since chains shouldn't be very long and the entire operation is very rare this shouldn't be a problem. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8e5105a0c36a059dfd0f0bb9e73ee7c97d306247 Author: Patrick McHardy Date: Sat Jul 7 22:27:33 2007 -0700 [NETFILTER]: nf_conntrack: round up hashsize to next multiple of PAGE_SIZE Don't let the rest of the page go to waste. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 61eb3107cd8e0302f95aae26206e552365daf290 Author: Patrick McHardy Date: Sat Jul 7 22:27:06 2007 -0700 [NETFILTER]: nf_conntrack_extend: use __read_mostly for struct nf_ct_ext_type Also make them static. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b6b84d4a94e95727a4c65841eea23ac60c6aa329 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:35 2007 -0700 [NETFILTER]: nf_nat: merge nf_conn and nf_nat_info Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d8a0509a696de60296a66ba4fe4f9eaade497103 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:16 2007 -0700 [NETFILTER]: nf_nat: kill global 'destroy' operation This kills the global 'destroy' operation which was used by NAT. Instead it uses the extension infrastructure so that multiple extensions can register own operations. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dacd2a1a5cf621288833aa3c6e815b86a1536538 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:51 2007 -0700 [NETFILTER]: nf_conntrack: remove old memory allocator of conntrack Now memory space for help and NAT are allocated by extension infrastructure. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ff09b7493c8f433d3ffd6a31ad58d190f82ef0c5 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:28 2007 -0700 [NETFILTER]: nf_nat: remove unused nf_nat_module_is_loaded Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d59e5ca8c7113ad91452f0f9259a4b55ee90323 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:28 2007 -0700 [NETFILTER]: nf_nat: use extension infrastructure Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e54cbc1f91dea4f98b6209e693d3b5eae46321bd Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:04 2007 -0700 [NETFILTER]: nf_nat: add reference to conntrack from entry of bysource list I will split 'struct nf_nat_info' out from conntrack. So I cannot use 'offsetof' to get the pointer to conntrack from it. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ceceae1b1555a9afcb8dacf90df5fa1f20fd5466 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:42 2007 -0700 [NETFILTER]: nf_conntrack: use extension infrastructure for helper Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ecfab2c9fe5597221c2b30dec48634a2361a0d08 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:21 2007 -0700 [NETFILTER]: nf_conntrack: introduce extension infrastructure Old space allocator of conntrack had problems about extensibility. - It required slab cache per combination of extensions. - It expected what extensions would be assigned, but it was impossible to expect that completely, then we allocated bigger memory object than really required. - It needed to search helper twice due to lock issue. Now basic informations of a connection are stored in 'struct nf_conn'. And a storage for extension (helper, NAT) is allocated by kmalloc. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ba887790ce2015e8c464809c0be902fb813ad15 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:22:33 2007 -0700 [NETFILTER]: nf_nat: move NAT declarations from nf_conntrack_ipv4.h to nf_nat.h Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9f15c5302de4e8b0aac7ca24c36bf26a7fe1a513 Author: Patrick McHardy Date: Sat Jul 7 22:22:02 2007 -0700 [NETFILTER]: x_tables: mark matches and targets __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba9dda3ab5a865542e69dfe01edb2436857c9420 Author: Jozsef Kadlecsik Date: Sat Jul 7 22:21:23 2007 -0700 [NETFILTER]: x_tables: add TRACE target The TRACE target can be used to follow IP and IPv6 packets through the ruleset. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick NcHardy Signed-off-by: David S. Miller commit 1b50b8a371e90a5e110f466e4ac02cf6b5f681de Author: Jan Engelhardt Date: Sat Jul 7 22:20:36 2007 -0700 [NETFILTER]: Add u32 match Along comes... xt_u32, a revamped ipt_u32 from POM-NG, Plus: * 2007-06-02: added ipv6 support * 2007-06-05: uses kmalloc for the big buffer * 2007-06-05: added inversion * 2007-06-20: use skb_copy_bits() and get rid of the big buffer and lock (suggested by Pablo Neira Ayuso) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f4a607bfae30d15aad46e75d2ed7a39f7ce7708b Author: Jerome Borsboom Date: Sat Jul 7 22:19:48 2007 -0700 [NETFILTER]: nf_nat_sip: only perform RTP DNAT if SIP session was SNATed DNAT of the the RTP session is only necessary if the SIP session has been SNATed. Signed-off-by: Jerome Borsboom Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c4e36bc172ae1accde835b880fdc4a2c2a3df57 Author: Jan Engelhardt Date: Sat Jul 7 22:19:08 2007 -0700 [NETFILTER]: Remove redundant parentheses/braces Removes redundant parentheses and braces (And add one pair in a xt_tcpudp.c macro). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170b197c0afc621179f0f82284e331e3c252b7cf Author: Jan Engelhardt Date: Sat Jul 7 22:17:36 2007 -0700 [NETFILTER]: Remove incorrect inline markers device_cmp: the function's address is taken (call to nf_ct_iterate_cleanup) alloc_null_binding: referenced externally Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a47362a226456d8db8207e618324a2278d05d3a7 Author: Jan Engelhardt Date: Sat Jul 7 22:16:55 2007 -0700 [NETFILTER]: add some consts, remove some casts Make a number of variables const and/or remove unneeded casts. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e1931b784a8de324abf310fa3b5e3f25d3988233 Author: Jan Engelhardt Date: Sat Jul 7 22:16:26 2007 -0700 [NETFILTER]: x_tables: switch xt_target->checkentry to bool Switch the return type of target checkentry functions to boolean. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ccb79bdce71f2c04cfa9bfcbaf4d37e2f963d684 Author: Jan Engelhardt Date: Sat Jul 7 22:16:00 2007 -0700 [NETFILTER]: x_tables: switch xt_match->checkentry to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1d93a9cbad608f6398ba6c5b588c504ccd35a2ca Author: Jan Engelhardt Date: Sat Jul 7 22:15:35 2007 -0700 [NETFILTER]: x_tables: switch xt_match->match to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cff533ac12494fa002e2c46acc94d670e5f636a2 Author: Jan Engelhardt Date: Sat Jul 7 22:15:12 2007 -0700 [NETFILTER]: x_tables: switch hotdrop to bool Switch the "hotdrop" variables to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7bfe24611671ec76b44281e582b38535e21f01a9 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:14:23 2007 -0700 [NETFILTER]: ip6_tables: fix explanation of valid upper protocol number This explains the allowed upper protocol numbers. IP6T_F_NOPROTO was introduced to use 0 as Hop-by-Hop option header, not wildcard. But that seemed to be forgotten. 0 has been used as wildcard since 2002-08-23. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 558585aad0c0ef83d3d14a1c7576b1e404ca1fbc Author: Jing Min Zhao Date: Sat Jul 7 22:13:17 2007 -0700 [NETFILTER]: nf_conntrack_h323: check range first in sequence extension Check range before checking STOP flag. This optimization may save a nanosecond or less :) Signed-off-by: Jing Min Zhao Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 067b207b281db5e3f03f8d244286c20f61aa2343 Author: James Chapman Date: Thu Jul 5 17:08:05 2007 -0700 [UDP]: Cleanup UDP encapsulation code This cleanup fell out after adding L2TP support where a new encap_rcv funcptr was added to struct udp_sock. Have XFRM use the new encap_rcv funcptr, which allows us to move the XFRM encap code from udp.c into xfrm4_input.c. Make xfrm4_rcv_encap() static since it is no longer called externally. Signed-off-by: James Chapman Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 93cce3d3657bfb5d04789afcd5104f8c48700f32 Author: G. Liakhovetski Date: Mon Jul 2 22:56:57 2007 -0700 [IrDA]: tsap init routine factorisation. This patch extracts common code from irttp_open_tsap() and irttp_dup() into a new function to 1) avoid code duplication, 2) help avoid forgetting object initialization in the tsap duplication path in the future. Signed-off-by: G. Liakhovetski Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 66f5e51ed5a300291b34bf3e2b1e22ac28ca3631 Author: Samuel Ortiz Date: Mon Jul 2 22:56:15 2007 -0700 [IrDA]: kingsun-sir.c charset fix. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 411725280bd0058ebb83c0e32133b7a94902c3a6 Author: Samuel Ortiz Date: Mon Jul 2 22:55:31 2007 -0700 [IrDA]: Monitor mode. Through the IrDA netlink set mode command, we switch to IrDA monitor mode, where one IrLAP instance receives all the packets on the media, without ever responding to them. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 89da1ecf5483e6aa29b456a15ad6d05a6797c5a5 Author: Samuel Ortiz Date: Mon Jul 2 22:54:18 2007 -0700 [IrDA]: Netlink layer. First IrDA configuration netlink layer implementation. Currently, we only support the set/get mode commands. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 8c644623fe7e41f59fe97cdf666cba3cb7ced7d8 Author: Guido Guenther Date: Mon Jul 2 22:50:25 2007 -0700 [NET]: Allow group ownership of TUN/TAP devices. Introduce a new syscall TUNSETGROUP for group ownership setting of tap devices. The user now is allowed to send packages if either his euid or his egid matches the one specified via tunctl (via -u or -g respecitvely). If both, gid and uid, are set via tunctl, both have to match. Signed-off-by: Guido Guenther Signed-off-by: Jeff Dike Signed-off-by: David S. Miller commit 0ba48053831d5b89ee2afaefaae1c06eae80cb05 Author: Patrick McHardy Date: Mon Jul 2 22:49:07 2007 -0700 [NET_SCHED]: Remove unnecessary includes Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ee39e10c27ca5293c72addb95bff864095e19904 Author: Patrick McHardy Date: Mon Jul 2 22:48:13 2007 -0700 [NET_SCHED]: sch_htb: use generic estimator Use the generic estimator instead of reimplementing (parts of) it. For compatibility always create a default estimator for new classes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bdf39911e7a887c4499161422423cbaf16684e8 Author: Patrick McHardy Date: Mon Jul 2 22:47:37 2007 -0700 [NET_SCHED]: Remove unnecessary stats_lock pointers Remove stats_lock pointers from qdisc-internal structures, in all cases it points to dev->queue_lock. The only case where it is necessary is for top-level qdiscs, where it might also point to dev->ingress_lock in case of the ingress qdisc. Also remove it from actions completely, it always points to the actions internal lock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 876d48aabf30e4981653f1a0a7ae1e262b8c8b6f Author: Patrick McHardy Date: Mon Jul 2 22:46:07 2007 -0700 [NET_SCHED]: Remove CONFIG_NET_ESTIMATOR option The generic estimator is always built in anways and all the config options does is prevent including a minimal amount of code for setting it up. Additionally the option is already automatically selected for most cases. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a553e4a6317b2cfc7659542c10fe43184ffe53da Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:59 2007 -0700 [PKTGEN]: IPSEC support Added transport mode ESP support for starters. I will send more of these modes and types once i have resolved the tunnel mode isses. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 628529b6ee334fedc8d25ce56205bb99566572b9 Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:14 2007 -0700 [XFRM] Introduce standalone SAD lookup This allows other in-kernel functions to do SAD lookups. The only known user at the moment is pktgen. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 007a531b0a0c902392a3deff730acd28ce6625c7 Author: Jamal Hadi Salim Date: Mon Jul 2 22:40:36 2007 -0700 [PKTGEN]: Introduce sequential flows By default all flows in pktgen are randomly selected. This patch introduces ability to have all defined flows to be sent sequentially. Robert defined randomness to be the default behavior. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 16dab72f65a6aab0aa72866e00c91b58a2794082 Author: Jamal Hadi Salim Date: Mon Jul 2 22:39:50 2007 -0700 [PKTGEN]: Centralize packet overhead tracking Track the extra packet overhead for VLAN tags, MPLS, IPSEC etc Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit eef6caf8a916f32f8d9b2a02d4fa7674736c00ac Author: Larry Finger Date: Mon Jul 2 22:36:38 2007 -0700 [MAC80211]: Set low initial rate in rc80211_simple The initial rate for STA's using rc80211_simple is set to the last rate in the rate table. For situations for which the signal is weak, the rate may be too high for authentication and association. Although the rc80211_simple module will adjust the speed, the response may not be fast enough for a successful connection. This modification sets the initial rate to the lowest supported value. Signed-off-by: Larry Finger Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d0410051164bbbc597e15f068b53c06a954ae0d4 Author: Ilpo Järvinen Date: Mon Jul 2 22:07:22 2007 -0700 [TCP]: SACK fastpath did override adjusted fackets_out Do same adjustment to SACK fastpath counters provided that they're valid. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61cbc2fca6335be52788773b21efdc52a2750924 Author: Patrick McHardy Date: Sat Jun 30 13:35:52 2007 -0700 [NET]: Fix secondary unicast/multicast address count maintenance When a reference to an existing address is increased or decreased without hitting zero, the address count is incorrectly adjusted. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d62733c8e437fdb58325617c4b3331769ba82d70 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 21:04:31 2007 -0700 [SCHED]: Qdisc changes and sch_rr added for multiqueue Add the new sch_rr qdisc for multiqueue network device support. Allow sch_prio and sch_rr to be compiled with or without multiqueue hardware support. sch_rr is part of sch_prio, and is referenced from MODULE_ALIAS. This was done since sch_prio and sch_rr only differ in their dequeue routine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f25f4e44808f0f6c9875d94ef1c41ef86c288eb2 Author: Peter P Waskiewicz Jr Date: Fri Jul 6 13:36:20 2007 -0700 [CORE] Stack changes to add multiqueue hardware support API Add the multiqueue hardware device support API to the core network stack. Allow drivers to allocate multiple queues and manage them at the netdev level if they choose to do so. Added a new field to sk_buff, namely queue_mapping, for drivers to know which tx_ring to select based on OS classification of the flow. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a093bf006e09a305e95ff0938c0a18b7520aef67 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 20:45:47 2007 -0700 [NET]: [DOC] Multiqueue hardware support documentation Add a brief howto to Documentation/networking for multiqueue. It explains how to use the multiqueue API in a driver to support multiqueue paths from the stack, as well as the qdiscs to use for feeding a multiqueue device. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit a298830cd026b4c0cde45ef3679a5f68a17577e6 Author: Herbert Xu Date: Thu Jun 28 13:44:37 2007 -0700 [NET]: Fix TX checksum feature check This patch fixes a boolean error in the new TX checksum check that causes bogus TSO packets to be generated. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 58e50a904ec78caf4ca938801c031413b0d3f962 Author: James Chapman Date: Wed Jun 27 15:53:49 2007 -0700 [L2TP]: Add PPPoL2TP in-kernel documentation Signed-off-by: James Chapman Signed-off-by: David S. Miller commit a6d2370b0839c228ae4e680e75263ecf0a73e251 Author: James Chapman Date: Wed Jun 27 15:53:17 2007 -0700 [L2TP]: Add PPPoL2TP maintainer Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 38d15b656258b52a659fcf3e181f85b51bd1851f Author: David S. Miller Date: Wed Jun 27 15:52:25 2007 -0700 [PPPOL2TP]: Use proper printf format specifier for size_t. Signed-off-by: David S. Miller commit 3557baabf28088f49bdf72a048fd33ab62e205b1 Author: James Chapman Date: Wed Jun 27 15:49:24 2007 -0700 [L2TP]: PPP over L2TP driver core This driver handles only L2TP data frames; control frames are handled by a userspace application. It implements L2TP using the PPPoX socket family. There is a PPPoX socket for each L2TP session in an L2TP tunnel. PPP data within each session is passed through the kernel's PPP subsystem via this driver. Kernel parameters of each socket can be read or modified using ioctl() or [gs]etsockopt() calls. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit cf14a4d06742d59ecb2d837a3f53bb24d1ff9acb Author: James Chapman Date: Wed Jun 27 15:43:43 2007 -0700 [L2TP]: Changes to existing ppp and socket kernel headers for L2TP Add struct sockaddr_pppol2tp to carry L2TP-specific address information for the PPPoX (PPPoL2TP) socket. Unfortunately we can't use the union inside struct sockaddr_pppox because the L2TP-specific data is larger than the current size of the union and we must preserve the size of struct sockaddr_pppox for binary compatibility. Also add a PPPIOCGL2TPSTATS ioctl to allow userspace to obtain L2TP counters and state from the kernel. Add new if_pppol2tp.h header. [ Modified to use aligned_u64 in statistics structure -DaveM ] Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 342f0234c71b40da785dd6a7ce1dd481ecbfdb81 Author: James Chapman Date: Wed Jun 27 15:37:46 2007 -0700 [UDP]: Introduce UDP encapsulation type for L2TP This patch adds a new UDP_ENCAP_L2TPINUDP encapsulation type for UDP sockets. When a UDP socket's encap_type is UDP_ENCAP_L2TPINUDP, the skb is delivered to a function pointed to by the udp_sock's encap_rcv funcptr. If the skb isn't wanted by L2TP, it returns >0, which causes it to be passed through to UDP. Include padding to put the new encap_rcv field on a 4-byte boundary. Previously, the only user of UDP encap sockets was ESP, so when CONFIG_XFRM was not defined, some of the encap code was compiled out. This patch changes that. As a result, udp_encap_rcv() will now do a little more work when CONFIG_XFRM is not defined. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 4417da668c0021903464f92db278ddae348e0299 Author: Patrick McHardy Date: Wed Jun 27 01:28:10 2007 -0700 [NET]: dev: secondary unicast address support Add support for configuring secondary unicast addresses on network devices. To support this devices capable of filtering multiple unicast addresses need to change their set_multicast_list function to configure unicast filters as well and assign it to dev->set_rx_mode instead of dev->set_multicast_list. Other devices are put into promiscous mode when secondary unicast addresses are present. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3fba5a8b1e3df2384b90493538161e83cf15dd5f Author: Patrick McHardy Date: Wed Jun 27 01:26:58 2007 -0700 [NET]: dev_mcast: switch to generic net_device address lists Use generic net_device address lists for multicast list handling. Some defines are used to keep drivers working. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bf742482d7a647c5c6f03f78eb35a862e159ecf5 Author: Patrick McHardy Date: Wed Jun 27 01:26:19 2007 -0700 [NET]: dev: introduce generic net_device address lists Introduce struct dev_addr_list and list maintenance functions based on dev_mc_list and the related functions. This will be used by follow-up patches for both multicast and secondary unicast addresses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 75ebe8f73610636be8bbd8d73db883512850e6be Author: Patrick McHardy Date: Wed Jun 27 01:25:11 2007 -0700 [NET]: dev_mcast: unexport dev_mc_upload dev_mc_add/dev_mc_delete take care of uploading the list when necessary and thats the only interface other code should use. Also remove two incorrect calls in DECnet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d212f87b068c9d72065ef579d85b5ee6b8b59381 Author: Stephen Hemminger Date: Wed Jun 27 00:47:37 2007 -0700 [NET]: IPV6 checksum offloading in network devices The existing model for checksum offload does not correctly handle devices that can offload IPV4 and IPV6 only. The NETIF_F_HW_CSUM flag implies device can do any arbitrary protocol. This patch: * adds NETIF_F_IPV6_CSUM for those devices * fixes bnx2 and tg3 devices that need it * add NETIF_F_IPV6_CSUM to ipv6 output (incl GSO) * fixes assumptions about NETIF_F_ALL_CSUM in nat * adjusts bridge union of checksumming computation Signed-off-by: David S. Miller commit d3d6dd3adaaad71eae20902ed81808a66a40a5b9 Author: Masahide NAKAMURA Date: Tue Jun 26 23:57:49 2007 -0700 [XFRM]: Add module alias for transformation type. It is clean-up for XFRM type modules and adds aliases with its protocol: ESP, AH, IPCOMP, IPIP and IPv6 for IPsec ROUTING and DSTOPTS for MIPv6 It is almost the same thing as XFRM mode alias, but it is added new defines XFRM_PROTO_XXX for preprocessing since some protocols are defined as enum. Signed-off-by: Masahide NAKAMURA Acked-by: Ingo Oeser Signed-off-by: David S. Miller commit 59fbb3a61e02deaeaa4fb50792217921f3002d64 Author: Masahide NAKAMURA Date: Tue Jun 26 23:56:32 2007 -0700 [IPV6] MIP6: Loadable module support for MIPv6. This patch makes MIPv6 loadable module named "mip6". Here is a modprobe.conf(5) example to load it automatically when user application uses XFRM state for MIPv6: alias xfrm-type-10-43 mip6 alias xfrm-type-10-60 mip6 Some MIPv6 feature is not included by this modular, however, it should not be affected to other features like either IPsec or IPv6 with and without the patch. We may discuss XFRM, MH (RAW socket) and ancillary data/sockopt separately for future work. Loadable features: * MH receiving check (to send ICMP error back) * RO header parsing and building (i.e. RH2 and HAO in DSTOPTS) * XFRM policy/state database handling for RO These are NOT covered as loadable: * Home Address flags and its rule on source address selection * XFRM sub policy (depends on its own kernel option) * XFRM functions to receive RO as IPv6 extension header * MH sending/receiving through raw socket if user application opens it (since raw socket allows to do so) * RH2 sending as ancillary data * RH2 operation with setsockopt(2) Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 136ebf08b46f839e2dc9db34322b654e5d9b9936 Author: Masahide NAKAMURA Date: Tue Jun 26 23:51:41 2007 -0700 [IPV6] MIP6: Kill unnecessary ifdefs. Kill unnecessary CONFIG_IPV6_MIP6. o It is redundant for RAW socket to keep MH out with the config then it can handle any protocol. o Clean-up at AH. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 2371baa4bdab3268b32009926f75e7a5d3a41506 Author: Patrick McHardy Date: Tue Jun 26 03:23:44 2007 -0700 [RTNETLINK]: Fix rtnetlink compat attribute patch Sent the wrong patch previously. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit afdc3238ec948531205f5c5f77d2de7bae519c71 Author: Patrick McHardy Date: Mon Jun 25 14:30:16 2007 -0700 [RTNETLINK]: Add nested compat attribute Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. The attribute looks like this: struct { [ compat contents ] struct rtattr { .rta_len = total size, .rta_type = type, } rta; struct old_structure struct; [ nested top-level attribute ] struct rtattr { .rta_len = nest size, .rta_type = type, } nest_attr; [ optional 0 .. n nested attributes ] struct rtattr { .rta_len = private attribute len, .rta_type = private attribute typ, } nested_attr; struct nested_data data; }; Since both userspace and kernel deal correctly with attributes that are larger than expected old versions will just parse the compat part and ignore the rest. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1092cb219774a82b1f16781aec7b8d4ec727c981 Author: Patrick McHardy Date: Mon Jun 25 13:49:35 2007 -0700 [NETLINK]: attr: add nested compat attribute type Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 334a8132d9950f769f390f0f35c233d099688e7a Author: Patrick McHardy Date: Mon Jun 25 04:35:20 2007 -0700 [SKBUFF]: Keep track of writable header len of headerless clones Currently NAT (and others) that want to modify cloned skbs copy them, even if in the vast majority of cases its not necessary because the skb is a clone made by TCP and the portion NAT wants to modify is actually writable because TCP release the header reference before cloning. The problem is that there is no clean way for NAT to find out how long the writable header area is, so this patch introduces skb->hdr_len to hold this length. When a headerless skb is cloned skb->hdr_len is set to the current headroom, for regular clones it is copied from the original. A new function skb_clone_writable(skb, len) returns whether the skb is writable up to len bytes from skb->data. To avoid enlarging the skb the mac_len field is reduced to 16 bit and the new hdr_len field is put in the remaining 16 bit. I've done a few rough benchmarks of NAT (not with this exact patch, but a very similar one). As expected it saves huge amounts of system time in case of sendfile, bringing it down to basically the same amount as without NAT, with sendmsg it only helps on loopback, probably because of the large MTU. Transmit a 1GB file using sendfile/sendmsg over eth0/lo with and without NAT: - sendfile eth0, no NAT: sys 0m0.388s - sendfile eth0, NAT: sys 0m1.835s - sendfile eth0: NAT + path: sys 0m0.370s (~ -80%) - sendfile lo, no NAT: sys 0m0.258s - sendfile lo, NAT: sys 0m2.609s - sendfile lo, NAT + patch: sys 0m0.260s (~ -90%) - sendmsg eth0, no NAT: sys 0m2.508s - sendmsg eth0, NAT: sys 0m2.539s - sendmsg eth0, NAT + patch: sys 0m2.445s (no change) - sendmsg lo, no NAT: sys 0m2.151s - sendmsg lo, NAT: sys 0m3.557s - sendmsg lo, NAT + patch: sys 0m2.159s (~ -40%) I expect other users can see a similar performance improvement, packet mangling iptables targets, ipip and ip_gre come to mind .. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e50c41b53d7aa48152dd9c633b04fc7abd536f1f Author: Krishna Kumar Date: Sun Jun 24 19:57:27 2007 -0700 [NET]: qdisc_restart - couple of optimizations. Changes : - netif_queue_stopped need not be called inside qdisc_restart as it has been called already in qdisc_run() before the first skb is sent, and in __qdisc_run() after each intermediate skb is sent (note : we are the only sender, so the queue cannot get stopped while the tx lock was got in the ~LLTX case). - BUG_ON((int) q->q.qlen < 0) was a relic from old times when -1 meant more packets are available, and __qdisc_run used to loop when qdisc_restart() returned -1. During those days, it was necessary to make sure that qlen is never less than zero, since __qdisc_run would get into an infinite loop if no packets are on the queue and this bug in qdisc was there (and worse - no more skbs could ever get queue'd as we hold the queue lock too). With Herbert's recent change to return values, this check is not required. Hopefully Herbert can validate this change. If at all this is required, it should be added to skb_dequeue (in failure case), and not to qdisc_qlen. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 6c1361a6f285bf3df4b502651c0dd38d0eedc044 Author: Krishna Kumar Date: Sun Jun 24 19:56:09 2007 -0700 [NET]: qdisc_restart - readability changes plus one bug fix. New changes : - Incorporated Peter Waskiewicz's comments. - Re-added back one warning message (on driver returning wrong value). Previous changes : - Converted to use switch/case code which looks neater. - "if (ret == NETDEV_TX_LOCKED && lockless)" is buggy, and the lockless check should be removed, since driver will return NETDEV_TX_LOCKED only if lockless is true and driver has to do the locking. In the original code as well as the latest code, this code can result in a bug where if LLTX is not set for a driver (lockless == 0) but the driver is written wrongly to do a trylock (despite LLTX being set), the driver returns LOCKED. But since lockless is zero, the packet is requeue'd instead of calling collision code which will issue warning and free up the skb. Instead this skb will be retried with this driver next time, and the same result will ensue. Removing this check will catch these driver bugs instead of hiding the problem. I am keeping this change to readability section since : a. it is confusing to check two things as it is; and b. it is difficult to keep this check in the changed 'switch' code. - Changed some names, like try_get_tx_pkt to dev_dequeue_skb (as that is the work being done and easier to understand) and do_dev_requeue to dev_requeue_skb, merged handle_dev_cpu_collision and tx_islocked to dev_handle_collision (handle_dev_cpu_collision is a small routine with only one caller, so there is no need to have two separate routines which also results in getting rid of two macros, etc. - Removed an XXX comment as it should never fail (I suspect this was related to batch skb WIP, Jamal ?). Converted some functions to original coding style of having the return values and the function name on same line, eg prio2list. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 49d66a70cf9fd94057aacd6055334299ab3a5eac Author: Gerrit Renker Date: Sat Jun 16 13:48:50 2007 -0300 [CCID3]: Fix a bug in the send time processing ccid3_hc_tx_send_packet currently returns 0 when the time difference between current time and t_nom is less than 1000 microseconds. In this case the packet is sent immediately; but, unlike other packets that can be emitted on first attempt, it will not have its window counter updated and its options set as required. This is a bug. Fix: Require the time difference to be at least 1000 microseconds. The algorithm then converges: time differences > 1000 microseconds trigger the timer in dccp_write_xmit; after timer expiry this function is tried again; when the time difference is less than 1000, the packet will have its options added and window counter updated as required. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 8132da4d412ad51c34bad11133a8f0941e2a1972 Author: Gerrit Renker Date: Sat Jun 16 13:34:02 2007 -0300 [CCID3]: Sending time: update to ktime_t This updates the computation of t_nom and t_last_win_count to use the newer gettimeofday interface. Committer note: used ktime_to_timeval to set the 'now' variable to t_ld in ccid3hctx_no_feedback_timer Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 1e180f726a58089d15637b5495fecbad8c50c833 Author: Arnaldo Carvalho de Melo Date: Sat Jun 16 12:39:38 2007 -0300 [KTIME]: Introduce ktime_add_us Signed-off-by: Arnaldo Carvalho de Melo commit f1c91da44728fba24927e44056a56e507c11cf7b Author: Gerrit Renker Date: Sat Jun 16 12:38:51 2007 -0300 [KTIME]: Introduce ktime_us_delta This provides a reusable time difference function which returns the difference in microseconds, as often used in the DCCP code. Commiter note: renamed ktime_delta to ktime_us_delta and put it in ktime.h. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit dd36a9aba44e4ddbac011de2cb14a70444487303 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:56:44 2007 -0300 loss_interval: make struct dccp_li_hist_entry private net/dccp/ccids/lib/loss_interval.c is the only place where this struct is used. Signed-off-by: Arnaldo Carvalho de Melo commit cc4d6a3a34ce3976d7d01d044f3093cddc2921c2 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:53:08 2007 -0300 loss_interval: Nuke dccp_li_hist It had just a slab cache, so, for the sake of simplicity just make dccp_trfc_lib module init routine create the slab cache, no need for users of the lib to create a private loss_interval object. Signed-off-by: Arnaldo Carvalho de Melo commit c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:25:12 2007 -0300 loss_interval: Make dccp_li_hist_entry_{new,delete} private Not used outside the loss_interval code anymore. Signed-off-by: Arnaldo Carvalho de Melo commit 8c281780c6f867460c84bd78d9c3885c10f00ae1 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:21:53 2007 -0300 loss_interval: unexport dccp_li_hist_interval_new Now its only used inside the loss_interval code. Signed-off-by: Arnaldo Carvalho de Melo commit cc0a910b942d11069d35f52b2c0ed0e229e2fb46 Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 17:41:28 2007 -0300 [DCCP] loss_interval: Move ccid3_hc_rx_update_li to loss_interval Renaming it to dccp_li_update_li. Also based on previous work by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 878ac60023c4ba11a7fbf0b1dfe07b8472c0d6ce Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 12:24:46 2007 -0300 [CCID3]: Pass ccid3_li_hist to ccid3_hc_rx_update_li Now ccid3_hc_rx_update_li is ready to be moved to net/dccp/ccids/lib/loss_interval, it uses the same interface as the other functions there. Signed-off-by: Arnaldo Carvalho de Melo commit d83258a3da1d3c7ae7b75549c8bf7ed689562c62 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:04:14 2007 -0300 Remove accesses to ccid3_hc_rx_sock in ccid3_hc_rx_{update,calc_first}_li This is a preparatory patch for moving these loss interval functions from net/dccp/ccids/ccid3.c to net/dccp/ccids/lib/loss_interval.c. Based on a patch by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 6bc7efe8efa627077f8f65d01dbb762fc9356a2f Author: Ian McDonald Date: Mon May 28 16:37:45 2007 -0300 loss_interval: Fix timeval initialisation When compiling with EXTRA_CFLAGS=-W noticed that tstamp is not initialised correctly in dccp_li_calc_first_li. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit e961811fcde4202ae5c3c9ce81dcfc244e8959bb Author: Ian McDonald Date: Mon May 28 16:32:26 2007 -0300 Fix dccp_sum_coverage When compiling with EXTRA_CFLAGS=-W notice that we have signed/unsigned issue in dccp.h. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit b2f41ff4139c0df8d06f352acc962a62fc07a0c3 Author: Ian McDonald Date: Mon May 28 12:23:29 2007 -0300 ccid3: Update copyrights Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 07b5b17e157b7018d0ca40ca0d1581a23096fb45 Author: Patrick McHardy Date: Wed Jun 13 12:07:54 2007 -0700 [VLAN]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a4bf3af4ac46802436d352ef409cee4fe80445b3 Author: Patrick McHardy Date: Wed Jun 13 12:07:37 2007 -0700 [VLAN]: Introduce symbolic constants for flag values Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b020cb488586f982f40eb257a32e92a4de710d65 Author: Patrick McHardy Date: Wed Jun 13 12:07:22 2007 -0700 [VLAN]: Keep track of number of QoS mappings Keep track of the number of configured ingress/egress QoS mappings to avoid iteration while calculating the netlink attribute size. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 734423cf38021966a5d3bd5f5c6aaecaf32fb4ac Author: Patrick McHardy Date: Wed Jun 13 12:07:07 2007 -0700 [VLAN]: Use 32 bit value for skb->priority mapping skb->priority has only 32 bits and even VLAN uses 32 bit values in its API. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2ae0bf69b716d07126f0a9c17fcc2d76da172cb6 Author: Patrick McHardy Date: Wed Jun 13 12:06:43 2007 -0700 [VLAN]: Return proper error codes in register_vlan_device The returned device is unused, return proper error codes instead and avoid having the ioctl handler guess the error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e89fe42cd03c8fd3686df82d8390a235717a66de Author: Patrick McHardy Date: Wed Jun 13 12:06:29 2007 -0700 [VLAN]: Move device registation to seperate function Move device registration and configuration of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c1d3ee9925ca714a5ed3f8fce01a7027137f4e3f Author: Patrick McHardy Date: Wed Jun 13 12:06:14 2007 -0700 [VLAN]: Split up device checks Move the checks of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 42429aaee5eb44f4a48fdb056d77d0c06ef5aebc Author: Patrick McHardy Date: Wed Jun 13 12:05:59 2007 -0700 [VLAN]: Move vlan_group allocation to seperate function Move group allocation to a seperate function to clean up the code a bit and allocate groups before registering the device. Device registration is globally visible and causes netlink events, so we shouldn't fail afterwards. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2f4284a406cb25d1e41454cbf9ec4545b5ed70a1 Author: Patrick McHardy Date: Wed Jun 13 12:05:41 2007 -0700 [VLAN]: Move some device intialization code to dev->init callback Move some device initialization code to new dev->init callback to make it shareable with netlink. Additionally this fixes a minor bug, dev->iflink is set after registration, which causes an incorrect value in the initial netlink message. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c17d8874f9959070552fddf1b4e1d73c0c144c0f Author: Patrick McHardy Date: Wed Jun 13 12:05:22 2007 -0700 [VLAN]: Convert name-based configuration functions to struct netdevice * Move the device lookup and checks to the ioctl handler under the RTNL and change all name-based interfaces to take a struct net_device * instead. This allows to use them from a netlink interface, which identifies devices based on ifindex not name. It also avoids races between the ioctl interface and the (upcoming) netlink interface since now all changes happen under the RTNL. As a nice side effect this greatly simplifies error handling in the helper functions and fixes a number of incorrect error codes like -EINVAL for device not found. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ba2cd656021e7f70038ba9d551224e04d0bfcef Author: Patrick McHardy Date: Wed Jun 13 12:05:06 2007 -0700 [IFB]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62b7ffcaaa4e91ed547fc55758076ac536bd5571 Author: Patrick McHardy Date: Wed Jun 13 12:04:51 2007 -0700 [IFB]: Keep ifb devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d5cb173d85ebf6dfb16f456a8148ecb4b1cecbc Author: Patrick McHardy Date: Wed Jun 13 12:04:34 2007 -0700 [DUMMY]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 206c9fb26f5df2ea6d440fb64159faf4d8665398 Author: Patrick McHardy Date: Wed Jun 13 12:04:20 2007 -0700 [DUMMY]: Keep dummy devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 58651b24acfd9a6fd3b217b52e577ce34b0932af Author: Patrick McHardy Date: Wed Jun 13 12:04:06 2007 -0700 [DUMMY]: Use dev->stats Use dev->stats instead of netdev_priv(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 38f7b870d4a6a5d3ec21557e849620cb7d032965 Author: Patrick McHardy Date: Wed Jun 13 12:03:51 2007 -0700 [RTNETLINK]: Link creation API Add rtnetlink API for creating, changing and deleting software devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0157f60c0caea24fa8347f4c0ed53297c412fce1 Author: Patrick McHardy Date: Wed Jun 13 12:03:36 2007 -0700 [RTNETLINK]: Split up rtnl_setlink Split up rtnl_setlink into a function performing validation and a function performing the actual changes. This allows to share the modifcation logic with rtnl_newlink, which is introduced by the next patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6472ce6096bf27d85a1f2580964a36f290bd60a9 Author: Patrick McHardy Date: Wed Jun 13 12:03:21 2007 -0700 [NET]: Mark struct net_device * argument to netdev_priv const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b3d88ad49a0623d09efcf998beb26288c8029f75 Author: Larry Finger Date: Sun Jun 10 17:57:33 2007 -0700 [MAC80211]: Add support for SIOCGIWRATE ioctl At present, transmission rate information for mac80211 is available only if verbose debugging is turned on, and then only in the logs. This patch implements the SIOCGIWRATE ioctl, which adds the current transmission rate to the output of iwconfig. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8c7b7faaa630fef7f68d8728cee1cce398cc9697 Author: David S. Miller Date: Tue Jul 10 22:08:12 2007 -0700 [NET]: Kill eth_copy_and_sum(). It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller commit 8de0a15483b357d0f0b821330ec84d1660cadc4e Author: Ville Tervo Date: Wed Jul 11 09:23:41 2007 +0200 [Bluetooth] Keep rfcomm_dev on the list until it is freed This patch changes the RFCOMM TTY release process so that the TTY is kept on the list until it is really freed. A new device flag is used to keep track of released TTYs. Signed-off-by: Ville Tervo Signed-off-by: Marcel Holtmann commit a7ab4b501f9b8a9dc4d5cee542db67b6ccd1088b Author: Herbert Xu Date: Sun Jun 10 17:33:08 2007 -0700 [TCPv4]: Improve BH latency in /proc/net/tcp Currently the code for /proc/net/tcp disable BH while iterating over the entire established hash table. Even though we call cond_resched_softirq for each entry, we still won't process softirq's as regularly as we would otherwise do which results in poor performance when the system is loaded near capacity. This anomaly comes from the 2.4 code where this was all in a single function and the local_bh_disable might have made sense as a small optimisation. The cost of each local_bh_disable is so small when compared against the increased latency in keeping it disabled over a large but mostly empty TCP established hash table that we should just move it to the individual read_lock/read_unlock calls as we do in inet_diag. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c716a81ab946c68a8d84022ee32eb14674e72650 Author: Jamal Hadi Salim Date: Sun Jun 10 17:31:24 2007 -0700 [NET_SCHED]: Cleanup readability of qdisc restart Over the years this code has gotten hairier. Resulting in many long discussions over long summer days and patches that get it wrong. This patch helps tame that code so normal people will understand it. Thanks to Thomas Graf, Peter J. waskiewicz Jr, and Patrick McHardy for their valuable reviews. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 05646c91109bfd129361d57dc5d98464ab6f6578 Author: Allan Stephens Date: Sun Jun 10 17:25:24 2007 -0700 [TIPC]: Optimize stream send routine to avoid fragmentation This patch enhances TIPC's stream socket send routine so that it avoids transmitting data in chunks that require fragmentation and reassembly, thereby improving performance at both the sending and receiving ends of the connection. The "maximum packet size" hint that records MTU info allows the socket to decide how big a chunk it should send; in the event that the hint has become stale, fragmentation may still occur, but the data will be passed correctly and the hint will be updated in time for the following send. Note: The 66060 byte pseudo-MTU used for intra-node connections requires the send routine to perform an additional check to ensure it does not exceed TIPC"s limit of 66000 bytes of user data per chunk. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit 5eee6a6dc945acc5bf4da12956b2f698bbb102b9 Author: Allan Stephens Date: Sun Jun 10 17:24:55 2007 -0700 [TIPC]: Use standard socket "not implemented" routines This patch modifies TIPC's socket API to utilize existing generic routines to indicate unsupported operations, rather than adding similar TIPC-specific routines. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit f3ec75f627c746cfe460482d38a33b06a84d038f Author: Allan Stephens Date: Sun Jun 10 17:24:20 2007 -0700 [TIPC]: Improved support for Ethernet traffic filtering This patch simplifies TIPC's Ethernet receive routine to take advantage of information already present in each incoming sk_buff indicating whether the packet was explicitly sent to the interface, has been broadcast to all interfaces, or was picked up because the interface is in promiscous mode. This new approach also fixes the problem of TIPC accepting unwanted traffic through UML's multicast-based Ethernet interfaces (which deliver traffic in a promiscuous manner even if the interface is not configured to be promiscuous). Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit e06e7c615877026544ad7f8b309d1a3706410383 Author: David S. Miller Date: Sun Jun 10 17:22:39 2007 -0700 [IPV4]: The scheduled removal of multipath cached routing support. With help from Chris Wedgwood. Signed-off-by: David S. Miller commit 84950cf0ba02fd6a5defe2511bc41f9aa2237632 Author: Mikko Rapeli Date: Wed Jul 11 09:18:15 2007 +0200 [Bluetooth] Hangup TTY before releasing rfcomm_dev The core problem is that RFCOMM socket layer ioctl can release rfcomm_dev struct while RFCOMM TTY layer is still actively using it. Calling tty_vhangup() is needed for a synchronous hangup before rfcomm_dev is freed. Addresses the oops at http://bugzilla.kernel.org/show_bug.cgi?id=7509 Acked-by: Alan Cox Signed-off-by: Marcel Holtmann commit 924f0e4a06419fa1996425d1d2512030e43acbba Author: Robert P. J. Day Date: Wed Jul 11 09:07:07 2007 +0200 [Bluetooth] Remove the redundant non-seekable llseek method Remove the llseek method given that the open method already calls nonseekable_open(). Signed-off-by: Robert P. J. Day Signed-off-by: Marcel Holtmann commit 6164c8cd1333403a28202f7c7e64ff9086d8f1aa Author: Sean Hefty Date: Mon Jul 2 16:14:14 2007 -0700 IB/cm: Send no match if a SIDR REQ does not match a listen If a SIDR REQ does not match a listen, we should reply with status value 1 (service ID not supported), rather than dropping through to the default case of status 2 (rejected by service provider). Doing this also fixes a bug where the cm_id_priv is removed from the remote_sidr_table twice. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 29c2731cbfa9d5b560a73461775f2be03b46dd4c Author: Sean Hefty Date: Mon Jul 2 14:36:19 2007 -0700 IB/cm: Fix handling of duplicate SIDR REQs Fix handling to duplicate SIDR REQs to avoid sending a reject if a duplicate is detected. Duplicates should just be silently discarded. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 5d861be8c87b8a8f8e0f58b3b8864f31da7ee9c3 Author: Sean Hefty Date: Thu Jun 28 19:16:51 2007 -0700 IB/cm: cm_msgs.h should include ib_cm.h cm_msgs.h uses definitions from ib_cm.h. Include it directly, rather than depending on a specific include order. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1d84612649427a85e1f311baa7215f9a6252d856 Author: Sean Hefty Date: Mon Jun 18 11:09:37 2007 -0700 IB/cm: Include HCA ACK delay in local ACK timeout The IB CM should include the HCA ACK delay when calculating the local ACK timeout value to use for RC QPs. If the HCA ACK delay is large enough relative to the packet life time, then if it is not taken into account, the calculated timeout value ends up being too small, which can result in "retry exceeded" errors. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 24be6e81c78314c91a47200272eb4bc31284bd7b Author: Sean Hefty Date: Mon Jun 18 11:09:36 2007 -0700 IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible The ib_cm is a little over zealous about using spin_lock_irqsave, when spin_lock_irq would do. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2aec5c602c6a44e2a3a173339a9ab94549658e4b Author: Sean Hefty Date: Mon Jun 18 11:03:58 2007 -0700 IB/sa: Make sure SA queries use default P_Key MADs sent to the SA should use the the default P_Key (0x7fff/0xffff). There's no requirement that the default P_Key is stored at index 0 in the local P_Key table, so add code to the sa_query module to look up the index of the default P_Key when creating an address handle for the SA (which is done any time the P_Key table might change), and use this index for all SA queries. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit babf4d42d0a41ff58463b0a0515683cdce66f541 Author: Marcel Holtmann Date: Wed Jul 11 06:42:35 2007 +0200 [Bluetooth] Use hci_recv_fragment() within HCI USB driver This patch modifies the HCI USB driver to use the new helper function for reassembling HCI data packets and events. Signed-off-by: Marcel Holtmann commit ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4 Author: Marcel Holtmann Date: Wed Jul 11 06:42:04 2007 +0200 [Bluetooth] Add hci_recv_fragment() helper function Most drivers must handle fragmented HCI data packets and events. This patch adds a generic function for their reassembly to the Bluetooth core layer and thus allows to shrink the complexity of the drivers. Signed-off-by: Marcel Holtmann commit d8558f99fbc5ef5d4ae76b893784005056450f82 Author: J. Bruce Fields Date: Tue Jul 10 15:19:26 2007 -0400 sunrpc: drop BKL around wrap and unwrap We don't need the BKL when wrapping and unwrapping; and experiments by Avishay Traeger have found that permitting multiple encryption and decryption operations to proceed in parallel can provide significant performance improvements. Signed-off-by: J. Bruce Fields Cc: Avishay Traeger Signed-off-by: Trond Myklebust commit 137d6acaa64afa4cf3d977417424e731ea04705a Author: Frank Filz Date: Mon Jul 9 15:32:29 2007 -0700 NFSv4: Make sure unlock is really an unlock when cancelling a lock I ran into a curious issue when a lock is being canceled. The cancellation results in a lock request to the vfs layer instead of an unlock request. This is particularly insidious when the process that owns the lock is exiting. In that case, sometimes the erroneous lock is applied AFTER the process has entered zombie state, preventing the lock from ever being released. Eventually other processes block on the lock causing a slow degredation of the system. In the 2.6.16 kernel this was investigated on, the problem is compounded by the fact that the cl_sem is held while blocking on the vfs lock, which results in most processes accessing the nfs file system in question hanging. In more detail, here is how the situation occurs: first _nfs4_do_setlk(): static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *fl, int reclaim) ... ret = nfs4_wait_for_completion_rpc_task(task); if (ret == 0) { ... } else data->cancelled = 1; then nfs4_lock_release(): static void nfs4_lock_release(void *calldata) ... if (data->cancelled != 0) { struct rpc_task *task; task = nfs4_do_unlck(&data->fl, data->ctx, data->lsp, data->arg.lock_seqid); The problem is the same file_lock that was passed in to _nfs4_do_setlk() gets passed to nfs4_do_unlck() from nfs4_lock_release(). So the type is still F_RDLCK or FWRLCK, not F_UNLCK. At some point, when cancelling the lock, the type needs to be changed to F_UNLCK. It seemed easiest to do that in nfs4_do_unlck(), but it could be done in nfs4_lock_release(). The concern I had with doing it there was if something still needed the original file_lock, though it turns out the original file_lock still needs to be modified by nfs4_do_unlck() because nfs4_do_unlck() uses the original file_lock to pass to the vfs layer, and a copy of the original file_lock for the RPC request. It seems like the simplest solution is to force all situations where nfs4_do_unlck() is being used to result in an unlock, so with that in mind, I made the following change: Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit c98451bdb2f3e6d6cc1e03adad641e9497512b49 Author: Frank van Maarseveen Date: Mon Jul 9 22:25:29 2007 +0200 NLM: fix source address of callback to client Use the destination address of the original NLM request as the source address in callbacks to the client. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit d3bc9a1deb8964d774af8535814cb91bf8f6def0 Author: Frank van Maarseveen Date: Mon Jul 9 22:23:35 2007 +0200 SUNRPC client: add interface for binding to a local address In addition to binding to a local privileged port the NFS client should allow binding to a specific local address. This is used by the server for callbacks. The patch adds the necessary interface. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit a97476926ec061f90b77da478620ea6dc71a3237 Author: Frank van Maarseveen Date: Mon Jul 9 22:21:39 2007 +0200 SUNRPC server: record the destination address of a request Save the destination address of an incoming request over TCP like is done already for UDP. It is necessary later for callbacks by the server. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit 96802a095171f5b35cf0e1e0d4be943e6696a253 Author: Frank van Maarseveen Date: Sun Jul 8 13:08:54 2007 +0200 SUNRPC: cleanup transport creation argument passing Cleanup argument passing to functions for creating an RPC transport. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit 6f2e64d3e1f661095e274c9d9d47e3f39a6cf1c0 Author: Trond Myklebust Date: Fri Jul 6 10:53:21 2007 -0400 NFSv4: Make the NFS state model work with the nosharedcache mount option Consider the case where the user has mounted the remote filesystem server:/foo on the two local directories /bar and /baz using the nosharedcache mount option. The files /bar/file and /baz/file are represented by different inodes in the local namespace, but refer to the same file /foo/file on the server. Consider the case where a process opens both /bar/file and /baz/file, then closes /bar/file: because the nfs4_state is not shared between /bar/file and /baz/file, the kernel will see that the nfs4_state for /bar/file is no longer referenced, so it will send off a CLOSE rpc call. Unless the open_owners differ, then that CLOSE call will invalidate the open state on /baz/file too. Conclusion: we cannot share open state owners between two different non-shared mount instances of the same filesystem. Signed-off-by: Trond Myklebust commit 275a5d24bf56b2d9dd4644c54a56366b89a028f1 Author: Trond Myklebust Date: Wed May 16 16:53:28 2007 -0400 NFS: Error when mounting the same filesystem with different options Unless the user sets the NFS_MOUNT_NOSHAREDCACHE mount flag, we should return EBUSY if the filesystem is already mounted on a superblock that has set conflicting mount options. Signed-off-by: Trond Myklebust commit 75180df2ed467866ada839fe73cf7cc7d75c0a22 Author: Trond Myklebust Date: Wed May 16 16:53:28 2007 -0400 NFS: Add the mount option "nosharecache" Prior to David Howell's mount changes in 2.6.18, users who mounted different directories which happened to be from the same filesystem on the server would get different super blocks, and hence could choose different mount options. As long as there were no hard linked files that crossed from one subtree to another, this was quite safe. Post the changes, if the two directories are on the same filesystem (have the same 'fsid'), they will share the same super block, and hence the same mount options. Add a flag to allow users to elect not to share the NFS super block with another mount point, even if the fsids are the same. This will allow users to set different mount options for the two different super blocks, as was previously possible. It is still up to the user to ensure that there are no cache coherency issues when doing this, however the default behaviour will be to share super blocks whenever two paths result in the same fsid. Signed-off-by: Trond Myklebust commit 8007122520f0a3599bdc4df47358a5d83b2574aa Author: Chuck Lever Date: Sun Jul 1 12:13:59 2007 -0400 NFS: Add support for mounting NFSv4 file systems with string options Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 136d558ce766967fe3cbf54c3351aba261b5d53b Author: Chuck Lever Date: Sun Jul 1 12:13:54 2007 -0400 NFS: Add final pieces to support in-kernel mount option parsing Hook in final components required for supporting in-kernel mount option parsing for NFSv2 and NFSv3 mounts. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0076d7b7bab580ca2e94637d351fa7cd357743a8 Author: Chuck Lever Date: Sun Jul 1 12:13:49 2007 -0400 NFS: Introduce generic mount client API For NFSv2 and v3 mounts, the first step is to contact the server's MOUNTD and request the file handle for the root of the mounted share. Add a function to the NFS client that handles this operation. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bf0fd7680f1cf31b9cbabcc037a204548e2c866d Author: Chuck Lever Date: Sun Jul 1 12:13:44 2007 -0400 NFS: Add enums and match tables for mount option parsing This generic infrastructure works for both NFS and NFSv4 mounts. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 013a8c1ab5a214c608e12b602770449fb6b15a81 Author: Chuck Lever Date: Sun Jul 1 12:13:38 2007 -0400 NFS: Improve debugging output in NFS in-kernel mount client Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 19207231c9874899e7511507ebb1b88d648a5743 Author: Chuck Lever Date: Sun Jul 1 12:13:33 2007 -0400 NFS: Clean up in-kernel NFS mount Clean up white space and coding conventions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3ea97309e6b18bce200211b3f9188e8023321adc Author: Chuck Lever Date: Sun Jul 1 12:13:27 2007 -0400 NFS: Remake nfsroot_mount as a permanent part of NFS client In preparation for supporting NFSv2 and NFSv3 mount option handling in the kernel NFS client, convert mount_clnt.c to be a permanent part of the NFS client, instead of built only when CONFIG_ROOT_NFS is enabled. In addition, we also replace the "struct sockaddr_in *" argument with something more generic, to help support IPv6 at some later point. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 43780b87fa799ae65df11d89d4539d8d6a7c67eb Author: Chuck Lever Date: Sun Jul 1 12:13:22 2007 -0400 SUNRPC: Add a convenient default for the hostname when calling rpc_create() A couple of callers just use a stringified IP address for the rpc client's hostname. Move the logic for constructing this into rpc_create(), so it can be shared. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 45160d6275814e0c86206e6981f0b92c61a50a21 Author: Chuck Lever Date: Sun Jul 1 12:13:17 2007 -0400 SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name Clean up, for consistency. Rename rpcb_getport as rpcb_getport_async, to match the naming scheme of rpcb_getport_sync. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cce63cd6374e6f1b4ea897ece1454feb13993d7c Author: Chuck Lever Date: Sun Jul 1 12:13:12 2007 -0400 SUNRPC: Rename rpcb_getport_external routine In preparation for handling NFS mount option parsing in the kernel, rename rpcb_getport_external as rpcb_get_port_sync, and make it available always (instead of only when CONFIG_ROOT_NFS is enabled). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f7fb558e503dc80e100acaf116f7261cdd97f0ca Author: Chuck Lever Date: Sun Jul 1 12:13:07 2007 -0400 SUNRPC: Allow rpcbind requests to be interrupted by a signal. This allows NFS mount requests and RPC re-binding to be interruptible if the server isn't responding. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f0768ebd09385551277fcbc8b28c29eb491bf9e2 Author: Chuck Lever Date: Sun Jul 1 12:13:01 2007 -0400 NFS: Introduce nfs4_validate_mount_options Refactor NFSv4 mount processing to break out mount data validation in the same way it's broken out in the NFSv2/v3 mount path. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5df36e78da9db1c5f02b429116ed98902bcc75e5 Author: Chuck Lever Date: Sun Jul 1 12:12:56 2007 -0400 NFS: Clean up nfs_validate_mount_data Move error handling code out of the main code path. The switch statement was also improperly indented, according to Documentation/CodingStyle. This prepares nfs_validate_mount_data for the addition of option string parsing. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f18289931d705f9c4634b361341a1677bea97aca Author: Chuck Lever Date: Sun Jul 1 12:12:51 2007 -0400 NFS: Add a new NFS debugging flag just for mount processing Note to self: fix up /usr/sbin/rpcdebug too Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fc50d58fd053862d6bafcf92f1ef2961296f3a1c Author: Chuck Lever Date: Sun Jul 1 12:12:46 2007 -0400 NFS: Clean-up: Refactor IP address sanity checks in NFS client NFS and NFSv4 mounts can now share server address sanity checking. And, it provides an easy mechanism for adding IPv6 address checking at some later point. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 4d81cd16112f86dc279d90ef7a24f2b1be339c3c Author: Chuck Lever Date: Sun Jul 1 12:12:40 2007 -0400 NFS: Clean-up: fix a compiler warning in fs/nfs/super.c /home/cel/linux/fs/nfs/super.c: In function 'nfs_pseudoflavour_to_name': /home/cel/linux/fs/nfs/super.c:270: warning: comparison between signed and unsigned Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0655960f76922a720ad14a510ed91a51395e742b Author: Chuck Lever Date: Sun Jul 1 12:12:35 2007 -0400 NFS: Clean up error handling in nfs_get_sb The error return logic in nfs_get_sb now matches nfs4_get_sb, and is more maintainable. A subsequent patch will take advantage of this simplification. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 29eb981a3b8eb4e61cd5b9da835768045d0446cb Author: Chuck Lever Date: Sun Jul 1 12:12:30 2007 -0400 NFS: Clean-up: Replace nfs_copy_user_string with strndup_user The new string utility function strndup_user can be used instead of nfs_copy_user_string, eliminating an unnecessary duplication of function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5680d48be88d12cd987e5579a6072a4ca34ca6ea Author: Chuck Lever Date: Sun Jul 1 12:12:24 2007 -0400 NFS: Clean-up: Define macros for maximum host and export path name lengths Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9eaa67c6a5b77f248c4703d81c4a6c6434e35385 Author: Chuck Lever Date: Sun Jul 1 12:12:19 2007 -0400 NFS: Clean-up: use correct type when converting NFS blocks to local blocks inode->i_blocks is a blkcnt_t these days, which can be a u64 or unsigned long, depending on the setting of CONFIG_LSF. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 433c92379d9c2c59c2ebc7628fe4fb02cfc2daf8 Author: Chuck Lever Date: Sun Jul 1 12:12:14 2007 -0400 NFS: Clean up nfs_size_to_loff_t() Use the same file size limit that lockd uses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8bda4e4c98d14566fc1a354c62fb59d70cc49b97 Author: Trond Myklebust Date: Mon Jul 9 10:45:42 2007 -0400 NFSv4: Fix up stateid locking... We really don't need to grab both the state->so_owner and the inode->i_lock. Signed-off-by: Trond Myklebust commit 1ac7e2fd35905f3d44df06568bca5f9d140369b3 Author: Trond Myklebust Date: Sun Jul 8 21:04:15 2007 -0400 NFSv4: Clean up the callers of nfs4_open_recover_helper() Rely on nfs4_try_open_cached() when appropriate. Also fix an RCU violation in _nfs4_do_open_reclaim() Signed-off-by: Trond Myklebust commit 6ee412689027dc7954453aed392ab5c7599c0f73 Author: Trond Myklebust Date: Sun Jul 8 14:11:36 2007 -0400 NFSv4: Don't call OPEN if we already have an open stateid for a file If we already have a stateid with the correct open mode for a given file, then we can reuse that stateid instead of re-issuing an OPEN call without violating the close-to-open caching semantics. Signed-off-by: Trond Myklebust commit aac00a8d0a53097063da532cbdf0b8775a4dcd53 Author: Trond Myklebust Date: Thu Jul 5 19:02:21 2007 -0400 NFSv4: Check for the existence of a delegation in nfs4_open_prepare() We should not be calling open() on an inode that has a delegation unless we're doing a reclaim. Signed-off-by: Trond Myklebust commit 3e309914a15333a5493058e4927e979c7434ae44 Author: Trond Myklebust Date: Sat Jul 7 13:19:59 2007 -0400 NFSv4: Clean up _nfs4_proc_open() Use a flag instead of the 'data->rpc_status = -ENOMEM hack. Signed-off-by: Trond Myklebust commit 1b370bc28f90955bccda8be5e7d7047ad1381da7 Author: Trond Myklebust Date: Sat Jul 7 08:04:47 2007 -0400 NFSv4: Allow nfs4_opendata_to_nfs4_state to return errors. Signed-off-by: Trond Myklebust commit 6f43ddccb31b5bd2297878f6f3735d45fd4dfce3 Author: Trond Myklebust Date: Sun Jul 8 16:49:11 2007 -0400 NFSv4: Improve the debugging of bad sequence id errors... Signed-off-by: Trond Myklebust commit 003707c7225dbd4bf879b6c204743554de0a08d6 Author: Trond Myklebust Date: Thu Jul 5 18:07:55 2007 -0400 NFSv4: Always use the delegation if we have one Signed-off-by: Trond Myklebust commit 0f9f95e0ad1f9d07d77832c5b60f7d30440602ee Author: Trond Myklebust Date: Sun Jul 8 16:19:56 2007 -0400 NFSv4: Clean up confirmation of sequence ids... Signed-off-by: Trond Myklebust commit 412c77cee6d6e73fbe1dc3d67f52163efed33fc4 Author: Trond Myklebust Date: Tue Jul 3 16:10:55 2007 -0400 NFSv4: Defer inode revalidation when setting up a delegation Currently we force a synchronous call to __nfs_revalidate_inode() in nfs_inode_set_delegation(). This not only ensures that we cannot call nfs_inode_set_delegation from an asynchronous context, but it also slows down any call to open(). Signed-off-by: Trond Myklebust commit 8383e4602c89857ef926f29ca61ac0a83a614443 Author: Trond Myklebust Date: Fri Jul 6 15:12:04 2007 -0400 NFSv4: Use RCU to protect delegations Signed-off-by: Trond Myklebust commit 13437e12fb43cb7e285ff59248f781c91578eafe Author: Trond Myklebust Date: Fri Jul 6 15:10:43 2007 -0400 NFSv4: Support recalling delegations by stateid part 2 Signed-off-by: Trond Myklebust commit 901630278469c0d7610554227f39ed2d02d0d270 Author: Trond Myklebust Date: Thu Jul 5 14:55:18 2007 -0400 NFSv4: Support recalling delegations by stateid There appear to be some rogue servers out there that issue multiple delegations with different stateids for the same file. Ensure that when we return delegations, we do so on a per-stateid basis rather than a per-file basis. Signed-off-by: Trond Myklebust commit 2ced46c27058710a6d731d6eca77f1dd14ccde75 Author: Trond Myklebust Date: Tue Jul 3 23:48:13 2007 -0400 NFSv4: Fix up a bug in nfs4_open_recover() Don't clobber the delegation info... Signed-off-by: Trond Myklebust commit 549d6ed5e85003370fe858e70864a71882491d28 Author: Trond Myklebust Date: Tue Jul 3 16:42:45 2007 -0400 NFSv4: set the delegation in nfs4_opendata_to_nfs4_state This ensures that nfs4_open_release() and nfs4_open_confirm_release() can now handle an eventual delegation that was returned with out open. As such, it fixes a delegation "leak" when the user breaks out of an open call. Signed-off-by: Trond Myklebust commit 1c816efa245111c52858fbe55d99474f3c149dd3 Author: Trond Myklebust Date: Tue Jul 3 14:41:19 2007 -0400 NFSv4: Fix a bug in __nfs4_find_state_byowner The test for state->state == 0 does not tell you that the stateid is in the process of being freed. It really tells you that the stateid is not yet initialised... Signed-off-by: Trond Myklebust commit 1b45c46cf75d9c48eb611d5cc41607ac1f046606 Author: Trond Myklebust Date: Tue Jul 3 13:04:56 2007 -0400 NFSv4: Fix atomic open for execute... Currently we do not check for the FMODE_EXEC flag as we should. For that particular case, we need to perform an ACCESS call to the server in order to check that the file is executable. Signed-off-by: Trond Myklebust commit 9f958ab8858c75df800e0121b1920182820cbc39 Author: Trond Myklebust Date: Mon Jul 2 13:58:33 2007 -0400 NFSv4: Reduce the chances of an open_owner identifier collision Currently we just use a 32-bit counter. Signed-off-by: Trond Myklebust commit 88d9093997e1c73ca98db41b5605dbde7783845f Author: Trond Myklebust Date: Mon Jul 2 14:03:03 2007 -0400 NFSv4: nfs_increment_open_seqid should not return a value It is a void function... Signed-off-by: Trond Myklebust commit e6889620e89525ebf41f0eed937edb3dc065cf1d Author: Trond Myklebust Date: Mon Jul 2 13:58:30 2007 -0400 NFSv4: Fix underestimate of NFSv4 lookup request size Also fix up the underestimate of fs_locations Signed-off-by: Trond Myklebust commit 2cebf82883f49fd26148da5d9a43d1b4363f1d59 Author: Trond Myklebust Date: Mon Jul 2 13:57:28 2007 -0400 NFSv4: Fix the underestimate of NFSv4 open request size The maximum size depends on the filename size and a number of other elements which are currently not being counted. Signed-off-by: Trond Myklebust commit bd625ba80d84d9de003b8a4bf61fd937b82aca09 Author: Trond Myklebust Date: Sun Jul 8 18:38:23 2007 -0400 NFSv4: Fix the NFSv4 owner and owner_group size estimates Signed-off-by: Trond Myklebust commit 7af654f8d1b7460415af5d1d326233478dd0f563 Author: Trond Myklebust Date: Mon Jul 2 12:49:23 2007 -0400 NFSv4: Don't reuse expired nfs4_state_owner structs That just confuses certain NFSv4 servers. Signed-off-by: Trond Myklebust commit 27b3f949b769a208e2849d28e7ad64cadac5d0e3 Author: Trond Myklebust Date: Mon Jul 2 10:24:56 2007 -0400 NFSv4: Fix a credential reference leak in nfs4_get_state_owner() Signed-off-by: Trond Myklebust commit 587142f85f796cf0b823dd3080e815f02ff6b952 Author: Trond Myklebust Date: Mon Jul 2 09:57:54 2007 -0400 NFS: Replace NFS_I(inode)->req_lock with inode->i_lock There is no justification for keeping a special spinlock for the exclusive use of the NFS writeback code. Signed-off-by: Trond Myklebust commit 4e56e082dd89266d320ccfbc7bd0102186a765ac Author: Trond Myklebust Date: Sun Jul 1 18:13:52 2007 -0400 NFSv4: Clean up _nfs4_proc_lookup() vs _nfs4_proc_lookupfh() They differ only slightly in the arguments they take. Why have they not been merged? Signed-off-by: Trond Myklebust commit 8a702bbb7ddaa2e78c17dbaaf48e3cd5943676f0 Author: Trond Myklebust Date: Wed Jun 27 18:30:26 2007 -0400 SUNRPC: Suppress some noisy and unnecessary printk() calls in call_verify() Convert them into dprintk() calls. Signed-off-by: Trond Myklebust commit 0df7fb74fbb709591301871a38aac7735a1d6583 Author: Trond Myklebust Date: Tue Jun 26 17:04:57 2007 -0400 SUNRPC: Ensure RPCSEC_GSS destroys the security context when freeing a cred Do so by set the gc_proc field to RPC_GSS_PROC_DESTROY, and then sending a NULL RPC call. Signed-off-by: Trond Myklebust commit 0285ed1f12298e5304f0f2642e2cf31a5f302e61 Author: Trond Myklebust Date: Wed Jun 27 14:29:12 2007 -0400 SUNRPC: Ensure that the struct gss_auth lifetime exceeds the credential's Add a refcount in order to ensure that the gss_auth doesn't disappear from underneath us while we're freeing up GSS contexts. Signed-off-by: Trond Myklebust commit 1be27f36601973815171db684c711d30557cf50c Author: Trond Myklebust Date: Wed Jun 27 14:29:04 2007 -0400 SUNRPC: Remove the tk_auth macro... We should almost always be deferencing the rpc_auth struct by means of the credential's cr_auth field instead of the rpc_clnt->cl_auth anyway. Fix up that historical mistake, and remove the macro that propagated it. Signed-off-by: Trond Myklebust commit 1dd17ec693bf4a08b666c2ef76b68ca08ce3c93d Author: Trond Myklebust Date: Tue Jun 26 16:57:41 2007 -0400 SUNRPC: Allow rpc_auth to run clean up before the rpc_client is destroyed RPCSEC_GSS needs to be able to send NULL RPC calls to the server in order to free up any remaining GSS contexts. Signed-off-by: Trond Myklebust commit 5d28dc82074f1e64b22c9424b161abc1f5d6bcdb Author: Trond Myklebust Date: Tue Jun 26 19:18:38 2007 -0400 SUNRPC: Convert gss_ctx_lock to an RCU lock Signed-off-by: Trond Myklebust commit f5c2187cfef628784d8a09b6d0f77888246d0c0f Author: Trond Myklebust Date: Mon Jun 25 17:11:20 2007 -0400 SUNRPC: Convert the credential garbage collector into a shrinker callback Signed-off-by: Trond Myklebust commit 9499b4341b56935f61af9e7e354e7d11e70f5258 Author: Trond Myklebust Date: Sun Jun 24 15:57:57 2007 -0400 SUNRPC: Give credential cache a local spinlock Signed-off-by: Trond Myklebust commit 31be5bf15f3dafffce110eb1afadccbf2e3067b4 Author: Trond Myklebust Date: Sun Jun 24 15:55:26 2007 -0400 SUNRPC: Convert the credcache lookup code to use RCU Signed-off-by: Trond Myklebust commit e092bdcd939416ef911090890096fe07d0281a5e Author: Trond Myklebust Date: Sat Jun 23 19:45:36 2007 -0400 SUNRPC: cleanup rpc credential cache garbage collection Signed-off-by: Trond Myklebust commit fc432dd90760a629c57026e57f65ff80a1a31d2f Author: Trond Myklebust Date: Mon Jun 25 10:15:15 2007 -0400 SUNRPC: Enforce atomic updates of rpc_cred->cr_flags Convert to the use of atomic bitops... Signed-off-by: Trond Myklebust commit 696e38df9d1b256e97b077ecde7afb8dd60364fd Author: Trond Myklebust Date: Mon Jun 25 09:48:25 2007 -0400 SUNRPC: replace casts in auth_unix.c with container_of() Signed-off-by: Trond Myklebust commit 5fe4755e2526a2aa82b7ed8daeb3aed74a236925 Author: Trond Myklebust Date: Sat Jun 23 19:55:31 2007 -0400 SUNRPC: Clean up rpc credential initialisation Add a helper rpc_cred_init() Signed-off-by: Trond Myklebust commit f1c0a8615090359d57e096157feb9f900cbb233c Author: Trond Myklebust Date: Sat Jun 23 20:17:58 2007 -0400 SUNRPC: Mark auth and cred operation tables as constant. Also do the same for gss_api operation tables. Signed-off-by: Trond Myklebust commit de7a8ce38aea529876db3890b61947bc4bc004da Author: Trond Myklebust Date: Sat Jun 23 10:46:47 2007 -0400 SUNRPC: Rename rpcauth_destroy() to rpcauth_release() Signed-off-by: Trond Myklebust commit 5e1550d6a2c2dd33ff0ca5febefd8e9c65c6ca1e Author: Trond Myklebust Date: Sat Jun 23 10:17:16 2007 -0400 SUNRPC: Add the helper function 'rpc_call_null()' Does a NULL RPC call and returns a pointer to the resulting rpc_task. The call may be either synchronous or asynchronous. Signed-off-by: Trond Myklebust commit 64c91a1f1c8bc4295fd6b90df8adf911a7dd64f4 Author: Trond Myklebust Date: Sat Jun 23 10:17:16 2007 -0400 SUNRPC: Make rpc_ping() static Signed-off-by: Trond Myklebust commit fc1b356f566fe05929ec2a88ce2c7b15f8b6279f Author: Trond Myklebust Date: Sat Jun 9 16:15:46 2007 -0400 SUNRPC: Fix races in rpcauth_create See the FIXME: auth_flavors[] really needs a lock and module refcounting. Signed-off-by: Trond Myklebust commit 07a2bf1da4765d987ffd1d8045e92ba032e0ad78 Author: Trond Myklebust Date: Sat Jun 9 15:42:01 2007 -0400 SUNRPC: Fix a memory leak in gss_create() Fix a memory leak in gss_create() whereby the rpc credcache was not being freed if the rpc_mkpipe() call failed. Signed-off-by: Trond Myklebust commit 5c9cfc828ae34e19dabbdb9f2861b8c920454047 Author: Trond Myklebust Date: Sun Jun 24 15:24:29 2007 -0400 SUNRPC: Fix a typo in unx_create() We want to set the unix_cred_cache.nextgc on the first call to unx_create(), which should be when unix_auth.au_count === 1 Signed-off-by: Trond Myklebust commit 3ab9bb7243489f9db3abf3d05521ddfc6b184c0a Author: Trond Myklebust Date: Sat Jun 9 15:41:42 2007 -0400 SUNRPC: Fix a memory leak in the auth credcache code The leak only affects the RPCSEC_GSS caches, since they are the only ones that are dynamically allocated... Rename the existing rpcauth_free_credcache() to rpcauth_clear_credcache() in order to better describe its role, then add a new function rpcauth_destroy_credcache() that actually frees the cache in addition to clearing it out. Also move the call to destroy the credcache in gss_destroy() to come before the rpc upcall pipe is unlinked. Signed-off-by: Trond Myklebust commit 03a1256f06cf1f58e33971fb4a524479e75c200e Author: Trond Myklebust Date: Fri Jun 8 14:14:53 2007 -0400 SUNRPC: Add a field to track the number of kernel users of an rpc_pipe This allows us to correctly deduce when we need to remove the pipe. Signed-off-by: Trond Myklebust commit 62e1761ceff5dbb78c4b4b9486d8ca9fed11b660 Author: Trond Myklebust Date: Fri Jun 8 14:14:46 2007 -0400 SUNRPC: Clean up rpc_pipefs. Add a dentry_ops with a d_delete() method in order to ensure that dentries are removed as soon as the last reference is gone. Clean up rpc_depopulate() so that it only removes files that were created via rpc_populate(). Signed-off-by: Trond Myklebust commit 34f308960818e514fadd9365cb5b14cca319320b Author: Trond Myklebust Date: Thu Jun 7 18:28:02 2007 -0400 SUNRPC: Enable non-exclusive create in rpc_mkpipe() Signed-off-by: Trond Myklebust commit 6e84c7b66a0aa0be16a7728d1e687c57978dac2c Author: Trond Myklebust Date: Thu Jun 7 15:31:36 2007 -0400 SUNRPC: Add a downcall queue to struct rpc_inode Currently, the downcall queue is tied to the struct gss_auth, which means that different RPCSEC_GSS pseudoflavours must use different upcall pipes. Add a list to struct rpc_inode that can be used instead. Signed-off-by: Trond Myklebust commit 3b68aaeaf54065e5c44583a1d33ffb7793953ba4 Author: Trond Myklebust Date: Thu Jun 7 10:14:15 2007 -0400 SUNRPC: Always match an upcall message in gss_pipe_downcall() It used to be possible for an rpc.gssd daemon to stuff the RPC credential cache for any rpc client simply by creating RPCSEC_GSS contexts and then doing downcalls. In practice, no daemons ever made use of this feature. Remove this feature now, since it will be impossible to figure out which mechanism a given context actually matches if we enable more than one gss mechanism to use the same upcall pipe. Signed-off-by: Trond Myklebust commit b185f835e243e654047ae85f42346827d3894171 Author: Trond Myklebust Date: Thu Jun 7 10:14:14 2007 -0400 SUNRPC: Remove the gss_auth spinlock We're just as well off using the inode spinlock instead. Signed-off-by: Trond Myklebust commit 4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808 Author: Trond Myklebust Date: Thu Jun 7 10:14:14 2007 -0400 SUNRPC: Add a backpointer from the struct rpc_cred to the rpc_auth Cleans up an issue whereby rpcsec_gss uses the rpc_clnt->cl_auth. If we want to be able to add several rpc_auths to a single rpc_clnt, then this abuse must go. Signed-off-by: Trond Myklebust commit c1384c9c4c184543375b52a0997d06cd98145164 Author: Trond Myklebust Date: Thu Jun 14 18:00:42 2007 -0400 SUNRPC: fix hang due to eventd deadlock... Brian Behlendorf writes: The root cause of the NFS hang we were observing appears to be a rare deadlock between the kernel provided usermodehelper API and the linux NFS client. The deadlock can arise because both of these services use the generic linux work queues. The usermodehelper API run the specified user application in the context of the work queue. And NFS submits both cleanup and reconnect work to the generic work queue for handling. Normally this is fine but a deadlock can result in the following situation. - NFS client is in a disconnected state - [events/0] runs a usermodehelper app with an NFS dependent operation, this triggers an NFS reconnect. - NFS reconnect happens to be submitted to [events/0] work queue. - Deadlock, the [events/0] work queue will never process the reconnect because it is blocked on the previous NFS dependent operation which will not complete.` The solution is simply to run reconnect requests on rpciod. Signed-off-by: Trond Myklebust commit 6e5b70e9d1e712d8dad5514e0ab5240ac4b5fb57 Author: Trond Myklebust Date: Tue Jun 12 10:02:37 2007 -0400 SUNRPC: clean up rpc_call_async/rpc_call_sync/rpc_run_task Signed-off-by: Trond Myklebust commit 188fef11db219f13f32d055ba59985e7d1a349fe Author: Trond Myklebust Date: Sat Jun 16 14:18:40 2007 -0400 SUNRPC: Move rpc_register_client and friends into net/sunrpc/clnt.c Signed-off-by: Trond Myklebust commit f61534dfd38f895b203e2aadaba04f21a992ca8c Author: Trond Myklebust Date: Thu Jun 14 17:31:58 2007 -0400 SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down() Signed-off-by: Trond Myklebust commit 4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b Author: Trond Myklebust Date: Thu Jun 14 17:26:17 2007 -0400 SUNRPC: Make create_client() take a reference to the rpciod workqueue Ensures that an rpc_client always has the possibility to send asynchronous RPC calls. Signed-off-by: Trond Myklebust commit ab418d70e1fceda1e2824c45ba3323a1b1413507 Author: Trond Myklebust Date: Thu Jun 14 17:08:36 2007 -0400 SUNRPC: Optimise rpciod_up() Instead of taking the mutex every time we just need to increment/decrement rpciod_users, we can optmise by using atomic_inc_not_zero and atomic_dec_and_test. Signed-off-by: Trond Myklebust commit d431a555fcf920e1b5c3e3eba52eb5f5e7836771 Author: Trond Myklebust Date: Sun Jun 17 17:07:54 2007 -0400 SUNRPC: Don't create an rpc_pipefs directory before rpc_clone is initialised Signed-off-by: Trond Myklebust commit 4c402b40970382ded616eadd544fd63feb76cc79 Author: Trond Myklebust Date: Thu Jun 14 16:40:32 2007 -0400 SUNRPC: Remove rpc_clnt->cl_count The kref now does most of what cl_count + cl_user used to do. The only remaining role for cl_count is to tell us if we are in a 'shutdown' phase. We can provide that information using a single bit field instead of a full atomic counter. Also rename rpc_destroy_client() to rpc_close_client(), which reflects better what its role is these days. Signed-off-by: Trond Myklebust commit 8ad7c892e18ff8e6df422eb48ca0f73268ffd632 Author: Trond Myklebust Date: Thu Jun 14 16:40:32 2007 -0400 SUNRPC: Make rpc_clone take a reference instead of using cl_count Signed-off-by: Trond Myklebust commit 90c5755ff5111ffdcca10a1e8a823dba29f37b6d Author: Trond Myklebust Date: Sat Jun 9 19:49:36 2007 -0400 SUNRPC: Kill rpc_clnt->cl_oneshot Replace it with explicit calls to rpc_shutdown_client() or rpc_destroy_client() (for the case of asynchronous calls). Signed-off-by: Trond Myklebust commit 848f1fe6be2e290691bb6c13cbb8fd92bd0cfaab Author: Trond Myklebust Date: Sat Jun 9 19:39:12 2007 -0400 SUNRPC: Kill rpc_clnt->cl_dead Its use is at best racy, and there is only one user (lockd), which has additional locking that makes the whole thing redundant. Signed-off-by: Trond Myklebust commit 34f52e3591f241b825353ba27def956d8487c400 Author: Trond Myklebust Date: Thu Jun 14 16:40:31 2007 -0400 SUNRPC: Convert rpc_clnt->cl_users to a kref Signed-off-by: Trond Myklebust commit c44fe705530ff9ea5e563bf9b65bdd29defe682b Author: Trond Myklebust Date: Sat Jun 16 14:17:01 2007 -0400 SUNRPC: Clean up tk_pid allocation and make it lockless Signed-off-by: Trond Myklebust commit 4bef61ff7514396419563ca54fd42ef846485b06 Author: Trond Myklebust Date: Sat Jun 16 14:17:01 2007 -0400 SUNRPC: Add a per-rpc_clnt spinlock Use that to protect the rpc_clnt->cl_tasks list instead of using a global lock. Signed-off-by: Trond Myklebust commit 6529eba08fe7297852391a468d95322913de73fa Author: Trond Myklebust Date: Thu Jun 14 16:40:14 2007 -0400 SUNRPC: Move rpc_task->tk_task list into struct rpc_clnt Signed-off-by: Trond Myklebust commit c6d00e639bdec5f33460bc95bae4efda7177a6ed Author: Trond Myklebust Date: Sun Jun 17 16:02:44 2007 -0400 NFSv4: Convert struct nfs4_opendata to use struct kref Signed-off-by: Trond Myklebust commit 3bec63db55463365110d00721ed60a31e4614cb6 Author: Trond Myklebust Date: Sun Jun 17 16:02:44 2007 -0400 NFS: Convert struct nfs_open_context to use a kref Signed-off-by: Trond Myklebust commit edc05fc1c24ba49dae585da1b2a22686f0b221f0 Author: Trond Myklebust Date: Sun Jun 17 16:02:34 2007 -0400 NFS: reduce latency by using conditional rescheduling in nfs_scan_list Signed-off-by: Trond Myklebust commit dce34ce298d85b81630401f4feb4bd7ac77fe9c7 Author: Trond Myklebust Date: Sun Jun 17 15:47:53 2007 -0400 NFS: Prevent integer overflow in nfs_scan_list() Also ensure that nfs_inode ncommit and npages are large enough to represent all possible values for the number of pages. Signed-off-by: Trond Myklebust commit 2aefa104313996d1a9582476cee53d1296c834bf Author: Trond Myklebust Date: Sun Jun 17 15:40:59 2007 -0400 NFS: Remove the redundant 'dirty' and 'commit' lists from nfs_inode Signed-off-by: Trond Myklebust commit 5c36968343fcd013a3f7ae93f246c2e75596780b Author: Trond Myklebust Date: Sun Jun 17 15:27:42 2007 -0400 NFS cleanup: speed up nfs_scan_commit using radix tree tags Add a tag for requests that are waiting for a COMMIT Signed-off-by: Trond Myklebust commit 9fd367f0f376ccfb2592eed9be0eece70429894f Author: Trond Myklebust Date: Sun Jun 17 15:10:24 2007 -0400 NFS cleanup: Rename NFS_PAGE_TAG_WRITEBACK to NFS_PAGE_TAG_LOCKED Signed-off-by: Trond Myklebust commit c03b40246123b2ced79e2620d1d2c089bb12369a Author: Trond Myklebust Date: Sun Jun 17 13:26:38 2007 -0400 NFS: Convert struct nfs_page to use krefs Signed-off-by: Trond Myklebust commit a50f7951a31d3b976e829250853f89c9d2da32c0 Author: Trond Myklebust Date: Tue Jun 5 19:23:43 2007 -0400 NFS: Fix an Oops in the nfs_access_cache_shrinker() The nfs_access_cache_shrinker may race with nfs_access_zap_cache(). Signed-off-by: Trond Myklebust commit e2f032e9ef66e33089d09452892696ea97d1dca1 Author: Trond Myklebust Date: Tue Jun 5 19:27:00 2007 -0400 NFS: nfs3_proc_create() should use nfs_post_op_update_inode() Also get rid of a redundant call to nfs_setattr_update_inode(). The call to nfs3_proc_setattr() already takes care of that. Signed-off-by: Trond Myklebust commit aa53ed541a1fec78a78d02afc8b042d040cc080d Author: Jeff Layton Date: Tue Jun 5 14:49:03 2007 -0400 NFS4: on a O_EXCL OPEN make sure SETATTR sets the fields holding the verifier The Linux NFS4 client simply skips over the bitmask in an O_EXCL open call and so it doesn't bother to reset any fields that may be holding the verifier. This patch has us save the first two words of the bitmask (which is all the current client has #defines for). The client then later checks this bitmask and turns on the appropriate flags in the sattr->ia_verify field for the following SETATTR call. This patch only currently checks to see if the server used the atime and mtime slots for the verifier (which is what the Linux server uses for this). I'm not sure of what other fields the server could reasonably use, but adding checks for others should be trivial. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit fc6ae3cf482c385a6fe87ba119d399bb85aa670b Author: Trond Myklebust Date: Tue Jun 5 19:13:47 2007 -0400 NFS: Re-enable forced umounts They disappeared some time around 2.6.18. Signed-off-by: Trond Myklebust commit 83d93f2229348837bf988a1048f7f38789474471 Author: Jeff Layton Date: Thu Jun 7 09:58:08 2007 -0400 NFS: Use GFP_HIGHUSER for page allocation in nfs_symlink() nfs_symlink() allocates a GFP_KERNEL page for the pagecache. Most pagecache pages are allocated using GFP_HIGHUSER, and there's no reason not to do that in nfs_symlink() as well. Signed-off-by: Jeff Layton commit a0356862bcbeb20acf64bc1a82d28a4c5bb957a7 Author: Trond Myklebust Date: Tue Jun 5 13:26:15 2007 -0400 NFS: Fix nfs_reval_fsid() We don't need to revalidate the fsid on the root directory. It suffices to revalidate it on the current directory. Signed-off-by: Trond Myklebust commit b39e625b6e75aa70e26c13f9378756bb5f2af032 Author: Trond Myklebust Date: Mon Jun 11 23:05:07 2007 -0400 NFSv4: Clean up nfs4_call_async() Use rpc_run_task() instead of doing it ourselves. Signed-off-by: Trond Myklebust commit 4a35bd41aff5714deb41c8f14766df3871e2e8f7 Author: Trond Myklebust Date: Tue Jun 5 10:31:33 2007 -0400 NFSv4: Ensure that nfs4_do_close() doesn't race with umount nfs4_do_close() does not currently have any way to ensure that the user won't attempt to unmount the partition while the asynchronous RPC call is completing. This again may cause Oopses in nfs_update_inode(). Add a vfsmount argument to nfs4_close_state to ensure that the partition remains mounted while we're closing the file. Signed-off-by: Trond Myklebust commit ad389da79f7bf9dc12dbc79c9c2740f9ed2f13d1 Author: Trond Myklebust Date: Tue Jun 5 12:30:00 2007 -0400 NFSv4: Ensure asynchronous open() calls always pin the mountpoint A number of race conditions may currently ensue if the user presses ^C and then unmounts the partition while an asynchronous open() is in progress. Signed-off-by: Trond Myklebust commit 539cd03a5708c9861a3e738e6f363ad743c85ddf Author: Trond Myklebust Date: Tue Jun 5 11:46:42 2007 -0400 NFSv4: Cleanup: pass the nfs_open_context to open recovery code Signed-off-by: Trond Myklebust commit 88be9f990fe70f0f177ef44a16a477599e91f825 Author: Trond Myklebust Date: Tue Jun 5 10:42:27 2007 -0400 NFS: Replace vfsmount and dentry in nfs_open_context with struct path Signed-off-by: Trond Myklebust commit de05a0cc2a2ae16eb8d8dbf88fe728ace45beb9a Author: Trond Myklebust Date: Sun May 20 13:05:05 2007 -0400 NFS: Minor read optimisation... Since PG_uptodate may now end up getting set during the call to nfs_wb_page(), we can avoid putting a read request on the wire in those situations. Signed-off-by: Trond Myklebust commit 44dd151d5c21234cc534c47d7382f5c28c3143cd Author: Trond Myklebust Date: Sat May 19 11:58:03 2007 -0400 NFS: Don't mark a written page as uptodate until it is on disk The write may fail, so we should not mark the page as uptodate until we are certain that the data has been accepted and written to disk by the server. Signed-off-by: Trond Myklebust commit d9df8d6b38228afab519094048aa2c082b0b2cf4 Author: Trond Myklebust Date: Tue May 22 10:22:20 2007 -0400 NFS: Don't fail an O_DIRECT read/write if get_user_pages() returns pages There is no need to fail the entire O_DIRECT read/write just because get_user_pages() returned fewer pages than we requested. Signed-off-by: Trond Myklebust commit 070ea60214c1894c9eec86ca9aa5dff57a5ab525 Author: Chuck Lever Date: Sat May 19 17:22:52 2007 -0400 NFS: Clean ups in fs/nfs/direct.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 93ab471889c6662b42ce7da257f31f24c08d7d9e Author: Wade Farnsworth Date: Wed Jul 11 02:55:46 2007 +1000 [POWERPC] Create add_rtc() function to enable the RTC CMOS driver In order to use the RTC CMOS driver, each architecture must register a platform device for the RTC. This creates a function to register the platform device based on the RTC device node and verifies that the RTC port against the hard-coded value in asm/mc146818rtc.h. Signed-off-by: Wade Farnsworth Signed-off-by: Paul Mackerras commit 3c0c9e389bb9618fee2300eea2d135e4db64c4ba Author: Brian King Date: Wed Jul 11 00:41:14 2007 +1000 [POWERPC] Add H_ILLAN_ATTRIBUTES hcall number Adds the number for the H_ILLAN_ATTRIBUTES hcall. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit a527ad88a2f11f7ccab3038608e5c50ceae570a3 Author: Grant Likely Date: Tue Jul 10 09:51:05 2007 +1000 [POWERPC] xilinxfb: Parameterize xilinxfb platform device registration This allows multiple xilinxfb devices to be registered and used. Signed-off-by: Grant Likely cc: Andrei Konovalov Signed-off-by: Paul Mackerras commit 31a12cece7c71c47e61ab8ed45bbff5aac4c1931 Author: Mike Wolf Date: Tue Jul 10 13:13:47 2007 -0500 [POWERPC] Oprofile support for Power 5++ This adds a new oprofile cpu type for Power 5 revision 3 chips. The new name is ppc64/power5++ and is used so that the performance counters can be set up correctly. Signed-off-by: Mike Wolf Signed-off-by: Paul Mackerras commit c6c656b4b6ddfc964f1a43394bf86bc76c5e8119 Author: Oliver McFadden Date: Wed Jul 11 12:24:10 2007 +1000 r300: updates register header This updates the R300 register names and allows the VAP_PVS_WAITIDLE register to be written. Signed-off-by: Dave Airlie commit ddbee33328dcfb892cd91f2d57a1822f4d6f70d9 Author: Dave Airlie Date: Wed Jul 11 12:16:01 2007 +1000 radeon: add support for vblank on crtc2 This adds support for CRTC2 vblank on radeon similiar to the i915. Signed-off-by: Dave Airlie commit 7c158acef8f0e51c3a5f71133aaf402628370a64 Author: Dave Airlie Date: Wed Jul 11 12:05:36 2007 +1000 drm: cleanup list initialisation Signed-off-by: Dave Airlie commit 6f710105f5a4971078c46ae258cbb76db1ee967a Author: Dave Airlie Date: Mon May 28 19:41:35 2007 +1000 drm: fix typo on code drm getsarea Signed-off-by: Dave Airlie commit da509d7a02cb54938776439edc81f057e39f81e0 Author: Dave Airlie Date: Sat May 26 05:04:51 2007 +1000 drm: remove DRM_GETSAREA and replace with drm_getsarea function Signed-off-by: Dave Airlie commit bd1b331fae2813d9f03ceee649296f02edc0b893 Author: Dave Airlie Date: Sat May 26 05:01:51 2007 +1000 drm: cleanup use of Linux list handling macros This makes the drms use of the list handling macros a lot cleaner and more along the lines of how they should be used and uses them in some more places. Signed-off-by: Dave Airlie commit 814600ee10d3c056ada315cdbdc2ebe48f54c75a Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: add PMP related ATA constants Add Port Multiplier related ATA constants and macros. Some of these will be used by ata_link implementation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fee7ca72d3dae1078031b6fd272b9930f43bd3d1 Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: separate out ata_eh_handle_dev_fail() Separate out ata_eh_handle_dev_fail() from ata_eh_recover(). This is in preparation of ata_link and PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 790956e7bbf0a7b73e72b04d3bd63d974c7e29bb Author: Jeff Garzik Date: Tue Jul 10 21:36:13 2007 -0400 pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working The hook that set DMA mode was accidentally deleted in the original patch. Signed-off-by: Jeff Garzik commit 2f8d90ab797682ab51b27748b960aec8aa42892f Author: Prarit Bhargava Date: Tue Jul 10 18:13:28 2007 -0400 Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist Add Hitachi HDS7250SASUN500G 0621KTAWSD to list of devices with broken NCQ. Signed-off-by: Prarit Bhargava Signed-off-by: Jeff Garzik commit fae57d348379861f115fe1e586a1e0902b71ae9e Author: Akira Iguchi Date: Tue Jul 10 18:29:34 2007 +0900 pata_scc.c: Workaround for errata A308 Workaround for errata A308: turn down the UDMA mode and retry the DMA command when the data lost condition is detected. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Signed-off-by: Jeff Garzik commit a520f2614690b8d3a7b431a1d8a40ea6a04d4827 Author: Tejun Heo Date: Tue Jul 10 16:16:18 2007 +0900 libata: add FUJITSU MHV2080BH to NCQ blacklist Please warmly welcome the first member from FUJITSU to the prestigious NCQ spurious completion club. This is reported by Serge Van Thillo in bugzilla bug 8730. http://bugzilla.kernel.org/show_bug.cgi?id=8730 Signed-off-by: Tejun Heo Cc: Serge van Thillo Signed-off-by: Jeff Garzik commit 66e7da4e34610e84bdb1bf726031d6c4c88cbbf9 Author: Alan Cox Date: Mon Jul 9 11:46:22 2007 -0700 pata_hpt3x3: major reworking and testing The HPT343/345 (aka 363) is a bit of a warped device. For many setups you need to access the other registers via BAR4 offsets. PIO is now rock solid, DMA isn't. Unfortunately the drivers/ide hpt34x driver is completely broken so doesn't help further debug. Signed-off-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 75683fe7153c3817bb4fd4491e2a5913af6c463e Author: Tejun Heo Date: Thu Jul 5 13:31:27 2007 +0900 libata: clean up horkage handling Horkage handling had the following problems. * dev->horkage was positioned after ATA_DEVICE_CLEAR_OFFSET, so it was cleared before the device is configured. This broke HORKAGE_DIAGNOSTIC. * Some used dev->horkage while others called ata_device_blacklisted() directly. This was at best confusing. This patch moves dev->horkage right after dev->flags and set the field according to the blacklist during device configuration. All users test against dev->horkage. ata_device_blacklisted() now has only one user, make it static. While at it, rename it to ata_dev_blacklisted() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 39ce7128066f2ac5954bcda9f07f429f28166da3 Author: Tejun Heo Date: Thu Jul 5 12:31:31 2007 +0900 libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY The Zip 250 which chokes on MWDMA SET_XFERMODE sometimes have "Floppy" appeneded to its model number. Quirk it too. http://bugzilla.kernel.org/show_bug.cgi?id=8563 Signed-off-by: Tejun Heo Cc: Hans de Bruin Signed-off-by: Jeff Garzik commit d583bc18812f8da52bf25eef9cd111e5fd46a6ab Author: Tejun Heo Date: Wed Jul 4 18:02:07 2007 +0900 libata: simplify PCI legacy SFF host handling With PCI resource fix up for legacy hosts. We can use the same code path to allocate IO resources and initialize host for both legacy and native SFF hosts. Only IRQ requesting needs to be different. Rename ata_pci_*_native_host() to ata_pci_*_sff_host(), kill all legacy specific functions and use the renamed functions instead. This simplifies code a lot. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 35142ddbf7d81ff3f1d9521611e734b8d5014df2 Author: Domen Puncer Date: Tue Jul 3 10:27:38 2007 +0200 pata_mpc52xx: suspend/resume support Implement suspend and resume routines for mpc52xx ata driver. Tested on Lite5200b with deep-sleep and low-power (not yet in-tree) modes. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik commit a77720ad0a4049e4bc6355e4febf899966a48222 Author: Mikael Pettersson Date: Tue Jul 3 01:09:05 2007 +0200 sata_promise: SATA hotplug support, take 2 This patch enables hotplugging of SATA devices in the sata_promise driver. It's been tested successfully on both first- and second-generation Promise SATA chips: SATA150 TX2plus, SATAII150 TX2plus, SATAII150 TX4, SATA300 TX2plus, and SATA300 TX4. The only quirk I've seen is that hotplugging (insertion) on the first-generation SATA150 TX2plus requires a lengthier EH sequence than on the second-generation chips. On the second-generation chips a simple soft reset seems to suffice, but on the first-generation chip there's a "port is slow to respond" after the initial soft reset, after which libata issues a hard reset, and then the device is recognised. The hotplug checks are high up in the interrupt handling path, not deep down in error_intr as in ahci/sata_sil24. That's because the chip doesn't signal hotplug status changes in the per-port status register: instead a global register contains hotplug control and status flags for all ports. I considered following the ahci/sata_sil24 structure, but that would have required non-trivial changes to the interrupt handling path, so I chose to keep the hotplug changes simple and unobtrusive. Signed-off-by: Mikael Pettersson -- This patch depends on the "sata_promise: cleanups" patch. Changes since the previous version (posted June 19): - Correct pdc_interrupt() to increment 'handled' also in the hotplug case. This prevents IRQ_NONE from being returned when an interrupt only has hotplug events to handle, which could confuse the kernel's IRQ machinery. - Added testing on the SATAII150 TX4. drivers/ata/sata_promise.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) Signed-off-by: Jeff Garzik commit 15ce09432a4399e61b57f2ceb564522d6534c15f Author: Alan Cox Date: Fri May 25 20:50:24 2007 +0100 pata_sis: FIFO whack If you are using a SiS controller and the BIOS didn't set it up then the FIFO may be left active when we try and set up the CD. Not convinced this matters but I'd prefer to be safe Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 45a66c1c3ff88e8050dd25e81bafdf79a12a8042 Author: Oleg Nesterov Date: Mon Jul 9 11:46:13 2007 -0700 libata-core: convert to use cancel_rearming_delayed_work() We should not use cancel_work_sync(delayed_work->work). This works, but not good. We can use cancel_rearming_delayed_work(), this also simplifies the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4 Author: Alan Cox Date: Tue Jul 10 17:22:27 2007 -0700 lots-of-architectures: enable arbitary speed tty support Add the termios2 structure ready for enabling on most platforms. One or two like Sparc are plain weird so have been left alone. Most can use the same structure as ktermios for termios2 (ie the newer ioctl uses the structure matching the current kernel structure) Signed-off-by: Alan Cox Cc: Bryan Wu Cc: Ian Molton Cc: Haavard Skinnemoen Cc: Yoshinori Sato Cc: Mikael Starvik Cc: David Howells Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Ralf Baechle Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: Miles Bader Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf67e16251c42302499499b1c50f7d35622f564 Author: Pavel Emelianov Date: Tue Jul 10 17:22:26 2007 -0700 Make common helpers for seq_files that work with list_heads Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. This makes code about 300 lines smaller: The first version of this patch made the helper functions static inline in the seq_file.h header. This patch moves them to the fs/seq_file.c as Andrew proposed. The vmlinux .text section sizes are as follows: 2.6.22-rc1-mm1: 0x001794d5 with the previous version: 0x00179505 with this patch: 0x00179135 The config file used was make allnoconfig with the "y" inclusion of all the possible options to make the files modified by the patch compile plus drivers I have on the test node. This patch: Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. Signed-off-by: Pavel Emelianov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c14d444b55f285063a4018c10d521614b70b581a Author: Jiri Slaby Date: Tue Jul 10 17:22:25 2007 -0700 sx: switch subven and subid values sx.c is failing to locate Graham's card. Signed-off-by: Jiri Slaby Cc: Graham Murray Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64c70b1cf43de158282bc1675918d503e5b15cc1 Author: Richard Purdie Date: Tue Jul 10 17:22:24 2007 -0700 Add LZO1X algorithm to the kernel This is a hybrid version of the patch to add the LZO1X compression algorithm to the kernel. Nitin and myself have merged the best parts of the various patches to form this version which we're both happy with (and are jointly signing off). The performance of this version is equivalent to the original minilzo code it was based on. Bytecode comparisons have also been made on ARM, i386 and x86_64 with favourable results. There are several users of LZO lined up including jffs2, crypto and reiser4 since its much faster than zlib. Signed-off-by: Nitin Gupta Signed-off-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54c57dc3b6578356c0a428c767d4bf080254a2ee Author: Eric Sandeen Date: Wed Jun 20 17:15:10 2007 -0700 [PATCH] ocfs2: zero_user_page conversion Signed-off-by: Eric Sandeen Signed-off-by: Mark Fasheh commit b25801038da5823bba1b5440a57ca68afc51b6bd Author: Mark Fasheh Date: Fri Mar 9 16:53:21 2007 -0800 ocfs2: Support xfs style space reservation ioctls We re-use the RESVSP/UNRESVSP ioctls from xfs which allow the user to allocate and deallocate regions to a file without zeroing data or changing i_size. Though renamed, the structure passed in from user is identical to struct xfs_flock64. The three fields that are actually used right now are l_whence, l_start and l_len. This should get ocfs2 immediate compatibility with userspace software using the pre-existing xfs ioctls. Signed-off-by: Mark Fasheh commit 063c4561f52a74de686fe0ff2f96f4f54c9fecd2 Author: Mark Fasheh Date: Tue Jul 3 13:34:11 2007 -0700 ocfs2: support for removing file regions Provide an internal interface for the removal of arbitrary file regions. ocfs2_remove_inode_range() takes a byte range within a file and will remove existing extents within that range. Partial clusters will be zeroed so that any read from within the region will return zeros. Signed-off-by: Mark Fasheh commit 35edec1d52c075975991471d624b33b9336226f2 Author: Mark Fasheh Date: Fri Jul 6 14:41:18 2007 -0700 ocfs2: update truncate handling of partial clusters The partial cluster zeroing code used during truncate usually assumes that the rightmost byte in the range to be zeroed lies on a cluster boundary. This makes sense for truncate, but punching holes might require zeroing on non-aligned rightmost boundaries. Signed-off-by: Mark Fasheh commit d0c7d7082ee1ec4f95ee57bf86ed39d1a27c4037 Author: Mark Fasheh Date: Tue Jul 3 13:27:22 2007 -0700 ocfs2: btree support for removal of arbirtrary extents Add code to the btree paths to support the removal of arbitrary regions within an existing extent. With proper higher level support this can be used to "punch holes" in a file. Truncate (a special case of hole punching) could also be converted to use these methods. Signed-off-by: Mark Fasheh commit 2ae99a60374f360ba07037ebbf33d19b89ac43a6 Author: Mark Fasheh Date: Fri Mar 9 16:43:28 2007 -0800 ocfs2: Support creation of unwritten extents This can now be trivially supported with re-use of our existing extend code. ocfs2_allocate_unwritten_extents() takes a start offset and a byte length and iterates over the inode, adding extents (marked as unwritten) until len is reached. Existing extents are skipped over. Signed-off-by: Mark Fasheh commit b27b7cbcf12a1bfff1ed68a73ddd7d11edc20daf Author: Mark Fasheh Date: Mon Jun 18 11:22:56 2007 -0700 ocfs2: support writing of unwritten extents Update the write code to detect when the user is asking to write to an unwritten extent. Like writing to a hole, we must zero the region between the write and the cluster boundaries. Most of the existing cluster zeroing logic can be re-used with some additional checks for the unwritten flag on extent records. Signed-off-by: Mark Fasheh commit 0d172baa5586071ae0ae0c07356a378fdbedecdb Author: Mark Fasheh Date: Mon May 14 18:09:54 2007 -0700 ocfs2: small cleanup of ocfs2_write_begin_nolock() We can easily seperate out the write descriptor setup and manipulation into helper functions. Signed-off-by: Mark Fasheh commit 328d5752e1259dfb29b7e65f6c2d145fddbaa750 Author: Mark Fasheh Date: Mon Jun 18 10:48:04 2007 -0700 ocfs2: btree changes for unwritten extents Writes to a region marked as unwritten might result in a record split or merge. We can support splits by making minor changes to the existing insert code. Merges require left rotations which mostly re-use right rotation support functions. Signed-off-by: Mark Fasheh commit c3afcbb34426a9291e4c038540129053a72c3cd8 Author: Mark Fasheh Date: Tue May 29 14:28:51 2007 -0700 ocfs2: abstract btree growing calls The top level calls and logic for growing a tree can easily be abstracted out of ocfs2_insert_extent() into a seperate function - ocfs2_grow_tree(). This allows future code to easily grow btrees when needed. Signed-off-by: Mark Fasheh commit 1f6697d072e6fd0b332a4301c21060dcb89bd623 Author: Mark Fasheh Date: Mon Jun 25 14:53:33 2007 -0700 ocfs2: use all extent block suballocators Now that we have a method to deallocate blocks from them, each node should allocate extent blocks from their local suballocator file. Signed-off-by: Mark Fasheh commit 59a5e416d1ab543a5248a2b34d83202c4d55d132 Author: Mark Fasheh Date: Fri Jun 22 15:52:36 2007 -0700 ocfs2: plug truncate into cached dealloc routines Signed-off-by: Mark Fasheh commit 2b604351bc99b4e4504758cbac369b660b71de0b Author: Mark Fasheh Date: Fri Jun 22 15:45:27 2007 -0700 ocfs2: simplify deallocation locking Deallocation of suballocator blocks, most notably extent blocks, might involve multiple suballocator inodes. The locking for this can get extremely complicated, especially when the suballocator inodes to delete from aren't known until deep within an unrelated codepath. Implement a simple scheme for recording the blocks to be unlinked so that the actual deallocation can be done in a context which won't deadlock. Signed-off-by: Mark Fasheh commit bce997682fe3121516f5a20cf7bad2e6029ba018 Author: Mark Fasheh Date: Mon Jun 18 11:12:36 2007 -0700 ocfs2: harden buffer check during mapping of page blocks We don't want to submit buffer_new blocks for read i/o. This actually won't happen right now because those requests during an allocating write are all nicely aligned. It's probably a good idea to provide an explicit check though. Signed-off-by: Mark Fasheh commit 7307de80510a70e5e5aa98de1e80ccbb7d90a3a8 Author: Mark Fasheh Date: Wed May 9 15:16:19 2007 -0700 ocfs2: shared writeable mmap Implement cluster consistent shared writeable mappings using the ->page_mkwrite() callback. Signed-off-by: Mark Fasheh commit 607d44aa3fa6f40b0facaf1028886ed362b92682 Author: Mark Fasheh Date: Wed May 9 15:14:45 2007 -0700 ocfs2: factor out write aops into nolock variants ocfs2_mkwrite() will want this so that it can add some mmap specific checks before asking for a write. Signed-off-by: Mark Fasheh commit 3a307ffc2730bfa1a4dfa94537be9d412338aad2 Author: Mark Fasheh Date: Tue May 8 17:47:32 2007 -0700 ocfs2: rework ocfs2_buffered_write_cluster() Use some ideas from the new-aops patch series and turn ocfs2_buffered_write_cluster() into a 2 stage operation with the caller copying data in between. The code now understands multiple cluster writes as a result of having to deal with a full page write for greater than 4k pages. This sets us up to easily call into the write path during ->page_mkwrite(). Signed-off-by: Mark Fasheh commit 2e89b2e48e1da09ed483f195968c9172aa95b5e2 Author: Mark Fasheh Date: Wed May 9 13:40:18 2007 -0700 ocfs2: take ip_alloc_sem during entire truncate Use of the alloc sem during truncate was too narrow - we want to protect the i_size change and page truncation against mmap now. Signed-off-by: Mark Fasheh commit baf4661a8225d3a39622b795a8db0e6aa845c1ec Author: Sunil Mushran Date: Mon Jun 18 17:00:24 2007 -0700 ocfs2: Add "preferred slot" mount option ocfs2 will attempt to assign the node the slot# provided in the mount option. Failure to assign the preferred slot is not an error. This small feature can be useful for automated testing. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 5fb0f7f010ba07e373c30c3e99b0efd868c6c977 Author: Shani Moideen Date: Mon Jun 11 09:38:19 2007 +0530 [KJ PATCH] Replacing memset(,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c Replacing memset(,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c Signed-off-by: Shani Moideen Signed-off-by: Mark Fasheh commit 800deef3f6f87fee3a2e89cf7237a1f20c1a78d7 Author: Christoph Hellwig Date: Thu May 17 16:03:13 2007 +0200 [PATCH] ocfs2: use list_for_each_entry where benefical Signed-off-by: Christoph Hellwig Signed-off-by: Mark Fasheh commit e6df3a663a5d1ee68aeae7f007197f272700d9cc Author: Joel Becker Date: Tue Feb 6 15:45:39 2007 -0800 ocfs2: Wake up a starting region if it gets killed in the background. Tell o2cb_region_dev_write() to wake up if rmdir(2) happens on the heartbeat region while it is starting up. Then o2hb_region_dev_write() can check to see if it is alive and act accordingly. This prevents a hang (not being woken) and a crash (if it's woken by a signal). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 16c6a4f24de2933b26477ad5dfb71f518220d641 Author: Joel Becker Date: Tue Jun 19 11:34:03 2007 -0700 ocfs2: live heartbeat depends on the local node configuration Removing the local node configuration out from underneath a running heartbeat is "bad". Provide an API in the ocfs2 nodemanager to request a configfs dependancy on the local node, then use it in heartbeat. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 14829422be6d6b6721f61b1e749acf5a9cb664d8 Author: Joel Becker Date: Thu Jun 14 21:40:49 2007 -0700 ocfs2: Depend on configfs heartbeat items. ocfs2 mounts require a heartbeat region. Use the new configfs_depend_item() facility to actually depend on them so they can't go away from under us. First, teach cluster/nodemanager.c to depend an item on the o2cb subsystem. Then teach o2hb_register_callbacks to take a UUID and depend on the appropriate region. Finally, teach all users of o2hb to pass a UUID or NULL if they don't require a pin. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 631d1febab8e546e3bb800bdfe2c212b8adf87de Author: Joel Becker Date: Mon Jun 18 18:06:09 2007 -0700 configfs: config item dependancies. Sometimes other drivers depend on particular configfs items. For example, ocfs2 mounts depend on a heartbeat region item. If that region item is removed with rmdir(2), the ocfs2 mount must BUG or go readonly. Not happy. This provides two additional API calls: configfs_depend_item() and configfs_undepend_item(). A client driver can call configfs_depend_item() on an existing item to tell configfs that it is depended on. configfs will then return -EBUSY from rmdir(2) for that item. When the item is no longer depended on, the client driver calls configfs_undepend_item() on it. These API cannot be called underneath any configfs callbacks, as they will conflict. They can block and allocate. A client driver probably shouldn't calling them of its own gumption. Rather it should be providing an API that external subsystems call. How does this work? Imagine the ocfs2 mount process. When it mounts, it asks for a heart region item. This is done via a call into the heartbeat code. Inside the heartbeat code, the region item is looked up. Here, the heartbeat code calls configfs_depend_item(). If it succeeds, then heartbeat knows the region is safe to give to ocfs2. If it fails, it was being torn down anyway, and heartbeat can gracefully pass up an error. [ Fixed some bad whitespace in configfs.txt. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 299894cc9001b09e3e9685f2709b49e7e1092ccc Author: Joel Becker Date: Fri Oct 6 17:33:23 2006 -0700 configfs: accessing item hierarchy during rmdir(2) Add a notification callback, ops->disconnect_notify(). It has the same prototype as ->drop_item(), but it will be called just before the item linkage is broken. This way, configfs users who want to do work while the object is still in the heirarchy have a chance. Client drivers will still need to config_item_put() in their ->drop_item(), if they implement it. They need do nothing in ->disconnect_notify(). They don't have to provide it if they don't care. But someone who wants to be notified before ci_parent is set to NULL can now be notified. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6d748924b753d63a57dad130fdf11f64c27ff54b Author: Johannes Berg Date: Fri Jun 22 11:20:00 2007 +0200 [PATCH] configsfs buffer: use mutex Seems copied from sysfs, but I don't see a reason here nor there to use a semaphore instead of a mutex. Convert. Signed-off-by: Johannes Berg Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e6bd07aee739566803425acdbf5cdb29919164e1 Author: Joel Becker Date: Fri Jul 6 23:33:17 2007 -0700 configfs: Convert subsystem semaphore to mutex Convert the su_sem member of struct configfs_subsystem to a struct mutex, as that's what it is. Also convert all the users and update Documentation/configfs.txt and Documentation/configfs_example.c accordingly. [ Conflict in fs/dlm/config.c with commit 3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ] Inspired-by: Satyam Sharma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3fe6c5ce1176cf661dbe71fc43b627c1a742a89a Author: Satyam Sharma Date: Wed Jul 4 16:37:16 2007 +0530 [PATCH] configfs+dlm: Rename config_group_find_obj and state semantics clearly Configfs being based upon sysfs code, config_group_find_obj() is probably so named because of the similar kset_find_obj() in sysfs. However, "kobject"s in sysfs become "config_item"s in configfs, so let's call it config_group_find_item() instead, for sake of uniformity, and make corresponding change in the users of this function. BTW a crucial difference between kset_find_obj and config_group_find_item is in locking expectations. kset_find_obj does its locking by itself, but config_group_find_item expects the *caller* to do the locking. The reason for this: kset's have their own locks, config_group's don't but instead rely on the subsystem mutex. And, subsystem needn't necessarily be around when config_group_find_item() is called. So let's state these locking semantics explicitly, and rectify the comment, otherwise bugs could continue to occur in future, as they did in the past (refer commit d82b8191e238 in gfs2-2.6-fixes.git). [ I also took the opportunity to fix some bad whitespace and double-empty lines. --Joel ] [ Conflict in fs/dlm/config.c with commit 3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ] Signed-off-by: Satyam Sharma Cc: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d Author: Satyam Sharma Date: Wed Jul 4 16:37:06 2007 +0530 [PATCH] configfs+dlm: Separate out __CONFIGFS_ATTR into configfs.h fs/dlm/config.c contains a useful generic macro called __CONFIGFS_ATTR that is similar to sysfs' __ATTR macro that makes defining attributes easy for any user of configfs. Separate it out into configfs.h so that other users (forthcoming in dynamic netconsole patchset) can use it too. Signed-off-by: Satyam Sharma Cc: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4c62b53454a83178676e5ecae6665447d363c7b4 Author: Satyam Sharma Date: Wed Jun 27 16:02:14 2007 +0530 configfs: misc cleanups 1. item.c:config_item_cleanup() is a private function (only called by config_item_release() in same file). However, it is spuriously exported in include/linux/configfs.h, so remove that export and make it static in item.c. Also, it is no longer exported / interface function, so no need to give comment for this function (the comment was stating obvious thing, anyway). 2. Kernel-doc comment format does not allow empty line between end of comment and start of function (declaration line). There were several such spurious empty lines in item.c, so fix them. fs/configfs/item.c | 15 +++------------ include/linux/configfs.h | 1 - 2 files changed, 3 insertions(+), 13 deletions(-) Signed-off-by: Satyam Sharma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b23cdde4c6240d70bb3d2e3c4046b60d6f6c8451 Author: Joel Becker Date: Fri Jun 22 13:07:02 2007 -0700 configfs: consistent attribute size The attribute store/show code currently limits attributes at PAGE_SIZE. This code comes from sysfs, where it still works that way. However, PAGE_SIZE is not constant. A 16k attribute string works on ia64 but not on x86. Really a subsystem shouldn't allow different attribute sizes based on platform. As such, limit all simple attributes to 4k. This works on all platforms, and is consistent with all current code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1b844afe9e67d6cd441ae6df71051b4004f31dd2 Author: Roland Dreier Date: Tue Jul 10 13:43:53 2007 -0700 IPoIB: Recycle loopback skbs instead of freeing and reallocating InfiniBand HCAs replicate multicast packets back to the QP that sent them if that QP is attached to the destination multicast group. This means that IPoIB multicasts are often replicated back to the receive queue of the interface that generated them. To avoid confusing the network stack, we drop these duplicates within the IPoIB driver. However, there's no reason to free the skb that received the duplicate and then immediately allocate a new skb to post to the receive queue. We can be more efficient and just repost the same skb. Signed-off-by: Roland Dreier commit 8909c571fa1e62e254c4045394e6eaccfadec6f4 Author: Shani Moideen Date: Mon Jun 18 08:46:41 2007 +0530 IB/mthca: Replace memset(, 0, PAGE_SIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Roland Dreier ---- commit 4ad072c984ebe329c99965ddd1e58b0bb24af12b Author: Adrian Bunk Date: Mon Jul 9 11:51:12 2007 -0700 bonding/bond_main.c: make 2 functions static Signed-off-by: Adrian Bunk Cc: Chad Tindel Cc: Jay Vosburgh Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4cf92a3cd9117cb90ad9441172b9f42b67ee9d26 Author: Jean Tourrilhes Date: Mon Jul 9 20:37:36 2007 -0500 [PATCH] softmac: Fix ESSID problem Victor Porton reported that the SoftMAC layer had random problem when setting the ESSID : http://bugzilla.kernel.org/show_bug.cgi?id=8686 After investigation, it turned out to be worse, the SoftMAC layer is left in an inconsistent state. The fix is pretty trivial. Signed-off-by: Jean Tourrilhes Acked-by: Michael Buesch Acked-by: Larry Finger Signed-off-by: John W. Linville commit 426921bda10c33231e2b335e4ad08bc755c50740 Author: Matthias Kaehlcke Date: Mon Jul 9 12:03:32 2007 -0700 [PATCH] use list_for_each_entry() for iteration in Prism 54 driver Use list_for_each_entry() instead of manual iteration and substitute a list_for_each_safe() loop with list_for_each_entry_safe() Signed-off-by: Matthias Kaehlcke Cc: Christoph Hellwig Acked-by: Luis R. Rodriguez Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 777fa98194f91dae24fd12de47eec1cbb0375b29 Author: Dan Williams Date: Fri Jul 6 07:59:40 2007 -0400 [PATCH] libertas: fix disabling WPA Found by Guillaume LECERF Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 20089ca55786a243c7b72becd1bf670f4e2c2028 Author: Roland Dreier Date: Tue Jul 10 11:18:34 2007 -0700 IPoIB/cm: Fix warning if IPV6 is not enabled Fix drivers/infiniband/ulp/ipoib/ipoib_cm.c:1151: warning: unused variable 'dev' by getting rid of the variable dev, which is only used if CONFIG_IPV6 is enabled, and replacing the one use of it with the value it is assigned, namely priv->dev. Signed-off-by: Roland Dreier commit 6b62472a5ff9605aafa43a0a341c32127821f7b2 Author: Adrian Bunk Date: Sun Jul 1 22:20:40 2007 +0200 [PATCH] drivers/net/wireless/libertas/wext.c: remove dead code This patch removes dead code introduced by commit 90a42210f275e1f828eb6c08bf8252c2d6a774e0 and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 74553aedd46b3a2cae986f909cf2a3f99369decc Author: Daniel Drake Date: Sun Jul 1 18:22:32 2007 +0100 [PATCH] zd1211rw: Defer firmware load until first ifup While playing with the firmware a while back, I discovered a way to access the device's entire address space before the firmware has been loaded. Previously we were loading the firmware early on (during probe) so that we could read the MAC address from the EEPROM and register a netdevice. Now that we can read the EEPROM without having firmware, we can defer firmware loading until later while still reading the MAC address early on. This has the advantage that zd1211rw can now be built into the kernel -- previously if this was the case, zd1211rw would be loaded before the filesystem is available and firmware loading would fail. Firmware load and other device initialization operations now happen the first time the interface is brought up. Some architectural changes were needed: handling of the is_zd1211b flag was moved into the zd_usb structure, MAC address handling was obviously changed, and a preinit_hw stage was added (the order is now: init, preinit_hw, init_hw). Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 93f510bbac64f552ef6872a39ae12afa06c4e999 Author: Daniel Drake Date: Sun Jul 1 18:22:21 2007 +0100 [PATCH] zd1211rw: Add ID for Buffalo WLI-U2-KG54L Tested by Zen Kato zd1211b chip 0411:00da v4810 high 00-16-01 AL2230S_RF pa0 g--N- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 4418583cbf6fcdb715fcdc3719393cfb64b73e97 Author: Daniel Drake Date: Sun Jul 1 18:22:04 2007 +0100 [PATCH] zd1211rw: Detect more AL2230S radios Zen Kato has a device which reports the 0xa RF type. The vendor driver treats this as AL2230S, the same as devices with the AL2230S bit in the POD. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 86d95c214357df0e27dc6af493b62a1073e9d6b2 Author: Daniel Drake Date: Sun Jul 1 18:21:49 2007 +0100 [PATCH] zd1211rw: Allow channels 1-11 for unrecognised regulatory domains Zen Kato's device has a regulatory domain value of 0x49, which is not an IEEE 802.11 code and is not even identified in the vendor driver. Recent versions of the vendor driver don't even look at the regdomain value any more, and just allow channels 1-11 everywhere. This patch brings us more in line with that behaviour, by allowing channels 1-11 for regdomains which we don't know about. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 02c1889166b47b9ade309a8f4b7c4ddf0489d869 Author: Masakazu Mokuno Date: Thu Jul 5 20:11:16 2007 +0900 ps3: gigabit ethernet driver for PS3, take3 Hi, This is the third submission of the network driver for PS3. The differences from the previous one are: - renamed source file names so that their prefix can match with the module name - added cbe-oss-dev@ozlabs.org line for MAINTAINER file - changed some in copyright comments If there are no more comments, please apply for 2.6.23. Thank you -- Subject: PS3: Ethernet driver From: Masakazu Mokuno Add Gigabit Ethernet support for the PS3 game console. The module will be called ps3_gelic. CC: Geoff Levand Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit fb038c279694638cb3cd24d496062ae38700f542 Author: Michal Schmidt Date: Fri Jun 29 15:33:52 2007 +0200 [PATCH] airo: start with radio off Don't turn the radio on until the interface is up. This saves some power in case the driver is loaded but the card is not used. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 175ec1a1fa78c784f5f99ad56c2274f58bcb35f1 Author: Michal Schmidt Date: Fri Jun 29 15:33:47 2007 +0200 [PATCH] airo: simpler calling convention for enable_MAC() Callers of enable_MAC() shouldn't have to worry about the bits in the response's status word (and most of them don't). The return value is sufficient information. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 1138c37b66c16a5c7b49389ae566a4d73d60c2aa Author: Michal Schmidt Date: Fri Jun 29 15:33:41 2007 +0200 [PATCH] airo: fix a race causing initialization failures Matteo Croce reported Aironet initialization failures. They were caused by a race in airo. airo finds a free interface name, then initializes the card and finally registers the interface. Another device may get the same name in the meantime. The reason airo gets its name early is to use it in informative printks and to name the resources it requests. The printks will be just fine without the interface name and the resources can use the driver's name - that's what other network drivers do anyway. One of the talkative functions is setup_card(). It is called once before registration and can be called later again. Let's have an empty dev->name during the first call, so it doesn't print the ugly "airo(eth%d)" message. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 1c2b7db8c8c4212761fcb5190a4122afd5e02d58 Author: Michal Schmidt Date: Fri Jun 29 15:33:36 2007 +0200 [PATCH] airo: delay some initialization until the netdev is up airo's kernel thread and the IRQ handler are needed only when the interface is up. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 777ec5e9cec521af617fc52a1c1ae24f68f4a43b Author: Michal Schmidt Date: Fri Jun 29 15:33:30 2007 +0200 [PATCH] airo: disable the PCI device when unloading module Fix an assymetry between pci_{enable,disable}_device. airo did not disable the PCI device when unloading the module. This caused suspend failures after modprobe -r airo && modprobe airo. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit def47c5095d53814512bb0c62ec02dfdec769db1 Author: Jeff Garzik Date: Tue Jul 10 14:06:48 2007 -0400 [netdrvr] Fix dependencies for ax88796 ne2k clone driver It needs writesb(), not available on all platforms. Signed-off-by: Jeff Garzik commit 856c52a741950dc0be2c5c231efec626e9a0a3fa Author: Dotan Barak Date: Tue Jul 10 16:55:57 2007 +0300 IB/core: Take sizeof the correct pointer when calling kmalloc() When allocating out_mad in show_pma_counter(), take sizeof *out_mad instead of sizeof *in_mad. It is true that today the type of in_mad and out_mad are the same, but this patch will give us a cleaner code. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit a62056f0b0cfdc175afd99fef80a68f01cdf0f4b Author: Stephen Hemminger Date: Fri Jun 22 21:46:50 2007 -0700 [PATCH] ipw2100: RF kill switch timer power save Similar patch to ipw2200. Round the timer used for RF kill switch off to 1 second boundary to save power. Build tested only, don't have this hardware. Signed-off-by: Stephen Hemminger Signed-off-by: John W. Linville commit 1c9d5e41e32a3bfe60f44e3272c05d14ea595a71 Author: Stephen Hemminger Date: Fri Jun 22 21:34:06 2007 -0700 [PATCH] ipw2200: rf kill switch polling power saving Make the ipw2200 driver polling of rf kill switch occur on second boundaries to reduce power. Making all the wakeup's in the system occur together reduces power, and keeps CPU in idle longer. Signed-off-by: Stephen Hemminger Signed-off-by: John W. Linville commit 899413de1a6c9f999f677526df5205a9a70dcd93 Author: Michael Wu Date: Thu Jun 14 00:33:48 2007 -0700 [PATCH] rtl8187: fix endianness issue in rtl8225 register writing I failed to notice that a u16 was being passed to the hardware. This fixes it. Thanks to Kasper F. Brandt for finding this! Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit d082b9b5c6edf2e1d241af4630f12f0e5e2d2377 Author: Holger Schurig Date: Mon Jul 2 10:50:32 2007 +0200 [PATCH] libertas: fix use-after-free in rx path ... by removing an ill-conceived, useless line. Discovered by coverity. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 26710dcf84236ea20a92a00b4828a5f9a1729795 Author: Robert P. J. Day Date: Mon Jul 2 13:34:55 2007 -0400 [PATCH] WIRELESS: Remove clearly obsolete libertas/version.h file. Remove a header file that was ostensibly "removed" before, in commit 3ce40232. Signed-off-by: Robert P. J. Day Signed-off-by: John W. Linville commit 4c3ca4da8086c3c9fcc81dccc387c34bee6b755e Author: Jan-Bernd Themann Date: Thu Jul 5 09:26:25 2007 +0200 eHEA: Capability flag for DLPAR support This patch introduces a capability flag that is used by the DLPAR userspace tool to check which DLPAR features are supported by the eHEA driver. Missing goto has been included. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit e1abecc48938fbe1966ea6e78267fc673fa59295 Author: Jeff Garzik Date: Tue Jul 10 12:58:33 2007 -0400 Remove sk98lin ethernet driver. Unmaintained, superceded by skge. Prodded to deletion by Adrian Bunk. Acked by Stephen Hemminger. Signed-off-by: Jeff Garzik commit cd6f5b8051efe03b90a1dd6d63a642f78ec4e60d Author: Adrian Bunk Date: Tue Jul 10 14:44:49 2007 +0200 sunhme.c:quattro_pci_find() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x272f8b): Section mismatch: reference to .init.text:quattro_pci_find (between 'happy_meal_pci_probe' and 'happy_meal_pci_remove') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit c2edacf80e155ef54ae4774379d461b60896bc2e Author: Jay Vosburgh Date: Mon Jul 9 10:42:47 2007 -0700 bonding / ipv6: no addrconf for slaves separately from master At present, when a device is enslaved to bonding, if ipv6 is active then addrconf will be initated on the slave (because it is closed then opened during the enslavement processing). This causes DAD and RS packets to be sent from the slave. These packets in turn can confuse switches that perform ipv6 snooping, causing them to incorrectly update their forwarding tables (if, e.g., the slave being added is an inactve backup that won't be used right away) and direct traffic away from the active slave to a backup slave (where the incoming packets will be dropped). This patch alters the behavior so that addrconf will only run on the master device itself. I believe this is logically correct, as it prevents slaves from having an IPv6 identity independent from the master. This is consistent with the IPv4 behavior for bonding. This is accomplished by (a) having bonding set IFF_SLAVE sooner in the enslavement processing than currently occurs (before open, not after), and (b) having ipv6 addrconf ignore UP and CHANGE events on slave devices. The eql driver also uses the IFF_SLAVE flag. I inspected eql, and I believe this change is reasonable for its usage of IFF_SLAVE, but I did not test it. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 89c0d26be7037cd5bbce3bbf12580ba70ed8f382 Author: Alexey Dobriyan Date: Fri Jul 6 19:05:25 2007 +0400 atl1: remove write-only var in tx handler Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 099575b6cb7eaf18211ba72de56264f67651b90b Author: Alexey Dobriyan Date: Fri Jul 6 18:57:13 2007 +0400 macmace: use "unsigned long flags;" Code will do local_irq_save() on it. Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 9514bfe5d92000a9fd6f3c44aa775819b5d78aaf Author: Peter Korsgaard Date: Tue Jul 3 00:46:42 2007 +0200 Cleanup usbnet_probe() return value handling usbnet_probe() handles a positive return value from the driver bind() function as success, but will later only setup the status handler if the return value was zero, leading to confusion. Patch adjusts this to accept positive values as success in both checks. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 4638aef1e2d8d938e52cd49f6492e9d414b38380 Author: Stephen Hemminger Date: Thu Jul 5 16:13:55 2007 -0700 netxen: deinline and sparse fix Get rid of dubious casts to (void *) which causes a sparse warning. And move largeish function from inline to the one file that uses the code, the compiler can then decide to inline it. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8abd531e3f77188de2fc41e677d075cc66e61631 Author: Francois Romieu Date: Wed Jul 4 00:31:44 2007 +0200 eeprom_93cx6: shorten pulse timing to match spec (bis) Based on an original idea by John W. Linville. It is the missing part of 42d45ccd60636c28e35c2016f091783bc14ad99c Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 85cfb534280dd6a7c7ac399bb2888e1b8b286ece Author: Olof Johansson Date: Tue Jul 3 16:24:32 2007 -0500 phylib: Add Marvell 88E1112 phy id Add 88E1112 PHY ID to the marvell driver. Seems to do fine with the 88E1111 inits. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e54792396fb658b97e2f7b0541c6334020e1a3ec Author: Olof Johansson Date: Tue Jul 3 16:23:46 2007 -0500 phylib: cleanup marvell.c a bit Simplify the marvell driver init a bit: Make the supported devices an array instead of explicitly registering each structure. This makes it considerably easier to add new devices down the road. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 825a2ff1896ec3ead94bebef60c71f57254da58a Author: Ben Dooks Date: Tue Jul 3 16:53:09 2007 +0100 AX88796 network driver Support for the Asix AX88796 network controller, an NE2000 compatible 10/100 ethernet device with internal PHY. The driver supports PHY settings via either ioctl() or the ethtool driver ops. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 105b1bca4d7bed85bb296f7e7caec2fc643e9fbf Author: Robert P. J. Day Date: Tue Jul 10 06:37:56 2007 -0400 [MIPS] PNX8550: Cleanup proc code. Here's a slightly cleaner way of creating the /proc structure for the pnx8850. mostly, it creates a directory with default mode 555, since the one you're creating is mode 444, which is somewhat unusual for a directory under /proc. Signed-off-by: Ralf Baechle commit 569fb7536ea66e3364a8ff0b26598c6c9874d657 Author: Ralf Baechle Date: Tue Jul 10 16:56:33 2007 +0100 [MIPS] WRPPMC: Fix build. Using another systems defines is a safe way to get your code broken by accident when that system is removed. Signed-off-by: Ralf Baechle commit 44659f29a0a26dcdbf516a82b0ff96d6ba464724 Author: Ralf Baechle Date: Tue Jul 10 16:31:19 2007 +0100 [MIPS] Yosemite: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x974): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x980): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x978): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x984): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x98c): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x990): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') Signed-off-by: Ralf Baechle commit 7e95a016f844fc660bf80065413998a784a78988 Author: Atsushi Nemoto Date: Wed Jul 11 00:24:14 2007 +0900 [MIPS] Change names of local variables to silence sparse This patch is an workaround for these sparse warnings: linux/include/linux/calc64.h:25:17: warning: symbol '__quot' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here linux/include/linux/calc64.h:25:17: warning: symbol '__mod' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 62b396358e837549f20068ed9c3d2bcf99d9ad2d Author: Ralf Baechle Date: Tue Jul 10 16:10:56 2007 +0100 [MIPS] SB1: Fix modpost warning. MODPOST vmlinux WARNING: arch/mips/mm/built-in.o(.text+0x1978): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') WARNING: arch/mips/mm/built-in.o(.text+0x1988): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') Signed-off-by: Ralf Baechle commit f2c4b47f26c9d3ba32fb51e574d8cacce30f744d Author: Ralf Baechle Date: Tue Jul 10 15:04:06 2007 +0100 [MIPS] PNX: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd40): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd44): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') Signed-off-by: Ralf Baechle commit 070c7b8611e852099370b17eaeb470407cb80ffe Author: Ralf Baechle Date: Tue Jul 10 09:35:12 2007 +0100 [MIPS] Alchemy: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/au1000/common/built-in.o(.text+0x1750): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') WARNING: arch/mips/au1000/common/built-in.o(.text+0x1754): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') Signed-off-by: Ralf Baechle commit 35c700c0955c43e168c45d375f90a0670be8f054 Author: Ralf Baechle Date: Tue Jul 10 08:59:17 2007 +0100 [MIPS] Non-FPAFF: Fix warning. Signed-off-by: Ralf Baechle commit bf74b964775009071cf12f9d59d4dd5e388fbe0b Author: Ralf Baechle Date: Tue Jul 10 08:14:15 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 46cc84bf412f95610b25e59d575aada6a5512f3a Author: Ralf Baechle Date: Mon Jul 9 19:20:20 2007 +0100 [MIPS] MIPSsim: Enable MIPSsim virtual network driver. Signed-off-by: Ralf Baechle commit 688b3d720820a9e3e2e9d5882be64a28f649e206 Author: Ralf Baechle Date: Mon Jul 9 16:29:16 2007 +0100 [MIPS] Delete Ocelot 3 support. Signed-off-by: Ralf Baechle commit c99cabf034d42c9e4a9c1ed9dfd26411b2fb9b57 Author: Yoichi Yuasa Date: Mon Jul 9 13:10:55 2007 +0900 [MIPS] remove LASAT Networks platforms support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ecd27b92fbb41f779d857632a69bd45dbaf0f915 Author: Chris Dearman Date: Fri Jul 6 17:11:20 2007 +0100 [MIPS] Early check for SMTC kernel on non-MT processor Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 83fd38cabc982db041d3586a15734713f45caa31 Author: Atsushi Nemoto Date: Sat Jul 7 23:21:49 2007 +0900 [MIPS] Add debugfs files to show fpuemu statistics Export contents of struct mips_fpu_emulator_stats via debugfs. There is no way to read these statistics for now but they (at least the "emulated" count) might be sometimes useful for performance tuning on FPU-less CPUs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6312e0ee45236b6882cd26b2ccc167b1b91646fc Author: Atsushi Nemoto Date: Sat Jun 30 00:55:48 2007 +0900 [MIPS] Add some debugfs files to debug unaligned accesses Currently a number of unaligned instructions is counted but not used. Add /debug/mips/unaligned_instructions file to show the value. And add /debug/mips/unaligned_action to control behavior upon an unaligned access. Possible actions are: 0: silently fixup the unaligned access. 1: send SIGBUS. 2: dump registers, process name, etc. and fixup. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 2db30150fe4fe309c57087c661209c9ea0b5c21b Author: Atsushi Nemoto Date: Mon Jul 2 22:43:06 2007 +0900 [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs * Fix pci ops for secondary PCIC * Do not reserve 1MB for PCI MEM region (leave PCIBIOS_MIN_MEM zero) * Use platform_device to provide ethernet addresses for internal NICs. (background: TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way.) * Check return value of early_read_config_word() Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bd43da8ff130caf31fff0482a75660507a26b641 Author: Atsushi Nemoto Date: Fri Jun 29 22:34:53 2007 +0900 [MIPS] tc35815: Load MAC address via platform_device TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way. Signed-off-by: Atsushi Nemoto Acked-by: Jeff Garzik Signed-off-by: Ralf Baechle commit 295cbf6d63165fe4253cf1d9ceadcda47a318b48 Author: Ralf Baechle Date: Tue Jul 3 14:37:43 2007 +0100 [MIPS] Move FPU affinity code into separate file. Gets rid of some of the CONFIG_MIPS_MT_FPAFF #ifdefery. Signed-off-by: Ralf Baechle commit 5ddcb3c35be995517a32799796e2acda90a784e0 Author: Atsushi Nemoto Date: Tue Jun 26 01:14:01 2007 +0900 [MIPS] Make ioremap() work on TX39/49 special unmapped segment TX39XX and TX49XX have "reserved" segment in CKSEG3 area. 0xff000000-0xff3fffff on TX49XX and 0xff000000-0xfffeffff on TX39XX are reserved (unmapped, uncached). Controllers on these SoCs are placed in this segment. This patch add plat_ioremap() and plat_iounmap() to override default behavior and implement these hooks for TX39/TX49. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bb33b19ff92aed11fb56435be4c5d5231598a948 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:29 2007 +0900 [MIPS] rbtx4938: Update and minimize defconfig Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f74cf6ff99a49741b0f243996b621777b2d610d4 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:06 2007 +0900 [MIPS] rbtx4938: Convert SPI codes to use generic SPI drivers Use rtc-rs5c348 and at25 spi protocol driver and spi_txx9 spi controller driver instead of platform dependent codes. This patch also removes dependencies to old RTC interfaces such as rtc_mips_get_time, etc. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 3896b05418b9b8548a678231db754206b3ebe56e Author: Atsushi Nemoto Date: Fri Jun 22 23:21:55 2007 +0900 [MIPS] rbtx4938: Add generic GPIO support GPIO 0..15 are for TX4938 PIO pins, GPIO 16..18 are for FPGA-driven chipselect signals for SPI devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 06cf5583fd9ac782cf34996cdabb48afdf478e37 Author: Thomas Bogendoerfer Date: Wed Jun 20 23:36:47 2007 +0200 [MIPS] SNI RM updates - use RTC_CLASS instead of GEN_RTC - get rid of ds1216 in favour of a RTC_CLASS driver - use correct console device for older RM400 - use physical addresses for 82596 device - use 128 byte L1 cache line size (this is needed because most of the SNI caches are using 128 L2 cache lines) Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 68bc00e31143ad8bfa435425e0a11e9b3998911d Author: Marc St-Jean Date: Thu Jun 14 15:57:11 2007 -0600 [MIPS] PMC MSP71xx default configuration Patch to add default configuration for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 6f95e60acf404e39d14030572c9033ddaca6f4de Author: Marc St-Jean Date: Thu Jun 14 15:56:23 2007 -0600 [MIPS] PMC MSP71xx PCI support Patch to add PCI support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 9267a30d1dc7dcd7cadb5eb6a5bbfed703feeefa Author: Marc St-Jean Date: Thu Jun 14 15:55:31 2007 -0600 [MIPS] PMC MSP71xx mips common Patch to add mips common support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 35832e26f95ba14a6b6f0519441c5cb64cca6bf9 Author: Marc St-Jean Date: Thu Jun 14 15:54:47 2007 -0600 [MIPS] PMC MSP71xx core platform Patch to add core platform support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit a4b156d47d204904fa104c3e585b4c67b89195f3 Author: Adrian Bunk Date: Tue Jun 19 22:27:04 2007 +0200 [MIPS] Removes the few leftovers of the MOMENCO_JAGUAR_ATX removal. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 42d226c7248a28ff8c478c06b7e9bd9ef5d73574 Author: Songmao Tian Date: Wed Jun 6 14:52:38 2007 +0800 [MIPS] New files for lemote fulong mini-PC support Signed-off-by: Fuxin Zhang Signed-off-by: Songmao Tian Signed-off-by: Ralf Baechle commit 2a21c7300b53b744d16903256a172d9cbcfdd03e Author: Fuxin Zhang Date: Wed Jun 6 14:52:43 2007 +0800 [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 Signed-off-by: Fuxin Zhang Signed-off-by: Ralf Baechle commit fee578fad1a29e6a149659e5467aedcae6897c06 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Convert init_thread initialization to ISO C initializers. Signed-off-by: Ralf Baechle commit a36920200c5b89d56120a5e839fe4a603d51b16c Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Enable support for the userlocal hardware register Which will cut down the cost of RDHWR $29 which is used to obtain the TLS pointer and so far being emulated in software down to a single cycle operation. Signed-off-by: Ralf Baechle commit d223a86154f8c66f5a380b17e1c8091d56f47cf8 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] FP affinity: Coding style cleanups Signed-off-by: Ralf Baechle commit e7c4782f92fc4b83d953ce53f77f05ae65dcd773 Author: Ralf Baechle Date: Tue Jul 10 17:33:01 2007 +0100 [MIPS] Put an end to 's long and annyoing existence Signed-off-by: Ralf Baechle commit 192cca6ef2c49ac5ff46f7a31cb9dd175995658e Author: Franck Bui-Huu Date: Mon Jun 11 15:08:55 2007 +0200 [MIPS] Remove Momenco Ocelot C support Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 arch/mips/configs/ocelot_c_defconfig delete mode 100644 arch/mips/momentum/ocelot_c/Makefile delete mode 100644 arch/mips/momentum/ocelot_c/cpci-irq.c delete mode 100644 arch/mips/momentum/ocelot_c/dbg_io.c delete mode 100644 arch/mips/momentum/ocelot_c/irq.c delete mode 100644 arch/mips/momentum/ocelot_c/ocelot_c_fpga.h delete mode 100644 arch/mips/momentum/ocelot_c/platform.c delete mode 100644 arch/mips/momentum/ocelot_c/prom.c delete mode 100644 arch/mips/momentum/ocelot_c/reset.c delete mode 100644 arch/mips/momentum/ocelot_c/setup.c delete mode 100644 arch/mips/momentum/ocelot_c/uart-irq.c delete mode 100644 arch/mips/pci/fixup-ocelot-c.c delete mode 100644 arch/mips/pci/pci-ocelot-c.c commit cfd2afc0f654e86e3f0b5060409b90f21964b9d3 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] IP32: Remove experimental tag from kconfig. Signed-off-by: Ralf Baechle commit 19df0d1169b3ddcc84933794d1401aaafe2f0000 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] PCI: Make dev pointer argument of pcibios_map_irq const. This is to break the code of people who think they are supposed to scribble into the pci device structure - it's off limits. Signed-off-by: Ralf Baechle commit 6b5bf509317c013ea0a7c166affc1d4631720d85 Author: Yoichi Yuasa Date: Thu Jun 21 15:06:21 2007 +0900 [MIPS] EV64120: Remove support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 36de48de85bdb9bc8c35c1eb513737c187d70a46 Author: Maciej W. Rozycki Date: Tue Jun 5 11:45:07 2007 +0100 [MIPS] DECstation: Optimised early printk() This is an optimised implementation of early printk() for the DECstation. After the recent conversion to a MIPS-specific generic routine using a character-by-character output the performance dropped significantly. This change reverts to the previous speed -- even at 9600 bps of the serial console the difference is visible with a naked eye; I presume for a framebuffer it is even worse (it may depend on exactly which one is used though). Additionally the change includes a fix for a problem that the old implementation had -- the format used would not actually limit the length of the string output. This new implementation uses a local buffer to deal with it -- even with this additional copying it is much faster than the generic function. Plus this driver is registered much earlier than the generic one, allowing one to see critical messages, such as one about an incorrect CPU setting used, that are produced beforehand. :-) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit d388d6853f1b584b8606cb3f2f9f9e4fa2e52258 Author: Maciej W. Rozycki Date: Tue May 29 15:08:07 2007 +0100 [MIPS] No I/O ports on the DECstation There are no I/O ports on the DECstation whatsoever in any configuration as neither the CPU nor the peripheral buses used have a concept of such. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit b63e804459b9b550c1ab21a43e6bac2272e32612 Author: Atsushi Nemoto Date: Tue Jun 5 01:28:07 2007 +0900 [MIPS] Remove unused watchpoint support and arch/mips/lib-{32,64} Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c66df567e596bd43d6d3e094d82f82951e1b17cd Author: Yoichi Yuasa Date: Sat Jun 2 02:12:41 2007 +0900 [MIPS] update cobalt_defconfig Enable Cobalt button support and change ATA driver from BLK_DEV_VIA82CXXX to PATA_VIA.. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b1c65b3988c6e29ac371ab1cbbf6c4f8fb7092f8 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:35 2007 +0200 [MIPS] Fix PHYS_OFFSET for 64-bits kernels with 32-bits symbols The current implementation of __pa() for 64-bits kernels with 32-bits symbols is broken. In this configuration, we need 2 values for PAGE_OFFSET, one in XKPHYS and the other in CKSEG0 space. When the value in CKSEG0 space is used, it doesn't take into account of PHYS_OFFSET. Even worse we can't redefine this value. The patch restores CPHYSADDR() but in __pa()'s implementation because it removes the need of 2 PAGE_OFFSET. OTOH, CPHYSADDR() is quite bad when dealing with mapped kernels. So this patch assumes there's no need to deal with such kernel in 64-bits world. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 41b0483ee54d89f9ad068ceae3c91cdc7594d050 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:34 2007 +0200 [MIPS] Move PHY_OFFSET definition in spaces.h Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit db38501511a7513ec4f0ae9922d847c135cf3c78 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:33 2007 +0200 [MIPS] Make PAGE_OFFSET aware of PHYS_OFFSET For platforms that use PHYS_OFFSET and do not use a mapped kernel, this patch automatically adds PHYS_OFFSET into PAGE_OFFSET. Therefore there are no more needs for them to redefine PAGE_OFFSET. For mapped kernel, they need to redefine PAGE_OFFSET anyways. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit c4612c8596084c898628bd1898da5987ec43ac1d Author: Franck Bui-Huu Date: Mon Jun 4 17:46:32 2007 +0200 [MIPS] Clean up asm-mips/mach-generic/spaces.h PAGE_OFFSET definition is now using CAC_BASE by default. This patch also reorder some macros to make them appear in the same order for both 32 and 64 bits configs. It also makes use of const.h generic header file to annotate constants. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 09bb9ce15f6e0daba70b7e6978f233ffe2d356eb Author: Franck Bui-Huu Date: Mon Jun 4 17:46:31 2007 +0200 [MIPS] Allow generic spaces.h to be included by platform specific ones Before this patch, when a platform needed to customize one constant in spaces.h, they need to redefine all of them. Now they can just redefine one constant and include the generic file header at the end: #include This patch doesn't allow to redefine CAC_BASE, IO_BASE and UNCAC_BASE for 32 bits platforms because there's no need to do so. This will avoid some macro duplications. It's important specially if we'll add complex macros. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 include/asm-mips/mach-ip32/spaces.h commit 69ed25b895b01216b392b60ad3b99d1274e1afa8 Author: Atsushi Nemoto Date: Sat Jun 2 00:30:25 2007 +0900 [MIPS] Remove unused dump_tlb functions Remove unused dump_tlb functions and cleanup some includes. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4becef1d85a48ea4294c962c2cbacb6074f0dd58 Author: Atsushi Nemoto Date: Sat Jun 2 00:21:30 2007 +0900 [MIPS] Unify dump_tlb Unify lib-{32,64}/dump_tlb.c into lib/dump_tlb.c and move lib-32/r3k_dump_tlb.c to lib directory. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f6e2373ad6148476464fc7bb2610c6450c18cd2a Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] MIPSsim: Move code away from the other MIPS Inc. BSP code. It shares no code at all. While at it also fix up the beginning bitrot. Signed-off-by: Ralf Baechle commit 24e9d0b96dac5503c0b6f034d553030c604228a7 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Hook for platforms to define cachability of /dev/mem regions Signed-off-by: Ralf Baechle commit 8bb809df6919f927bcb910bbc852d5724eaa1eb9 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Cleanup TO_PHYS_MASK definition No point in adding yet another #ifdef for Loongson since all this mask is being used for is converting an XKPHYS address into a physical address anyway. So replace all definitions by one with the highest architectural possible value. Signed-off-by: Ralf Baechle commit b3f6df9f21c6efc4641613188204aa0742bc9e22 Author: Robert P. J. Day Date: Fri May 25 14:32:28 2007 -0400 [MIPS] Transform old-style macros to newer "__noreturn" Convert old/obsolete NORET_TYPE and ATTRIB_NORET macros to use the newer standard of "__noreturn" as defined in compiler-gcc.h. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit 8f8771a057bff0d3911459d0bdadf03ec1dd3c89 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] SMTC: Use current_cpu_data instead of cpu_data[smp_processor_id] Signed-off-by: Ralf Baechle commit 4ead16819b4c61fea9bb73eb470f6bb1d3350e5c Author: Florian Fainelli Date: Tue May 22 21:44:42 2007 +0200 [MIPS] Add generic GPIO to Au1x00 This patch adds support for the generic GPIO API to Au1x00 boards. It requires the generic GPIO patch for MIPS boards by Yoichi Yuasa. Now there is a MIPS target using it, can you queue these patchset for 2.6.22 ? Thank you very much in advance. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 82b8d2250c4b606e190853db9505b54b9fb71aa5 Author: Atsushi Nemoto Date: Fri Jun 22 23:20:23 2007 +0900 [MIPS] Create fallback gpio.h Create fallback gpio.h which only contains prototypes for gpio API. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 096633358c907d9b50b00caf989816c2edfefe24 Author: Yoichi Yuasa Date: Tue May 22 00:05:58 2007 +0900 [MIPS] Add generic GPIO support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4679258d52f6d4aeeafd5c77203d97ddf48e2db0 Author: Adrian Bunk Date: Sat Jul 7 03:03:27 2007 +0200 [MIPS] Remove unused cpu_callout_map and num_booting_cpus() Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 9797cae3bfd2d7190609cdce05248cabc5d9081e Author: Adrian Bunk Date: Sat Jul 7 03:03:30 2007 +0200 [MIPS] "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3, and "static inline" is correct here. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit e48ce6b8df5b51af3f38b20bb3d008dff69ff64e Author: Atsushi Nemoto Date: Wed May 30 00:38:07 2007 +0900 [MIPS] Simplify missing-syscalls for N32 and O32 Use standard missing-syscalls with EXTRA_CFLAGS instead of duplicating the command. And move the archprepare rule before the archclean rule. Suggested by Franck Bui-Huu. Also add "echo" to show the target ABI. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d7eb079fc8e68899fd099ad0b5b8095193a8c025 Author: Yoichi Yuasa Date: Mon May 28 22:56:35 2007 +0900 [MIPS] Remove unused config entries Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e934c82657529a85ca48a2fc3749c514df985e79 Author: Yoichi Yuasa Date: Mon May 21 23:00:38 2007 +0900 [MIPS] remove unused definitions for Cobalt Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f49343a54864b98333b98706accba66aa75a0c16 Author: Alan Cox Date: Tue Jul 10 17:05:16 2007 +0100 IOC3: Switch to pci refcounting safe APIs Convert the IOC3 driver to use ref counting pci interfaces so that we can obsolete the (usually unsafe) pci_find_{slot/device} interfaces and avoid future authors writing hotplug-unsafe device drivers. Signed-off-by: Alan Cox Build fixes: Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 44e4925e4601961b9bd1982008a55fce865d318c Author: David Graham Date: Tue Jul 10 08:45:11 2007 -0700 e100: Fix Tyan motherboard e100 not receiving IPMI commands The 82550 & 51 parts have an extended configuration block that includes a bit "GMRC", required to enable the expected TCO behavior, in config byte offset 22d. The config block sent by the failing driver does include the extension area, but this bit is not initialised, and the downlaod only specifies 0x16 bytes to be sent to the NIC (thaht's bytes 00..21d). By initializing the GMRC bit, and extending the download size for D102+ MACs, the problem is resolved. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c6f5047b633f0605098fe47417c4e1ed87a7637a Author: Timur Tabi Date: Tue Jul 10 07:51:11 2007 -0500 QE Ethernet driver writes to wrong register to mask interrupts The QE Ethernet driver was writing to the wrong register to mask interrupts. In ucc_geth_stop(), it was clearing UCCE instead of UCCM. Signed-off-by: Timur Tabi Signed-off-by: Jeff Garzik commit 4f092432bd443416b649519c3d5405aa55ad2d15 Author: Adrian Bunk Date: Tue Jul 10 14:44:47 2007 +0200 rrunner.c:rr_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x26e3f2): Section mismatch: reference to .init.text:rr_init (between 'rr_init_one' and 'rr_remove_one') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 9b5587cdd9f2a8dd4a010a93a6380051d43a3c16 Author: Adrian Bunk Date: Tue Jul 10 14:44:37 2007 +0200 tokenring/3c359.c:xl_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x361ef1): Section mismatch: reference to .init.text:xl_init (between 'xl_probe' and 'xl_hw_reset') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 4e50a8e3c564add2f621dadb752a44872e93c754 Author: Adrian Bunk Date: Tue Jul 10 14:44:35 2007 +0200 sis900_mii_probe() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x298170): Section mismatch: reference to .init.text:sis900_mii_probe (between 'sis900_probe' and 'sis900_default_phy') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 8453d43f0ee08ac6c20f390797772a08f81f999a Author: Rolf Eike Beer Date: Tue Jul 10 11:58:02 2007 +0200 Fix typo in drivers/net/s2io.c Introduced in d796fdb708fc5b10112934cba43e832c36ce4923. Signed-off-by: Rolf Eike Beer Signed-off-by: Jeff Garzik commit 654e02200578799264941e5a9b533563a87f8579 Author: Marcin Juszkiewicz Date: Tue Jul 10 11:40:28 2007 +0200 PCMCIA: add Socket Ethernet card into pcnet_cs One card submitted by Ångström user. Signed-off-by: Marcin Juszkiewicz Signed-off-by: Jeff Garzik commit 7a627558214664f0e071b2652fc37e4d7d3dce32 Author: Ishizaki Kou Date: Mon Jul 9 18:17:42 2007 -0500 spidernet: improve interrupt handling We intend this patch to improve spidernet interrupt handling to be more strict. We had following problem and this patch solves it. -when CONFIG_DEBUG_SHIRQ=y, request_irq() calls handler(). -when spider_net_open() is called, it calls request_irq() which calls spider_net_interrupt(). -if some specific interrupt bit is set at this timing, it calls netif_rx_schedule() and spider_net_poll() is scheduled. -spider_net_open() calls netif_poll_enable() which clears the bit __LINK_STATE_RX_SCHED. -when spider_net_poll() is called, it calls netif_rx_complete() which causes BUG_ON() because __LINK_STATE_RX_SCHED is not set. Signed-off-by: Kou Ishizaki Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit b8a1fcee26126b566d9e28ba80c643a7a10543eb Author: Steffen Klassert Date: Mon Jul 9 11:50:23 2007 -0700 3cSOHO100-TX needs EXTRA_PREAMBLE The 3cSOHO100-TX needs a mdio_sync() before mdio_read() to read the MII transceiver registers properly. Adding EXTRA_PREAMBLE to drv_flags of the 3cSOHO100-TX will force this. This problem exists already for years (I checked back to 2.6.8). Setting duplex for the 3cSOHO100-TX was more or less a random process. Till 2.6.15 it was more likely that the diver ends up in half duplex mode, after the code change in 2.6.16 it was more likely to end up in full duplex mode. I wonder why nobody noticed this earier. Hopefully addresses Bug 7454 3c59x (3cSOHO100-TX Hurricane) slow network bug http://bugzilla.kernel.org/show_bug.cgi?id=7454 and Bug 3654 3cSOHO100-TX: No MII transceiver present http://bugzilla.kernel.org/show_bug.cgi?id=3654 Cc: Jonas Sandberg Cc: Jon Sanchez Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 199126a23a091585670fba023529b73047bb2bad Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 Use is_power_of_2() in myri10ge/myri10ge.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Cc: Brice Goglin Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d9da466a3ce2ac005e05bb649a0f2cfb5c3d5d45 Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 use is_power_of_2() in cxgb3/cxgb3_main.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit de0d3dc0e8ecd80f602fac03feb8fd53d0c17a8c Author: Yoann Padioleau Date: Mon Jul 9 11:50:20 2007 -0700 atari_pamsnet.c: old declaration ritchie style fix Use consistent function declaration style. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0640b8dc74e938543dd8fc8c460c5f913a1b1a74 Author: Stephen Hemminger Date: Mon Jul 9 15:33:44 2007 -0700 sky2: 1.16 version Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e923d7b124d2b2218faac22714dc6e4639fab2e7 Author: Stephen Hemminger Date: Mon Jul 9 15:33:43 2007 -0700 sky2: remove some leftover debug messages Eliminate extra debug messages Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 36eb0c71f3ab42b116a5a7bda733230014741632 Author: Stephen Hemminger Date: Mon Jul 9 15:33:42 2007 -0700 sky2: use upper_32_bits() macro Use upper_32_bits() inline Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f957da2aa0b7ef9659a45b0895ec4a08602b1c15 Author: Stephen Hemminger Date: Mon Jul 9 15:33:41 2007 -0700 sky2: use roundup() macro Use roundup() macro to size receive buffer. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 71749531f2d1954137a1a77422ef4ff29eb102dd Author: Stephen Hemminger Date: Mon Jul 9 15:33:40 2007 -0700 sky2: check drop truncated packets If packet larger than MTU is received, the driver uses hardware to truncate the packet. Use the status registers to catch/drop them. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f4331a6d24f2e5524678caf4621d35f33fb934da Author: Stephen Hemminger Date: Mon Jul 9 15:33:39 2007 -0700 sky2: add support for read/write of EEPROM Add get/set eeprom support for sky2. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8a3e3bfdf47b82bfbd78aabf7f72df4dff12abcc Author: Stephen Hemminger Date: Mon Jul 9 15:33:38 2007 -0700 sky2: unmark as EXPERIMENTAL Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55c9dd35d3299dbd6e437c1a0bd86fffcb17080b Author: Stephen Hemminger Date: Mon Jul 9 15:33:37 2007 -0700 sky2: receive fill Simplify receive buffer refill logic. Rather than trying to update incrementally; do receive ring refill at end of receive processing. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5c11ce700f77fada15b6264417d72462da4bbb1c Author: Stephen Hemminger Date: Mon Jul 9 15:33:36 2007 -0700 sky2: check for more work before leaving NAPI This patch avoids generating another IRQ if more packets arrive while in the NAPI poll routine. Before marking device as finished, it rechecks that the status ring is empty. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3cf267539f1f133eb6ba63d074da18cb58cdf89a Author: Stephen Hemminger Date: Mon Jul 9 15:33:35 2007 -0700 sky2: debug interface Add an optional debug interface for displaying state of transmit/receive rings. Creates a file debugfs/sky2/ethX for each device that is up. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55d7b4e6ed6ad3ec5e5e30b3b4515a0a6a53e344 Author: Stephen Hemminger Date: Mon Jul 9 15:33:34 2007 -0700 sky2: carrier management Make sky2 handle carrier similar to other drivers, eliminate some possible races in carrier state transistions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c59697e06058fc2361da8cefcfa3de85ac107582 Author: Stephen Hemminger Date: Mon Jul 9 15:33:33 2007 -0700 sky2: restore workarounds for lost interrupts This patch restores a couple of workarounds from 2.6.16: * restart transmit moderation timer in case it expires during IRQ routine * default to having 10 HZ watchdog timer. At this point it more important not to hang than to worry about the power cost. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 665f5600cb80c9cfa2e9bc832f9cd28164d8e283 Author: David Woodhouse Date: Mon Jul 9 11:37:39 2007 -0700 [POWERPC] Enable arbitary speed tty ioctls and split input/output speed Adding the defines/macros activates the existing code in the tty layer and allows this platform to use the arbitary speed ioctl setting layer Signed-off-by: David Woodhouse Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 5605d4def1b33721c268067620b163af0a9e2474 Author: Adrian Bunk Date: Mon Jul 9 11:37:38 2007 -0700 [POWERPC] Make drivers/char/hvc_console.c:khvcd() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 32efddf8526879a77d58aa635c5d5dd45bb87fd9 Author: Robert P. J. Day Date: Mon Jul 9 11:37:37 2007 -0700 [POWERPC] Remove dead code for preventing pread() and pwrite() calls Remove the deactivated code for checking for pread() and pwrite() calls on the PPC-based BRIQ. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1f945a86a8250b66fda47cf1fc8f3daf5d0f8969 Author: Mathieu Desnoyers Date: Mon Jul 9 11:37:34 2007 -0700 [POWERPC] Remove unnecessary #undef printk from prom.c Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8203c17e5b35408889ec5c358d71110b624519bd Author: Li Yang Date: Tue Jul 10 16:59:39 2007 +1000 [POWERPC] Fix typo in Ebony default DTS Signed-off-by: Li Yang Signed-off-by: Paul Mackerras commit 70584578ab3e940ac9d7820f268f9adc9884e407 Author: Sonny Rao Date: Tue Jul 10 03:31:44 2007 +1000 [POWERPC] Check for NULL ppc_md.init_IRQ() before calling Check to make sure ppc_md.init_IRQ has been set before calling it. Signed-off-by: Sonny Rao Signed-off-by: Paul Mackerras commit b3e998ee05773a3ac33d540aa341295acef4c56b Author: Manish Ahuja Date: Sat Jul 7 07:59:55 2007 +1000 [POWERPC] Remove extra return statement Found 2 instances of return one right after each other in arch_add_memory(). This removes the superfluous one. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit bc6b73e14e11b19d43c89920aa516813459c84da Author: Olof Johansson Date: Sat Jul 7 06:15:14 2007 +1000 [POWERPC] pasemi: Don't auto-select CONFIG_EMBEDDED Disable auto-select of CONFIG_EMBEDDED. ELECTRA_IDE selects PATA_PLATFORM which should be sufficient. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit d4875a217b75df8995f9815d8e274429383c2d1d Author: Olof Johansson Date: Fri Jul 6 00:49:04 2007 +1000 [POWERPC] pasemi: Rename platform Rename the pasemi platform to "pasemi" to be in line with the platform's directory name. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 12654f776487952e7c0b9b3864ea1de08b1740f9 Author: Johannes Berg Date: Thu Jul 5 19:35:33 2007 +1000 [POWERPC] arch/powerpc/kernel/sysfs.c: Move NUMA exports With !CONFIG_NUMA, these are static inlines in the header file so don't generate exports for them in that case. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit bd67fcf9ba8474e8eef649a79aba5b3479b01272 Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Add __read_mostly support for powerpc Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit fc9069fe56d9594b7a6da0b9f9ca0eafd756260f Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Modify sched_clock() to make CONFIG_PRINTK_TIME more sane When booting a current kernel with CONFIG_PRINTK_TIME enabled you'll see messages like: [ 0.000000] time_init: decrementer frequency = 188.044000 MHz [ 0.000000] time_init: processor frequency = 1504.352000 MHz [3712914.436297] Console: colour dummy device 80x25 This cause by the initialisation of tb_to_ns_scale in time_init(), suddenly the multiplication in sched_clock() now does something :). This patch modifies sched_clock() to report the offset since the machine booted so the same printk's now look like: [ 0.000000] time_init: decrementer frequency = 188.044000 MHz [ 0.000000] time_init: processor frequency = 1504.352000 MHz [ 0.000135] Console: colour dummy device 80x25 Effectivly including the uptime in printk()s. This patch makes tb_to_ns_scale and tb_to_ns_shift static and read_mostly for good measure. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 4bb092811c72685f5ba26340d393c0717f5a43b1 Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Create a dummy zImage if no valid platform has been selected This simply prevents a build error if no platform is selected. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit bafdb645779c63300763acb383f7b9dd2d427228 Author: Geoff Levand Date: Wed Jul 4 09:07:18 2007 +1000 [POWERPC] PS3: Bootwrapper support. Add support to build the PS3 flash rom image and remove some unneeded lmb calls. The PS3's lv1 loader supports loading gzipped binary images from flash rom to addr zero. The loader enters the image at addr 0x100. In this implementation a bootwrapper overlay is use to arrange for the kernel to be loaded to addr zero and to have a suitable bootwrapper entry at 0x100. To construct the rom image, 0x100 bytes from offset 0x100 in the kernel is copied to the bootwrapper symbol __system_reset_kernel. The 0x100 bytes at the bootwrapper symbol __system_reset_overlay is then copied to offset 0x100. At runtime the bootwrapper program copies the 0x100 bytes at __system_reset_kernel to addr 0x100. zImage.ps3 is a wrapped image that contains a flat device tree, an lv1 compatible entry point, and an optional initrd. otheros.bld is the gzip compresed rom image built from zImage.ps3. otheros.bld is suitable for programming into the PS3 boot flash memory. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 76a5b8bb3525b63db137c714cf9ad5b3b99e75f0 Author: Johannes Berg Date: Wed Jul 4 09:01:54 2007 +1000 [POWERPC] powermac i2c: Use mutex Convert the semaphores in low_i2c that are used as mutexes to real mutexes. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b7dbfbf13192a57591275d50b0993cb0acdb25c Author: Josh Boyer Date: Tue Jul 3 23:25:46 2007 +1000 [POWERPC] Schedule removal of arch/ppc The arch/ppc tree has been in a semi-nebulous "bug fix only" state for a few kernel releases now. The patch below officially declares this as of the 2.6.22 kernel release and schedules arch/ppc for removal in June of 2008. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit b6f41cc8304ce04a5afa3e1e5d2ff6e8088831b7 Author: Josh Boyer Date: Tue Jul 3 02:06:53 2007 +1000 [POWERPC] Consolidate PowerPC 750 cputable features The 750 CPU_FTR macros have quite a bit of duplication in them. Consolidate them to use CPU_FTRS_750 and only list the unique features for derivatives. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 078f194045f892a10f4a5406e7cb06a7f8d42c57 Author: will schmidt Date: Wed Jun 27 02:12:33 2007 +1000 [POWERPC] Oprofile enhanced instruction sampling support Oprofile enhanced instruction sampling support. When performing instruction sampling, the mmcra[SLOT] field can be used to more accurately identify the address of the sampled instruction. Tested on power4, js20, power5 and power5+. Signed-off-by: Will Schmidt cc: Maynard Johnson Signed-off-by: Paul Mackerras commit f5e6a280d153bff3b0cd15651d29d409f8dea698 Author: Olaf Hering Date: Sun Jun 24 16:57:08 2007 +1000 [POWERPC] Make two xmon variables static xmon_early and xmon_off are only used in this file. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 94a3807c2a547283bb2fb1728609ad51c09d5f79 Author: Michael Ellerman Date: Wed Jun 20 10:54:19 2007 +1000 [POWERPC] Make the debugfs "powerpc" dir globally accessible The prom.c debugging code creates a "powerpc" directory in debugfs, which is nice, but doesn't allow any other debugging code to stick things under "powerpc" in debugfs. So make it global. While we're there we should make the prom.c debugging code depend on CONFIG_DEBUG_FS, because it doesn't work otherwise. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit db0dbae9d9680bce69fe1ce775709e60c8ee9c29 Author: Wade Farnsworth Date: Wed Jun 20 10:15:10 2007 +1000 [POWERPC] Add a check for keyboard/mouse device nodes in check_legacy_ioport() The device tree for the MPC8641 HPCN does not implement the device type property for I8042 nodes. In addition to checking the I8042 node's device type, also match the keyboard and/or mouse nodes' compatible property. Signed-off-by: Wade Farnsworth Signed-off-by: Paul Mackerras commit 6a281856c02d2291df2f7d9df5bfdee2e7bdd747 Author: Michael Ellerman Date: Tue Jun 19 16:08:00 2007 +1000 [POWERPC] Add a warning to help trackdown device_node refcounting bugs When the refcount for a device node goes to 0, we call the destructor - of_node_release(). This should only happen if we've already detached the node from the device tree. So add a flag OF_DETACHED which tracks detached-ness, and if we find ourselves in of_node_release() without it set, issue a warning and don't free the device_node. To avoid warning continuously reinitialise the kref to a sane value. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit d3b814bb1e8b0c63449a3430196c20cbe24a3e67 Author: Michael Ellerman Date: Tue Jun 19 16:07:58 2007 +1000 [POWERPC] Generalise device_node flag interface The struct device_node currently has a _flags variable, although it's only used for one flag - OF_DYNAMIC. Generalise the flag accessors so we can use them with other flags in future. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 972d17c9dbad378da61baa17f4c3ea6e154b186a Author: Michael Ellerman Date: Tue Jun 19 16:07:56 2007 +1000 [POWERPC] Check for the root node in of_detach_node() It's not sensible to call of_detach_node() on the root node, but we should check for it just to be safe. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 333e615483afc5203d1cae1490e50982d6eefbea Author: Roland Dreier Date: Sat Jun 16 05:36:32 2007 +1000 [POWERPC] Add cputable entry for PowerPC 440SPe Rev. B When adding the cputable entry for 440SPe Rev. B, we also need to adjust the existing entries for 440SP Rev. A and 440SPe Rev. B so that they look more bits of the PVR. The 440SPe Rev. B has PVR 53421891, which would match the current 440SP Rev. A pattern of 53xxx891. To distinguish between 440SP and 440SPe, we need to use the first three digits of the PVR, which are respectively 532 and 534. Signed-off-by: Roland Dreier Signed-off-by: Paul Mackerras commit 57cc705f3920d39d96ed9b8373aa7ff2cb93434f Author: Wade Farnsworth Date: Thu Jun 7 02:57:43 2007 +1000 [POWERPC] Fix drivers/rtc/Kconfig for powerpc The powerpc arch uses CONFIG_PPC instead of CONFIG_POWERPC. This fixes drivers/rtc/Kconfig to use the correct config option. Signed-off-by: Wade Farnsworth Acked-by: Jon Loeliger Signed-off-by: Paul Mackerras commit e34b9c94b6e8d63f94387f5148434db5f8f79084 Author: Ishizaki Kou Date: Thu May 31 19:33:04 2007 +1000 [POWERPC] of_serial: add port type checking Currently, of_serial driver supports only 8250 compatible ports, but prepares that others can easily be added. Yet unregister routine assumes port is 8250. This corrects unregister routine to check port type. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 1558f9b44e1c6b5eba46f58214851fd24285641f Author: Ishizaki Kou Date: Thu May 31 19:30:33 2007 +1000 [POWERPC] of_serial: Ignore unknown serial port Current of_serial driver assumes unknown serial port to be 8250. But this behavior may cause fatal problems when the serial port is not 8250. This corrects probe routine to ignore unknown serial port. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f716a425c15ebadf60286cd4fb60d1d6f46e3cf9 Author: Robert P. J. Day Date: Wed May 30 11:29:06 2007 +1000 [POWERPC] VIOTAPE: Use designated initializers for fops member structures. Replace the old-style member initializers with the newer designated initializers. Signed-off-by: Robert P. J. Day Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ca747ddf29773d552fc0e0dcde0d92b807cd6b85 Author: Christoph Hellwig Date: Tue May 29 21:49:01 2007 +1000 [POWERPC] Remove unused do_signal export do_signal is never used in modular code (obviously), and no other architecture exports it either. Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit c0613c1c940dac991b9e54db75dc9976491d9f0a Author: Geert Uytterhoeven Date: Tue Jul 10 12:26:29 2007 +0200 Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different Signed-off-by: Geert Uytterhoeven Acked-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 70cee26e020c1d74ff559c991b96c7b19fa4173b Author: Matthias Kaehlcke Date: Tue Jul 10 12:26:24 2007 +0200 Use list_for_each_entry() instead of list_for_each() in the block device elevator Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit fd11d171e51a5b81c176d856d5df5612117e1a45 Author: Jan Engelhardt Date: Tue Jul 10 12:26:06 2007 +0200 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 Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 5f5c926e3cba972636b50ab872b421e992d4f401 Author: Jan Engelhardt Date: Tue Jul 10 12:24:17 2007 +0200 block/Kconfig already has its own "menuconfig" so remove these "menu, endmenu" that did not get cleaned up in the block patch [ http://lkml.org/lkml/2007/4/10/251 ] Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 16ed002f224738366c1809023ec70a71ae51421c Author: Jan Engelhardt Date: Tue Jul 10 12:24:11 2007 +0200 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 Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 15c31be4d5bd2402c6f5a288d56a24edc9252b71 Author: Jens Axboe Date: Tue Jul 10 13:43:25 2007 +0200 cfq-iosched: fix async queue behaviour With the cfq_queue hash removal, we inadvertently got rid of the async queue sharing. This was not intentional, in fact CFQ purposely shares the async queue per priority level to get good merging for async writes. So put some logic in cfq_get_queue() to track the shared queues. Signed-off-by: Jens Axboe commit 36a700307ece3ca090d1f8f071db085087ddc627 Author: Stephen Rothwell Date: Tue May 29 16:06:54 2007 +1000 [POWERPC] Fix viodasd geometry calculations Commit a885c8c4316e1c1d2d2c8755da3f3d14f852528d that introduced the getgeo block device method changed the fallback number of sectors and introduced a bug into the fallback cylinder number calculation. Thanks to Rusty Russell for noticing this. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3ebf44902f77537b5784eb5059c2b78d8b5a920a Author: Steven Whitehouse Date: Tue Jul 10 12:28:27 2007 +0100 [GFS2] Accept old format NFS filehandles On Tue, 2007-07-10 at 10:06 +0100, Christoph Hellwig wrote: > > -#define GFS2_LARGE_FH_SIZE 10 > > - > > -struct gfs2_fh_obj { > > - struct gfs2_inum_host this; > > - u32 imode; > > -}; > > +#define GFS2_LARGE_FH_SIZE 8 > > Because gfs2_decode_fh only accepts file handles with GFS2_LARGE_FH_SIZE > or GFS2_LARGE_FH_SIZE you don't accept filehandles sent out by and older > gfs version anymore. Stale filehandles because of a new kernel version > are a big no-no, so please add back code to handle the old filehandles > on the decode side. > This should fix that problem I think since its only relating to end of the fh we can just ignore that field in order to accept the older format. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig Cc: Wendy Cheng commit d7ce6d1d5f6e307a2fbb69626cf120e20e793fe7 Author: Anton Vorontsov Date: Thu Apr 12 01:03:55 2007 +0400 [BATTERY] ds2760 W1 slave This is W1 slave for ds2760 chip, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Acked-by: Evgeniy Polyakov Signed-off-by: David Woodhouse commit fb972873a767220333ffb509de8d9131336e212c Author: David Woodhouse Date: Fri May 4 00:51:18 2007 +0400 [BATTERY] One Laptop Per Child power/battery driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit efea58e397dec84e37209c98619d39a46872db4d Author: David Woodhouse Date: Fri May 4 00:47:40 2007 +0400 [BATTERY] Apple PMU driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit fe0e3153acfef4864b69932cf116eb5f38f7500c Author: Anton Vorontsov Date: Fri May 4 00:45:39 2007 +0400 [BATTERY] 1-Wire ds2760 chip battery driver This is driver for batteries with ds2760 chip inside, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 3788ec932bfd4942831e9a5034191509a2e11924 Author: Anton Vorontsov Date: Fri May 4 00:43:24 2007 +0400 [BATTERY] APM emulation driver for class batteries Signed-off-by: Eugeny Boger Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit b2998049cfae4f4a81c4bb048814d34912017bb9 Author: Anton Vorontsov Date: Fri May 4 00:32:17 2007 +0400 [BATTERY] pda_power platform driver Common power driver for PDAs and phones with one or two external power supplies (AC/USB) connected to main and backup batteries, and optional builtin charger. It's used to stop logic duplication through different embedded devices. So, power supply *logic* is here. pda_power register power supplies, and will take care about notifying batteries about power changes through external power interface. Currently, power consumption legal limits (including USB power consumption) should be handled by platform code, inside set_charge function. Signed-off-by: Anton Vorontsov Signed-off-by: Roman Moravcik Signed-off-by: David Woodhouse commit 4a11b59d8283662193a9c6a9c14c58d1b9bf0617 Author: Anton Vorontsov Date: Fri May 4 00:27:45 2007 +0400 [BATTERY] Universal power supply class (was: battery class) This class is result of "external power" and "battery" classes merge, as suggested by David Woodhouse. He also implemented uevent support. Here how userspace seeing it now: # ls /sys/class/power\ supply/ ac main-battery usb # cat /sys/class/power\ supply/ac/type AC # cat /sys/class/power\ supply/usb/type USB # cat /sys/class/power\ supply/main-battery/type Battery # cat /sys/class/power\ supply/ac/online 1 # cat /sys/class/power\ supply/usb/online 0 # cat /sys/class/power\ supply/main-battery/status Charging # cat /sys/class/leds/h5400\:red-left/trigger none h5400-radio timer hwtimer ac-online usb-online main-battery-charging-or-full [main-battery-charging] main-battery-full Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton commit f60d89108f3481ca11672b82cf7e67171e050ce4 Author: Christian Borntraeger Date: Tue Jul 10 11:24:22 2007 +0200 [S390] vmlogrdr function annotation. Use __init and __exit for vmlogrdr. Both functions are only referenced by the module_init exit macros, so this change should be fine. Acked-by: Stefan Weinhuber Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit dce554708cdb02a1053ca3a68997b9facbfde5ce Author: Heiko Carstens Date: Tue Jul 10 11:24:21 2007 +0200 [S390] s390: rename CPU_IDLE to S390_CPU_IDLE sched-cfs-v2.6.22-git-v18.patch introduces CPU_IDLE in sched.h. This conflict with the already existing define in include/asm-s390/processor.h Just rename the s390 defines, since they will go away as soon as we support CONFIG_NO_HZ instead of our own CONFIG_NO_IDLE_HZ. Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Martin Schwidefsky commit 736f563373804e75f9f3b4abb9e480451bfef8d3 Author: Cornelia Huck Date: Tue Jul 10 11:24:20 2007 +0200 [S390] cio: Remove prototype for non-existing function cmf_reset(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit af512ed0f8a7e6a3c6fd93b2b5882c8e837a6939 Author: Ralph Wuerthner Date: Tue Jul 10 11:24:19 2007 +0200 [S390] zcrypt: fix request timeout handling Under very high load zcrypt requests may timeout while waiting on the request queue. Modify zcrypt that timeouts are based on crypto adapter responses. A timeout occurs only if a crypto adapter does not respond within a given time frame to sumitted requests. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 987ad70a4d90cf0e70dba43ece02c2e2219e092c Author: Martin Schwidefsky Date: Tue Jul 10 11:24:18 2007 +0200 [S390] system call optimization. After the in-kernel system call has been remove the system call path can be optimized. The problem state bit of the old psw is always set between system_call and sysc_do_svc. SAVE_ALL_SVC uses this information to avoid two instructions. Signed-off-by: Martin Schwidefsky commit 3d62149f025134cd69c2fef2a2ccfac3c3c2054f Author: Heiko Carstens Date: Tue Jul 10 11:24:17 2007 +0200 [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE drivers/s390/block/dasd_proc.c:33: warning: 'dasd_get_user_string' defined but not used drivers/s390/block/dasd_proc.c:172: warning: 'dasd_statistics_array' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 048d5ce6828b9071e241254c7dba13d67bfef2c3 Author: Heiko Carstens Date: Tue Jul 10 11:24:16 2007 +0200 [S390] Remove volatile from atomic_t Follow i386/x86_64 and remove 'volatile' from atomic_t. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dc4123303b54657389c952049bf5738dd753d004 Author: Michael Holzheu Date: Tue Jul 10 11:24:15 2007 +0200 [S390] Program check in diag 210 under 31 bit If a virtual address is passed to the diag210 function under 31 bit, we get a programming exception, since diag 210 only works with physical addresses. To fix this, the content of the diag210 data structure is copied to a local structure and the physical address of that structure is passed to diagnose 210. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 8a88367088a6b9964d99694b30d80720f019bea2 Author: Martin Schwidefsky Date: Tue Jul 10 11:24:14 2007 +0200 [S390] Bogomips calculation for 64 bit. The bogomips calculation triggered via reading from /proc/cpuinfo can return incorrect values if the qrnnd assembly is called with a pointer in %r2 with any of the upper 32 bits set. Fix this by using 64 bit division / remainder operation provided by gcc instead of calling the assembly. Signed-off-by: Martin Schwidefsky commit 285f67227b63309d699f5bda25ba34962503398f Author: Heiko Carstens Date: Tue Jul 10 11:24:13 2007 +0200 [S390] smp: Merge smp_count_cpus() and smp_get_save_areas(). Merge smp_count_cpus() and smp_get_save_areas() so we save a loop over all potentially present cpus. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d9f774d439cda5b46324221a47e6aaf7dc2f77cc Author: Heiko Carstens Date: Tue Jul 10 11:24:12 2007 +0200 [S390] zcore: Fix __user annotation. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bf1a95a225c1349846274caebdca1bb8d20d5853 Author: Stefan Haberland Date: Tue Jul 10 11:24:11 2007 +0200 [S390] fixed cdl-format detection. CDL formated DASDs are now detected correctly even if no VOL1 label is on the disk. This prevents possible loss of data. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 83119ad4a1ceacd99f380086c2855ae2c4268afc Author: Heiko Carstens Date: Tue Jul 10 11:24:10 2007 +0200 [S390] sclp: Test facility list before executing a service call. Check if a command is available before executing. Saves some superfluous service calls that won't succeed anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 05dd25307ca67cbfa0207bbba2e6c79fa97d125b Author: Heiko Carstens Date: Tue Jul 10 11:24:09 2007 +0200 [S390] sclp: introduce some new interfaces. Introduce some new interfaces so that random subsystems don't have to mess around with sclp internal structures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bccdbdc9bd7db3a32c14d8a47f1fb66e3de3c92f Author: Ralph Wuerthner Date: Tue Jul 10 11:24:08 2007 +0200 [S390] Fixed comment typo. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit d197e6921843932b5d8ecf47d23fcac62e73b19a Author: Robert P. J. Day Date: Tue Jul 10 11:24:07 2007 +0200 [S390] vmcp cleanup No need to use the "&" prefix and, since you're calling nonseekable_open(), there is no need to use no_llseek(). Signed-off-by: Robert P. J. Day Signed-off-by: Martin Schwidefsky commit 0845718dafea3e16041d270c256e8516acf4e13d Author: Jens Axboe Date: Tue Jun 12 20:51:32 2007 +0200 pipe: add documentation and comments As per Andrew Mortons request, here's a set of documentation for the generic pipe_buf_operations hooks, the pipe, and pipe_buffer structures. Signed-off-by: Jens Axboe commit cac36bb06efe4880234524e117e0e712b10b1f16 Author: Jens Axboe Date: Thu Jun 14 13:10:48 2007 +0200 pipe: change the ->pin() operation to ->confirm() The name 'pin' was badly chosen, it doesn't pin a pipe buffer in the most commonly used sense in the kernel. So change the name to 'confirm', after debating this issue with Hugh Dickins a bit. A good return from ->confirm() means that the buffer is really there, and that the contents are good. Signed-off-by: Jens Axboe commit d96e6e71647846e0dab097efd9b8bf3a3a556dca Author: Jens Axboe Date: Mon Jun 11 12:18:52 2007 +0200 Remove remnants of sendfile() There are now zero users of .sendfile() in the kernel, so kill it from the file_operations structure and in do_sendfile(). Signed-off-by: Jens Axboe commit d054fe3d10cc1f9aec01378c38caa32dffdd0090 Author: Carsten Otte Date: Fri Jun 15 08:16:22 2007 +0200 xip sendfile removal This patch removes xip_file_sendfile, the sendfile implementation for xip without replacement. Those customers that use xip on s390 are not using sendfile() as far as we know, and so far s390 is the only platform this could potentially be used on so far. Having sendfile is not a popular feature for execute in place file systems, however we have a working implementation of splice_read() based on fs/splice.c if anyone asks for it. At this point in time, it does not seem preferable to merge splice_read() for xip because it causes extra maintenence effort due to code duplication and it requires struct page behind the xip memory segment. We'd like to get rid of that in favor of supporting flash based embedded platforms (Monta Vista work) soon. Signed-off-by: Carsten Otte Signed-off-by: Jens Axboe commit 932cc6d4f7c35bbf70bce8cc865b6033ff49c9c0 Author: Jens Axboe Date: Thu Jun 21 13:10:21 2007 +0200 splice: completely document external interface with kerneldoc Also add fs/splice.c as a kerneldoc target with a smaller blurb that should be expanded to better explain the overview of splice. Signed-off-by: Jens Axboe commit d6f517568f9f5c26e7404a336c7289d5b4b293ec Author: Jens Axboe Date: Mon Jun 4 10:25:05 2007 +0200 sendfile: remove bad_sendfile() from bad_file_ops do_sendfile() prefers splice over sendfile, so it should not trigger (directly, at least). Signed-off-by: Jens Axboe commit ae976416464b741913a13eea62eb6953ee065733 Author: Hugh Dickins Date: Mon Jun 4 10:00:39 2007 +0200 shmem: convert to using splice instead of sendfile() Remove shmem_file_sendfile and resurrect shmem_readpage, as used by tmpfs to support loop and sendfile in 2.4 and 2.5. Now tmpfs can support splice, loop and sendfile in the simplest way, using generic_file_splice_read and generic_file_splice_write (with the aid of shmem_prepare_write). We could make some efficiency tweaks later, if there's a real need; but this is stable and works well as is. Signed-off-by: Hugh Dickins Signed-off-by: Jens Axboe commit 1db60cf2056511c7c8cebcbaee308ef6c79b4728 Author: Jens Axboe Date: Tue Jun 12 08:43:46 2007 +0200 relay: use splice_to_pipe() instead of open-coding the pipe loop It cleans up the relay splice implementation a lot, and gets rid of a lot of internal pipe knowledge that should not be in there. Plus fixes for padding and partial first page (and lots more) from Tom Zanussi. Signed-off-by: Jens Axboe commit 497f9625c2bbd6a8525fb2eedb22a382a6a8253c Author: Jens Axboe Date: Mon Jun 11 12:00:45 2007 +0200 pipe: allow passing around of ops private pointer relay needs this for proper consumption handling, and the network receive support needs it as well to lookup the sk_buff on pipe release. Signed-off-by: Jens Axboe commit d6b29d7cee064f28ca097e906de7453541351095 Author: Jens Axboe Date: Mon Jun 4 09:59:47 2007 +0200 splice: divorce the splice structure/function definitions from the pipe header We need to move even more stuff into the header so that folks can use the splice_to_pipe() implementation instead of open-coding a lot of pipe knowledge (see relay implementation), so move to our own header file finally. Signed-off-by: Jens Axboe commit ebf9909343392c929d9943c04f421cd42e03b530 Author: Tom Zanussi Date: Mon Jun 4 09:12:05 2007 +0200 splice: relay support Signed-off-by: Jens Axboe commit cf8208d0eabd1d5d2625ec02a175a294c3f30d36 Author: Jens Axboe Date: Tue Jun 12 21:22:14 2007 +0200 sendfile: convert nfsd to splice_direct_to_actor() Signed-off-by: Jens Axboe commit f0930fffa99e7fe0a0c4b6c7d9a244dc88288c27 Author: Jens Axboe Date: Fri Jun 1 11:51:43 2007 +0200 sendfile: convert nfs to using splice_read() Acked-by: Trond Myklebust Signed-off-by: Jens Axboe commit fd5821404e6823997666d668f62c76eae228abc9 Author: Jens Axboe Date: Tue Jun 12 21:20:37 2007 +0200 loop: convert to using splice_direct_to_actor() instead of sendfile() This gets rid of the dependency on ->sendfile() for receiving data and converts loop to ->splice_read() instead. Also includes an IV offset fix from Hugh Dickins. Signed-off-by: Jens Axboe commit 130610d6f681c5d970340897f5db000d04a7ef78 Author: Jens Axboe Date: Tue Jun 12 21:20:00 2007 +0200 splice: add void cookie to the actor data We need that for passing driver private info. Signed-off-by: Jens Axboe commit 0452a4e5d021900b07ebdeecb9ed03b49f164f3f Author: Jens Axboe Date: Fri Jun 1 11:55:49 2007 +0200 sendfile: kill generic_file_sendfile() It's no longer used. Signed-off-by: Jens Axboe commit 5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496 Author: Jens Axboe Date: Fri Jun 1 11:49:19 2007 +0200 sendfile: remove .sendfile from filesystems that use generic_file_sendfile() They can use generic_file_splice_read() instead. Since sys_sendfile() now prefers that, there should be no change in behaviour. Signed-off-by: Jens Axboe commit 534f2aaa6ab07cd71164180bc958a7dcde41db11 Author: Jens Axboe Date: Fri Jun 1 14:52:37 2007 +0200 sys_sendfile: switch to using ->splice_read, if available This patch makes sendfile prefer to use ->splice_read(), if it's available in the file_operations structure. Signed-off-by: Jens Axboe commit 6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 Author: Jens Axboe Date: Thu Jun 14 13:08:55 2007 +0200 vmsplice: add vmsplice-to-user support A bit of a cheat, it actually just copies the data to userspace. But this makes the interface nice and symmetric and enables people to build on splice, with room for future improvement in performance. Signed-off-by: Jens Axboe commit c66ab6fa705e1b2887a6d9246b798bdc526839e2 Author: Jens Axboe Date: Tue Jun 12 21:17:17 2007 +0200 splice: abstract out actor data For direct splicing (or private splicing), the output may not be a file. So abstract out the handling into a specified actor function and put the data in the splice_desc structure earlier, so we can build on top of that. This is the first step in better splice handling for drivers, and also for implementing vmsplice _to_ user memory. Signed-off-by: Jens Axboe commit 72d3a38ee083a96c09032e608a4c7e047ce26760 Author: Adrian Bunk Date: Mon Jul 9 09:40:44 2007 +0200 unexport bio_{,un}map_user bio_{,un}map_user no longer have any modular users. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit f3f541f9ded9dd37edca103dd3be49bfbd9e730d Author: Jens Axboe Date: Thu Jun 21 08:29:34 2007 +0200 Remove legacy CDROM drivers They are all broken beyond repair. Given that nobody has complained about them (most haven't worked in 2.6 AT ALL), remove them from the tree. A new mitsumi driver that actually works is in progress, it'll get added when completed. Signed-off-by: Jens Axboe commit e654bc4393e85e326993256d80b9710a4d6411ff Author: Boaz Harrosh Date: Wed Jun 20 13:53:23 2007 +0200 [PATCH] fix request->cmd == INT cases - I have unearthed very old bugs in stale drivers that still used request->cmd as a READ|WRITE int - This patch is maybe a proof that these drivers have not been used for a long time. Should they be removed completely? Drivers that currently do not work for sure: drivers/acorn/block/fd1772.c | 2 +- drivers/acorn/block/mfmhd.c | 8 ++++---- drivers/cdrom/aztcd.c | 2 +- drivers/cdrom/cm206.c | 2 +- drivers/cdrom/gscd.c | 2 +- drivers/cdrom/mcdx.c | 2 +- drivers/cdrom/optcd.c | 2 +- drivers/cdrom/sjcd.c | 2 +- Drivers with cosmetic fixes only: b/drivers/block/amiflop.c b/drivers/block/nbd.c b/drivers/ide/legacy/hd.c Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 9cff3b383dad193b0762c27278a16237e10b53dc Author: Mike Miller (OS Dev Date: Tue Jun 19 20:52:18 2007 +0200 cciss: add new controller support for P700m This patch adds support for the Smart Array P700m SAS controller. This new controller will ship Fall 2007. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit c2bcf3b8978c291e1b7f6499475c8403a259d4d6 Author: Jens Axboe Date: Tue Jun 19 19:13:36 2007 +0200 [PATCH] Remove acsi.c Originally from Boaz Harrosh It hasn't been working in 2.5 or 2.6 ever, since it's still buffer_head based. Signed-off-by: Jens Axboe commit f4b09303d00212ead0619db58d8ec8a0a7a94882 Author: Tejun Heo Date: Tue Jun 19 09:18:13 2007 +0200 [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio Barrier bios are completed twice - once after the barrier write itself is done and again after the whole sequence is complete. flush_dry_bio_endio() is for the first completion. It doesn't really complete the bio. It rewinds bvec and resets bio so that it can be completed again when the whole barrier sequence is complete. The bvec rewinding code has the following problems. 1. The rewinding code is wrong because filesystems may pass bvec with non zero bv_offset. 2. The block layer doesn't guarantee anything about the state of bvec array on request completion. bv_offset and len are updated iff __end_that_request_first() completes the bvec partially. Because of #2, #1 doesn't really matter (nobody cares whether bvec is re-wound correctly or not) but then again by not doing unwinding at all, we'll always give back the same bvec to the caller as full bvec completion doesn't alter bvecs and the final completion is always full completion. Drop unnecessary rewinding code. This is spotted by Neil Brown. Signed-off-by: Tejun Heo Cc: Neil Brown Signed-off-by: Jens Axboe commit 554988d6fe369719ae5b41255c577569ecf47c30 Author: Dave Young Date: Tue Jun 19 09:14:26 2007 +0200 [PATCH] cdrom_sysctl_info fix Fix the cdrom_sysctl_info possible buffer overwrite bug. Also fix the locking of accessing topCdromPtr pointer. Signed-off-by: Dave Young Signed-off-by: Jens Axboe commit 32eef964110985c5845472e07fa0a18838a970c4 Author: Jens Axboe Date: Tue Jun 19 09:09:27 2007 +0200 blk_hw_contig_segment(): bad segment size checks Two bugs in there: - The virt oversize check should use the current bio hardware back size and the next bio front size, not the same bio. Spotted by Neil Brown. - The segment size check should add hw front sizes, not total bio sizes. Spotted by James Bottomley Acked-by: James Bottomley Acked-by: NeilBrown Signed-off-by: Jens Axboe commit 7deeed13170e634adc4552ff94588d6301a3da83 Author: Benjamin Gilbert Date: Tue Jun 19 09:05:21 2007 +0200 [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK blk_congestion_wait() doesn't exist anymore, but there's still a stub in blkdev.h for the !CONFIG_BLOCK case. Kill it. Signed-off-by: Benjamin Gilbert Signed-off-by: Jens Axboe commit b8ce2272becc87894d95cbdbba42ae72115131f2 Author: Vitaly Bordug Date: Mon Jul 9 11:37:36 2007 -0700 [POWERPC] dts: kill hardcoded phandles Removed explicit linux,phandle usage. Using references and labels now in PQ and PQ2 boards currently supported in arch/powerpc. Signed-off-by: Vitaly Bordug Cc: Arnd Bergmann Cc: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit 80128ff79d282cf71b1819dbca9b8dd47d8ed3e8 Author: Vitaly Bordug Date: Mon Jul 9 11:37:35 2007 -0700 [POWERPC] 8xx: mpc885ads pcmcia support Adds support for PowerQuicc on-chip PCMCIA. The driver is implemented as of_device, so only arch/powerpc stuff is capable to use it, which now implies only mpc885ads reference board. To cope with the code that should be hooked inside driver, but is really board specific (like set_voltage), global structure mpc8xx_pcmcia_ops holds necessary function pointers that are filled in the BSP code. [akpm@linux-foundation.org: whitespace diddles] Signed-off-by: Vitaly Bordug Acked-by: Arnd Bergmann Acked-by: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit 90faf4fa7964a08d36160f7bc3c252866ad1275a Author: Kumar Gala Date: Mon Jul 9 23:51:06 2007 -0500 [POWERPC] CPM_UART: Use inline function form of eieio Signed-off-by: Kumar Gala commit 74a0ba61b1ca96d6bb98889a7d95cd057165da49 Author: Kumar Gala Date: Mon Jul 9 23:49:09 2007 -0500 [POWERPC] Move inline asm eieio to using eieio inline function Use the eieio function so we can redefine what eieio does rather than direct inline asm. This is part code clean up and partially because not all PPCs have eieio (book-e has mbar that maps to eieio). Signed-off-by: Kumar Gala commit cef1a3a5b8697ad76a6d18753e418cfe6a897030 Author: Laurent Pinchart Date: Mon Jul 9 14:58:18 2007 +0200 [PPC] Add linux/pagemap.h to arch/ppc/mm/tlb.c When compiled without swap support, arch/mm/tlb.c complains about missing function declarations. This patch fixes the warnings. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit d3e0e02804a5f48432a87b839b469e66d1a84f1c Author: Domen Puncer Date: Mon Jul 9 09:52:03 2007 +0200 [POWERPC] 52xx: sparse fixes sparse caught these static functions / __iomem annotations under arch/powerpc/platform/52xx/ Signed-off-by: Domen Puncer Signed-off-by: Kumar Gala commit c03ac582feb1c80ddd5c73e6892d79686340e551 Author: Grant Likely Date: Fri Jul 6 16:29:09 2007 -0600 [POWERPC] 83xx: Add USB support to mpc8349-mitx board port Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit e5a94af84715d142b1050c927a83dd8b1076774b Author: Li Yang Date: Tue Jul 3 17:43:16 2007 +0800 [POWERPC] 83xx: USB platform code rework Add 831x USB platform setup code and rework 834x USB platform setup code. Move USB platform code to usb.c for different boards with CPU of the same series to share the USB initialization code. Signed-off-by: Li Yang Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 65f88f89c94d877794a6006f210d75d2974a182e Author: Andrew Morton Date: Tue Jul 10 00:43:06 2007 -0400 Input: tsdev - fix broken usec-to-millisecs conversion Noted by Fengwei Yin Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 744c9c33eaa062f716c6ae0bcb022b47c3af8b73 Author: Mike Rapoport Date: Tue Jul 10 00:38:39 2007 -0400 Input: pxa27x_keyboard - fix compile error Signed-off-by: Mike Rapoport Acked-by: Rodolfo Giometti Signed-off-by: Dmitry Torokhov commit 4f179f71607382888c5ce5385a4ee136e1a2002a Author: Andrew Morton Date: Tue Jul 10 00:38:31 2007 -0400 Input: serio_raw - shut up errorneous warning drivers/input/serio/serio_raw.c: In function 'serio_raw_read': drivers/input/serio/serio_raw.c:163: warning: 'c' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 2f1d076a220bf57270020a1e756a9f34108b9338 Author: Robert P. J. Day Date: Tue Jul 10 00:38:18 2007 -0400 Input: update MAINTAINERS to explicitly mention touchscreens Signed-off-by: Robert P. J. Day Signed-off-by: Dmitry Torokhov commit 72a42f242cad8f393bb2556f4cc5175c6cea9892 Author: Hans de Goede Date: Tue Jul 3 01:55:18 2007 -0400 Input: atkbd - change mapping for e032 from KEY_WWW to KEY_HOMEPAGE WWW/Homepage key on Microsoft-compatible keyboards generates KEY_WWW when connected via PS/2 port but KEY_HOMEPAGE when connected via USB. This patch changes mapping in atkbd to match one in HID driver. Signed-off-by: Hans de Goede Acked-by: Vojtech Pavlik Signed-off-by: Dmitry Torokhov commit df561fcd445c9cf9f4fff98ea795a0e72b7dc1e1 Author: Ondrej Zary Date: Tue Jul 3 01:55:03 2007 -0400 Input: usbtouchscreen - add support for IRTOUCHSYSTEMS touchscreens This patch adds support for IRTOUCHSYSTEMS (or UNITOP) infrared touchscreens. The touchscreen sends data in 8-byte packets. BYTE 0 - unknown meaning, seen only one value: 0x54 BYTE 1 - unknown meaning, 3 lowest bits indicate touch state values seen: 0x81, 0x82 or 0x83 bit 0 = set if the screen is touched and was not touched before (touch bit 1 = set if the screen is touched and was touched (dragging) bit 2 = set if the touch was ended (release) BYTES 2 and 3 - X position, high-order-byte first, range = 0 to 0x0FFF BYTES 4 and 5 - Y position, high-order-byte first, range = 0 to 0x0FFF BYTE 6 - unknown meaning, seen only one value: 0xFF BYTE 7 - unknown meaning, seen only one value: 0x00 Signed-off-by: Ondrej Zary Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 1e2831db01c0726ec046e69719a10d7696b283fb Author: Dmitry Torokhov Date: Thu Jun 14 23:58:51 2007 -0400 Input: ppc-beep - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Also, do not access input_dev->private directly, use helpers. Signed-off-by: Dmitry Torokhov commit ae91d10aab2762f81733e9194cb56eff99c8d808 Author: Dmitry Torokhov Date: Thu Jun 14 23:49:55 2007 -0400 Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360 Make the driver report Y/RY up as positive value and down as negative. Also make DPAD mapping the same as classic xpad. Reported-by: Brian Magnuson Tested-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 6426b333a7365035ede9744faa24bdc5682fad8a Author: Adrian Bunk Date: Thu Jun 14 23:33:26 2007 -0400 Input: xpad - make xpad_play_effect() static xpad_play_effect() does not need to be global. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 2e8335a629e48a753642772a5fe758c12d2e48bf Author: Jan Kratochvil Date: Thu Jun 14 23:33:13 2007 -0400 Input: xpad - fix check for succesful usb_buffer_alloc Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 5ec1f7f3e4a4896062dc6a64d38036588733bc23 Author: Andi Drebes Date: Thu Jun 14 23:33:01 2007 -0400 Input: grip-mp - use ARRAY_SIZE Signed-off-by: Andi Drebes Signed-off-by: Dmitry Torokhov commit 7ecfbfd3d000a5d6787cf3369228e7f0082b8758 Author: Ping Cheng Date: Thu Jun 14 23:32:48 2007 -0400 Input: wacom - add support for the new Bamboo tablets Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 5f5655023f2814969b744c1e07494666587243aa Author: Hans-Christian Egtvedt Date: Thu Jun 14 23:32:35 2007 -0400 Input: add gpio-mouse driver Adds support for simulating a mouse using GPIO lines. The driver needs an appropriate platform device to be created by architecture code. The driver has been tested on AT32AP7000 microprocessor using the ATSTK1000 development board. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 9657d75c5f0f7d0a9cb507521d3ad1436aea28c9 Author: Dmitry Torokhov Date: Thu Jun 14 23:32:24 2007 -0400 Input: convert from class devices to standard devices Signed-off-by: Dmitry Torokhov commit d63219a10126b878abbbffdf4c5bcf29ef756b7f Author: Dmitry Torokhov Date: Thu Jun 14 23:31:45 2007 -0400 Input: wistron - add support for querying/changing keymap Implement getkeycode and setkeycode methods for the device so EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work. Signed-off-by: Dmitry Torokhov commit c2554c91425a86e5d0409a76b7ddcb328362f08b Author: Dmitry Torokhov Date: Tue May 22 23:48:39 2007 -0400 Input: wistron - convert to use input-polldev Switch to using input-polldev skeleton instead of implementing polling loop by itself. Signed-off-by: Dmitry Torokhov commit 389679d8faa38bb6d069d9e1805f15e3cb9a6d7f Author: Eric Piel Date: Mon May 21 00:46:31 2007 -0400 Input: wistron - add LED support Add support to wistron_btns for leds that come with the multimedia keys. Mail and wifi leds are supported, on laptops which have them. Depending on the laptop, wifi subsystem may control just the led, or both the led and the wifi card. Wifi led interface is activated only for the former type of laptops, as the latter type is already managed. Leds are controled by the interface in /sys/class/leds. Signed-off-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit a4da16d3838669d7fb096ea5d1e4917e5ca4dc16 Author: Eric Piel Date: Mon May 21 00:46:22 2007 -0400 Input: wriston - reduce polling frequency Reduces the polling frequency from 10 Hz to 2 Hz, which should be less a burden for laptops wrt energy saving. As it is multimedia keys, 500ms (maximum) of latency should be still fine for the user. In order to keep fluent the feeling when the user is pressing several keys in a raw (such as changing the volume), the frequency is increased for a short duration after a key is pressed. Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 5035522d1a6b55f95e7e01c209b57f5d89f88b16 Author: Rene van Paassen Date: Mon May 21 00:32:21 2007 -0400 Input: aiptek - update driver version Update credits and version number to 2.3 Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1e7b3faed1793e7637a774240ae22541c5ba6ca0 Author: Rene van Paassen Date: Mon May 21 00:32:17 2007 -0400 Input: aiptek - rework the function key code Function keys (also called macro keys) code corrected. Using a lastMacro variable to keep track of key currently pressed. This ensures proper resetting when dragging the pen in the drawing area or to another key. Also suppress sending pressure reports when over the macro key area. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0112db36ef95e5632db071297f7df130725c47b9 Author: Rene van Paassen Date: Mon May 21 00:32:12 2007 -0400 Input: aiptek - tolerate newlines in sysfs files Now echo "some value" > /sys/......./somefile is also acceptable. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b3b6cf1d47508a04de859d357789a3fc0cf8c690 Author: Rene van Paassen Date: Mon May 21 00:32:07 2007 -0400 Input: aiptek - correct the tool switching code Now the old tool is remembered, and reset when a new tool is selected via the sysfs files. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit da9fda434cde76dfb8174548a63b685b4ac00a9c Author: Rene van Paassen Date: Mon May 21 00:32:03 2007 -0400 Input: aiptek - use only absolute misc reports To get an on - off reporting for proximity, absolute misc reports are used. The mixture of absolute and relative reports is awkward Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 6125a400354c4a02b9dad0e5d8128f9dc08cfd51 Author: Rene van Paassen Date: Mon May 21 00:31:59 2007 -0400 Input: aiptek - put sensible warnings in probe Added warnings to the points where the tablet probe may fail Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1a54f49e8989462cfc9cab0c377b2d4e60e5b70a Author: Rene van Paassen Date: Mon May 21 00:31:55 2007 -0400 Input: aiptek - use set_bit instead of bitwise or Have to use set_bit since some bit values are over 32, and bitwise or won't work on these. To be safe for the future too, use set_bit for all input dev capabilities Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0038cae0ffd72b75699010bd112655dc2615e2fd Author: Mark Vytlacil Date: Mon May 21 00:31:50 2007 -0400 Input: aiptek - fix relative mode parsing Corrections to relative mode, was looking at wrong byte Signed-off-by: Mark Vytlacil Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit ce0982edaec2c46dc9ec466e03f1fe94ee0862d8 Author: Rene van Paassen Date: Mon May 21 00:31:45 2007 -0400 Input: aiptek - fixed mouse button defines Mouse button defines tested the wrong bits, now fixed Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit fe981f2340edffcb6aad2203d8f14c9bef0e67e3 Author: Rene van Paassen Date: Mon May 21 00:31:24 2007 -0400 Input: aiptek - correct the proximity and validity checks Calculation of proximity bit and of data valid bits were reversed for stylus reports. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 2fe574167be6a61d5f37c496da01c4a7daa73f4d Author: Rene van Paassen Date: Mon May 21 00:18:24 2007 -0400 Input: aiptek - correct documentation on reports Small fix that corrects the documentation on the report byte format produced by the mouse Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 33936fa603f2524a7dde08d22637d0989a4e8fdd Author: Dmitry Torokhov Date: Mon May 21 00:18:15 2007 -0400 Input: aiptek - use array to list all buttons When setting up input device use an array to list all the buttons instead of setting every bit separately. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 37767b66ed61ee37f0d8f40523f74c31bc187d1d Author: Dmitry Torokhov Date: Mon May 21 00:18:08 2007 -0400 Input: aiptek - kill aiptek_convert_from_2s_complement() There is no reason to do that, just tell the compiler that we are dealing with signed values in buffer, that's it. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit cd438a58c89221d8642455d0cc8ec96d3b822f6e Author: Dmitry Torokhov Date: Mon May 21 00:17:57 2007 -0400 Input: aiptek - use maps in attributes Use maps to convert for strings to internal constants and vice versa in aiptek's sysfs attribute methods instead of open-coding it. This results in smaller code that is also easier to maintain. [Rene: fix a typo - stylys instead of stylus] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 02fb6c385c72823af4fac83963a05be9163c73ea Author: Dmitry Torokhov Date: Mon May 21 00:17:44 2007 -0400 Input: aiptek - do not check for NULL in attribute methods It makes no sense to check for NULL in attribute methods - we do usb_set_intfdata before creating attributes and once attributes have been removed we are guaranteed to not be called. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b087e1f3ee9ae4da49fdeca2b0f0f8fc5a886a79 Author: Dmitry Torokhov Date: Mon May 21 00:17:37 2007 -0400 Input: aiptek - use attribute group Use attribute group to simplify error handling and reduce code. [Rene: add missing NULL to properly terminate aiptek_attributes] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 5c659c62f9f60633a8de17bd17afaa448f1e1d68 Author: Dmitry Torokhov Date: Mon May 21 00:17:22 2007 -0400 Input: aiptek - remove vendor and product attributes from sysfs They are already exported by input core; there is no need to do it twice. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 9b40ed088bb14ebed30540b19d5c417dc4d9d528 Author: Dmitry Torokhov Date: Mon May 21 00:17:12 2007 -0400 Input: aiptek - do not try to export associated event device Do not try to export via sysfs associated event device - it does not work when evdev is a module that is loaded after aiptek; also it pokes too deply into input core internals. Userspace should rely on udev to set up permanent device name for the tablet. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit aea6a46122a0ce65a831fd93cac6d2084ac666f9 Author: Aristeu Rozanski Date: Thu May 10 01:47:18 2007 -0400 Input: psmouse - add support for Cortron PS/2 Trackballs Cortron PS/2 Trackballs (700-0001A) report the 4th button using the 4th bit of the first packet (yes, it breaks the standard PS/2 protocol). This patch adds an extra protocol to generate BTN_SIDE based on the 4th bit. There's no way to detect those trackballs using any kind of special sequence, thus the protocol must be activated explicitely by writing into 'protocol' sysfs attribute: echo -n "cortps" > /sys/devices/platform/i8042/serio1/protocol Signed-off-by: Aristeu Rozanski Signed-off-by: Dmitry Torokhov commit e01a06e8df239de0ffd4ee37d296c7bc3f57e817 Author: Jan Kratochvil Date: Wed May 9 00:27:51 2007 -0400 Input: xpad - add Xbox360 gamepad rumble support Implementation is using force feedback support for memoryless devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit c7d9f7eb30dccf601cbdc67d5bd452f54ce90ce4 Author: Jan Kratochvil Date: Wed May 9 00:27:37 2007 -0400 Input: xpad - add support for Xbox 360 gamepad Xbox 360 gamepad is slightly different then the previous model so it has its own version of process_packet method. Detection of this new device relies on USB_DEVICE_INTERFACE_PROTOCOL macro. This device got vendor specific subclass so it can't be matched with USB_INTERFACE_INFO and we need only one interface protocol from four availaible. It means USB_DEVICE can't be used either. Added xpad360_btn structure with additional buttons for x360 gamepad. Added xtype into xpad_device structure to distinguish between different types of xbox devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit f836ac808f031e84d7d73a3540f30f38036bb41e Author: Jan Kratochvil Date: Wed May 9 00:26:15 2007 -0400 USB: Add USB_DEVICE_INTERFACE_PROTOCOL macro The USB_DEVICE_INTERFACE_PROTOCOL will allow to match one interface protocol of vendor specific device. This macro is used in patch adding support for xbox360 to xpad.c Signed-off-by: Jan Kratochvil Signed-off-by: Greg Kroah-Hartman Signed-off-by: Dmitry Torokhov commit 749e80810d26c8d522b089718f22bb92d7834a37 Author: Roy Zang Date: Fri Jun 1 16:05:38 2007 +0800 [POWERPC] Remove redundant pci_read_irq_line() function for 85xx platform Remove redundant pci_read_irq_line() function for 85xx CDS board. This function has been realized in common ppc pci code. Signed-off-by: Roy Zang Acked-by: Andy Fleming Acked-by: Benjamin Herrenschmidt Signed-off-by: Kumar Gala commit f72d2f081453d8b1ea36e47478c3463042746ddc Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:33:52 2007 +0200 IB/ehca: Improve latency by unlocking after triggering the hardware Kick the hardware before unlocking the send/receive queue to overlap processing a little more. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8705ce5b90118be93eb8b0ed6f49ca5ff377df24 Author: Joachim Fenkes Date: Mon Jul 9 15:32:22 2007 +0200 IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events When firmware reports a nondisruptive port configuration change event, previous versions of the eHCA driver didn't forward the event to consumers like IPoIB. Add code that determines the type of configuration change by comparing old and new port attributes and reports it. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b1cfe43d4b24144596d277133e0e5b715eea1347 Author: Joachim Fenkes Date: Mon Jul 9 15:31:53 2007 +0200 IB/ehca: Return QP pointer in poll_cq() Also add two unlikely() statements. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 26ed687fdd541c2542b79dcd75fb2c82eb36f189 Author: Joachim Fenkes Date: Mon Jul 9 15:31:10 2007 +0200 IB/ehca: Change idr spinlocks into rwlocks This eliminates lock contention among IRQs as well as the need to disable IRQs around idr_find, because there are no IRQ writers. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 28db6beb420c756c61dd44d9f2786a0677159e74 Author: Joachim Fenkes Date: Mon Jul 9 15:30:39 2007 +0200 IB/ehca: Refactor sync between completions and destroy_cq using atomic_t - ehca_cq.nr_events is made an atomic_t, eliminating a lot of locking. - The CQ is removed from the CQ idr first now to make sure no more completions are scheduled on that CQ. The "wait for all completions to end" code becomes much simpler this way. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9844b71baa60270110eabaa9589d3260443d1a71 Author: Joachim Fenkes Date: Mon Jul 9 15:29:03 2007 +0200 IB/ehca: Lock renaming, static initializers - Rename all spinlock flags to "flags", matching the vast majority of kernel code. - Move hcall_lock into the only file it's used in. - Replaced spin_lock_init() and friends with static initializers for global variables. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 15f001ec47b049051f679f8b8c965ac9aae95b3e Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:28:18 2007 +0200 IB/ehca: Report RDMA atomic attributes in query_qp() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 85f003172fc130626261730141ed021258e81f85 Author: Stefan Roscher Date: Mon Jul 9 15:27:13 2007 +0200 IB/ehca: Set SEND_GRH flag for all non-LL UD QPs on eHCA2 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 472803dab844c0a8a5d757d4c67fa5e76013dcbd Author: Stefan Roscher Date: Mon Jul 9 15:26:31 2007 +0200 IB/ehca: Support UD low-latency QPs Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a6a12947fbf4a1782535468d756b0d44babf9760 Author: Joachim Fenkes Date: Mon Jul 9 15:25:10 2007 +0200 IB/ehca: add Shared Receive Queue support Support SRQs on eHCA2. Since an SRQ is a QP for eHCA2, a lot of code (structures, create, destroy, post_recv) can be shared between QP and SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9a79fc0a1b815cbd05a8e37ea838acfccb7235cc Author: Joachim Fenkes Date: Mon Jul 9 15:23:15 2007 +0200 IB/ehca: QP code restructuring in preparation for SRQ - Replace init_qp_queues() by a shorter init_qp_queue(), eliminating duplicate code. - hipz_h_alloc_resource_qp() doesn't need a pointer to struct ehca_qp any longer. All input and output data is transferred through the parms parameter. - Change the interface to also support SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 91f13aa3fc22e357b494c5b8270e94543870928d Author: Joachim Fenkes Date: Mon Jul 9 15:21:45 2007 +0200 IB/ehca: HW level, HW caps and MTU autodetection In preparation for support of new eHCA2 features, change adapter probing: - Hardware level is changed to encode major and minor chip version - Hardware capabilities are queried from the firmware - The maximum MTU is queried from the firmware instead of assuming a fixed value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b8a3ba551369982180917a999d32fcedbba34115 Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:20:55 2007 +0200 IB/ehca: Change scaling_code parameter description to match default value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit f41d229865c984015914221959675b1c8723f6a7 Author: Sean Hefty Date: Thu Jun 28 19:16:20 2007 -0700 IB/ipath: return correct PortGUID in NodeInfo Return the PortGUID of the correct port when responding to a NodeInfo query. Returning the SystemImageGUID causes issues when there are multiple HCAs in a single system. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 78526821bee8506ab903f596e8e6187fa5919877 Author: Roland Dreier Date: Mon Jul 9 20:12:26 2007 -0700 IB: Update mailing list address The InfiniBand / RDMA discussion list has moved. Signed-off-by: Roland Dreier commit 4f5973fd3bed9dbff0940ad6cc918be64a17b3e4 Author: Arthur Jones Date: Fri Jul 6 12:48:58 2007 -0700 IB/ipath: Remove bogus RD_ATOMIC checks from modify_qp The changeset 3859e39d ("IB/ipath: Support larger IB_QP_MAX_DEST_RD_ATOMIC and IB_QP_MAX_QP_RD_ATOMIC") added support for larger RD_ATOMIC values, but it failed to take out the stricter checks that were before these and hence had no effect. This patch takes out the bogus checks.... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 3588423fbab1cfaf839e67378897e232a054f317 Author: Arthur Jones Date: Fri Jul 6 12:48:53 2007 -0700 IB/ipath: Test interrupts at driver startup All too often, interrupts do not get enabled for our card due to BIOS misconfiguration and other issues. This patch checks for that condition on startup and warns the user. This patch is based on work (check LID availability) by Robert Walsh. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 9ca48655667214be6ebd191628a3c4b5b529a87e Author: Ralph Campbell Date: Fri Jul 6 12:48:48 2007 -0700 IB/ipath: Remove support for preproduction HTX InfiniPath cards Clean up some code by removing support for some older pre-production HTX InfiniPath cards. Signed-off-by: Ralph Campbell commit 12f9a49e1bce241c243268c764e1b37391157cd0 Author: Dave Olson Date: Fri Jul 6 12:48:43 2007 -0700 IB/ipath: Change version wording to be less confusing with release number Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 37a7e9b7f28fbef4b6abda102fa41c1467f6022f Author: Ralph Campbell Date: Fri Jul 6 12:48:38 2007 -0700 IB/ipath: Lower default number of kernel send buffers The default calculation for the number of send buffers to allocate to the kernel was too high for the PCIe version of the chip thus leaving fewer than desired send buffers for user MPI applications. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f42b6471e9e9082ed4bcba1456eccadf98f1337a Author: Arthur Jones Date: Mon Jul 9 20:12:26 2007 -0700 IB/ipath: Update MAINTAINERS entry Bryan is no longer with QLogic and we now have a public git server and a public email alias for infinipath driver patches. And, as pointed out by Hal Rosenstock, the mailing list has changed as well. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 0f4fc5ebd9a68ede20ca365576a6df2df2fefc4c Author: Dave Olson Date: Fri Jul 6 12:48:33 2007 -0700 IB/ipath: Be more cautious about coming out of freeze mode We are more careful to be sure that we don't lose information about changes that occurred while we were in freeze mode, when the chip will not notify us, and try to avoid false error interrupts while doing cleanup. Put all of this logic in a new function ipath_clear_freeze(). Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 4fc570bcbe77f823aae183dd824869f79e74cc97 Author: Ralph Campbell Date: Fri Jul 6 12:48:23 2007 -0700 IB/ipath: Add barrier before updating WC head in shared memory Add a barrier to make sure the CPU doesn't reorder writes to memory, since user programs can be polling on the head index update and the entry should be written before that. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06cc85086e6896939f8c68f8518224748f6b0b2f Author: Jan Engelhardt Date: Wed May 23 14:21:22 2007 -0700 IB: Use menuconfig for InfiniBand menu 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 Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 6abb6ea80b6564c00906aa0727cf59d2be780d82 Author: WANG Cong Date: Mon Jul 9 20:12:26 2007 -0700 RDMA/cxgb3: Check return of kmalloc() in iwch_register_device() Signed-off-by: WANG Cong [ Also remove cast from void * return of kmalloc() as suggested by Jesper Juhl . ] Signed-off-by: Roland Dreier commit ecc2f0060fa7ff2fc53864ee19e370e5ddd47d5e Author: Steve Wise Date: Mon Jun 25 12:46:00 2007 -0500 RDMA/cxgb3: Don't abort after failures sending the mpa reply This bug results in an abort request being sent down _after_ the tid has been released. If the tid happens to have been reused, then the subsequent generation of the tid gets incorrectly aborted. The thread running iwch_accecpt_cr() must not abort a connection if an error is returned after being awakened. If any errors did occur while iwch_accept_cr() is blocked, then the connection has already been aborted on the thread processing the error. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 96d0e4931e264012f57a2ae8f7c4697bfa55386a Author: Steve Wise Date: Thu Jun 21 18:17:57 2007 -0500 RDMA/cxgb3: Don't post TID_RELEASE message The LLD does this for us in cxgb3_remove_tid(). Also fixed active open failure cases where we also shouldn't be releasing the TID. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6eda48d1e82f901d977a405e43a849dc79968d61 Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: ctrl-qp init/clear shouldn't set the gen bit Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 1580367e7b2068d075cd42d04c4b8c274815e6fc Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: Don't count neg_adv abort_req_rss messages as real aborts Negative advice messages should _not_ count toward the 2 abort requests needed to indicate an abort request. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fb497d726612bb0e50240405aaabcf37f13901ed Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: TERMINATE WRs can hang the tx ofld queue Don't set the gen bits nor length bits in the terminate WR. This is done by the LLD driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit de3d353072f9342f04112ba0504c3e294220cb8f Author: Steve Wise Date: Mon May 14 13:27:27 2007 -0500 RDMA/cxgb3: Streaming -> RDMA mode transition fixes Due to a HW issue, our current scheme to transition the connection from streaming to rdma mode is broken on the passive side. The firmware and driver now support a new transition scheme for the passive side: - driver posts rdma_init_wr (now including the initial receive seqno) - driver posts last streaming message via TX_DATA message (MPA start response) - uP atomically sends the last streaming message and transitions the tcb to rdma mode. - driver waits for wr_ack indicating the last streaming message was ACKed. NOTE: This change also bumps the required firmware version to 4.3. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 149983af609e8f5c57157467baf8545d17b8a6a1 Author: Dotan Barak Date: Tue Jun 26 15:55:28 2007 +0300 mlx4_core: Get the maximum message size from reported device capabilities Get the maximum message size from the device capabilities returned from the QUERY_DEV_CAP firmware command, rather than hard-coding 2 GB. Signed-off-by: Dotan Barak Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 87427da55bc03dbce7906a5b09ed50279d654d28 Author: John Gregor Date: Mon Jun 11 10:21:14 2007 -0700 IB/ipath: Update copyright dates Now that it's June, it's about time to update the copyright notices of files that have changed. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 991bda284dcbc1ed0522683320043ac41d70c82c Author: Robert Walsh Date: Mon Jun 4 09:55:48 2007 -0700 IB/ipath: Clean send flags properly on QP reset Signed-off-by: Robert Walsh Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f2d042313e420002b06715675963cfab48ed2597 Author: Robert Walsh Date: Mon Jun 18 14:24:49 2007 -0700 IB/ipath: ipath_poll fixups and enhancements Fix ipath_poll and enhance it so we can poll for urgent packets or regular packets and receive notifications of when a header queue overflows. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit b506e1dc59726a1c608f26e7294b9fe186255139 Author: Robert Walsh Date: Mon Jun 18 14:24:48 2007 -0700 IB/ipath: Send ACK invalid where appropriate The IB specification ch. 9.9.3 table 58 says that a QP which isn't set up for the operation should return a NAK invalid request. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e8e7ad711509f576b1bffd92c3ae4672fe92ec48 Author: Michael Albaugh Date: Mon Jun 18 14:24:47 2007 -0700 IB/ipath: Add capability to modify PBC word During compliance testing and when debugging some interconnect issues, it is very useful to be able to send malformed packets, without having the device signal them as malformed (drop, or terminate with EBP). The hardware supports this, but the driver "diagnostic packet" interface did not. Extend capability to send specific malformed packets for testing. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit bacf4013530e7fc230a8aa0c6ea3c17fc2f47665 Author: Mark Debbage Date: Mon Jun 18 14:24:46 2007 -0700 IB/ipath: Make handling of one subport consistent Previously the driver and userspace code handled the case of 1 subport somewhat inconsistently. The new interpretation of this situation is that if one subport is requested, the driver turns on the subport mechanism and arranges for the port to be "shared" by one process. In normal use the userspace library does not use this configuration and instead arranges for the port not to be shared at all. This particular idiom can be useful for testing purposes. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit 0df6291c8af2778d05f278d5738eef2c8fafa2dd Author: Mark Debbage Date: Mon Jun 18 14:24:45 2007 -0700 IB/ipath: Correct checking of swminor version field when using subports When subports are required to run a program, this patch checks that the driver and the userspace library have compatible subport implementations. This is achieved through checks on the swminor version field built into the driver and userspace library. Bad combinations are reported through syslog and result in an error when opening the port. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit d781b129f1e8b3e2f369d8035a61a5233832e65c Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Duplicate RDMA reads can cause responder to NAK inappropriately A duplicate RDMA read request can fool the responder into NAKing a new RDMA read request because the responder wasn't keeping track of whether the queue of RDMA read requests had been sent at least once. For example, requester sends 4 2K byte RDMA read requests, times out, and resends the first, then sees the 4 responses, then sends a 5th RDMA read or atomic operation. The responder sees the 4 requests, sends 4 responses, sees the resent 1st request, rewinds the queue, then sees the 5th request but thinks the queue is full and that the requester is invalidly sending a 5th new request. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 30d149ab58cc3ed8e4bc9c4dc45bebbed0e84b6e Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Fix possible data corruption if multiple SGEs used for receive The code to copy data from the receive queue buffers to the IB SGEs doesn't check the SGE length, only the memory region/page length when copying data. This could overwrite parts of the user's memory that were not intended to be written. It can only happen if multiple SGEs are used to describe a receive buffer which almost never happens in practice. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit db5518cd09c21f0fa70af0a4ca38badd90622c9e Author: Ralph Campbell Date: Mon Jun 18 14:24:43 2007 -0700 IB/ipath: Wait for PIO available interrupt The send function is called when posting new send work requests. There is no point in trying to send a packet if the QP is already waiting for a HW send buffer so don't clear the busy bit until the buffer available interrupt happens. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06ee109002672ac875558ec699b53cf08a865bd3 Author: Ralph Campbell Date: Mon Jun 18 14:24:42 2007 -0700 IB/ipath: Fix RDMA read retry code A RDMA read response or atomic response can ACK earlier sends and RDMA writes. In this case, the wrong work request pointer was being used to store the read first response or atomic result. Also, if a RDMA read request is retried, the code to compute which request to resend was incorrect. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9380068fc2f230e7840ff87d3f1e6030ae2ee5e8 Author: Dave Olson Date: Mon Jun 18 14:24:41 2007 -0700 IB/ipath: Use S_ABORT not cancel and abort on exit freeze mode after recovery This centralizes the use of the abort functionality, removes the unneeded buffer cancel (abort does the same thing), sets up to ignore launch errors after abort, same as cancel. We need abort on exit from freeze mode to avoid having buffers stuck in the busy state, if a user process happened to complete the send while we were in freeze mode doing the recovery. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 561095f20eeb5c6c05c303bad8cdb3f8a80821bc Author: Dave Olson Date: Mon Jun 18 14:24:40 2007 -0700 IB/ipath: Fix the mtrr_add args for chips with 2 buffer sizes The values passed have never been right for iba 6120 chips, but just happened to work. We needed to select the right buffer offset in the chip (both are in same register), and the total length was wrong also, but was covered by the rounding up. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit f716cdfe57f217966f41a7add190d6f5b9fd0769 Author: Joan Eslinger Date: Mon Jun 18 14:24:39 2007 -0700 IB/ipath: Change use of constants for TID type to defined values Define pkt rcvd 'type' in a way consistent with HW spec and chips. The hardware considers received packets of type 0 to be expected, and type 1 to be eager. The driver was calling the ipath_f_put_tid functions using a variable called 'type' set to 0 for eager and to 1 for expected packets. Worse, the iba6110 and iba6120 drivers used those values inconsistently. This was quite confusing. Now everything is consistent with the hardware. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1dd6a1be1416be48cafda9e63a614f26f0428d10 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Set M bit in BTH according to IB spec According to chapter 17.2.8.1.1, QPs start in the migrated state and should send packets with the M bit set in the BTH. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6d2fad0472ca0d6caba7c36d2823a527e2a0e4f5 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Fix local loopback bug when waiting for resources This patch fixes a minor bug where the wrong QP was checked for a send work request that should wait for an RNR timeout. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2c9749c3b534ea0e606b7ee2c29849bbb8d5b0a9 Author: Ralph Campbell Date: Mon Jun 18 14:24:37 2007 -0700 IB/ipath: Fix problem with next WQE after a UC completion This patch fixes a bug introduced when moving some code around for readability. Setting the wqe pointer at the end of the function is a NOP since it isn't used. Move it back to where it is used. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit fdc7215fbd7b7652b052d1fb7893afe324dba7aa Author: Robert Walsh Date: Mon Jun 18 14:24:36 2007 -0700 IB/ipath: Fill in some missing FMR-related fields in query_device In ipath_query_device(), some of the struct ib_device_attr fields were not being initialized. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e7340f04426416a6655ffaead4651bfb9e1b0848 Author: Robert Walsh Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Fix maximum MTU reporting Although our chip supports 4K MTUs, our driver doesn't yet support this feature, so limit the maximum MTU to 2K until we get support for 4K MTUs implemented. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit 380bf5d38f3cc2799ed2fae554f7af1c4b0ed35b Author: Dave Olson Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Support the IBA6110 revision 4 Recognize IBA 6110 Revision 4: same feature set, etc. as earlier revisions. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit aecd3b5ab19624ca9644b9df9c61615282d8923f Author: Michael Albaugh Date: Thu May 17 07:26:28 2007 -0700 IB/ipath: Log "active" time and some errors to EEPROM We currently track various errors, now we enhance that capability by logging some of them to EEPROM. We also now log a cumulative "active" time defined by traffic though the InfiniPath HCA beyond the normal SM traffic. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 8e9ab3f1c9e34d5c28446c3738983d33a3937fe0 Author: John Gregor Date: Thu May 17 08:15:50 2007 -0700 IB/ipath: Remove incompletely implemented ipath_runtime flags and code The IPATH_RUNTIME_PBC_REWRITE and the IPATH_RUNTIME_LOOSE_DMA_ALIGN flags were not ever implemented correctly and did not turn out to be necessary. Remove the last vestiges of these flags but mark the spot with a comment to remind us to not reuse these flags in the interest of binary compatibility. The INFINIPATH_XGXS_SUPPRESS_ARMLAUNCH_ERR bit was also not found to be useful, so it was dropped in the cleanup as well. Signed-off-by: John Gregor Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 17b2eb9fe6bfadcb3ece308ed50193d10b71ba6e Author: Michael Albaugh Date: Thu May 17 07:05:04 2007 -0700 IB/ipath: Lock and always use shadow copies of GPIO register The new LED blinking interface adds more contention for the unprotected GPIO pins that were already shared, though not commonly at the same time. We add locks to the accesses to these pins so that Read-Modify-Write is now safe. Some of these locks are added at interrupt context, so we shadow the registers which drive and inspect these pins to avoid the mmio read/writes. This mitigates the effects of the locks and hastens us through the interrupt. Add locking and always use shadows for registers controlling GPIO pins (ExtCtrl and GPIOout). The use of shadows implies doing less I/O, which can make I2C operation too fast on some platforms. An explicit udelay(1) in SCL manipulation fixes that. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 82466f00ec6ef0a5ca7ea8991c731af2ec561c7d Author: Michael Albaugh Date: Wed May 16 15:45:09 2007 -0700 IB/ipath: Support blinking LEDs with an led_override file When we want to find an InfiniPath HCA in a rack of nodes, it is often expeditious to blink the status LEDs via a userspace /sys file. A write-only led_override "file" is published per device. Writes to this file are interpreted as (string form) numbers, and the resulting value sent to ipath_set_led_override(). The upper eight bits are interpretted as a 4.4 fixed-point "frequency in Hertz", and the bottom two 4-bit values are alternately (D0..3, then D4..7) used by the board-specific LED-setting function to override the normal state. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit a024291b367f98188f4da4a66a9f2f40a2163efb Author: Bryan O'Sullivan Date: Wed May 16 15:31:19 2007 -0700 IB/ipath: Include to fix ppc64 build Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 525f5f44c487201c91a11904516ee56dea93644e Author: Michael S. Tsirkin Date: Mon Jul 9 20:12:20 2007 -0700 mlx4_core: Include linux/mutex.h from mlx4.h mlx4.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing to do is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit fb8c4b14d9259ba467241a7aaeb712caedce7ee8 Author: Steve French Date: Tue Jul 10 01:16:18 2007 +0000 [CIFS] whitespace cleanup More than halfway there Signed-off-by: Steve French commit 70e8992ec771793e18d33d3a6f2247e558baf6ac Author: Dave Jones Date: Mon Jul 9 20:23:50 2007 -0400 [AGPGART] Hand off AGP maintainence. Most of the AGP changes recently have been done in lock-step with DRM updates, so it's probably easier to have airlied pushing AGP changes at the same time he does DRM updates. [Also remove my name from the boot messages. Cautionary tale to others: Never do this, when computers don't boot, people assume you're responsible even if 15 other subsystems initialised after yours. :-) ] Signed-off-by: Dave Jones Signed-off-by: Dave Airlie commit 63019d9329628a5056b3a0c76aee955873dc25c3 Author: Michael S. Tsirkin Date: Mon Jun 11 08:56:10 2007 +0300 IB/mlx4: Include linux/mutex.h from mlx4_ib.h mlx4_ib.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 1d3f4b905a786d69103d9e6d8e92683fb2c7a027 Author: Andrew Morton Date: Fri Jun 8 16:29:43 2007 -0700 IB: Fix ib_umem_get() when npages == 0 gcc correctly warned: drivers/infiniband/core/umem.c: In function 'ib_umem_get': drivers/infiniband/core/umem.c:78: warning: 'ret' may be used uninitialized in this function Set ret to 0 in case npages == 0 and the loop isn't entered at all. Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 43506d954e43933cd6fdcab679f6ab057e7607c6 Author: Roland Dreier Date: Mon Jul 9 16:17:32 2007 -0700 IB: Remove garbage non-ASCII characters from comments A few files had 0xa0 characters in comments. Remove them so that the files are clean ASCII text. Signed-off-by: Roland Dreier commit fffba373ef8cc9a5881353395c4edd1ab27cf154 Author: Joachim Fenkes Date: Thu May 24 16:51:05 2007 +0200 IB/ehca: Refactor "maybe missed event" code Refactor the ehca changes from commit ed23a727 ("IB: Return "maybe missed event" hint from ib_req_notify_cq()") so the queue arithmetic is done in slightly fewer lines. Also, move the spinlock flags into the block they're used in. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 1bae4dbf9576e563da23927e4078fffbbce67a75 Author: Hal Rosenstock Date: Mon May 14 17:21:52 2007 -0400 IB/mad: Enhance SMI for switch support Extend the SMI with switch (intermediate hop) support. Care has been taken to ensure that the CA (and router) code paths are changed as little as possible. Signed-off-by: Suresh Shelvapille Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 7aa484815f8c4defd01366f239b71da5e6b8a791 Author: Stefan Richter Date: Mon Jul 2 21:04:44 2007 +0200 firewire: fw-sbp2: fix DMA mapping of management ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 8526392ae816a2c69f57097ba032865523019caa Author: Stefan Richter Date: Mon Jul 2 21:04:08 2007 +0200 firewire: fw-sbp2: fix DMA mapping of command ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit b4be016ad81af5a83f0be820edf106de883e6ade Author: Stefan Richter Date: Mon Jul 2 22:07:34 2007 +0200 firewire: fw-sbp2: fix DMA mapping of S/G tables - The CPU must not touch the buffer after it was DMA-mapped. - The size argument of dma_unmap_single(...page_table...) was bogus. - Move a comment closer to the code to which it refers to. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 332ef3310bc37ff29fd4382d6dfb38a787078091 Author: Stefan Richter Date: Sun Jul 1 13:56:03 2007 +0200 firewire: fw-sbp2: add a boundary check Add rudimentary check for the case that the page table overflows due to merging of s/g elements by the IOMMU. This would have lead to overwriting of arbitrary memory. After this change I expect that an offending command will be unsuccessfully retried until the scsi_device is taken offline by SCSI core. It's a border case and not worth to implement a recovery strategy. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 9fb2dd12c019965ffd15e5a0727af14488b3a772 Author: Stefan Richter Date: Sun Jul 1 13:55:31 2007 +0200 firewire: fw-sbp2: correctly align page tables This is required per SBP-2 clause 5.2. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit e7cdf237b2a8b4b566721cfb08e448b454c74ada Author: Stefan Richter Date: Sun Jul 1 13:54:57 2007 +0200 firewire: fw-sbp2: memset wants string.h Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit ffd0db26ddc32cd87097ece9725921f43ad487ee Author: Stefan Richter Date: Sun Jul 1 13:54:24 2007 +0200 firewire: fw-sbp2: use correct speed in sbp2_agent_reset noticed by Jay Fenlason Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 6f061487f7d31427d7e8f420f366e5537ae16f43 Author: Jay Fenlason Date: Wed Jun 27 16:04:33 2007 -0400 firewire: fw-sbp2: correctly dereference by container_of Replace a cast with a container_of(). As long as nobody reorders the structure elements, they do the same thing, but container_of() is more readable. Signed-off-by: Stefan Richter (added complete_command_orb) Acked-by: Kristian Høgsberg commit 7ada60e367640fa8a4a349d9b105f235f346238b Author: Kristian Høgsberg Date: Fri Jun 22 00:20:34 2007 +0200 firewire: Document userspace ioctl interface. The isochronous packet format is still not documented, but this is a good first step. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (format, wording) commit 5cd54c94b0ba45033c126237d3d70c6e7ab52c3f Author: Stefan Richter Date: Sun Jun 17 23:55:41 2007 +0200 firewire: fw-sbp2: implement nonexclusive login Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 79352e9f94cff4078f2ffefac4a41b7f14046fb6 Author: Stefan Richter Date: Mon Jun 18 18:46:49 2007 +0200 firewire: fw-sbp2: let SCSI shutdown commands through before logout This affects of course only the "soft shutdown" case, e.g. "modprobe -r firewire-sbp2", while it doesn't matter for hot unplug. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit cf47c7a26ca13b944900dce208890c5b6d5f3a14 Author: Stefan Richter Date: Sun Jun 17 23:52:08 2007 +0200 firewire: fw-sbp2: implement max sectors limit for some old bridges This currently only affects one bridge in the hardwired blacklist. I don't own one of those, hence haven't tested it. Signed-off-by: Stefan Richter commit dae1a3aa8ebdd30fbba56a8d4e22f92455fb0861 Author: Stefan Richter Date: Sun Jun 17 23:39:58 2007 +0200 firewire: simplify a struct type cleanup after "firewire: support S100B...S400B and link slower than PHY" Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit f1397490017e337446c6a8b0562b584679a604a6 Author: Stefan Richter Date: Sun Jun 10 21:31:36 2007 +0200 firewire: support S100B...S400B and link slower than PHY Use a speed probe to determine the speed over 1394b buses and of nodes which report a link speed less than their PHY speed. Log the effective maximum speed of newly created nodes in dmesg. Also, read the config ROM (except bus info block) at the maximum speed rather than S100. This isn't a real optimization though because we still only use quadlet read requests for the entire ROM. The patch also adds support for S1600 and S3200, although such hardware does not exist yet. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 24d40125f1f59a6de9d9e6e046676bd60532596c Author: Stefan Richter Date: Mon Jun 18 19:44:12 2007 +0200 firewire: optimize gap count with 1394b leaf nodes Table-based gap count optimization cannot be used if 1394b repeater PHYs are present. But it does work with 1394b leaf nodes. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 25d83f583b334ac671fbb905c97c374ba34a597a Author: Stefan Richter Date: Sat Jun 9 19:27:07 2007 +0200 firewire: remove unused macro Signed-off-by: Stefan Richter commit 8a8cea2734808522f02941ea16125810ee42c9c7 Author: Stefan Richter Date: Sat Jun 9 19:26:22 2007 +0200 firewire: missing newline in printk Also remove some errno printouts which will be shown by infrastructure code anyway. Signed-off-by: Stefan Richter commit b8f106570f20a7a98a18a14c2d11d65f581c2808 Author: Stefan Richter Date: Fri May 11 23:04:08 2007 +0200 firewire: fw-sbp2: remove unused struct member cleanup after support of single-buffer requests was dropped Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg commit 53c96b41742a2dadd14e65c23fc119f2a2fd9f05 Author: Stefan Richter Date: Sun Jun 24 15:31:54 2007 +0200 ieee1394: remove old isochronous ABI Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}" from Adrian Bunk, November 20 2006. This patch also removes the underlying facilities in ohci1394 and disables them in pcilynx. That is, hpsb_host_driver.devctl() and hpsb_host_driver.transmit_packet() are no longer used for iso reception and transmission. Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso interface has never been implemented in pcilynx, pcilynx is now no longer useful for isochronous applications. raw1394 will still handle the request types but will complete the requests with errors that indicate API version conflicts. Signed-off-by: Stefan Richter commit 77bba7aea7dc833caa34761fa7ce081a40a14493 Author: Stefan Richter Date: Sun Jun 17 23:54:52 2007 +0200 ieee1394: sbp2: change some module parameters from int to bool This is upwards compatible, except that integer values other than 0 or 1 are no longer accepted. But values like "Y", "N", "no", "nnoooh!" work now. Also, improve a comment on the serialize_io parameter and make the ORB_SET_EXCLUSIVE macro ultra-safe. Signed-off-by: Stefan Richter commit 93f2e0259a76ceb9c598d5af382aecbb2df01c51 Author: Stefan Richter Date: Sun Jul 8 13:34:21 2007 +0200 ieee1394: first minimal NUMA awareness Association of a host device with a node on NUMA machines optimizes allocations of skbs given from the networking stack to eth1394. Signed-off-by: Stefan Richter commit 8e4dc400b7659691abdd92b3fc01ef094fc8a1e7 Author: Stefan Richter Date: Sun May 27 23:14:05 2007 +0200 ieee1394: eth1394: revert parent device to that in 2.6.20 After ieee1394 was converted away from class_device like the networking subsystem was already in 2.6.21, eth1394's device may point to the fw-host device as its parent again like in 2.6.20. This affects userspace tools which examine the sysfs representation of eth1394's device. Signed-off-by: Stefan Richter commit a0e857eeffba8976be6bdb9f4bb011c18eb2aff7 Author: Stefan Richter Date: Sun Jun 17 23:47:45 2007 +0200 ieee1394: nodemgr: parallelize between several hosts Remove the global nodemgr_serialize mutex which enclosed most of the host thread event loop. This allows for parallelism between several host adapter cards. Properly serialize the driver hooks .update(), .suspend(), .resume(), and .remove() by means of device->sem. These hooks can be called from outside the host threads' contexts. Get() and put() the device.driver when calling its hooks. Signed-off-by: Stefan Richter commit dd7f2928d834f7ac67202bcdf24a44ba9b138f08 Author: Kay Sievers Date: Fri May 25 11:50:53 2007 +0200 ieee1394: convert ieee1394 from "struct class_device" to "struct device" Here is a straightforward conversion to "struct device". The "struct class_device" will be removed from the kernel. It seems to work fine for me with and without CONFIG_SYSFS_DEPRECATED set. Signed-off-by: Stefan Richter commit 59337087cb33db58aa0d4463892b4475cf66a50b Author: Stefan Richter Date: Wed Jul 4 23:13:53 2007 +0200 ieee1394: raw1394: fix a 32/64-bits compat fix I was told that only i386 aligns 64 bit integers at 4 bytes boundaries while all other architectures (32 bit architectures with 64 bit siblings) align it on 8 bytes boundaries. Signed-off-by: Stefan Richter commit 19f00e66f8aa7ee581c6d003fd68ee9f9dee4057 Author: Stefan Richter Date: Mon May 21 18:52:06 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel, amendment Pointed out by Arnd Bergmann: PPC32 aligns this at 64bit, IA32 packs it. A kernel-wide available __compat_u64 which is 4-byte aligned on AMD64 and IA64 would be nicer though. Signed-off-by: Stefan Richter commit 650c12c528d3e0ac69405dd35d3bc8a7228e49f2 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel Add compat_ioctl. Although all structures are more or less same, raw1394_iso_packets got pointer inside, and raw1394_cycle_timer got unwanted padding in the middle. I did not add any translation for ioctls passing array of integers around as integers seem to have same size (32 bits) on all architectures supported by Linux. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 883b97eaf2a3fba7628f9f78ca7dc422aaf9728b Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix write() for 32bit userland on 64bit kernel * write(fd, buf, 52) from 32bit app was returning 56. Most of callers did not care, but some (arm registration) did, and anyway it looks bad if request for writing 52 bytes returns 56. And returning sizeof anything in 'int' is not good as well. So all functions now return '0' instead of sizeof(struct raw1394_request) on success, and write() itself provides correct return value (it just returns value it was asked to write on success as raw1394 does not do any partial writes at all). * Related to this was problem that write() could have returned 0 when kernel state would become corrupted and moved to different state than opened/initialized/connected. Now it returns -EBADFD which seemed appropriate. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit ee9be425961c3ccf75553c83a73bf1f707e66d91 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix read() for 32bit userland on 64bit kernel read() always failed with -EFAULT. This was happening due to raw1394_compat_read copying data to wrong location - access_ok always failed as 'r' is kernel address, not user. Whole function just tried to copy data from 'r' to 'r', which is not good. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 6552731a058a4facefd921b0b45a9a5392baa5ea Author: Stefan Richter Date: Sat May 19 12:29:37 2007 +0200 ieee1394: add comments in struct hpsb_packet to clarify who is supposed to set what Signed-off-by: Stefan Richter commit 17a624869ea470e33c708871978223c3d9a4c417 Author: Stefan Richter Date: Thu May 3 20:24:19 2007 +0200 ieee1394: ohci1394: remove dead CONFIG variable spotted by Robert P. J. Day Signed-off-by: Stefan Richter commit 27a278aa4309df244a2619f47031acce00ca1b7c Author: Adrian Bunk Date: Mon Jul 9 23:17:59 2007 +0200 drivers/ide/ide-dma.c: unexport ide_set_dma ide_set_dma no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit bdab00b73d2f77075a3c73556e2692bf06849c17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 via82cxxx: backport short cables support from pata_via.c Backport short cables support from pata_via.c. This patch should allow UDMA > 2 modes on Acer Ferrari 3400. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit f2befd9e80b39a5aa54d65cf59b6a5feb9a8117e Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 sis5513: backport short cables support from pata_sis.c Backport short cables support from pata_sis.c. This patch allows UDMA > 2 modes on ASUS A6K. Thanks to testing this patch goes out to Jiri Stavinoha. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 95ba8c17bc57bf4666e9de2be715b69d9a1ba211 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 alim15x3: backport short cables support from pata_ali.c Backport short cables support from pata_ali.c and while at it cleanup existing cable detection code. This patch should allow UDMA > 2 modes on HP Pavilion N5430 and Fujitsu P2000. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 7207626f47a3d66ce361bad197eefca4b8a6fa17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 piix: backport short cables support from ata_piix.c Backport short cables support from ata_piix.c. This patch should allow UDMA > 2 modes on: - Acer 5602WLMi - Acer 3682WLMi - Asus W5F - Acer Aspire 2023WLMi Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 49521f97ccd3c2bf6e71a91cea8fe65d170fa4fb Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 ide: add short cables support This patch allows users to override both host and device side cable detection with "ideX=ata66" kernel parameter. Thanks to this it should be now possible to use UDMA > 2 modes on systems (laptops mainly) which use short 40-pin cable instead of 80-pin one. Next patches add automatic detection of some systems using short cables. Changes: * Rename hwif->udma_four to hwif->cbl and make it u8. * Convert all existing users accordingly (use ATA_CBL_* defines while at it). * Add ATA_CBL_PATA40_SHORT support to ide-iops.c:eighty_ninty_three(). * Use ATA_CBL_PATA40_SHORT for "ideX=ata66" kernel parameter. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 75b1d97535327d0428c6bffd9d5407e65546fd5d Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: convert ide_find_best_mode() users to use ide_max_dma_mode() ide-timing.h: * remove handling of DMA modes from ide_find_best_mode() and rename it to ide_find_best_pio_mode() * drop no longer needed "map" argument from ide_find_best_pio_mode() and delete needless ->id check * remove no longer needed XFER_SWDMA and XFER_UDMA* defines au1xxx-ide.c: * use ide_max_dma_mode() instead of ide_find_best_mode() * remove needless CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA #ifdef amd74xx.c: * store UDMA masks in amd_ide_chip[] and while at it make "base" field to be u8 instead of unsigned long * convert the driver to use UDMA masks from amd_ide_chip[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * delete stale comment from amd74xx_ide_dma_check() * remove no longer needed AMD_UDMA* defines via82cxxx.c: * remove unused DISPLAY_VIA_TIMINGS define * store UDMA masks in via_isa_bridges[] and while at it make "flags" field to be u8 instead of u16 * convert the driver to use UDMA masks from via_isa_bridges[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * remove no longer needed VIA_UDMA* defines pmac.c: * use ide_max_dma_mode() instead of ide_find_best_mode() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 15a4f943e729d8ba215ee551df6d7988ba14ac00 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: fix pre-EIDE SWDMA support If the word 62 is not defined use the word 52 to get SWDMA mask in ide_get_mode_mask(). Signed-off-by: Bartlomiej Zolnierkiewicz commit ecea57309e826c8aed020e4dae92b368f2eda2a5 Author: Andi Drebes Date: Mon Jul 9 23:17:57 2007 +0200 drivers/ide/legacy/hd.c: Array size calculation using sizeof replaced with ARRAY_SIZE This patch replaces an array size calculation in drivers/ide/legacy/hd.c that was done using sizeof with the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Bartlomiej Zolnierkiewicz commit f50f9d8867b95925078ba0fa450e3a5736629d28 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove content related to dead CONFIG_BLK_DEV_MAC_MEDIABAY config variable Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit e71bc140c013dfaff0369ebcc9802a798e358473 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove references to the non-existent CONFIG_SCSI_EATA_DMA Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit 74c8f97a6c2d12fb144ad34076e969e8a01dc4b3 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide-cd: replace C code with call to ARRAY_SIZE() macro Delete the unnecessary macro ARY_LEN and use ARRAY_SIZE directly. Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit f3577db0c294ab4ce8460a8003312474b509e95f Author: Junio C Hamano Date: Mon Jul 9 23:17:57 2007 +0200 ide_in_drive_list(): "ALL" is not a wildcard anymore This removes the support to treat "ALL" as a wildcard for firmware revision. This is made a separate patch, as it will break out-of-tree ide drivers that feed its own table that uses "ALL" as the wildcard to ide_in_drive_list(). Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit bb53cfe9fa21c4f875d5c9470865fbbd0657804e Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 mips au1xxx_ide.h: use NULL as firmware-revision wildcard This updates the DMA whitelist in MIPS specific au1xxx ide driver to use NULL instead of "ALL" as the wildcard. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit c2d3ce8c39cb17dfc8d0426a98bd79f5d7b21e36 Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 ide_in_drive_list(): accept NULL as the wildcard for firmware revision Earlier, the matching of (model,rev) in ide-dma black/white list handling was to consider "ALL" in the table to match any revision. This makes NULL to be also an accepted wildcard, and changes the entries of tables in ide-dma.c to use NULL. The code still accepts "ALL" as the wildcard, in order to keep any out-of-tree ide driver that feeds its own table that uses "ALL" as the wildcard to ide_in_drive_list() function from breaking. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d78013bfc20b8579827fc8f214c6f85d469c051 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: kill speedproc() method wrapper (take 2) There's no reason to have the speedproc() method wrapper for the two quite different chip families, so just get rid of it. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f9383c4269d264c3cf563bd2de365891f6592ebd Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:56 2007 +0200 ide: use mutex instead of ide_setting_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz -- commit 1b9da32a2855afa3c5f27690e03a33dc97410c42 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: remove init_dma() method (take 2) Get rid of the init_dma() method (which had no particular reason to exist) by folding it into the init_hwif() method. While at it, also perform some cleanup in the latter method: - get rid of the useless clearing of hwif->autodma; - fold the serialization code into one 'if' statement; - fold setting the drives' 'autotune' and 'autodma' fields into the single statements... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b1d19db4e770a752ec032971388fa69a73c84919 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: rework init_setup_aec6x80() Rework init_setup_aec6x80() so that it won't rewrite the constant name strings anymore -- in order to do this: - in aec62xx_init_one(), pass a local copy of 'struct pci_device_id' down the call chain; - change the names for in aec62xx_chipsets[] to default to AEC-6280[R]; - override the 'name' field in init_setup_aec6x80() only if bit 4 of the DMA status register is set. While at it, also change the 'udma_mask' field for AEC-6x80R chips in this function and remove the code doing the same from the init_hwif() method... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83a6d4ab3b09c0c1921b657bbaac5ada3c9c3623 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 cmd64x: init. code cleanup Fix two minor issues with PCI0646 chip reporting in the init_chipset() method: "IRQ workaround enabled" message printed out not only for revision 0x01 and "CMD646: chipset revision" printed twice (by IDE core and the driver itself). Also, remove empty/pointless switch cases for the chips other than PCI0646, duplicate write to the MRDMODE register when enabling interrupts and MEMORY READ LINE cycles, and needless/misplaced initialization of the timing registers in this method. Switch to reading only the PCI revision ID register itself, not the whole 32 bits at its address in init_chipset() and init_hwif() methods; in addition, get rid of the useless clearing of hwif->autodma and perform some cosmetic style changes in the latter method. Refactor ata66_cmd64x() by moving all the code into the 'switch' statement, renaming/adding variables, and fixing the coding style. While at it, finally get rid of the meaningless aliasing register #define's... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2648e5d9a80d8a020feb343c52a8704e978e60c6 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 hpt366: simplify UltraDMA filtering (take 4) Simplify UltraDMA mode filtering in the driver: - make use of the newly introduced 'udma_mask' field of 'ide_pci_device_t' to set the correct hwif->ultra_mask, modifying init_setup_hpt366() to select the correct mask based on the chip revision; - replace 'max_mode' field of the 'struct hpt_info' with 'max_ultra' specifying the maximum UltraDMA mode allowed; - rewrite hpt3xx_udma_filter() to differ the filters based on the 'chip_type' field, and only use it for HPT366 and HPT370[A] where it's really necessary. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ef29888ea8e1fdc499e995260195b66fc91d2728 Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:55 2007 +0200 ide: use mutex instead of ide_cfg_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz commit c283f5dbe31920ca70b80a594a97bfaa2a28be13 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_timeout() method Since ide_dma_timeout() method's result is discarded, make it return 'void'. While at it, drop 'ide_' from the method's name, drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable; - in au1xxx-ide.c, get rid of commented out printk(); - in sl82c105.c, get rid of unnecessary variables. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 841d2a9bf16471716ba3a5172d24aa40a2ea9398 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_lostirq() method Since ide_dma_lostirq() method's result is discarded, make it return 'void'. While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in aec62xx.c, rename the method in accordance with other drivers, and get rid of unnecessary variables there; - in pdc202xx_old.c, define/use 'hwif' variable; - in sgiioc4.c, rearrange the code to call the resetproc() method directly. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b740d8846e2e184909e9f74d4ad9d67ae0e084ea Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:53 2007 +0200 serverworks: always tune CSB6 Switch the driver to always program DMA/PIO timings and set device transfer mode instead of trusting BIOS on CSB6 controllers (libata pata_serverworks.c driver is also doing things this way and there were no problems reported so far). While doing conversion I noticed that the old code had many issues: * the code was assuming that hwif->dma_status is always valid (which obviously isn't true if hwif->dma_base == NULL) * value of "(ultra_timing >> (4*unit)) & ~(0xF0)" expression wasn't checked to fit into udma_modes[5] * code validating DMA timings didn't validate corresponding PIO timings * extra CSB5 PIO register wasn't validated et all * hwif->ide_dma_off_quietly() is always called before ide_set_dma() (which in turn calls hwif->speedproc() method - svwks_tune_chipset() in this case) so the code depending on DMA capable bit of DMA status to be set was never executed (=> the code was never validating DMA timings despite actually enabling DMA if the PIO timings were OK!) * on resume driver dependend entirely on BIOS to restore timings and set transfer mode on the device While at it: There is no need to read PIO/MWDMA timings now so don't do it. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Alan Cox commit c6255e9865a07d5313d6162482792f7bec9160db Author: Christian Kandeler Date: Mon Jul 9 16:19:11 2007 +0200 [IA64] Stop bit for brl instruction SDM says that brl instruction must be followed by a stop bit. Fix instance in BRL_COND_FSYS_BUBBLE_DOWN where it isn't. Signed-off-by: Christian Kandeler Signed-off-by: Tony Luck commit d7ad2254fa7cc11aec3faeba076c1243f6adeb47 Author: John Keller Date: Mon Jul 9 11:42:24 2007 -0700 [IA64] SN: Correct ROM resource length for BIOS copy On SN systems, when setting the IORESOURCE_ROM_BIOS_COPY resource flag, the resource length should be set to the actual size of the ROM image so that a call to pci_map_rom() returns the correct size. Signed-off-by: John Keller Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit ed99c541e0a15281c57530d54a4a5e3272f74fb9 Author: Nicolas Ferre Date: Mon Jul 9 14:58:16 2007 +0200 mmc: at91_mci: fix hanging and rework to match flowcharts Fixes hanging using multi block operations (seen during CMD25). Follows closely the datasheet flowcharts. This piece of code handles better big file writing. I had to take care of the notbusy signal during write (at91_mci_handle_cmdrdy function) and to rearrange the AT91_MCI_ENDRX and AT91_MCI_RXBUFF flag usage. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit e8d04d3dba60bdc139644350fcc88f82e40129dc Author: Nicolas Ferre Date: Tue Jun 19 18:32:34 2007 +0200 mmc: at91_mci typo Typo fix in at91_mci driver : standardized the typo (at91_mci everywhere) Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 9d26a5d3f2b9c4fe4b2ba491683c6989ecd6ae04 Author: Rolf Eike Beer Date: Tue Jun 26 13:31:16 2007 +0200 sdhci: Fix "Unexpected interrupt" handling Whenever a power interrupt is signaled it is also reported as an unexpected one. All other unexpected interrupts get lost. Cause is a not inversed bitmask to remove power interrupts from the status. Signed-off-by: Rolf Eike Beer Signed-off-by: Pierre Ossman commit 8c75deae1ab99661975da098f8b721bafbb247c4 Author: Pierre Ossman Date: Sat May 19 16:14:43 2007 +0200 mmc: fix silly copy-and-paste error Signed-off-by: Pierre Ossman commit ffce2e7e7060c949ccd703dacc9b3dd81b377373 Author: Pierre Ossman Date: Sat May 19 14:32:22 2007 +0200 mmc: move layer init and workqueue to core file Signed-off-by: Pierre Ossman commit b93931a61a119575f84c33af2438b9384fde9eb7 Author: Pierre Ossman Date: Sat May 19 14:06:24 2007 +0200 mmc: refactor host class handling Move basic host class device handling to its own file for clarity. Signed-off-by: Pierre Ossman commit 4101c16a910b15afd190c6bc7d45864461cf5c25 Author: Pierre Ossman Date: Sat May 19 13:39:01 2007 +0200 mmc: refactor bus operations Move bus operations to its own file for the sake of clarity. Also delegate sysfs attributes to bus handlers in preparation for other more exotic types. Signed-off-by: Pierre Ossman commit 7de064ebc67d9baf6c933d3a7046feb9b4eced05 Author: Milko Krachounov Date: Sat May 19 01:18:03 2007 +0200 sdhci: add ene controller id ENE has a very weird design where an SDHCI device (0805) is presented on the PCI bus, but that device is non-functional, and the real device is hidden as a more generic device. Signed-off-by: Milko Krachounov Signed-off-by: Pierre Ossman commit 98ccf14909ba02a41c5925b0b2c92aeeef23d3b9 Author: Pierre Ossman Date: Sat May 12 00:26:16 2007 +0200 mmc: bounce requests for simple hosts Some hosts cannot do scatter/gather in hardware. Since not doing sg is such a big performance hit, we (optionally) bounce the requests to a simple linear buffer that we hand over to the driver. Signed-off-by: Pierre Ossman commit 83ce6ef8408bbc7d9322ab50ba592f83012dea94 Author: Tony Luck Date: Thu Jun 28 16:05:34 2007 -0700 [IA64] Don't set psr.ic and psr.i simultaneously It's not a good idea to use "ssm psr.ic | psr.i" to simultaneously enable interrupts and interrupt state collection, the two bits can take effect asynchronously, so it is possible for an interrupt to be serviced while psr.ic is still zero. Signed-off-by: Tony Luck commit c31f2e8a42c41efa46397732656ddf48cc77593e Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: add CFS credits add credits for recent major scheduler contributions: Con Kolivas, for pioneering the fair-scheduling approach Peter Williams, for smpnice Mike Galbraith, for interactivity tuning of CFS Srivatsa Vaddagiri, for group scheduling enhancements Signed-off-by: Ingo Molnar commit 6fb43d7b50e49a36f8be3199141bec473e5ecb00 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: micro-optimize mmdrop() micro-optimize mmdrop(). Improves schedule()'s assembly a bit. Signed-off-by: Ingo Molnar commit 9c4801cebc2add1fe514bc8eb201b16372eee11a Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: more agressive idle balancing the Linux scheduler is starving a number of workloads. So default to more agressive idle-balancing. This hurts lmbench context-switching numbers (which was the main reason we sucked at idle-balancing for such a long time) but the lmbench numbers are fine once the system is minimally utilized. Signed-off-by: Ingo Molnar commit 0fec171cdbd7763ef86cbaccb91f3708de6a9003 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: clean up sleep_on() APIs clean up the sleep_on() APIs: - do not use fastcall - replace fragile macro magic with proper inline functions Signed-off-by: Ingo Molnar commit 9761eea8516d1ff2c7b185e283c5d81cfc307acb Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: style cleanups 4 small style cleanups to sched.c: checkpatch.pl is now happy about the totality of sched.c [ignoring false positives] - yay! ;-) Signed-off-by: Ingo Molnar commit 23bdd703a585a869f2eb32fb9f66749d0476d71e Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: do not set softirqs to nice +19 do not set softirqs to nice +19. _If_ for whatever reason we missed to process some high-prio softirq and woke up ksoftirqd, we should give it a fair chance to actually get some work done, even if the system is under load. Signed-off-by: Ingo Molnar commit ff80a77f20f811c0cc5b251d0f657cbc6f788385 Author: Mike Galbraith Date: Mon Jul 9 18:52:00 2007 +0200 sched: simplify sched_find_first_bit() simplify sched_rt.c's sched_find_first_bit() function: there are only 100 RT priority levels left. Signed-off-by: Ingo Molnar commit 5e7eaade55d53da856f0e07dc9c188f78f780192 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS documentation add Documentation/sched-design-CFS.txt Signed-off-by: Ingo Molnar commit b642b6d3fad45f659270a9e35df876b38c489082 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, enable in Kconfig enable CONFIG_SCHED_DEBUG in lib/Kconfig.debug. the runtime overhead of this option is very small. Signed-off-by: Ingo Molnar commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, core scheduler debugging core: implement /proc/sched_debug and /proc//sched files for scheduler debugging. Signed-off-by: Ingo Molnar commit 77e54a1f88a1cb0746c7694fa40052bd02df1123 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS debug sysctls add CFS debug sysctls: only tweakable if SCHED_DEBUG is enabled. This allows for faster debugging of scheduler problems. Signed-off-by: Ingo Molnar commit 7dd593608df3f9d4e4531cfe29f28c3a3766a0ee Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove old cpu accounting field remove the old cpu-accounting field from signal_struct, now that the code is using CFS's stats. Signed-off-by: Ingo Molnar commit b2cfba19f67228e78e48177187f6b07f4107c784 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove unused rq types from sched.c remove unused rq types from sched.c, now that we switched over to CFS. Signed-off-by: Ingo Molnar commit 0c57d5893e4a9857ff22ec9e379f6bdbdad50850 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove batch_task() batch_task() in sched.h is now unused - remove it. Signed-off-by: Ingo Molnar commit 50e645a8a1a91f57dd5d8454620be5f1cb0fc089 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types from sched.h remove now-unused types/fields used by the old scheduler. Signed-off-by: Ingo Molnar commit 634fa8c97cc8f4ee2ae1dea7200ff0df762405e7 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types remove now unused interactivity-heuristics related defined and types of the old scheduler. Signed-off-by: Ingo Molnar commit dff06c157b6089b774514337769a3c1b7ccccf6c Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up include files in sched.c clean up include files in sched.c, they were still old-style . Signed-off-by: Ingo Molnar commit ad46c2c4ebcead75cd364a79b63b134393094fb9 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up fastcall uses of sched_fork()/sched_exit() sched_fork()/sched_exit() does not need to specify fastcall anymore, as the x86 kernel defaults to regparm3, and no assembly code calls these functions. Signed-off-by: Ingo Molnar commit 172ba844a8851c3edd13c0a979cdf46bd5e3cc1a Author: Balbir Singh Date: Mon Jul 9 18:52:00 2007 +0200 sched: update delay-accounting to use CFS's precise stats update delay-accounting to use CFS's precise stats. Signed-off-by: Ingo Molnar commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: make use of precise accounting for /proc task stats make use of CFS's precise accounting to drive /proc//stat statistics. this code was co-authored by: Balbir Singh Dmitry Adamushko Ingo Molnar Signed-off-by: Ingo Molnar Signed-off-by: Dmitry Adamushko commit 1b9f19c2125dd1021b9327111dc40b14b557ee12 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: turn on the use of unstable events make use of sched-clock-unstable events. Signed-off-by: Ingo Molnar commit bb29ab26863c022743143f27956cc0ca362f258c Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: x86, track TSC-unstable events track TSC-unstable events and propagate it to the scheduler code. Also allow sched_clock() to be used when the TSC is unstable, the rq_clock() wrapper creates a reliable clock out of it. Signed-off-by: Ingo Molnar commit dd41f596cda0d7d6e4a8b139ffdfabcefdd46528 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs core code apply the CFS core code. this change switches over the scheduler core to CFS's modular design and makes use of kernel/sched_fair/rt/idletask.c to implement Linux's scheduling policies. thanks to Andrew Morton and Thomas Gleixner for lots of detailed review feedback and for fixlets. Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit f3479f10c5d667e591f4417a0bba78e221924206 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the sleep-bonus interactivity code remove the sleep-bonus interactivity code from the core scheduler. scheduling policy is implemented in the policy modules, and CFS does not need such type of heuristics. Signed-off-by: Ingo Molnar commit c18a17329b3389315e8a138d998b217077509c13 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove expired_starving() remove the expired_starving() heuristics from the core scheduler. CFS does not need it, and this did not really work well in practice anyway, due to the rq->nr_running multiplier to STARVATION_LIMIT. Signed-off-by: Ingo Molnar commit f2ac58ee617fd9f6cd9922fbcd291b661d7c9954 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove sleep_type remove the sleep_type heuristics from the core scheduler - scheduling policy is implemented in the scheduling-policy modules. (and CFS does not use this type of sleep-type heuristics) Signed-off-by: Ingo Molnar commit 45bf76df4814a4cd1c57226ae001c464467cb656 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs, add load-calculation methods add the new load-calculation methods of CFS. Signed-off-by: Ingo Molnar commit 14531189f0a1071b928586e9e1a89eceac91d95f Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up __normal_prio() position clean up: move __normal_prio() in head of normal_prio(). no code changed. Signed-off-by: Ingo Molnar commit 71f8bd4600521fecb08644072052b85853a5a615 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cleanup: move dequeue/enqueue_task() cleanup: move dequeue/enqueue_task() to a more logical place, to not split up __normal_prio()/normal_prio(). Signed-off-by: Ingo Molnar commit c24d20dbef948487cd14f15dbf04644142e9f886 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: move around resched_task() move resched_task()/resched_cpu() into the 'public interfaces' section of sched.c, for use by kernel/sched_fair/rt/idletask.c Signed-off-by: Ingo Molnar commit 62480d13d5d1812176e969a47e2db78a5398d02e Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the SleepAVG field remove the SleepAVG field from /proc//status, as with the removal of the sleep-average code this value no longer makes sense. Signed-off-by: Ingo Molnar commit e05606d3301525aa67b081ad9fccade2b31ab35a Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up the rt priority macros clean up the rt priority macros, pointed out by Andrew Morton. Signed-off-by: Ingo Molnar commit 138a8aeb5b9e5c5abd5e5ec22b6d1848e7e9c50b Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add cfs_rq ops add the set_task_cfs_rq() abstraction needed by CONFIG_FAIR_GROUP_SCHED. (not activated yet) Signed-off-by: Ingo Molnar commit 41b86e9c510ae66639bf29d3201e1d2384a7fde6 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: make posix-cpu-timers use CFS's accounting information update the posix-cpu-timers code to use CFS's CPU accounting information. Signed-off-by: Ingo Molnar commit 20d315d42aed95423a7203e1d7e84086004b5a00 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add rq_clock()/__rq_clock() add rq_clock()/__rq_clock(), a robust wrapper around sched_clock(), used by CFS. It protects against common type of sched_clock() problems (caused by hardware): time warps forwards and backwards. Signed-off-by: Ingo Molnar commit 6aa645ea5f7a246702e07f29edc7075d487ae4a3 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs rq data types add the CFS rq data types to sched.c. (the old scheduler fields are still intact, they are removed by a later patch) Signed-off-by: Ingo Molnar commit 20b8a59f2461e1be911dce2cfafefab9d22e4eee Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs, core data types add the CFS data types to sched.h. (the old scheduler is still fully intact.) Signed-off-by: Ingo Molnar commit fa72e9e484c16f0c9aee23981917d8c8c03f0482 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_idletask.c add kernel/sched_idletask.c - which implements the idle thread scheduling class. This further simplifies sched.c (under CFS), for example a number of 'if (p == rq->idle)' type of special-cases can be removed from sched.c, and schedule() gets simpler too. Signed-off-by: Ingo Molnar commit bb44e5d1c6b3b748e0facf8f516b3162009feb27 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_rt.c add kernel/sched_rt.c: SCHED_FIFO/SCHED_RR support. The behavior and semantics of SCHED_FIFO/SCHED_RR tasks is unchanged. Signed-off-by: Ingo Molnar commit bf0f6f24a1ece8988b243aefe84ee613099a9245 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_fair.c add kernel/sched_fair.c - which implements the bulk of CFS's behavioral changes for SCHED_OTHER tasks. see Documentation/sched-design-CFS.txt about details. Authors: Ingo Molnar Dmitry Adamushko Srivatsa Vaddagiri Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit 9aa7b369819940cb1f3c74ba210516739a32ad95 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: increase the resolution of smpnice increase SMP-nice's resolution. This is needed by CFS to implement SCHED_IDLE and cleaned up nice level support. no behavioral changes. Signed-off-by: Ingo Molnar commit 425e0968a25fa3f111f9919964cac079738140b5 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: move code into kernel/sched_stats.h create sched_stats.h and move sched.c schedstats code into it. This cleans up sched.c a bit. no code changes are caused by this patch. Signed-off-by: Ingo Molnar commit 1df21055e34b6a68d62cf0c524b9e52deebd7ead Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add init_idle_bootup_task() add the init_idle_bootup_task() callback to the bootup thread, unused at the moment. (CFS will use it to switch the scheduling class of the boot thread to the idle class) Signed-off-by: Ingo Molnar commit 4da1ce6d9c7e2a6d9236bf4dcfd33cf506082794 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add in_atomic_preempt_off() add in_atomic_preempt_off() - debugging helper that will simplify schedule(). Signed-off-by: Ingo Molnar commit f64f61145a38f7039e4f1c0b50dcc3fbe70ec28e Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: remove sched_exit() remove sched_exit(): the elaborate dance of us trying to recover timeslices given to child tasks never really worked. CFS does not need it either. Signed-off-by: Ingo Molnar commit c65cc8705256ad7524c97564b4fe3ca9782bf6d1 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: uninline set_task_cpu() uninline set_task_cpu(): CFS will add more code to it. Signed-off-by: Ingo Molnar commit 0437e109e1841607f2988891eaa36c531c6aa6ac Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: zap the migration init / cache-hot balancing code the SMP load-balancer uses the boot-time migration-cost estimation code to attempt to improve the quality of balancing. The reason for this code is that the discrete priority queues do not preserve the order of scheduling accurately, so the load-balancer skips tasks that were running on a CPU 'recently'. this code is fundamental fragile: the boot-time migration cost detector doesnt really work on systems that had large L3 caches, it caused boot delays on large systems and the whole cache-hot concept made the balancing code pretty undeterministic as well. (and hey, i wrote most of it, so i can say it out loud that it sucks ;-) under CFS the same purpose of cache affinity can be achieved without any special cache-hot special-case: tasks are sorted in the 'timeline' tree and the SMP balancer picks tasks from the left side of the tree, thus the most cache-cold task is balanced automatically. Signed-off-by: Ingo Molnar commit 0e6aca43e08a62a48d6770e9a159dbec167bf4c6 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: add SCHED_IDLE policy this patch adds the SCHED_IDLE policy to sched.h. Signed-off-by: Ingo Molnar commit d15bcfdbe1818478891d714343f037cfe60875f0 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: rename idle_type/SCHED_IDLE enum idle_type (used by the load-balancer) clashes with the SCHED_IDLE name that we want to introduce. 'CPU_IDLE' instead of 'SCHED_IDLE' is more descriptive as well. Signed-off-by: Ingo Molnar commit c1e4fe711a410a139095e6b3e3ce3f07f466063c Author: Jeff Garzik Date: Mon Jul 9 12:29:31 2007 -0400 [libata] sata_mv: print out additional chip info during probe Indicate whether this is a Generation-I (50xx), Generation-II (60xx), or Generation-II-E (6042/7042) chip. Signed-off-by: Jeff Garzik commit bf6263a853c9c143bf03f0a6fdcc68ab714fb5f5 Author: Jeff Garzik Date: Mon Jul 9 12:16:50 2007 -0400 [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info The ATA_UDMAx masks are self-documenting, and far better than manually writing in the hex mask. Note that pata_it8213 mask differed from the comment. Added a FIXME there. Signed-off-by: Jeff Garzik commit cd70c26617f4686355263be4533ce8030242740e Author: Jeff Garzik Date: Sun Jul 8 02:29:42 2007 -0400 [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145) Add support for the SATA portion of Marvell's AHCI-compatible chips. The PATA port capability, also available via AHCI, is disabled until support is completed. NCQ and PCI MSI are disabled by default. Marvell says "we use NCQ" in their drivers but "we do not use PCI MSI." Theoretically that implies we need to fix ahci.c to work with Marvell NCQ, but one wonders why Marvell NCQ is any different from other AHCI chips. Signed-off-by: Jeff Garzik commit 469248abf00dfa813356b372ffe153b85f27f4bf Author: Jeff Garzik Date: Sun Jul 8 01:13:16 2007 -0400 [libata] Clean up driver udma_mask initializers * Use ATA_UDMA* * Remove FIXME notations that once served to remind us to verify that these were indeed the correct UDMA masks. They are. Signed-off-by: Jeff Garzik commit d26fc9551a15fdad0d5de8376a78816b8af44f00 Author: Alan Cox Date: Fri Jul 6 19:13:52 2007 -0400 libata: Support chips with 64K PRD quirk Add ata_dumb_qc_prep and supporting logic so that a driver can just specify it needs to be helped in this area. 64K entries are split as with drivers/ide. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c1e6f28cc5de37dcd113b9668a185c0b9334ba8a Author: Christian Lamparter Date: Tue Jul 3 10:19:20 2007 -0400 Add a PCI ID for santa rosa's PATA controller. Signed-off-by: Christian Lamparter Signed-off-by: Jeff Garzik commit 825cd6dd793770ebd42d9ca19f5ee7d082350317 Author: Mikael Pettersson Date: Tue Jul 3 01:10:25 2007 +0200 sata_sil24: sil24_interrupt() micro-optimisation sil24_interrupt() loads host->ports[i] into a local variable, validates it, and then loads the value again in the call to sil24_host_intr(). This patch replaces the second load by a reference to the local variable. This is safe since no side-effects have occurred since the initial load. It also improves readability since it makes it clear that the parameter to sil24_host_intr() is the same value which was just validated. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 5f45bc50976ee1f408f7171af155aec646655a37 Author: Sonic Zhang Date: Fri Jun 15 17:45:49 2007 +0800 Add irq_flags to struct pata_platform_info On some embedded platforms, such as blackfin, the gpio interrupt for IDE interface is designed to be triggered with high voltage. The gpio port should be configured properly by set_irq_type() when register the irq. This patch enable the generic pata platform driver to accept platform irq flags data. Signed-off-by: Sonic Zhang Signed-off-by: Jeff Garzik commit d0e580316e3db9f5cf6a605cc311ffb0372f0a35 Author: Mikael Pettersson Date: Tue Jun 19 21:53:30 2007 +0200 sata_promise: cleanups This patch applies some trivial cleanups to sata_promise: - repair whitespace damage - correct comment at board_2057x_pata definition - pull SATAII TX4 support code out to separate functions - rename ata_nr to ata_no for consistency with libata's port_no - remove some init-time debug printks (requested by Jeff) This patch should cause no behavioural changes, except for the removed printks. Signed-off-by: Mikael Pettersson -- drivers/ata/sata_promise.c | 56 ++++++++++++++++++--------------------------- 1 files changed, 23 insertions(+), 33 deletions(-) Signed-off-by: Jeff Garzik commit 5446b656ddebc2f3902242fda4e860fb343d2787 Author: Jeff Garzik Date: Mon May 28 09:03:51 2007 -0400 [libata] pata_ixp4xx: kill unused var Reported by Michael-Luke Jones. Signed-off-by: Jeff Garzik commit a5bf5f5a370ba7c10f5362265e360952145a7da1 Author: Tejun Heo Date: Fri May 25 19:16:58 2007 +0200 ata_piix: fix pio/mwdma programming Fix various bugs in pio/mwdma mode programming. * Control bits in the timing register wasn't cleared properly while programming PIO mode. * MWDMA mode programming cleared the wrong part of control bits. * MWDMA mode programming cleared udma_mask even when the controller doesn't support UDMA. Signed-off-by: Tejun Heo Cc: Art Haas Signed-off-by: Jeff Garzik commit dab632e8c483532bd84e1f3401c72612e39a7c40 Author: Jeff Garzik Date: Mon May 28 08:33:01 2007 -0400 [libata] ahci: minor internal cleanups Minor cleanups, in preparation for merging Marvell PATA AHCI support in the future. Signed-off-by: Jeff Garzik commit ab2181cf390902f0371f30e4ebeb407b4aaa7314 Author: Jeff Garzik Date: Mon May 28 08:30:36 2007 -0400 [ATA] Add named constant for ATAPI command DEVICE RESET Signed-off-by: Jeff Garzik commit a09060ffe516a0e55f29c89b7da2da760c9487d7 Author: Jeff Garzik Date: Mon May 28 08:17:06 2007 -0400 [libata] sata_sx4, sata_via: minor documentation updates sata_sx4: - describe overall driver theory of operation - add a few constants that will be used in the future sata_via: - remove mention of an old-EH function that is going away Signed-off-by: Jeff Garzik commit df69c9c5438b4e396a64d42608b2a6c48a3e7475 Author: Jeff Garzik Date: Sat May 26 20:46:51 2007 -0400 [libata] ahci: minor internal cleanups Function renaming and factorization. Signed-off-by: Jeff Garzik commit 2bcd866be55f8fe259ccac8eef2b8a7f7721b1d5 Author: Jeff Garzik Date: Mon May 28 07:45:27 2007 -0400 [libata] ahci: Factor out SATA port init into a separate function Signed-off-by: Jeff Garzik commit 79b0bde157e71071320e7a723c5a669cb2c822cf Author: Jeff Garzik Date: Mon May 28 07:22:30 2007 -0400 [libata] pata_sil680: minor cleanups from benh Merge unrelated cleanups (__devinit, dev_dbg, hardware constant) from changeset "pata_sil680: Add MMIO support" authored by Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit b2d46b61bdb2bd45b93f88892461fa568df721d4 Author: Jeff Garzik Date: Sun May 27 22:58:54 2007 -0400 [libata] sata_sx4: named constant cleanup * convert tabs to spaces * convert some hex numbers to (1 << n) preferred format * document i2c and timer control register bits Signed-off-by: Jeff Garzik commit 5d4c51f6beab08ada99064bab6ee74e995a4f24d Author: Alessandro Zummo Date: Sat May 26 19:26:55 2007 -0400 [libata] pata_ixp4xx: convert to new EH Signed-off-by: Jeff Garzik commit 49de0ac823ed7826695c6a2ac62dc1f730a8b17d Author: Jeff Garzik Date: Sat May 26 18:20:51 2007 -0400 [libata] pdc_adma: Reorder initializers with a couple structs Make it easier to verify which struct initializers are present, by presenting them in the order in which they are defined in the API header. Signed-off-by: Jeff Garzik commit 59f998802bd5df56cd824f313cf5b0c3e356ec59 Author: Jeff Garzik Date: Mon May 28 07:07:20 2007 -0400 [libata] drivers: remove 'void __iomem *' casts from pre-iomap days Signed-off-by: Jeff Garzik commit 1d2808fd3d2d5d2c0483796a0f443d1cb3f11367 Author: Jeff Garzik Date: Mon May 28 06:59:48 2007 -0400 [libata] PATA drivers: remove ATA_FLAG_SRST This flag only has meaning in old-EH drivers, and these drivers have already been converted to the new EH. Remove. Signed-off-by: Jeff Garzik commit 5bcd7a00a464fd81b4b68847b9b811a635a15b61 Author: Jeff Garzik Date: Sat May 26 16:35:42 2007 -0400 [libata] sata_sil: register table cleanup Make the register offset table more maintainable. From the 'sii-lbt' branch, which enables the LBT chip feature. Signed-off-by: Jeff Garzik commit be5d82183f1ebb022f923b008acf3b760d3a571d Author: Jens Axboe Date: Tue May 22 09:45:39 2007 +0200 use_clustering (sht) bit set to 0 in AHCI ? ahci: enable sg segment clustering The specification states that ahci supports segments up to 4MiB in size, so enable clustering. Signed-off-by: Jens Axboe Signed-off-by: Jeff Garzik commit a16abc0b5ff3ef655e40cb5e6671d57f5dde513d Author: Tejun Heo Date: Mon May 21 18:33:47 2007 +0200 libata: replace ap->cbl tests with ATA_FLAG_SATA tests ap->cbl == ATA_CBL_SATA indicates SATA cable while ap->flags & ATA_FLAG_SATA indicates SATA host port. Till now they always gave the same result but SATA/PATA bridge handling will change that. Switch to ATA_FLAG_SATA test if we're testing for host port type. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 1ca972c2028edd6cd6a6ca40bd1f58b91fb4ea58 Author: Jeff Garzik Date: Thu May 24 23:05:25 2007 -0400 [libata] pata_atiixp: add SB700 PCI ID From AMD. Signed-off-by: Jeff Garzik commit 64578a3de723d502621860f9d4d28f34d001b066 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement _GTM/_STM support Implement _GTM/_STM support. acpi_gtm is added to ata_port which stores _GTM parameters over suspend/resume cycle. A new hook ata_acpi_on_suspend() is responsible for storing _GTM parameters during suspend. _STM is executed in ata_acpi_on_resume(). With this change, invoking _GTF is safe on IDE hierarchy and acpi_sata check before _GTF is removed. ata_acpi_gtm() and ata_acpi_stm() implementation is taken from Alan Cox's pata_acpi implementation. ata_acpi_gtm() is fixed such that the result parameter is not shifted by sizeof(union acpi_object). Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit e5fa24dfdb522b642dbe9b8b1b692f68dce89835 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: remove redundant checks Remove remaining unnecessary feature and status checks. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6746544c3b143ca7071d144f1882ccbe1f47b08d Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata: reimplement ACPI invocation This patch reimplements ACPI invocation such that, instead of exporting ACPI details to the rest of libata, ACPI event handlers - ata_acpi_on_resume() and ata_acpi_on_devcfg() - are used. These two functions are responsible for determining whether specific ACPI method is used and when. On resume, _GTF is scheduled by setting ATA_DFLAG_ACPI_PENDING device flag. This is done this way to avoid performing the action on wrong device device (device swapping while suspended). On every ata_dev_configure(), ata_acpi_on_devcfg() is called, which performs _SDD and _GTF. _GTF is performed only after resuming and, if SATA, hardreset as the ACPI spec specifies. As _GTF may contain arbitrary commands, IDENTIFY page is re-read after _GTF taskfiles are executed. If one of ACPI methods fails, ata_acpi_on_devcfg() retries on the first failure. If it fails again on the second try, ACPI is disabled on the device. Note that successful configuration clears ACPI failed status. With all feature checks moved to the above two functions, do_drive_set_taskfiles() is trivial and thus collapsed into ata_acpi_exec_tfs(), which is now static and converted to return the number of executed taskfiles to be used by ata_acpi_on_resume(). As failures are handled properly, ata_acpi_push_id() now returns -errno on errors instead of unconditional zero. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 69b16a5f4c4f1dab70d4d555c487c318c6878b3e Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: miscellaneous cleanups * Add missing LOCKING: and RETURNS: to function comment. * Don't conditionalize warning messages with ata_msg_probe(). Print directly with KERN_WARNING. * Drop duplicate debug messages. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4700c4bc9262a9e78f7197c4c41cc2be085d5276 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: clean up ata_acpi_exec_tfs() This patch cleans up ata_acpi_exec_tfs() and its friends. * Rename taskfile_array to ata_acpi_gtf and make it __packed as it's used as argument to ACPI method, and use pointer to ata_acpi_gtf and number of taskfiles to represent _GTF taskfiles instead of a pointer casted into unsigned long and byte count. This makes argument re-checking in do_drive_set_taskfiles() unnecessary. * Pointer in void * not in unsigned long. * Clean up do_drive_get_GTF() error handling and make do_drive_get_GTF() return number of taskfiles on success, 0 if _GTF doesn't exist or doesn't contain valid ata. -errno on other errors. * Remove superflous check for acpi->buffer.pointer. * Update taskfile_load_raw() such that printed messages look similar to the messages printed by ata_eh_report(). * s/do_drive_get_GTF/ata_dev_get_GTF/ s/do_drive_set_taskfiles/ata_dev_set_taskfiles/ Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fafbae87db88a73b166d3bc3294d209207f27056 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement ata_acpi_associate() * Add acpi_handle to ata_host and ata_port. Rename ata_device->obj_handle to ->acpi_handle and move it above such that it doesn't get cleared on reconfiguration. * Replace ACPI node association which ata_acpi_associate() which is called once during host initialization. Unlike the previous implementation, ata_acpi_associate() uses ATA_FLAG_ACPI_SATA to choose between IDE or SATA ACPI hierarchy and uses simple child look up instead of recursive walk to match the nodes. This is way safer and simpler. Please read the following message for more info. http://article.gmane.org/gmane.linux.ide/17554 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a0a24741cac414aba5918e9939afafa70c37f952 Author: Steven Whitehouse Date: Mon Jul 9 15:43:07 2007 +0100 [GFS2] Small fixes to logging code This reverts part of an earlier patch which tried to reclaim gfs2_bufdata structures too early and resulted in a "use after free" case (this bit from me). Also a change to not write out log headers unless we really need to (in the case of flushing nothing we don't need a header) from Bob. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson commit 2c1d8aea2ca76df1b1de2aed23e3ceda2a044ed1 Author: Jiri Kosina Date: Wed Jul 4 16:45:59 2007 +0200 HID: handle cases of volume knobs generating relative values There are some devices (for example Dell Multimedia Keyboard SK-8135) that have a volume control knob which generates relative events instead of absolute. hid-input maps them to ABS_VOLUME. HUT pages don't restrict volume to absolute values. Adding REL_VOLUME doesn't seem feasible, nothing knows how to handle it. This patch translates relative ABS_VOLUME events into appropriate number of series of VOLUME_UP or VOLUME_DOWN events respectively, so that userspace sees the correct values in the end. kernel.org bugzilla 5233 Reported-by: Jochen Eisinger Signed-off-by: Jiri Kosina commit 3c5f4b25f3552c9bcb52eb956753a3c8140480b7 Author: Jiri Kosina Date: Thu Jun 28 22:33:47 2007 +0200 HID: Logitech keyboard 0xc311 needs reset leds quirk The keyboard 0x046d/0xc311 needs reset leds quirk Tested-by: Antonino Ingargiola Signed-off-by: Jiri Kosina commit 5f9c464aaa1ba3a773c47004e98eb1f3aa2ab2a4 Author: Ryo Dairiki Date: Mon Jun 25 10:31:12 2007 +0200 HID: support for logitech cordless desktop LX500 special mapping This keyboard has wireless mouse which has left, middle, right buttons and 2-dimensional scrolling wheel. Unfornetuly, this wheel reports side scrolling events and 11 or 12 button events at the same time. I've wrote a patch to fix this mapping. I'm not sure if this mapping is proper for buttons, because , for example, there is no entry for "burn cd" in input.h. The patch also supress 11 and 12 button events from mouse when you scroll the wheel left and right. With this patch, only side scrolling events are reported. (This mouse has only 4 buttons and 2D wheel. There is no such buttons like 11 and 12.) Signed-off-by: Jiri Kosina commit 816cbfda8b5113629707f604660204701e93b7ce Author: Diogo Kastrup Date: Tue Jun 19 14:16:15 2007 +0200 HID: fix autocentering of PID devices When setting the autocentering of PID devices, PID_DIRECTION_ENABLE is not being explicitely set to 1. This results in autocentering working only on the vertical axis when this field is preset to 0. Fix that by setting it explicitely to 1 when preparing the set_effect report for autocentering spring effect. Signed-off-by: Diogo Kastrup Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit ea9a4a8b0e5a34eca6613e39d21be879d92ecff5 Author: Jiri Kosina Date: Tue Jun 19 14:09:14 2007 +0200 HID: separate quirks for report descriptor fixup Lately there have been quite a lot of bug reports against broken devices which require us to fix their report descriptor in the runtime, before it is passed to the HID parser. Those devices have eaten quite an amount of our quirks space, which isn't particularly necessary - the quirks are not needed after the report descriptor is parsed, and they just consume bits. Therefore this patch separates the quirks for report descriptor fixup, and moves their handling into separate code. The quirks are then forgotten as soon as the report descriptor has been parsed. Module parameter 'rdesc_quirks' is introduced to be able to modify these quirks in runtime in a similar way to 'quirks' parameter for ordinary HID quirks. Signed-off-by: Jiri Kosina commit b8e98f1c47b743e56f8ebe21006199cefd577ce5 Author: Jiri Kosina Date: Mon Jun 18 17:41:14 2007 +0200 HID: Add NOGET quirk for all NCR devices Devices manufactured by NCR have userspace hiddev-based drivers, which do all the necessary device querying by themselves. The devices must not be queried directly by the generic HID driver, as reported by NCR engineers. Cc: Petr Ostadal Signed-off-by: Jiri Kosina commit 92d9e6e607eb7f8f1d2a43935f45cf300cf6fdf8 Author: Jiri Kosina Date: Mon Jun 18 13:30:11 2007 +0200 HID: support for Petalynx Maxter remote control Petalynx Maxter remote control [1] 0x18b1/0x0037 emits 0xfa and 0xfc from consumer page (reserved in HUT 1.12) for back and more keys. It also emits a few usages from LOGIVENDOR page, which need adding. Also, this device has broken report descriptor - the reported maximum is too low - it doesn't contain the range for 'back' and 'more' keys, so we need to bump it up before the report descriptor is being parsed. Besides all this, it also requires NOGET quirk. This patch does so. [1] http://www.elmak.pl/index.php?option=com_phpshop&page=shop.browse&category_id=14&ext=opis&lang=en Signed-off-by: Jiri Kosina commit 5fce620c0c7caa9e8d9588e8dcc66c52c456851a Author: Hans de Goede Date: Tue Jun 12 22:04:32 2007 +0200 HID: fix mismatch between hid-input HUT find/search mapping and the HUT When comparing usb vs ps2 / testing the keycodes generated for the easy access keys on my trust (microsoft compatible) keyboard. I noticed the search key generated the keycode for find when connected through USB. This lead me to check the consumer page mappings in hid-input.c . And it turns out the the mapping for ID 0x221 deviates from the HUT standard document: http://www.usb.org/developers/devclass_docs/Hut1_12.pdf Currently it is incorrectly mapped to find, whereas it should be mapped to search. I also added missing bindings for ID 0x21f, the real find and for 0x222, goto. Signed-off-by: Hans de Goede Signed-off-by: Jiri Kosina commit 1b3ebe931195725cceee825c430a8bd5319c2566 Author: Julien Eyries Date: Tue Jun 12 10:12:40 2007 +0200 HID: support for Gameron dual psx adaptor This patch provides support for the Gameron dual psx adaptor. The modification is to add the quirk HID_QUIRK_MULTI_INPUT for this specific USB device. Signed-off-by: Julien Eyries Signed-off-by: Jiri Kosina commit 2fa45a4cffd0c4ab4e238e8ad3b4f9b0c10ac1f3 Author: Alan Stern Date: Wed May 30 11:11:12 2007 -0400 USB HID: avoid flush_scheduled_work() This patch (as914) replaces a call to flush_scheduled_work() with cancel_work_sync(), in order to help avoid potential deadlocks. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina commit 3cd709866f639d24b0d0f38567c19662c98ea92e Author: Jan Engelhardt Date: Mon Apr 30 13:27:48 2007 +0200 HID: Use menuconfig objects 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 Signed-off-by: Jiri Kosina commit defd208681b721dbf2b69347cca5302d60246405 Author: Jiri Kosina Date: Sat May 19 16:28:04 2007 +0200 HID: force hid-input for Microsoft SideWinder GameVoice device Microsoft SideWinder GameVoice driver is a trivial device with a few buttons (0x09 HID usage) and an audio connector, which just forwards the audio input into oridinary sound card present in the computer. Despite this fact, the only interface of this device reports itself as a Telephony/Headset type of HID device. This is apparently incorrect - the device itself doesn't provide any audio/telephony functionality. This is achieved in userland application which only needs to receive the button events from the HID driver. This patch establishes a new quirk which forces hid-input to claim a device it will otherwise leave untouched. Reported-by: Tomas Carnecky Signed-off-by: Jiri Kosina commit cb1d93c98c49e268918e35e45e5c407fc4dc4e9f Author: Jiri Kosina Date: Mon May 14 10:20:29 2007 +0200 HID: input mapping for Chicony KU-0418 tactical pad Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate "tactical pad" with 11 non-functional buttons - they generate usage codes from 0xff00 (MSVENDOR) usage page. Special case handling for this keyboard added, so no later clash with MSVENDOR mappings is going to occur. Pointed out in bugzilla #7352 Signed-off-by: Jiri Kosina commit 58037eb961f859607b161c50d9d4ecb374de1e8f Author: Jiri Kosina Date: Wed May 30 15:07:13 2007 +0200 HID: make debugging output runtime-configurable There have been many reports recently about broken HID devices, the diagnosis of which required users to recompile their kernels in order to be able to provide debugging output needed for coding a quirk for a particular device. This patch makes CONFIG_HID_DEBUG default y if !EMBEDDED and makes it possible to control debugging output produced by HID code by supplying 'debug=1' module parameter. Signed-off-by: Jiri Kosina commit b609f06ac4ac77433035366e9aa4dcd7a0f743a0 Author: Steve French Date: Mon Jul 9 07:55:14 2007 +0000 [CIFS] Fix packet signatures for NTLMv2 case Signed-off-by: Yehuda Sadeh Weinraub Signed-off-by: Steve French commit ac90a2552500996c529d5f0ddc16a9bf60bf670d Author: David Teigland Date: Fri Jul 6 09:47:08 2007 -0500 [DLM] dump more lock values Add two more output fields (lkb_flags and rsb nodeid) to the new debugfs file that dumps one lock per line. Also, dump all locks instead of just mastered locks. Accordingly, use a suffix of _locks instead of _master. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 35dcc52e3a916184b145fd840250244b81004200 Author: Wendy Cheng Date: Wed Jun 27 17:07:53 2007 -0400 [GFS2] Remove i_mode passing from NFS File Handle GFS2 has been passing i_mode within NFS File Handle. Other than the wrong assumption that there is always room for this extra 16 bit value, the current gfs2_get_dentry doesn't really need the i_mode to work correctly. Note that GFS2 NFS code does go thru the same lookup code path as direct file access route (where the mode is obtained from name lookup) but gfs2_get_dentry() is coded for different purpose. It is not used during lookup time. It is part of the file access procedure call. When the call is invoked, if on-disk inode is not in-memory, it has to be read-in. This makes i_mode passing a useless overhead. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit bb9bcf061660661c57ddcf31337529f82414b937 Author: Wendy Cheng Date: Wed Jun 27 17:07:08 2007 -0400 [GFS2] Obtaining no_formal_ino from directory entry GFS2 lookup code doesn't ask for inode shared glock. This implies during in-memory inode creation for existing file, GFS2 will not disk-read in the inode contents. This leaves no_formal_ino un-initialized during lookup time. The un-initialized no_formal_ino is subsequently encoded into file handle. Clients will get ESTALE error whenever it tries to access these files. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit f4fadb23ca49abd2f1387a0b7e78b385ebc760ce Author: akpm@linux-foundation.org Date: Wed Jun 27 14:43:37 2007 -0700 [GFS2] git-gfs2-nmw-build-fix Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit b3657629249eba0b3b61ff964d6e1539b469d117 Author: Abhijith Das Date: Wed Jun 27 11:06:19 2007 -0500 [GFS2] System won't suspend with GFS2 file system mounted The kernel threads in gfs2, namely gfs2_scand, gfs2_logd, gfs2_quotad, gfs2_glockd, gfs2_recoverd weren't doing anything when the suspend mechanism was trying to freeze them. I put in calls to refrigerator() in the loops for all the daemons and suspend works as expected. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 569a7b6c2e8965ff4908003b925757703a3d649c Author: Bob Peterson Date: Wed Jun 27 10:15:56 2007 -0500 [GFS2] remounting w/o acl option leaves acls enabled This patch is for bugzilla bug #245663. This crosswrites a fix from gfs1 (bz #210369) so that the mount options are reset properly upon remount. This was tested on system trin-10. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 090ffaa55dacea774af9ee378d09e47fb7cea9ff Author: Wendy Cheng Date: Wed Jun 27 11:00:03 2007 -0400 [GFS2] inode size inconsistency This should have been part of the NFS patch #1 but somehow I missed it when packaging the patches. It is not a critical issue as the others (I hope). RHEL 5.1 31.el5 kernel runs fine without this change. Our truncate code is chopped into two parts, one for vfs inode changes (in vmtruncate()) and one of gfs inode (in gfs2_truncatei()). These two operatons are, unfortunately, not atomic. So it could happens that vmtruncate() succeeds (inode->i_size is changed) but gfs2_truncatei fails (say kernel temporarily out of memory). This would leave gfs inode i_di.di_size out of sync with vfs inode i_size. It will later confuse gfs2_commit_write() if a write is issued. Last time I checked, it will cause file corruption. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 97d848365e603def43c69e160937f073bf9cf02e Author: Patrick Caulfield Date: Wed Jun 27 11:36:23 2007 +0100 [DLM] Telnet to port 21064 can stop all lockspaces This patch fixes Red Hat bz#245892 Opening a tcp connection from a cluster member to another cluster member targeting the dlm port it is enough to stop every dlm operation in the cluster. This means that GFS and rgmanager will hang. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 1875f2f31b3955dff8c3712a56ae61836c8b90fe Author: S. Wendy Cheng Date: Mon Jun 25 21:14:31 2007 -0400 [GFS2] Fix gfs2_block_truncate_page err return Code segment inside gfs2_block_truncate_page() doesn't set the return code correctly. This causes NFSD erroneously returns EIO back to client with setattr procedure call (truncate error). Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 773ed1a044adc868036dee1722b8bca6ce5923e2 Author: Robert Peterson Date: Wed Jun 20 08:34:06 2007 -0500 [GFS2] Addendum to the journaled file/unmount patch This patch is an addendum to the previous journaled file/unmount patch. It fixes a problem discovered during testing. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit eaf5bd3cac92126e5825c6ebc10bee0fba35d555 Author: Steven Whitehouse Date: Tue Jun 19 15:38:17 2007 +0100 [GFS2] Simplify multiple glock aquisition There is a bug in the code which acquires multiple glocks where if the initial out-of-order attempt fails part way though we can land up trying to acquire the wrong number of glocks. This is part of the fix for red hat bz #239737. The other part of the bz doesn't apply to upstream kernels since it was fixed by: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d3717bdf8f08a0e1039158c8bab2c24d20f492b6 Since the out-of-order code doesn't appear to add anything to the performance of GFS2, this patch just removed it rather than trying to fix it. It should be much easier to see whats going on here now. In addition, we don't allocate any memory unless we are using a lot of glocks (which is a relatively uncommon case). Signed-off-by: Steven Whitehouse commit 2332c4435bb733b5cd4f612ee57532bd8fde4c1c Author: Robert Peterson Date: Mon Jun 18 14:50:20 2007 -0500 [GFS2] assertion failure after writing to journaled file, umount This patch passes all my nasty tests that were causing the code to fail under one circumstance or another. Here is a complete summary of all changes from today's git tree, in order of appearance: 1. There are now separate variables for metadata buffer accounting. 2. Variable sd_log_num_hdrs is no longer needed, since the header accounting is taken care of by the reserve/refund sequence. 3. Fixed a tiny grammatical problem in a comment. 4. Added a new function "calc_reserved" to calculate the reserved log space. This isn't entirely necessary, but it has two benefits: First, it simplifies the gfs2_log_refund function greatly. Second, it allows for easier debugging because I could sprinkle the code with calls to this function to make sure the accounting is proper (by adding asserts and printks) at strategic point of the code. 5. In log_pull_tail there apparently was a kludge to fix up the accounting based on a "pull" parameter. The buffer accounting is now done properly, so the kludge was removed. 6. File sync operations were making a call to gfs2_log_flush that writes another journal header. Since that header was unplanned for (reserved) by the reserve/refund sequence, the free space had to be decremented so that when log_pull_tail gets called, the free space is be adjusted properly. (Did I hear you call that a kludge? well, maybe, but a lot more justifiable than the one I removed). 7. In the gfs2_log_shutdown code, it optionally syncs the log by specifying the PULL parameter to log_write_header. I'm not sure this is necessary anymore. It just seems to me there could be cases where shutdown is called while there are outstanding log buffers. 8. In the (data)buf_lo_before_commit functions, I changed some offset values from being calculated on the fly to being constants. That simplified some code and we might as well let the compiler do the calculation once rather than redoing those cycles at run time. 9. This version has my rewritten databuf_lo_add function. This version is much more like its predecessor, buf_lo_add, which makes it easier to understand. Again, this might not be necessary, but it seems as if this one works as well as the previous one, maybe even better, so I decided to leave it in. 10. In databuf_lo_before_commit, a previous data corruption problem was caused by going off the end of the buffer. The proper solution is to have the proper limit in place, rather than stopping earlier. (Thus my previous attempt to fix it is wrong). If you don't wrap the buffer, you're stopping too early and that causes more log buffer accounting problems. 11. In lops.h there are two new (previously mentioned) constants for figuring out the data offset for the journal buffers. 12. There are also two new functions, buf_limit and databuf_limit to calculate how many entries will fit in the buffer. 13. In function gfs2_meta_wipe, it needs to distinguish between pinned metadata buffers and journaled data buffers for proper journal buffer accounting. It can't use the JDATA gfs2_inode flag because it's sometimes passed the "real" inode and sometimes the "metadata inode" and the inode flags will be random bits in a metadata gfs2_inode. It needs to base its decision on which was passed in. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 2840501ac822c5bf712f67b4b02640e16e145a29 Author: Steven Whitehouse Date: Mon Jun 18 16:31:42 2007 +0100 [GFS2] Use zero_user_page() in stuffed_readpage() As suggested by Robert P. J. Day Signed-off-by: Steven Whitehouse Cc: Robert P. J. Day commit c4201214cbf10636e2c1ab9131573f735b42c8d4 Author: Steven Whitehouse Date: Thu Jun 14 16:39:13 2007 +0100 [GFS2] Remove bogus '\0' in rgrp.c Not sure how it slipped in, but we don't want it anyway. Signed-off-by: Steven Whitehouse commit 8fb68595d508fd30ec90939572484b263600376c Author: Robert Peterson Date: Tue Jun 12 11:24:36 2007 -0500 [GFS2] Journaled file write/unstuff bug This patch is for bugzilla bug 283162, which uncovered a number of bugs pertaining to writing to files that have the journaled bit on. These bugs happen most often when writing to the meta_fs because the files are always journaled. So operations like gfs2_grow were particularly vulnerable, although many of the problems could be recreated with normal files after setting the journaled bit on. The problems fixed are: -GFS2 wasn't ever writing unstuffed journaled data blocks to their in-place location on disk. Now it does. -If you unmounted too quickly after doing IO to a journaled file, GFS2 was crashing because you would discard a buffer whose bufdata was still on the active items list. GFS2 now deals with this gracefully. -GFS2 was losing track of the bufdata for journaled data blocks, and it wasn't getting freed, causing an error when you tried to unmount the module. GFS2 now frees all the bufdata structures. -There was a memory corruption occurring because GFS2 wrote twice as many log entries for journaled buffers. -It was occasionally trying to write journal headers in buffers that weren't currently mapped. Signed-off-by: Bob Peterson Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit fad59c1390045b5adb7c7249ec4e77e0f868aca5 Author: David Teigland Date: Mon Jun 11 10:47:18 2007 -0500 [DLM] don't require FS flag on all nodes Mask off the recently added DLM_LSFL_FS flag when setting the exflags. This way all the nodes in the lockspace aren't required to have the FS flag set, since we later check that exflags matches among all nodes. Signed-off-by: Patrick Caulfield Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d93cfa9884354dac2d8ccd894594a43e0b962b6f Author: Abhijith Das Date: Mon Jun 11 08:22:32 2007 +0100 [GFS2] Fix deallocation issues There were two issues during deallocation of unlinked inodes. The first was relating to the use of a "try" lock which in the case of the inode lock wasn't trying hard enough to deallocate in all circumstances (now changed to a normal glock) and in the case of the iopen lock didn't wait for the demotion of the shared lock before attempting to get the exclusive lock, and thereby sometimes (timing dependent) not completing the deallocation when it should have done. The second issue related to the lack of a way to invalidate dcache entries on remote nodes (now fixed by this patch) which meant that unlinks were taking a long time to return disk space to the fs. By adding some code to invalidate the dcache entries across the cluster for unlinked inodes, that is now fixed. This patch was written jointly by Abhijith Das and Steven Whitehouse. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit a7a2ff8a951ab373732116e7c31e2e1fe025d5e0 Author: David Teigland Date: Fri Jun 8 17:01:40 2007 -0500 [GFS2] return conflicts for GETLK We weren't returning the correct result when GETLK found a conflict, which is indicated by userspace passing back a 1. Signed-off-by: Abhijith Das Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d88101d4d82ea09433692af30618c3b7afb7da02 Author: David Teigland Date: Fri Jun 8 16:00:22 2007 -0500 [GFS2] set plock owner in GETLK info Set the owner field in the plock info sent to userspace for GETLK. Without this, gfs_controld won't correctly see when the GETLK from a process matches one of the process's existing locks. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 037bcbb7564e35aef937c54799550cd27735aac6 Author: akpm@linux-foundation.org Date: Fri Jun 8 16:42:14 2007 -0700 [GFS2] gfs2_lookupi() uninitialised var fix fs/gfs2/inode.c: In function 'gfs2_lookupi': fs/gfs2/inode.c:392: warning: 'error' may be used uninitialized in this function Looks like a real bug to me. Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit c8cdf479377462315d6b4f56379f8ac989b0ef29 Author: Steven Whitehouse Date: Fri Jun 8 10:05:33 2007 +0100 [GFS2] Recovery for lost unlinked inodes Under certain circumstances its possible (though rather unlikely) that inodes which were unlinked by one node while still open on another might get "lost" in the sense that they don't get deallocated if the node which held the inode open crashed before it was unlinked. This patch adds the recovery code which allows automatic deallocation of the inode if its found during block allocation (the sensible time to look for such inodes since we are scanning the rgrp's bitmaps anyway at this time, so it adds no overhead to do this). Since the inode will have had its i_nlink set to zero, all we need to trigger recovery is a lookup and an iput(), and the normal deallocation code takes care of the rest. Signed-off-by: Steven Whitehouse commit b35997d4482ed24b43a5951c5b021d224b24293c Author: Robert Peterson Date: Thu Jun 7 09:10:01 2007 -0500 [GFS2] Can't mount GFS2 file system on AoE device This patch fixes bug 243131: Can't mount GFS2 file system on AoE device. When using AoE devices with lock_nolock, there is no locking table, so gfs2 (and gfs1) uses the superblock s_id. This turns out to be the device name in some cases. In the case of AoE, the device contains a slash, (e.g. "etherd/e1.1p2") which is an invalid character when we try to register the table in sysfs. This patch replaces the "/" with underscore. Rather than add a new variable to the stack, I'm just reusing a (char *) variable that's no longer used: table. This code has been tested on the failing system using a RHEL5 patch. The upstream code was tested by using gfs2_tool sb to interject a "/" into the table name of a clustered gfs2 file system. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e1cc86037b689a82cdb2df50c32fa8cf9d6b6c3a Author: Steven Whitehouse Date: Thu Jun 7 11:47:52 2007 +0100 [GFS2] Fix bug in error path of inode This fixes a bug in the ordering of operations in the error path of createi. Its not valid to do an iput() when holding the inode's glock since the iput() will (in this case) result in delete_inode() being called which needs to grab the lock itself. This was causing the recursive lock checking code to trigger. Signed-off-by: Steven Whitehouse commit ffed8ab342e39b8b5f4d5c94c37a708e225ffcd8 Author: Steven Whitehouse Date: Thu Jun 7 11:29:35 2007 +0100 [GFS2] Fix typo in rename of directories A typo caused us to pass a NULL pointer when renaming directories. It was accidentally introduced in: [GFS2] Clean up inode number handling Signed-off-by: Steven Whitehouse commit 44f487a5536a3afd96a9f571de24c36559e9ae82 Author: Patrick Caulfield Date: Wed Jun 6 09:21:22 2007 -0500 [DLM] variable allocation Add a new flag, DLM_LSFL_FS, to be used when a file system creates a lockspace. This flag causes the dlm to use GFP_NOFS for allocations instead of GFP_KERNEL. (This updated version of the patch uses gfp_t for ls_allocation.) Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 292e539e9386823df8aab556f3da09667f78da8c Author: Josef Bacik Date: Tue Jun 5 17:36:38 2007 -0400 [DLM] fix reference counting This is a fix for the patch 021d2ff3a08019260a1dc002793c92d6bf18afb6 I left off a dlm_hold_rsb which causes the box to panic if you try to use debugfs. This patch fixes the problem. Sorry about that, Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 4bd91ba18198eee42c39d4c334c825d1a0a4b445 Author: Steven Whitehouse Date: Tue Jun 5 09:39:18 2007 +0100 [GFS2] Add nanosecond timestamp feature This adds a nanosecond timestamp feature to the GFS2 filesystem. Due to the way that the on-disk format works, older filesystems will just appear to have this field set to zero. When mounted by an older version of GFS2, the filesystem will simply ignore the extra fields so that it will again appear to have whole second resolution, so that its trivially backward compatible. Signed-off-by: Steven Whitehouse commit bb8d8a6f54c1c84d7c74623491bab043b36a38c5 Author: Steven Whitehouse Date: Fri Jun 1 14:11:58 2007 +0100 [GFS2] Fix sign problem in quota/statfs and cleanup _host structures This patch fixes some sign issues which were accidentally introduced into the quota & statfs code during the endianess annotation process. Also included is a general clean up which moves all of the _host structures out of gfs2_ondisk.h (where they should not have been to start with) and into the places where they are actually used (often only one place). Also those _host structures which are not required any more are removed entirely (which is the eventual plan for all of them). The conversion routines from ondisk.c are also moved into the places where they are actually used, which for almost every one, was just one single place, so all those are now static functions. This also cleans up the end of gfs2_ondisk.h which no longer needs the #ifdef __KERNEL__. The net result is a reduction of about 100 lines of code, many functions now marked static plus the bug fixes as mentioned above. For good measure I ran the code through sparse after making these changes to check that there are no warnings generated. This fixes Red Hat bz #239686 Signed-off-by: Steven Whitehouse commit ddf4b426aababdae4cb96326d7aeb9d119f42c50 Author: Benjamin Marzinski Date: Fri Jun 1 14:21:38 2007 -0500 [GFS2] fix jdata issues This is a patch for the first three issues of RHBZ #238162 The first issue is that when you allocate a new page for a file, it will not start off uptodate. This makes sense, since you haven't written anything to that part of the file yet. Unfortunately, gfs2_pin() checks to make sure that the buffers are uptodate. The solution to this is to mark the buffers uptodate in gfs2_commit_write(), after they have been zeroed out and have the data written into them. I'm pretty confident with this fix, although it's not completely obvious that there is no problem with marking the buffers uptodate here. The second issue is simply that you can try to pin a data buffer that is already on the incore log, and thus, already pinned. This patch checks to see if this buffer is already on the log, and exits databuf_lo_add() if it is, just like buf_lo_add() does. The third issue is that gfs2_log_flush() doesn't do it's block accounting correctly. Both metadata and journaled data are logged, but gfs2_log_flush() only compares the number of metadata blocks with the number of blocks to commit to the ondisk journal. This patch also counts the journaled data blocks. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit afb853fb4eec380b492a3c369f837359359c28e8 Author: Patrick Caulfield Date: Fri Jun 1 10:07:26 2007 -0500 [DLM] fix socket shutdown This patch clears the user_data of active sockets as part of cleanup. This prevents any late-arriving data from trying to add jobs to the work queue while we are tidying up. Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 89918647a445fddfe223b097e29f775dcfa81eab Author: Steven Whitehouse Date: Fri Jun 1 15:19:33 2007 +0100 [GFS2] Make the log reserved blocks depend on block size The number of blocks which we reserve in the log at the start of each transaction needs to depends upon the block size since the overhead is related to the number of "pointers" which can be fitted into a single block. This relates to Red Hat bz #240435 Signed-off-by: Steven Whitehouse commit 1990e917651d58a3c5155d0491431c09e29e385b Author: Abhijith Das Date: Thu May 31 17:52:02 2007 -0500 [GFS2] Quotas non-functional - fix another bug This patch fixes a bug where gfs2 was writing update quota usage information to the wrong location in the quota file. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 0b7cac0fb0e541a7f54d0ba55b31d829ce3dd899 Author: David Teigland Date: Tue May 29 08:47:51 2007 -0500 [DLM] show default protocol Display the initial value of the "protocol" config value in configfs. The default value has always been 0 in the past anyway, so it's always appeared to be correct. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 9dd592d70be0db6fa8e4e19d7642cfaa424b200e Author: David Teigland Date: Tue May 29 08:47:04 2007 -0500 [DLM] dumping master locks Add a new debugfs file that dumps a compact list of mastered locks. This will be used by a userland daemon to collect state for deadlock detection. Also, for the existing function that prints all lock state, lock the rsb before going through the lock lists since they can be changing in the course of normal dlm activity. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b4021fa436f7c76a2299e6d85d4d4a619724e9a Author: David Teigland Date: Tue May 29 08:46:00 2007 -0500 [DLM] canceling deadlocked lock Add a function that can be used through libdlm by a system daemon to cancel another process's deadlocked lock. A completion ast with EDEADLK is returned to the process waiting for the lock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 84d8cd69a8e7f1c9962f46bc79850c9f1f663806 Author: David Teigland Date: Tue May 29 08:44:23 2007 -0500 [DLM] timeout fixes Various fixes related to the new timeout feature: - add_timeout() missed setting TIMEWARN flag on lkb's when the TIMEOUT flag was already set - clear_proc_locks should remove a dead process's locks from the timeout list - the end-of-life calculation for user locks needs to consider that ETIMEDOUT is equivalent to -DLM_ECANCEL - make initial default timewarn_cs config value visible in configfs - change bit position of TIMEOUT_CANCEL flag so it's not copied to a remote master node - set timestamp on remote lkb's so a lock dump will display the time they've been waiting Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b3cab7b9a34a6e65c1ca8f80fb57b256d57e8555 Author: Steven Whitehouse Date: Tue May 29 11:14:21 2007 +0100 [DLM] Compile fix A one liner fix which got missed from the earlier patches. Signed-off-by: Steven Whitehouse Cc: Fabio Massimo Di Nitto Cc: David Teigland commit 518bbde33f7a6b4e252ea2591c77ef796065afa8 Author: Fabio Massimo Di Nitto Date: Tue May 22 09:00:24 2007 +0200 [GFS2] latest gfs2-nmw headers break userland build 2e8701a15cd6f7c95e74d6660615a69b09e453ef commit breaks libgfs2 build: gcc -Wall -I/usr/src/ubuntu/mypkgs/rhcluster/cluster/config -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS2_RELEASE_NAME=\"2.0\" -ggdb -I/usr/include -I../include -I../libgfs2 -c -o gfs2hex.o gfs2hex.c In file included from hexedit.h:22, from gfs2hex.c:27: /usr/include/linux/gfs2_ondisk.h:505: error: expected specifier-qualifier-list before ‘u32’ make[2]: *** [gfs2hex.o] Error 1 make[2]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2/edit' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2' make: *** [gfs2] Error 2 Signed-off-by: Fabio Massimo Di Nitto Signed-off-by: Steven Whitehouse commit 639aca417d91ebba1077a6084e4423af1c1dd811 Author: David Teigland Date: Fri May 18 16:02:57 2007 -0500 [DLM] fix compile breakage In the rush to get the previous patch set sent, a compilation bug I fixed shortly before sending somehow got clobbered, probably by a missed quilt refresh or something. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b0e7b2cf35aa827ed5efb508c1879481b970496 Author: David Teigland Date: Fri May 18 09:03:35 2007 -0500 [DLM] wait for config check during join [6/6] Joining the lockspace should wait for the initial round of inter-node config checks to complete before returning. This way, if there's a configuration mismatch between the joining node and the existing nodes, the join can fail and return an error to the application. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 79d72b54483bf81b9f9de0dd555c710ac7267986 Author: David Teigland Date: Fri May 18 09:02:20 2007 -0500 [DLM] fix new_lockspace error exit [5/6] Fix the error path when exiting new_lockspace(). It was kfree'ing the lockspace struct at the end, but that's only valid if it exits before kobject_register occured. After kobject_register we have to let the kobject do the freeing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit c85d65e91430db94ae9ce0cf38b56e496658b642 Author: David Teigland Date: Fri May 18 09:01:26 2007 -0500 [DLM] cancel in conversion deadlock [4/6] When conversion deadlock is detected, cancel the conversion and return EDEADLK to the application. This is a new default behavior where before the dlm would allow the deadlock to exist indefinately. The DLM_LKF_NODLCKWT flag can now be used in a conversion to prevent the dlm from performing conversion deadlock detection/cancelation on it. The DLM_LKF_CONVDEADLK flag can continue to be used as before to tell the dlm to demote the granted mode of the lock being converted if it gets into a conversion deadlock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d7db923ea4990edb5583bf54af868ba687a1bc84 Author: David Teigland Date: Fri May 18 09:00:32 2007 -0500 [DLM] dlm_device interface changes [3/6] Change the user/kernel device interface used by libdlm: - Add ability for userspace to check the version of the interface. libdlm can now adapt to different versions of the kernel interface. - Increase the size of the flags passed in a lock request so all possible flags can be used from userspace. - Add an opaque "xid" value for each lock. This "transaction id" will be used later to associate locks with each other during deadlock detection. - Add a "timeout" value for each lock. This is used along with the DLM_LKF_TIMEOUT flag. Also, remove a fragment of unused code in device_read(). This patch requires updating libdlm which is backward compatible with older kernels. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 3ae1acf93a21512512f8a78430fcde5992dd208e Author: David Teigland Date: Fri May 18 08:59:31 2007 -0500 [DLM] add lock timeouts and warnings [2/6] New features: lock timeouts and time warnings. If the DLM_LKF_TIMEOUT flag is set, then the request/conversion will be canceled after waiting the specified number of centiseconds (specified per lock). This feature is only available for locks requested through libdlm (can be enabled for kernel dlm users if there's a use for it.) If the new DLM_LSFL_TIMEWARN flag is set when creating the lockspace, then a warning message will be sent to userspace (using genetlink) after a request/conversion has been waiting for a given number of centiseconds (configurable per node). The time warnings will be used in the future to do deadlock detection in userspace. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 85e86edf951a8a39954c0ba1edbe4a58827dcd5c Author: David Teigland Date: Fri May 18 08:58:15 2007 -0500 [DLM] block scand during recovery [1/6] Don't let dlm_scand run during recovery since it may try to do a resource directory removal while the directory nodes are changing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 916297aad5de2363dccd531873eda55d4d6afb57 Author: Josef Bacik Date: Wed May 16 15:56:13 2007 -0400 [DLM] keep dlm from panicing when traversing rsb list in debugfs This problem was originally reported against GFS6.1, but the same issue exists in upstream DLM. This patch keeps the rsb iterator assigning under the rsbtbl list lock. Each time we process an rsb we grab a reference to it to make sure it is not freed out from underneath us, and then put it when we get the next rsb in the list or move onto another list. Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 2a87ab080607d009b8b2a8706f4e27d70402ca9c Author: Abhijith Das Date: Wed May 16 17:02:19 2007 -0500 [GFS2] Quotas non-functional - fix bug This patch fixes an error in the quota code where a 'struct gfs2_quota_lvb*' was being passed to gfs2_adjust_quota() instead of a 'struct gfs2_quota_data*'. Also moved 'struct gfs2_quota_lvb' from fs/gfs2/incore.h to include/linux/gfs2_ondisk.h as per Steve's suggestion. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit dbb7cae2a36170cd17ffbe286ec0c91a998740ff Author: Steven Whitehouse Date: Tue May 15 15:37:50 2007 +0100 [GFS2] Clean up inode number handling This patch cleans up the inode number handling code. The main difference is that instead of looking up the inodes using a struct gfs2_inum_host we now use just the no_addr member of this structure. The tests relating to no_formal_ino can then be done by the calling code. This has advantages in that we want to do different things in different code paths if the no_formal_ino doesn't match. In the NFS patch we want to return -ESTALE, but in the ->lookup() path, its a bug in the fs if the no_formal_ino doesn't match and thus we can withdraw in this case. In order to later fix bz #201012, we need to be able to look up an inode without knowing no_formal_ino, as the only information that is known to us is the on-disk location of the inode in question. This patch will also help us to fix bz #236099 at a later date by cleaning up a lot of the code in that area. There are no user visible changes as a result of this patch and there are no changes to the on-disk format either. Signed-off-by: Steven Whitehouse commit 41d7db0ab437bc84f8a6e77cccc626ce937605ac Author: Steven Whitehouse Date: Mon May 14 17:43:26 2007 +0100 [GFS2] Reduce size of struct gdlm_lock This patch removes the completion (which is rather large) from struct gdlm_lock in favour of using the wait_on_bit() functions. We don't need to add any extra fields to the structure to do this, so we save 32 bytes (on x86_64) per structure. This adds up to quite a lot when we may potentially have millions of these lock structures, Signed-off-by: Steven Whitehouse Acked-by: David Teigland commit cd81a4bac67d44742ab0aa1848f4a78e9d7e1093 Author: Robert Peterson Date: Mon May 14 12:42:18 2007 -0500 [GFS2] Addendum patch 2 for gfs2_grow This addendum patch 2 corrects three things: 1. It fixes a stupid mistake in the previous addendum that broke gfs2. Ref: https://www.redhat.com/archives/cluster-devel/2007-May/msg00162.html 2. It fixes a problem that Dave Teigland pointed out regarding the external declarations in ops_address.h being in the wrong place. 3. It recasts a couple more %llu printks to (unsigned long long) as requested by Steve Whitehouse. I would have loved to put this all in one revised patch, but there was a rush to get some patches for RHEL5. Therefore, the previous patches were applied to the git tree "as is" and therefore, I'm posting another addendum. Sorry. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 0507ecf50f22e433592f5ec3a36dc831aaec2e02 Author: Nate Diller Date: Thu May 10 22:41:28 2007 -0700 [GFS2] use zero_user_page Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller Cc: Steven Whitehouse Signed-off-by: Andrew Morton commit 6c53267f05dc6689ff662efeec426d25d2c0ab84 Author: Robert Peterson Date: Thu May 10 16:54:38 2007 -0500 [GFS2] Kernel changes to support new gfs2_grow command (part 2) To avoid code redundancy, I separated out the operational "guts" into a new function called read_rindex_entry. Then I made two functions: the closer-to-original gfs2_ri_update (without the special condition checks) and gfs2_ri_update_special that's designed with that condition in mind. (I don't like the name, but if you have a suggestion, I'm all ears). Oh, and there's an added benefit: we don't need all the ugly gotos anymore. ;) This patch has been tested with gfs2_fsck_hellfire (which runs for three and a half hours, btw). Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 7ae8fa8451dfb3879ecbc04f2760a707dc65b988 Author: Robert Peterson Date: Wed May 9 09:37:57 2007 -0500 [GFS2] kernel changes to support new gfs2_grow command This is another revision of my gfs2 kernel patch that allows gfs2_grow to function properly. Steve Whitehouse expressed some concerns about the previous patch and I restructured it based on his comments. The previous patch was doing the statfs_change at file close time, under its own transaction. The current patch does the statfs_change inside the gfs2_commit_write function, which keeps it under the umbrella of the inode transaction. I can't call ri_update to re-read the rindex file during the transaction because the transaction may have outstanding unwritten buffers attached to the rgrps that would be otherwise blown away. So instead, I created a new function, gfs2_ri_total, that will re-read the rindex file just to total the file system space for the sake of the statfs_change. The ri_update will happen later, when gfs2 realizes the version number has changed, as it happened before my patch. Since the statfs_change is happening at write_commit time and there may be multiple writes to the rindex file for one grow operation. So one consequence of this restructuring is that instead of getting one kernel message to indicate the change, you may see several. For example, before when you did a gfs2_grow, you'd get a single message like: GFS2: File system extended by 247876 blocks (968MB) Now you get something like: GFS2: File system extended by 207896 blocks (812MB) GFS2: File system extended by 39980 blocks (156MB) This version has also been successfully run against the hours-long "gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck while interjecting file system damage. It does this repeatedly under a variety Resource Group conditions. Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 3168b0780d06ace875696f8a648d04d6089654e5 Author: Satyam Sharma Date: Tue May 8 09:18:58 2007 +0100 [DLM] fix a couple of races Fix two races in fs/dlm/config.c: (1) Grab the configfs subsystem semaphore before calling config_group_find_obj() in get_space(). This solves a potential race between get_space() and concurrent mkdir(2) or rmdir(2). (2) Grab a reference on the found config_item _while_ holding the configfs subsystem semaphore in get_comm(), and not after it. This solves a potential race between get_comm() and concurrent rmdir(2). Signed-off-by: Satyam Sharma Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b524fe646c9a226a847e30ca1221dc22e952f16b Author: Benjamin Marzinski Date: Wed May 2 09:44:03 2007 -0500 [GFS2] flush the glock completely in inode_go_sync Fix for bz #231910 When filemap_fdatawrite() is called on the inode mapping in data=ordered mode, it will add the glock to the log. In inode_go_sync(), if you do the gfs2_log_flush() before this, after the filemap_fdatawrite() call, the glock and its associated data buffers will be on the log again. This means you can demote a lock from exclusive, without having it flushed from the log. The attached patch simply moves the gfs2_log_flush up to after the filemap_fdatawrite() call. Originally, I tried moving the gfs2_log_flush to after gfs2_meta_sync(), but that caused me to trip the following assert. GFS2: fsid=cypher-36:test.0: fatal: assertion "!buffer_busy(bh)" failed GFS2: fsid=cypher-36:test.0: function = gfs2_ail_empty_gl, file = fs/gfs2/glops.c, line = 61 It appears that gfs2_log_flush() puts some of the glocks buffers in the busy state and the filemap_fdatawrite() call is necessary to flush them. This makes me worry slightly that a related problem could happen because of moving the gfs2_log_flush() after the initial filemap_fdatawrite(), but I assume that gfs2_ail_empty_gl() would catch that case as well. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit f2ec8030085a27c4ba8e95a10a96f248efb34177 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:49:06 2007 +0200 Ethernet driver for EISA only SNI RM200/RM400 machines Changes to last version: - spelling fix - cleaned up probe code Thomas. Ethernet driver for EISA only SNI RM200/RM400 machines Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 2187f287e2827556210e96c619f76f0f9dd928f0 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:46:22 2007 +0200 Extract chip specific code out of lasi_82596.c Changes to last version: - use netdev_alloc_skb - make init_rx_bufs just fail and not panic, if skb alloc fails - don/t free_irq, if request_irq failed Thomas. Extracted chip specific code out of lasi_82596.c and placed into a lib82596.c to make it usable for other 82596 drivers Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit d1d25aaba85fd24ab18b0a4d22f19be02aac65c9 Author: Jan-Bernd Themann Date: Mon Jul 2 13:00:46 2007 +0200 ehea: Whitespace cleanup This patch fixes several whitespace issues. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 7c00db3d28131f4fff42eb49632dcd70636f31f4 Author: Olof Johansson Date: Fri Jun 22 15:04:54 2007 -0500 pasemi_mac: Fix TX interrupt threshold It was mistakenly set to interrupt on the second packet instead of first, causing some interesting latency behaviour. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e65bbf13dd6ca8c0a4fc35028742c8c85f39c02b Author: Linas Vepstas Date: Thu Jun 14 18:12:23 2007 -0500 spidernet: Replace literal with const Replace literal with const; add bit definitions. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 57a9f236ebe76be6fe1c85b5f7b3cea842e44177 Author: Francois Romieu Date: Mon Jun 4 22:10:15 2007 +0200 r8169: perform RX config change after mac filtering It does not really make sense to update the RX config register before the mac filtering registers. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 773d202194be84cc17d35f62516eac6d8db833e6 Author: Francois Romieu Date: Wed Jan 31 23:47:43 2007 +0100 r8169: mac address change support Merged from Realtek's r8169-6.001 driver. I have added some locking to protect against the arp monitoring timer in the bonding driver. Accessing the configuration registers is otherwise performed under RTNL locking. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 96b9709c9b47c1f9e8fd80e756e8eddcba68e818 Author: Francois Romieu Date: Wed May 30 00:32:05 2007 +0200 r8169: display some extra debug information during startup It does not cost much and it will ease the identification of (so far) unknown devices. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6cccd6e7a261263cdf06576bd1b241be575638b6 Author: Rolf Eike Beer Date: Mon May 21 22:11:04 2007 +0200 r8169: add endianess annotations to [RT]xDesc Signed-off-by: Rolf Eike Beer Signed-off-by: Francois Romieu Cc: Edward Hsu commit e9f63f30863fd778a5329e93c7e2208b9bcb5b79 Author: Francois Romieu Date: Wed Feb 28 23:16:57 2007 +0100 r8169: align the IP header when there is no DMA constraint Align the IP header when the chipset can DMA at any location (plain 0x8169). Otherwise (0x8136/0x8168) obey the constraint imposed by the hardware. This patch complements the previous alignment rework done for copybreak. Original idea from Philip Craig Signed-off-by: Francois Romieu Cc: Philip Craig Cc: Mike Isely Cc: Edward Hsu commit 275391a482c436282dde57beeffc5d61b229fdd2 Author: Francois Romieu Date: Fri Feb 23 23:50:28 2007 +0100 r8169: add bit description for the TxPoll register Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07d3f51febdc139c63e95671126fd2791113902e Author: Francois Romieu Date: Wed Feb 21 22:40:46 2007 +0100 r8169: cleanup No functionnal change: - trim the old history log - whitespace/indent/case police - unsigned int where signedness does not matter - removal of obsolete assert - needless cast from void * (dev_instance) - remove dead code once related to power management - use netdev_alloc_skb. Signed-off-by: Francois Romieu Cc: Stephen Hemminger Cc: Edward Hsu commit 901dda2b5f0dfbd310d22d497ec8826d4c60363b Author: Francois Romieu Date: Wed Feb 21 00:10:20 2007 +0100 r8169: remove the media option It has been documented as deprecated: - in MODULE_PARM_DESC since may 2005 ; - at the top of the source file and in printk since june 2004. Good bye. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0127215c17414322b350c3c6fbd1a7d8dd13856f Author: Francois Romieu Date: Tue Feb 20 22:58:51 2007 +0100 r8169: small 8101 comment Extracted from version 1.001.00 of Realtek's r8101. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 864022344caf43dab7fa5219152280d056c6e051 Author: Francois Romieu Date: Tue Feb 20 22:20:51 2007 +0100 r8169: confusion between hardware and IP header alignment The rx copybreak part is straightforward. The align field in struct rtl_cfg_info is related to the alignment requirements of the DMA operation. Its value is set at 2 to limit the scale of possible regression but my old v1.21 8169 datasheet claims a 8 bytes requirements (which never appeared in the driver, of course) and the 8101/8168 go with a plain 8 bytes alignment. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0e4851502f846b13b29b7f88f1250c980d57e944 Author: Francois Romieu Date: Tue Feb 20 00:00:26 2007 +0100 r8169: merge with version 8.001.00 of Realtek's r8168 driver This one includes: - more tweaks to rtl_hw_start_8168 - a work around for a Rx FiFO overflow issue on the 8168Bb - rtl8169_{intr_mask/napi_event} are replaced with per-device fields, namely tp->{intr/napi}_event - rtl_cfg_info is converted to C99 for readability but the values are not changed for the 8169/8110 and the 8101 Includes ChipCmd fix from Bernhard Walle (2007/02/24). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2 Author: Francois Romieu Date: Tue Feb 13 23:38:05 2007 +0100 r8169: merge with version 6.001.00 of Realtek's r8169 driver - new identifier for the 8110SCe - the PCI latency timer is set unconditionally. This part is identical in Realtek's r8168 (8.001.00) and r8101 (1.001.00) - initialization of the cache line size register is for the 8169s only - more magic in rtl_hw_start_8169 - it is not possible to factor out the setting of the the irq event mask with the 8168 and the 8101 any more. Pushed it into the hw_start handler. - rtl_set_rx_tx_config_registers() and write to the ChipCmd register are issued identically for the whole 8169/8110 family: the 8110SCd/8110SCe are handled the same way - work around for AMD platform. Some registers definitions in Realtek's driver are let aside for later. Signed-off-by: Francois Romieu Cc: Edward Hsu commit ba6eb6ee8583a2c7c7f8327be5e5c239fb760b03 Author: Francois Romieu Date: Mon Jun 11 23:35:18 2007 +0200 r8169: prettify mac_version ...still a bit yucky though. Signed-off-by: Francois Romieu Cc: Edward Hsu commit cdf1a608a6ccf9cf1a773969395b58b017bd6f75 Author: Francois Romieu Date: Mon Jun 11 23:29:50 2007 +0200 r8169: populate the hw_start handler for the 8110 Same thing as the previous change for rtl_hw_start_8168. The 8101 related code in rtl_hw_start_8169 (see RTL_GIGA_MAC_VER_13) goes away. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2dd99530a248bc70e712a5f98e0bc66139a582cb Author: Francois Romieu Date: Mon Jun 11 23:22:52 2007 +0200 r8169: populate the hw_start handler for the 8168 rtl_hw_start_8168 inherits the content of rtl_hw_start_8169 minus the code which depends on RTL_GIGA_MAC_VER_XY (XY != {11/12}). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 7f796d83ffa58c6f752e53dbed8faebb74333e24 Author: Francois Romieu Date: Mon Jun 11 23:04:41 2007 +0200 r8169: add helpers for per-device hw_start handler They aim to limit the amount of moved code when the hw_start handler gets more specialized. No functional change. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07ce4064677806e330599ade772a914f500e74af Author: Francois Romieu Date: Fri Feb 23 23:36:39 2007 +0100 r8169: add hooks for per-device hw_start handler Rationale: rtl8169_hw_start will not help maintaining an unified driver for different chipsets but people at Realtek are probably too polite to say it distinctly. Let's add the hook and keep hw_start handler unchanged. As can be seen from the content of rtl8169_pci_tbl, the RTL_CFG_1 entry in rtl_cfg_info was unused. I recycled it for the 0x8168. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b449655ff52ff8a29c66c5fc3fc03617e61182ee Author: Stephen Hemminger Date: Sun Jun 17 01:06:49 2007 +0200 r8169: Rx path update - pci_dma_sync_single_for_cpu is not needed for a single large packet - remove the function pointer to help gcc optimizing the inline pci_dma functions. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit 278667ba186a23770b0dd23ccd26de56a8cc4ec2 Author: David S. Miller Date: Sun Jun 10 17:55:04 2007 -0700 r8169: kill eth_copy_and_sum() It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller Signed-off-by: Francois Romieu Cc: Edward Hsu commit 4ae47c2ddc55e3c571bb55fca921cfe9b02a685f Author: Francois Romieu Date: Sat Jun 16 23:28:45 2007 +0200 r8169: de-obfuscate modulo arithmetic The former style suggests a modulo arithmetic misuse but the expression should never be < 0. Even if it does, the driver will simply loop longer than expected (not that the remaining parts of the system will necessarily appreciate it...). Let's warn the user when something goes wrong and try to go over it. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 15d317587e17dcb96484e46b17b6e826a1f97661 Author: Stephen Hemminger Date: Sat Jun 16 22:36:41 2007 +0200 r8169: use netdev_alloc_skb Use netdev_alloc_skb and remove the useless sk_buff * argument of rtl8169_alloc_rx_skb. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit a73b629b3519ae97c5325eda346b1749961cfa8d Author: Stephen Hemminger Date: Mon Jun 4 17:23:27 2007 -0700 sky2: version 1.15 New version because of new chip support. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 69161611025b261cb64be70723c0dffe26aeb3ab Author: Stephen Hemminger Date: Mon Jun 4 17:23:26 2007 -0700 sky2: Yukon Extreme (88e8071) support. Enable support for Yukon EX chipset (88e8071). Most of changes are related to new commands to chip for transmit, and change in status and checksumming. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8f70920f2f2a699b4ad35e625071cd92f4ba6ca3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:25 2007 -0700 sky2: GPIO register The General Purpose I/O register is yet another hardware workaround catchall. Enable workaround that vendor driver does to stay but for bug compatiable. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 451af33552286b426940a32126bd3ece243223a3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:24 2007 -0700 sky2: enable clocks before probe Catch-22: On Yukon EX (88E8071) need to have internal clocks enabled before reading chip id. It is harmless on other chips. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f449c7c10698e49e6c654452f852b1b719273d8a Author: Stephen Hemminger Date: Mon Jun 4 17:23:23 2007 -0700 sky2: rename BMU register This register is more of a test and control register on Yukon2. So rename it to Q_TEST and give some bit definitions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit fc99fe0618f355b708ce88fedaca9783072ac3d5 Author: Stephen Hemminger Date: Mon Jun 4 17:23:22 2007 -0700 sky2: Add PCI device specfic register 4 & 5 Need to setup more PCI control control registers are on Yukon EX. Some of these also exist on Yukon EC-U as well. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3ead5db7bcd343917e567c083f5faf45f5301664 Author: Stephen Hemminger Date: Mon Jun 4 17:23:21 2007 -0700 sky2: avoid reserved regions on ethtool reg dump On Yukon EX reading some of the undocumented places in the memory space will cause a hang. Since they don't provide useful information, just skip the reserved areas. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3213e3abc68c776589d574decf3e6aee0467d12c Author: Linas Vepstas Date: Mon Jun 11 14:12:09 2007 -0500 spidernet: driver docmentation Documentation for the spidernet driver. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 5f309b90e242a4a9c5519ed113801a7ad542cd48 Author: Linas Vepstas Date: Mon Jun 11 14:09:16 2007 -0500 spidernet: fix misnamed flag The transmit frame tail bit is stranglely misnamed as "no checksum". Fix the name to what it should be: "transmit frame tail". No functional change, just a name change. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 59a11f8809ada4b89ac079fb7f549eaca0554f94 Author: Linas Vepstas Date: Mon Jun 11 14:05:41 2007 -0500 spidernet: move a block of code around Put the enable and disable routines next to one-another, as this makes verifying thier symmetry that much easier. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e1fd9070729765910b144ffcf74ca199c766509b Author: Linas Vepstas Date: Mon Jun 11 13:59:21 2007 -0500 spidernet: service TX later. When entering the netdev poll routine, empty out the RX chain first, before cleaning up the TX chain. This should help avoid RX buffer overflows. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9e0a6e2598ac08d14c3388567eae9a4ccea1244f Author: Linas Vepstas Date: Mon Jun 11 13:52:03 2007 -0500 spidernet: invalidate unused pointer. Invalidate a pointer as its pci_unmap'ed; this is a bit of paranoia to make sure hardware doesn't continue trying to DMA to it. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9948357d49c84102151bc14233c2f489552c1f57 Author: Linas Vepstas Date: Mon Jun 11 13:48:55 2007 -0500 spidernet: enhance the dump routine Crazy device problems are hard to debug, when one does not have good trace info. This patch makes a major enhancement to the device dump routine. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e6311d855e100184d42c0165ab9d5215fd792c89 Author: Linas Vepstas Date: Mon Jun 11 13:41:38 2007 -0500 spidernet: beautify error messages Use dev_err() to print device error messages. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 91e745aa46336087e1295d44685ee2839bbba07d Author: Stephen Hemminger Date: Wed May 30 14:23:18 2007 -0700 qla3xxx: cleanup checksum offload code The code for checksum is more complex than needed when dealing with VLAN's; the higher layers already pass down the location of the IP header. Compile tested only, no hardware available. Signed-off-by: Stephen Hemminger Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 59b34c1260045ca264c0208f2b666e839909e2d4 Author: Yoichi Yuasa Date: Tue Jun 5 22:55:06 2007 +0900 add return value check of request_irq() This patch has added return value check of request_irq() to pcmcia net drivers. Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit d1c0a65fb597697d1fbce4eadf42b84f70483edc Author: Jan Engelhardt Date: Wed Jun 13 12:48:53 2007 -0700 Use menuconfig objects II - netdev (general+100mbit) CONFIG_NETDEVICES, CONFIG_NET_ETHERNET: Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. CONFIG_SMC9194: Move it so that it appears correctly in menuconfig. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 8f036c04a8f3487fa4a2368d99dd74be42b7c6fd Author: Geert Uytterhoeven Date: Wed Jun 6 16:04:39 2007 +0200 acenic: SET_NETDEV_DEV is always there these days acenic: SET_NETDEV_DEV is always there these days Signed-off-by: Geert Uytterhoeven Signed-off-by: Jeff Garzik commit bf0dcbd929faf036f1a4f2918090344d0e249cf5 Author: Stephen Hemminger Date: Mon Jun 4 13:25:40 2007 -0700 b44: use netdev_alloc_skb Use netdev_alloc_skb rather than dev_alloc_skb when allocating receive buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 72f4861ef9b1c1ca6e4abb49854698e80d3b684d Author: Stephen Hemminger Date: Mon Jun 4 13:25:39 2007 -0700 b44: packet offset is constant The receive buffer offset is constant in this driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f65a71775cc3eb5d5d8ac4c349c8f48a7d5c7759 Author: Stephen Hemminger Date: Mon Jun 4 13:25:38 2007 -0700 b44: tx bounce sizing. No need to grap full size MTU buffer for possibly small transmit bounce buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a72a8179734393ca351f6ecf8cad6841ab7e1470 Author: Stephen Hemminger Date: Mon Jun 4 13:25:37 2007 -0700 b44: timer power saving Make the PHY and statistic timer run on one second boundary for powersaving. On resume, the driver should check for link up immediately, to get online faster (rather than waiting for the next second). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit eb034a7998956bffdd2acccb7fddfc114c913120 Author: Richard Knutsson Date: Sat May 19 22:18:10 2007 +0200 tulip: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 480fe1a31c662ef4ff0598a7cacefa21f98335f1 Author: Divy Le Ray Date: Wed May 30 21:10:58 2007 -0700 cxgb3 - TP SRAM update The chip executes microcode present in internal RAM, whose content is loaded from EEPROM on power cycle. This patch allows an update of the microcode through PIO without forcing a power cycle. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 8a9fab22cf6a3abde7731f4425d4ff87509bc15a Author: Divy Le Ray Date: Wed May 30 21:10:52 2007 -0700 cxgb3 - Firmware update Update FW to 4.1. Proceed to subsequent HW tuning to improve RDMA perfs.. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit cf992af561cc3ba72d79582535e6262818b00548 Author: Divy Le Ray Date: Wed May 30 21:10:47 2007 -0700 cxgb3 - sge page management Streamline sge page management. Fix dma mappings when buffers are recycled. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 287aa83dffd1b39859f49d73b0d67f57106de5f1 Author: Bill Nottingham Date: Wed May 30 03:59:02 2007 -0400 drivers/net: fix comparisons of unsigned < 0 Recent gcc versions emit warnings when unsigned variables are compared < 0 or >= 0. Signed-off-by: Bill Nottingham Signed-off-by: Jeff Garzik commit 40738f3fcdb951fb8ade286dc1ea05812acc94db Author: Komuro Date: Sun May 27 08:57:58 2007 +0900 PCMCIA-NETDEV : add new ID of lan&modem multifunction card fmvj18x_cs: NEC PK-UG-J001 Panasonic CF-VML201 Panasonic TO-PDL9610 pcnet_cs: MICRO-RESEARCH MC336LAN Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 18ab458fb7bd5c64bef766090020648266cfa9b6 Author: David Brownell Date: Fri May 25 12:31:32 2007 -0700 usbnet whitespace fixes Whitespace updates for usbnet core, mostly switching to tab-only indents. Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 2501f843b051621c5a6df7a092a64dfd78b201f7 Author: Richard Knutsson Date: Sat May 19 22:26:40 2007 +0200 8139cp: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 4117b5be4b877cec7c34058f0c239fcf78274e3d Author: Kapil Juneja Date: Fri May 11 18:25:18 2007 -0500 phylib: m88e1111: enable SGMII mode If connected via SGMII, initialize with SGMII mode configured. Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit d3c12873c36005263286cf5660663c8c10f9d2b5 Author: Kapil Juneja Date: Fri May 11 18:25:11 2007 -0500 gianfar: add support for SGMII Add code for initialising and configuring TBI interface and programming it for connecting to on-chip SERDES (Lynx PHY) in case of SGMII mode selected through HRCW at reset. also add defines for TBI register configuration. TBI interface is programmed towards the SERDES. refactored mdio read/write functions to differentiate programming local interface MII regs (e.g., for TBI) from always programming the mdio master (TSEC1, for programming the PHYs). Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 0cefeebaf3da39d768bffcf62460fe2088e824ef Author: Michael Barkowski Date: Fri May 11 18:24:51 2007 -0500 phylib: add the ICPlus IP175C PHY driver The ICPlus IP175C sports a 100Mbit/s 4-port switch in addition to a dedicated 100Mbit/s WAN port. Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 146bd683cc160d728f1f62a6ddade8451801a8c3 Author: Linas Vepstas Date: Mon May 14 18:41:41 2007 -0500 s2io: add PCI error recovery support s2io cleanup suggestions, per discussion on mailing lists. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit d796fdb708fc5b10112934cba43e832c36ce4923 Author: Linas Vepstas Date: Mon May 14 18:37:30 2007 -0500 s2io: add PCI error recovery support This patch adds PCI error recovery support to the s2io 10-Gigabit ethernet device driver. Third revision, blocks interrupts and the watchdog. Tested, seems to work well. Signed-off-by: Linas Vepstas Acked-by: Ramkrishna Vepa Cc: Raghavendra Koushik Cc: Wen Xiong Signed-off-by: Jeff Garzik commit bd5824f138153f407e300728919e814ab7dcfadb Author: Jouni Malinen Date: Mon May 28 09:38:49 2007 -0700 [PATCH] hostap: Remove driver version number The driver version number has not been updated since the driver was included in the main kernel tree and there is no plan on updating this in the future either. At this point, the only correct way to refer to the version is to use the kernel version. The 0.4.4 version is confusing since there are external version with higher version number even though they are not actually any newer than the in-tree version. Let's get rid of the version number in the kernel tree in order to avoid this kind of confusion. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c15057313725942c6af8dcb60b4d4322101316d9 Author: Matthias Kaehlcke Date: Mon May 28 09:38:48 2007 -0700 [PATCH] hostap: Use list_for_each_entry Use list_for_each_entry() instead of manual iteration and substitute some list_for_each() loops with list_for_each_entry(). Signed-off-by: Matthias Kaehlcke Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit b918099030fe6cc093a7d60a88039bd98f16538e Author: Pavel Roskin Date: Mon May 28 09:38:47 2007 -0700 [PATCH] hostap: Suppress broadcast if no stations are associated This may be useful in mesh setups when most stations act as repeaters only. Signed-off-by: Pavel Roskin Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 67c4f7aa9e64d37f32eb44d6d093b7028f1060bb Author: Akinobu Mita Date: Sun May 27 23:27:40 2007 +0900 [PATCH] softmac: use list_for_each_entry Cleanup using list_for_each_entry. Cc: Johannes Berg Cc: Joe Jezak Cc: Daniel Drake Signed-off-by: Akinobu Mita Signed-off-by: John W. Linville commit 77548f58070894cf5970a110981e511ffe793369 Author: Larry Finger Date: Sat May 26 22:21:29 2007 -0500 [PATCH] bcm43xx: Fix deviation from specifications in set_baseband_attenuation A disagreement between the specifications and the bcm43xx code has just been discovered and is hereby fixed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit aaf83d4fc4a596929306c894d341e17fbdfba758 Author: Daniel Drake Date: Thu May 24 01:07:15 2007 +0100 [PATCH] zd1211rw: Make CCK gain patching conditional on RF type The vendor driver code suggests that CR47 patching happens on every channel change for every RF (depending on bit 8 in POD). Due to a bug in their driver (upper bits of RF_Mode get zeroed out, then are examined for 1s when setting some other flags), this isn't actually what happens, and their generic CCK patching routine never takes effect. Some of their RF configurations do include explicit (duplicated) code for CR47 patching though. This patch makes zd1211rw match that behaviour. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 4481d6093e62e168ab06e9bbb4e67a9bebb8c7f7 Author: Daniel Drake Date: Thu May 24 01:06:53 2007 +0100 [PATCH] zd1211rw: Add UW2453 RF support This patch adds support for another radio appearing in new devices: the Ubec UW2453. It's more complicated than the other RF's we support, but Ubec publish full tech specs so we're able to understand the vendor code relatively well. Now that we support UW2453, we also support Atheros' new USB chip: the AR5007UG. From the little info we have, this appears to be just a rebranded ZD1211B. This RF code doesn't work very well -- lots more TX/RX errors than the other RFs. However, the vendor driver doesn't do any better, so this is all we can do for now. [kune@deine-taler.de: bug fixes] Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 9c8fc71ddd1b42c0c632036333790f230cea815d Author: Daniel Drake Date: Thu May 24 01:06:41 2007 +0100 [PATCH] zd1211rw: Extend RF layer These changes are needed for UW2453 RF support: Add pointer which RF drivers can use to store private RF data Add exit hook so that RF drivers can free private data Allow RF's to disable the generic TX power integration handling code Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a9eea9ae6e82d1b0f453c24103a84ce7af5d1e15 Author: Daniel Drake Date: Thu May 24 01:06:29 2007 +0100 [PATCH] zd1211rw: Add ID for ZyXEL G-200v2 Tested by Guy Gallagher zd1211 chip 0586:3407 v4721 high 00-13-49 AL2230_RF pa0 g--- FCC ID SI5WUB200Z Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 0aec00ae1c39b0adaa6e958a4e0119cfc12d884b Author: John W. Linville Date: Tue Jun 12 22:11:42 2007 -0400 [PATCH] rtl8187: add header blocks and indicate origin of magic values Add top-of-file comment blocks to rtl818x headers and attribute origin of magic values to original r8187 driver. Signed-off-by: John W. Linville commit 7e9400f178d291b2208c4ed9aac0f425c1364000 Author: John W. Linville Date: Mon Jun 11 21:37:46 2007 -0400 [PATCH] eeprom_93cx6: shorten pulse timing to match spec 93cx6 datasheet available here: http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf Figure 1-1 and Table 1-2 on pages 4-5 indicate that both Clock High Time and Clock Low Time have largest minimum times of 450ns. Signed-off-by: John W. Linville commit 605bebe23bf6ac66c0a717e663a7baa2f981294d Author: Michael Wu Date: Mon May 14 01:41:02 2007 -0400 [PATCH] Add rtl8187 wireless driver This patch adds a mac80211 based wireless driver for the rtl8187 USB wireless card. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 4b914dc0493edff19ff698a18198a173a14ba9d2 Author: Ivo van Doorn Date: Mon May 14 23:06:01 2007 +0200 [PATCH] eeprom_93cx6: Add comment for 1us delay after pulse This will add a comment for the 1us delay which is taken after the pulse has been switched. The 1us delay is based on the specifications so that should be made clear. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9467d64b0e88763914c01f71ddf591b166c4f526 Author: Ivo van Doorn Date: Fri May 11 15:59:40 2007 -0400 [PATCH] Add 93cx6 eeprom library This patch adds a library for reading from 93cx6 eeproms. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 3870253efb65e1960421ca74f5d336218c28fc5b Author: Steve French Date: Sun Jul 8 15:40:40 2007 +0000 [CIFS] more whitespace fixes Signed-off-by: Steve French commit 790fe579f5006b72dfd2814f9263a73b0b455e81 Author: Steve French Date: Sat Jul 7 19:25:05 2007 +0000 [CIFS] more whitespace cleanup Signed-off-by: Steve French commit 6dc0f87e351142e224b396f29b59527c4b2d834c Author: Steve French Date: Fri Jul 6 23:13:06 2007 +0000 [CIFS] whitespace cleanup Signed-off-by: Steve French commit 79a58d1f6075bc0029c38836be9790917a69a342 Author: Steve French Date: Fri Jul 6 22:44:50 2007 +0000 [CIFS] whitespace cleanup checkpatch.pl redux Signed-off-by: Steve French commit 1b898040e214d1f5acd3baf14f07ef5f610d5c8a Author: Paul Mundt Date: Sat Jul 7 07:28:11 2007 +0900 sh: Add parport stub for SuperIO ports. Some boards have SuperIOs with PC-style parports, toss in the stub so these can be supported. Signed-off-by: Paul Mundt commit 5296307de63f1949d601b3515f8b1a0a859c5847 Author: Paul Mundt Date: Sat Jul 7 07:25:56 2007 +0900 sh: Drop -Wa,-dsp for DSP tuning. We already hand off the proper ISA variant with the dsp specifier appended, so we don't need to explicitly set -dsp. This causes some confusion with certain toolchains that are restricted to -dsp family opcodes artificially. Signed-off-by: Paul Mundt commit d20acd09e3bf89aa23af034b8c2d0f5653577ea9 Author: Jeff Date: Fri Jul 6 21:13:08 2007 +0000 [CIFS] ipv6 support no longer experimental Signed-off-by: Steve French commit 38c10a1ddb24b9fa9f25b6c21d0390a9723ae6d6 Author: Jeff Date: Fri Jul 6 21:10:07 2007 +0000 [CIFS] Mount should fail if server signing off but client mount option requires it Currently, if mount with a signing-enabled sec= option (e.g. sec=ntlmi), the kernel does a warning printk if the server doesn't support signing, and then proceeds without signatures. This is probably OK for people that think to look at the ring buffer, but seems wrong to me. If someone explicitly requests signing, we should error out if that request can't be satisfied. They can then reattempt the mount without signing if that's ok. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ac6b9f28d8202ed064c9b372350693f79882b448 Author: Paul Mundt Date: Sat Jul 7 04:09:02 2007 +0900 sh: Update dreamcast defconfig. Signed-off-by: Paul Mundt commit 7e7ec0d4ae57b258fed5ee29e9d007282898625a Author: Paul Mundt Date: Sat Jul 7 04:05:06 2007 +0900 fb: pvr2fb: A few more __devinit annotations for PCI. In the PCI + hotplug case we end up with some bogus references between the PCI driver path and the DC path. In order to fix this, we have to rework the common init path for __devinit, as well as moving all of the data that it references to __devinidata. Signed-off-by: Paul Mundt commit e9705a77f50c1fd52356f4f0e515455273aae416 Author: Paul Mundt Date: Sat Jul 7 03:38:51 2007 +0900 fb: pvr2fb: Fix up section mismatch warnings. A few minor things were broken here. fix and var screeninfo should have been __devinitdata, board_list[] gets renamed to board_driver[] so the modpost matching does the right thing, and we properly discard some of the unused exit sections. Signed-off-by: Paul Mundt commit 989e5ab3e8159f563b3fda5317febee5af040983 Author: Paul Mundt Date: Sat Jul 7 03:36:06 2007 +0900 sh: Select IPR-IRQ for SH7091. Fixes a compile failure for the Dreamcast. Signed-off-by: Paul Mundt commit 04c7d9579f25ff0dd01efa958805f34c92bc6a71 Author: Paul Mundt Date: Fri Jul 6 10:58:04 2007 +0900 sh: Correct __xdiv64_32/div64_32 return value size. These should be returning a uint32_t, whereas they were erroneously returning a u64 before. As the register sizes are 32-bits, this doesn't really make a lot of sense. Reported-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit 75f016a7ce75220d898608791870ab7da549a430 Author: Nobuhiro Iwamatsu Date: Fri Jul 6 10:26:03 2007 +0900 sh: Fix timer-tmu build for SH-3. With the TMU register definitions being renamed on SH-4, SH-3 ended up breaking. Update the TSTR define to match the SH-4 convention. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 880dec100761f4fbc5fa5d22e658a8718828f04e Author: Paul Mundt Date: Fri Jul 6 10:22:59 2007 +0900 sh: Add cpu and mach links to CLEAN_FILES. These weren't being cleaned up, so add them to the CLEAN_FILES. Signed-off-by: Paul Mundt commit 7e2a1498a90aff0e57271bf838a29aaa4e1c6bf9 Author: Wim Van Sebroeck Date: Tue Jul 3 17:59:29 2007 +0000 [WATCHDOG] at32ap700x_wdt.c - Fix compilation warnings Fix warning: * ISO C90 forbids mixed declarations and code * passing argument 2 of ‘test_and_set_bit’ from incompatible pointer type * passing argument 2 of ‘clear_bit’ from incompatible pointer type Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit e75e657756554676f13070266bedbd75d404a0f8 Author: Wim Van Sebroeck Date: Tue Jul 3 17:59:04 2007 +0000 [WATCHDOG] at32ap700x_wdt.c - Add spinlock support Add spinlock support so that forked children can't do different io stuff at the same time. Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit 28401140a27b7ebc5a686dbfc345e3724d274738 Author: Wim Van Sebroeck Date: Wed Jun 20 23:36:43 2007 +0200 [WATCHDOG] at32ap700x_wdt.c - Add nowayout + MAGICCLOSE features Add nowayout + MAGICCLOSE features. Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit 726c9f611a4079b5265e7ede1d66ed455ac6343c Author: Wim Van Sebroeck Date: Mon Jun 18 22:49:35 2007 +0200 [WATCHDOG] at32ap700x_wdt.c - timeout module parameter patch integrate the timeout/heartbeat as a module parameter and not as a CONFIG_* value. Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit c0ead7e0ff996f0cfa91a73fa674fdca5c05798a Author: Wim Van Sebroeck Date: Sun Jun 17 19:34:23 2007 +0000 [WATCHDOG] at32ap700x_wdt.c - checkpatch.pl-0.05 clean-up's need space after that ',' (ctx:VxV) inline keyword should sit between storage class and type Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit b563d6f30d937510e02541930b1558d0f5759413 Author: Len Brown Date: Tue Jul 3 15:32:23 2007 -0400 ACPI: netlink: remove unnecessary EXPORT_SYMBOL Signed-off-by: Len Brown commit 864bdfb912e372670b5b2541dac9d273a4a7722a Author: Zhang Rui Date: Tue Jun 19 11:40:03 2007 +0800 ACPI: Export events via generic netlink Upon ACPI events, send an "acpi_event" via Generic Netlink. This is in addition to /proc/acpi/event, which remains intact for now. Thanks to Jamal for his great help. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 80a7cc6cf1126bc09beee3dded2820bfa18ce347 Author: Kumar Gala Date: Tue Jul 3 03:22:05 2007 -0500 [POWERPC] Merge asm-ppc/mmu_context.h into asm-power/mmu_context.h Just did a directly merge from asm-ppc into asm-powerpc. This is the last header that we directly include from asm-powerpc. Signed-off-by: Kumar Gala commit 58fe255f63716a6442559fa0b3cc2506f6abf506 Author: Kumar Gala Date: Tue Jul 3 03:05:58 2007 -0500 [POWERPC] Fix up interrupt senses for MPC85xx boards The PHY is active-low on the MPC85xx CDS and the 8560 ADS just had the wrong sense for the internal PCI and CPM interrupts. Signed-off-by: Kumar Gala commit 3120234551ebf5f6e24a23082334eb3897b5db41 Author: David Gibson Date: Fri Jun 22 14:58:55 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for PowerPC 8xx arch/powerpc still relies on asm-ppc/mmu.h for some 32-bit MMU types. This patch is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to 8xx embedded CPUs which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-8xx.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Kumar Gala commit 67f74c9d223815e30eac456b4956a846143b65c6 Author: David Gibson Date: Fri Jun 15 15:33:09 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for Freescale Book-E arch/powerpc still relies on asm-ppc/mmu.h for some 32-bit MMU types. This patch is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to Freescale Book-E which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-fsl-booke.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Kumar Gala commit b3710f5a1802876717600afad10156e54d5fdb18 Author: Kumar Gala Date: Tue Jul 3 02:51:24 2007 -0500 [POWERPC] Kill pcibios_enable_resources() pcibios_enable_resources isn't used anywhere and not exported. Signed-off-by: Kumar Gala commit 327e22df9ff2e70a88ada88f9833ef682482bddd Author: Jon Loeliger Date: Mon Jun 4 14:28:44 2007 -0500 [POWERPC] Replace use of GET_64BIT(prop, i) with of_read_number(). Remove uses of hack GET_64BIT() property macro and use the more general of_read_number() function from prom.h as suggested by Milton. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit b533f8ae796d1ee0289bf04d4f1e72c02ad4a17d Author: Kumar Gala Date: Tue Jul 3 02:35:35 2007 -0500 [POWERPC] Reworked interrupt numbers for OpenPIC based Freescale chips Make the interrupt numbers match the OpenPIC spec intead of the Freescale docs which distinguish between internal and external interrupts. Now we can use the interrupt number directly to find the register offset associated with it. Signed-off-by: Kumar Gala commit eae98266e78e5659d75dbb62b4601960c15c7830 Author: Timur Tabi Date: Fri Jun 22 14:33:15 2007 -0500 [POWERPC] Fix MAC address entries for 83xx, 85xx, and 86xx device trees For the 83xx, 85xx, and 86xx device trees, add a "local-mac-address" property to every Ethernet node that didn't have one. Add a comment indicating that the "address" and/or "mac-address" properties are deprecated in DTS files and will be removed at a later time. Change all MAC address properties to have a zero MAC address value. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 65482ccf9d00bf4f68e17eb9c656d045d26e5d1f Author: Li Yang Date: Mon May 28 18:48:06 2007 +0800 [POWERPC] qe_lib: export symbols for QE driver to compile as module Export symbols of qe_lib to be used by QE driver. Signed-off-by: Li Yang Signed-off-by: Selvamuthukumar V Signed-off-by: Kumar Gala commit 68fb0d203f4f62c8d1ac24d8ef2473582d8ea9db Author: Roy Zang Date: Wed Jun 13 17:13:42 2007 +0800 [POWERPC] 85xx: Fix 8548CDS reset bug Begin with MPC8548 a new reset control register is added that asserts HRESET_REQ to board logic. This register is used for chip reset. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit a4ecababf4f007940300374ff68ac10b96733586 Author: Roy Zang Date: Tue Jun 19 15:19:31 2007 +0800 [POWERPC] Fix the node index confusion for SOC Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 3b824f85191c9ccc2614474543118e88543d5ba2 Author: Roy Zang Date: Tue Jun 19 15:19:18 2007 +0800 [POWERPC] Document the global utilities node define and example Document the global utilities node define and example. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 55f8f3cc4f7c47c7896e2ad08e29eccc292c0c68 Author: Bob Moore Date: Wed May 2 15:51:37 2007 -0400 ACPICA: Clear reserved fields for incoming ACPI 1.0 FADTs Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that contained invalid non-zero values in reserved fields could cause later failures because these fields have meaning in later revisions of the FADT. For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (Preferred_PM_Profile, PSTATE_CNT, CST_CNT, IAPC_BOOT_FLAGS.) Signed-off-by: Bob Moore Signed-off-by: Len Brown commit e0b91050f208ab370fac9269f8e42bc746889422 Author: Bob Moore Date: Tue Apr 3 20:00:29 2007 -0400 ACPICA: Fixed possible corruption of global GPE list Fixed a problem in acpi_ev_delete_gpe_xrupt where the global interrupt list could be corrupted if the interrupt being removed was at the head of the list. Reported by Linn Crosetto. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit a0a3f6c69b45dcafefdce5dbac2221c02aaae871 Author: Bob Moore Date: Tue Mar 27 20:25:46 2007 -0400 ACPICA: Changes for Cygwin compatibility Allow generation of ACPICA apps on Cygwin. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 3c6394c5bd04e31d40d007af8b6c2484a08838d0 Author: Bob Moore Date: Mon Mar 26 22:10:34 2007 -0400 ACPICA: Update _OSI string list Latest update for the Windows strings, with comments. Removed unused strings. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 33ce2033433195ccc1fbad00d26ad854b2ab68d0 Author: Pavel Machek Date: Tue Jul 3 01:45:44 2007 -0400 ACPI: suspend: delete toshiba S1 quirk If we have quirk "init... after standby", we should not be calling it while resuming from hibernation. And... that quirk is only ever needed on toshiba 4030cdt... and... noone should be using standby these days, anyway. That quirk was certainly _not_ meant to be ran after hibernation. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 3f2c48c9b48423d1411695da066d525cca2a27db Author: Jan Engelhardt Date: Tue Jul 3 01:40:59 2007 -0400 ACPI: Use menuconfig objects 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 Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit f70ac0e9651aa8c07dffe72a44872f92054d42c3 Author: Danny Kukawka Date: Tue Jul 3 01:33:53 2007 -0400 ACPI video: Don't export sysfs backlight interface if query _BCL fail Currently the acpi video module export the backlight interface to sysfs also if acpi_video_device_lcd_query_levels() fails to read _BLC method (e.g. because the method is not available). In this case the userspace don't know which brightness level are supported and can't set a brightness level (echo return with: "write error: Invalid Argument"). This happend e.g. on a ASUS RF1 (correct supported by the asus-laptop module). The video module should not export the backlight interface if query _BLC fail, because you can't set anything from userspace and this make it useless. http://bugzilla.kernel.org/show_bug.cgi?id=8375 Signed-off-by: Danny Kukawka Acked-by: Luming Yu Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 1c1558ec50618c4a179e0684037d9f7bb0c1a326 Author: Stephen Hemminger Date: Tue Jul 3 01:28:49 2007 -0400 ACPI: delete cmdline documentation for deleted hotkey code This looks like left over text in the kernel parameters documentation. Signed-off-by: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8d038e0433e3164e460c2daeca1ec6947a08f81a Author: Kazunori Asayama Date: Fri Jun 29 10:58:09 2007 +1000 [POWERPC] spufs: Save dma_tagstatus_R in CSA The function backing_ops->read_mfc_tagstatus() doesn't return a correct value because the dma_tagstatus_R register isn't saved in CSA. This fixes the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 933b0e35247ef0dbd1a078a0ba3705ddbbda129f Author: Kazunori Asayama Date: Fri Jun 29 10:58:08 2007 +1000 [POWERPC] spufs: Fix lost events in poll/epoll on mfc When waiting for I/O events on mfc in an SPU context by using poll/epoll syscalls, some of the events can be lost because of wrong order of poll_wait and MFC status checks in the spufs_mfc_poll function and non-atomic update of tagwait. This fixes the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit fe2f896d67b89a409c366c9a69e30291ab124467 Author: Christoph Hellwig Date: Fri Jun 29 10:58:07 2007 +1000 [POWERPC] spufs: Add spu stats in sysfs Export spu statistics in sysfs. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 27449971e6907ff38bde7bbc4647e55bd7309fc3 Author: Christoph Hellwig Date: Fri Jun 29 10:58:06 2007 +1000 [POWERPC] spusched: Fix runqueue corruption spu_activate can be called from multiple threads at the same time on behalf of the same spu context. We need to make sure to only add it once to avoid runqueue corruption. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c77239b8be74f775142d9dd01041e2ce864ba20d Author: Christoph Hellwig Date: Fri Jun 29 10:58:05 2007 +1000 [POWERPC] spusched: Disable tick when not needed Only enable the scheduler tick if we have any context waiting to be scheduled. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 08c9692b168240729cf89c69c4ad722760a5690c Author: Jeremy Kerr Date: Fri Jun 29 10:58:04 2007 +1000 [POWERPC] spufs: Fix libassist accounting We're currently too permissive with counting libassist calls - fix the check on the SPE stop-and-signal status. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e9f8a0b65ac716fd7974159240ce34bddea780b3 Author: Christoph Hellwig Date: Fri Jun 29 10:58:03 2007 +1000 [POWERPC] spufs: Add stat file to spufs Export per-context statistics in spufs. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 65de66f0b8bcb7431d9df82cf32b002062b3a611 Author: Christoph Hellwig Date: Fri Jun 29 10:58:02 2007 +1000 [POWERPC] spufs: Implement /proc/spu_loadavg Provide load average information for spu context. The format is identical to /proc/loadavg, which is also where a lot of code and concepts is borrowed from. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 476273adc7277333aed9963bc4dc9b39066d3038 Author: Christoph Hellwig Date: Fri Jun 29 10:58:01 2007 +1000 [POWERPC] spufs: Add tid file The new tid file contains the ID of the thread currently running the context, if any. This is used so that the new spu-top and spu-ps tools can find the thread in /proc. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7022543ee404880aab5c641e4983e237815edc35 Author: Jeremy Kerr Date: Fri Jun 29 10:58:00 2007 +1000 [POWERPC] spufs: Trivial whitespace fixes Remove redundant whitespace in arch/powerpc/platforms/cell/spufs/ Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit b8c295f90854d682018d74599efc258628be32e3 Author: Jeremy Kerr Date: Fri Jun 29 10:57:59 2007 +1000 [POWERPC] spufs: Remove spufs_dir_inode_operations spufs_dir_inode_operations is exactly the same as simple_dir_inode_operations. Use that instead. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit df09cf3e2cd597d373f3a6046df0e0a50881ea44 Author: Christoph Hellwig Date: Fri Jun 29 10:57:58 2007 +1000 [POWERPC] spusched: No preemption for nosched contexts And last but not least we need to make sure the scheduler tick never preempts a nosched context. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 46cbf93960e64f313f6e247cbca7afaa50e3ee2c Author: Christoph Hellwig Date: Fri Jun 29 10:57:57 2007 +1000 [POWERPC] spusched: Catch nosched contexts in spu_deactivate spu_deactivate should never be called for nosched contets. Put in a check so we can print a stacktrace and exit early in case it happes erroneously. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit ea1ae5949d7fcd2e622226ba71741a0f43b6ef0a Author: Christoph Hellwig Date: Fri Jun 29 10:57:56 2007 +1000 [POWERPC] spusched: fix cpu/node binding Add a cpus_allowed allowed filed to struct spu_context so that we always use the cpu mask of the owning thread instead of the one happening to call into the scheduler. Also use this information in grab_runnable_context to avoid spurious wakeups. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 2cf2b3b49f10d2f4a0703070fc54ce1cd84a6cda Author: Christoph Hellwig Date: Fri Jun 29 10:57:55 2007 +1000 [POWERPC] spusched: Update scheduling paramters on every spu_run Update scheduling information on every spu_run to allow for setting threads to realtime priority just before running them. This requires some slightly ugly code in spufs_run_spu because we can just update the information unlocked if the spu is not runnable, but we need to acquire the active_mutex when it is runnable to protect against find_victim. This locking scheme requires opencoding spu_acquire_runnable in spufs_run_spu which actually is a nice cleanup all by itself. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit f3f59bec0c7ad083e9c95a550bcb1e9ca27e25f4 Author: Jeremy Kerr Date: Fri Jun 29 10:57:54 2007 +1000 [POWERPC] spusched: Print out scheduling tunables with DEBUG Print out a few scheduler tuning parameters when we've compiled with DEBUG defined. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 60e242393346c1a9a64e7b14dfb7f613a737324f Author: Jeremy Kerr Date: Fri Jun 29 10:57:53 2007 +1000 [POWERPC] spusched: Fix timeslice calculations The current timeslice code mixes 'jiffies' up with 'spesched ticks'. This change correctly defines the number of time slices each SPE contexts is given, and clarifies the comment. This brings the default timeslice for SPE contexts into a reasonable range. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit fe443ef2ac421c9c652e251e8733e2479d8e411a Author: Christoph Hellwig Date: Fri Jun 29 10:57:52 2007 +1000 [POWERPC] spusched: Dynamic timeslicing for SCHED_OTHER Enable preemptive scheduling for non-RT contexts. We use the same algorithms as the CPU scheduler to calculate the time slice length, and for now we also use the same timeslice length as the CPU scheduler. This might be not enough for good performance and can be changed after some benchmarking. Note that currently we do not boost the priority for contexts waiting on the runqueue for a long time, so contexts with a higher nice value could starve ones with less priority. This could easily be fixed once the rework of the spu lists that Luke and I discussed is done. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 379018022071489a7dffee74db2a267465dab561 Author: Christoph Hellwig Date: Fri Jun 29 10:57:51 2007 +1000 [POWERPC] spusched: Switch from workqueues to kthread + timer tick Get rid of the scheduler workqueues that complicated things a lot to a dedicated spu scheduler thread that gets woken by a traditional scheduler tick. By default this scheduler tick runs a HZ * 10, aka one spu scheduler tick for every 10 cpu ticks. Currently the tick is not disabled when we have less context than available spus, but I will implement this later. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit be7031773eded128675de6da778234a935c8d8ea Author: Sebastian Siewior Date: Fri Jun 29 10:57:50 2007 +1000 [POWERPC] spufs: Add bit definition Add a bit define from book, and replace one hex number with a symbol, for clarity. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7a896dc5f4a369193256653535aa7e2b521c611d Author: Sebastian Siewior Date: Fri Jun 29 10:57:49 2007 +1000 [POWERPC] spufs: fix building spufs/spu_save_dump.h Currently it fails with gcc from sdk 2.1 because of a spec change [1]. Maybe we should start using the definitions from spu_mfcio.h. [1] http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01598.html Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 3312111d1bd1a409892031f7979c57a52b01185c Author: Adrian Bunk Date: Tue Jul 3 00:56:05 2007 -0400 ACPI: static make the needlessly global osi_linux static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 6c5cf8aa5849819958311644ffaf8467e9fcf07e Author: Adrian Bunk Date: Tue Jul 3 00:53:12 2007 -0400 ACPI: static make 2 needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit cefe658bca9cf1d4af841c45d170ebd0f881889e Author: Michael Hennerich Date: Mon Jul 2 11:45:50 2007 +0800 Blackfin arch: add BF54x missing GPIO access functions Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e3f2300036b5e0f60cb64063a9686361b6be8555 Author: Michael Hennerich Date: Thu Jul 12 16:39:29 2007 +0800 Blackfin arch: Some memory and code optimizations - Fix SYS_IRQS Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 34e0fc89bdc1e6f50032dc43ed23167f5dbad6da Author: Michael Hennerich Date: Thu Jul 12 16:17:18 2007 +0800 Blackfin arch: Enable BF54x PIN/GPIO interrupts Signed-off-bu: Michael Hennerich Signed-off-by: Bryan Wu commit 1f83b8f148a1eb967d2a628cbb741cd56fb54572 Author: Mike Frysinger Date: Thu Jul 12 22:58:21 2007 +0800 Blackfin arch: cleanup warnings from checkpatch -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cf1d8a8a7b6616fbfd14f2d4646024f4ff1c3c8b Author: Kumar Gala Date: Thu Jun 28 22:56:24 2007 -0500 [POWERPC] Add copyright header to pci-common.c based on pci_{32,64}.c Signed-off-by: Kumar Gala commit a4c9e328279d55622d56507629d6b8942e8cc9c9 Author: Kumar Gala Date: Wed Jun 27 13:09:43 2007 -0500 [POWERPC] Use ppc64 style list management for pci_controller on ppc32 Use the ppc64 style list management and allocation functions for pci_controllers. This makes the pci_controller structs just a bit more common between ppc32 & ppc64. Signed-off-by: Kumar Gala commit 58083dade53cd434e134cd26ae5e89061f6de1ff Author: Kumar Gala Date: Wed Jun 27 11:07:51 2007 -0500 [POWERPC] Move common PCI code out of pci_32/pci_64 Moved the low hanging fruit that was either identical or close to it between ppc32 & ppc64 for PCI into pci-common.c Signed-off-by: Kumar Gala commit 0b1d40c4d4dd8f276d8d9730204b3a0a17ab0d61 Author: Kumar Gala Date: Wed Jun 27 10:27:33 2007 -0500 [POWERPC] Move pci_bus_to_hose users to pci_bus_to_host In the places we can move to using pci_bus_to_host, this allows us to make pci_bus_to_host static and remove its export. Signed-off-by: Kumar Gala commit dbf8471f5294b27ba9b6232ffc177dcd4e0a2fa5 Author: Kumar Gala Date: Wed Jun 27 01:56:50 2007 -0500 [POWERPC] Merge ppc32 and ppc64 pcibios_alloc_controller() prototypes Make the ppc32 pcibios_alloc_controller take a device node to match the ppc64 prototypes and have it set arch_data. Signed-off-by: Kumar Gala commit 5516b540e98de6f7474a4e7149470ad6a0bbc54a Author: Kumar Gala Date: Wed Jun 27 01:17:57 2007 -0500 [POWERPC] Use global_number in ppc32 pci_controller Make the pci_controller struct use global_number for the PHB domain number instead of index to match what ppc64 does and reuse its pci_domain_nr code. Introduced a pci-common.c to handle shared code between ppc32 & ppc64. Signed-off-by: Kumar Gala commit 6a506238b33efd93e60c1585d654b37e292183de Author: Kumar Gala Date: Wed Jun 27 01:14:04 2007 -0500 [POWERPC] Removed dead code related to PCI on ppc32 There are no in kernel users of any off these functions and some of them were not even EXPORT_SYMBOL: - pci_bus_io_base() - pci_bus_io_base_phys() - pci_bus_mem_base_phys() - pci_resource_to_bus() - phys_to_bus() - pci_phys_to_bus() - pci_bus_to_phys() - pci_init_resource() - resource_fixup() Signed-off-by: Kumar Gala commit bf440b712d289b157c72f19b389b8d918a8c8c5c Author: Kumar Gala Date: Wed Jun 27 00:19:08 2007 -0500 [POWERPC] Remove local_number from pci_controller We never actually read local_number so lets just remove it. Signed-off-by: Kumar Gala commit 5531e41bf41b5bc34e3cb57af89b58a24fc0dd8d Author: Kumar Gala Date: Wed Jun 27 00:16:25 2007 -0500 [POWERPC] Merge asm-ppc/pci-bridge.h into asm-power/pci-bridge.h Moved bits need for ppc32 from asm-ppc/pci-bridge.h into asm-powerpc/pci-bridge.h. Removed ARCH=powerpc specific bits (and comments related to ARCH=ppc) from asm-ppc/pci-bridge.h as its only used on ARCH=ppc. Signed-off-by: Kumar Gala commit 20243c72a8564ccd22437fd1bda16ca5bccd5701 Author: Zhang Wei Date: Tue Jun 26 18:22:40 2007 -0500 [POWERPC] 86xx: Created quirk_fsl_pcie_transparent() to initialize bridge resources. The Freescale PCI-e RC poses as a transparent bridge, but does not implement the IO_BASE or IO_LIMIT registers in the config space. This means that the code which initializes the bridge resources ends up setting the IO resources erroneously. Add quick_fsl_pcie_transparent() to handle this. This change sets RC of mpc8641 to be a transparent bridge for legacy I/O access and initializes the RC bridge resources from the device tree. Signed-off-by: Zhang Wei Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 6d8ff10c3ab1e3d4a40788442f1369e868103e43 Author: York Sun Date: Mon Jun 4 11:56:42 2007 -0500 [POWERPC] Let subordinate transparent bridges be transparent. In pcibios_fixup_bus(), bridges that are subordinate to transparent bridges were still relocating their IORESOURCE_IO and IO_RESOURCE_MEM start and end values. Fix this by preventing the transparent bridge from relocating the start and end values, thus allowing the subordinate non-transparent bridge full molestation rights. Signed-off-by: York Sun Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 3ac4f0e1dd81e107a1c3462a5c20e318fdafdb82 Author: Zhang Wei Date: Tue May 22 11:38:30 2007 +0800 [POWERPC] MPC8641HPCN: Set IDE in ULI1575 to not native mode. Set IDE in ULI1575 to not 100% native mode, which forces the IDE driver to probe the irq itself. Signed-off-by: Zhang Wei Signed-off-by: Kumar Gala commit 476f5779b77a919f0ced5953de2bf3e0f2d02c07 Author: Kumar Gala Date: Tue Jun 26 12:12:55 2007 -0500 [POWERPC] 86xx: Workaround PCI_PRIMARY_BUS usage The Freescale PCI-e controllers have an issue in that they use the PCI_PRIMARY_BUS register in the virtual P2P bridge to determine which bus number to match on when generating a type 0 config cycle. The issue is if we are renumbering bus numbers to match Linux we will try setting the PCI_PRIMARY_BUS and will not know which bus number to use for generating type 0 config cycles. We surpress writing the register in the P2P bridge and always keep it at zero. In the future when proper PCI domain support is working we should be able to remove this. Signed-off-by: Kumar Gala commit e4725c23eca47b5dc0d0d128b9af288c0cd878f6 Author: Zhang Wei Date: Mon Jun 25 15:21:10 2007 -0500 [POWERPC] 86xx: Avoid system halt if link training isn't at least L0. We check the Link Training and State Status register to make sure we are at least at the L0 state. Signed-off-by: Zhang Wei Acked-by: Roy Zang Signed-off-by: Kumar Gala commit ab0f9ad34d1eb31bb13cc4218d7717f8a85b12ed Author: Kumar Gala Date: Mon Jun 25 15:19:48 2007 -0500 [POWERPC] Added indirect_type to handle variants of PCI ops The generic PCI config ops indirect support for ppc32 covers only two cases (implicit vs explicit) type 0/1 config cycles via set_cfg_type. Added a indirect_type bit mask to handle other variants. Added support for PCI-e extended registers and moved the cfg_type handling into the bit mask for ARCH=powerpc. We can also use this to handle indirect quirks. Signed-off-by: Kumar Gala commit dfac6faf8f42d5a9dd6919d7a2a41ef91eb77b4f Author: Wade Farnsworth Date: Mon Jun 4 13:24:47 2007 -0700 [POWERPC] 86xx: Add uli1575 pci-bridge sector to MPC8641HPCN dts file. This adds device nodes for the PCI bridges as well as the ISA devices on the newer revision MPC8641HPCN. It also adds the PCI ranges to the soc node so that address translation for the ISA devices works properly. Signed-off-by: Wade Farnsworth Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit bf7c036fb48a6176635f2e7b749d7398728d4b7d Author: Zhang Wei Date: Tue May 22 11:38:26 2007 +0800 [POWERPC] Remove PCI-e errata for MPC8641 silicon ver 1.0 Remove errata for PCI-e support of Rev 1.0 of MPC8641 since its considered obselete and is not production level silicon from Freescale. Signed-off-by: Zhang Wei Acked-by: Roy Zang Signed-off-by: Kumar Gala commit 0a3786c5f7575c0739ad94057213b931a9423502 Author: Kumar Gala Date: Mon Jun 25 13:32:48 2007 -0500 [POWERPC] Removed remnants of bus_offset Removed the remants of bus_offset and use self_busno in the mv64x60 case and use pci_assign_all_buses on 83xx/85xx. 83xx/85xx have multiple PHBs and the firmwares on these devices tend not to handle topologies with P2P bridges well so we let Linux just reassign the bus numbers to match. Signed-off-by: Kumar Gala commit 5ab65ecdaffd85753e7ad957622afcd709a39deb Author: Kumar Gala Date: Mon Jun 25 13:09:42 2007 -0500 [POWERPC] Added self_busno to indicate which bus number the PHB is Added self_busno to pci_controller and indirect PCI ops to be set by board code to indicate which bus number to use when talking to the PHB. By default we use zero since the majority of controllers that have implicit mechanisms to talk to the PHBs use a bus number of zero. Signed-off-by: Kumar Gala commit 2a5ccbc5bb471c10b58ea85ac463e70faead1c8a Author: Kumar Gala Date: Mon Jun 25 12:53:51 2007 -0500 [POWERPC] Remove bus_offset in places its not really used The user of the fsl_pcie code doesn't set bus_offset and 82xx doesn't require it either. Remove the places in the code that reference it so we can remove it all together. Signed-off-by: Kumar Gala commit 5229ee185287f4fd0d7809e6554b40ec83a4ba6c Author: Kumar Gala Date: Fri Jun 22 00:29:46 2007 -0500 [POWERPC] Remove hack to determine the 2nd PHBs bus number Now that we have the pci_controller in the exclude function we can easy figure out if the bus number is the PHB or not. The old style of using a variable setup at init time was actually broken and would only work in specific cases. Signed-off-by: Kumar Gala commit 7d52c7b0cd46f42ae2c9df37f1a385d9aaf95842 Author: Kumar Gala Date: Fri Jun 22 00:23:57 2007 -0500 [POWERPC] Pass the pci_controller into pci_exclude_device There are times that we need to know which controller we are on to decide how to exclude devices properly. We now pass the pci_controller that we are going to use down to the pci_exclude_device function. This will greatly simplify being able to exclude the PHBs in multiple controller setups. Signed-off-by: Kumar Gala commit 0e302a704420afe40808fbd4ba149624c4350f31 Author: Kumar Gala Date: Thu Jun 21 11:32:38 2007 -0500 [POWERPC] 52xx: Remove support for PCI bus_offset The hose->bus_offset is only used for PCI config cycles and the 52xx PCI config code doesn't actually ever set bus_offset to a non-zero value. Signed-off-by: Kumar Gala commit 5ab9c4524d7edd6ae3711bdfd03e4a0deb17fc6e Author: Kumar Gala Date: Thu Jun 21 11:22:47 2007 -0500 [POWERPC] Remove set_cfg_type for PCI indirect users that don't need it The Freescale and Marvell PCI controllers dont require explicit setting for type 1 config cycles. They handle producing them by implicitly looking at the bus, devfn. The TSI108 and 52xx don't use the generic PCI indirect code and thus don't bother with set_cfg_type. Signed-off-by: Kumar Gala commit d3c7ffabf0ce31026b2e43490ff694d70c0fbd3a Author: Arnd Bergmann Date: Mon Jun 18 01:06:58 2007 +0200 [POWERPC] disallow building powermac and tsi108 without PCI The TSI108 code and the 32 bit powermac and chrp platforms have dependency on PCI that is not easy or desirable to get rid of. The easiest fix is to always select CONFIG_PCI if one of those platforms is enabled. Signed-off-by: Arnd Bergmann commit d66584086717f6dda76d523ef58363deaa3efe51 Author: Arnd Bergmann Date: Mon Jun 18 01:06:57 2007 +0200 [POWERPC] fix building without PCI Some code looks can be configured to be built without PCI support, but does not work properly. Signed-off-by: Arnd Bergmann commit 3dfaa762b59743719f00f2dc2f559de59f5502f7 Author: Arnd Bergmann Date: Mon Jun 18 01:06:56 2007 +0200 [POWERPC] kill isa_{io,mem}_base definitions for !PCI When CONFIG_PCI is disabled, the definitions for isa_io_base, isa_mem_base and pci_dram_offset are entirely unused, but they can result in link failure because they are defined in multiple places. The easiest fix is to just remove all these definitions. Signed-off-by: Arnd Bergmann commit 143056013fa22eaf1e53e052e9c9f57ef194e5f7 Author: Arnd Bergmann Date: Mon Jun 18 01:06:55 2007 +0200 [POWERPC] mpc82xx_ads build fix needed for 6xx allyesconfig Signed-off-by: Arnd Bergmann commit 09b55f76c9e41ed88f445f64f00ed39b48ed137d Author: Arnd Bergmann Date: Mon Jun 18 01:06:54 2007 +0200 [POWERPC] rename add_bridge to avoid namespace clashes Many platforms currently define their own add_bridge function, some of them globally. This breaks some multiplatform configurations. Prefixing each of these functions with the platform name avoids this problem. Signed-off-by: Arnd Bergmann commit b9fd305db0b4723e70f1a5cf06e4a6949755331c Author: Arnd Bergmann Date: Mon Jun 18 01:06:52 2007 +0200 [POWERPC] move 82xx/83xx/86xx Kconfig options to platform selection The cores used in the MPC82xx/83xx/86xx embedded controllers are very similar to those in the 32 bit general-purpose processors, so it makes sense to treat them as the same CPU family. Choosing between the embedded platforms and the multiplatform code is now done in the platform menu, but functionally everything stays the same. Signed-off-by: Arnd Bergmann commit d38d8c74c7cdfae910f9cd0ac5e1b7ba2d8a2fb2 Author: Steve French Date: Thu Jun 28 19:44:13 2007 +0000 [CIFS] whitespace fixes This changeset brought to you ... by patchcheck.pl Signed-off-by: Steve French commit 762e5ab77c803c819e45d054518a98efb70b0f60 Author: Steve French Date: Thu Jun 28 18:41:42 2007 +0000 [CIFS] Fix sign mount option and sign proc config setting We were checking the wrong (old) global variable to determine whether to override server and force signing on the SMB connection. Acked-by: Dave Kleikamp Signed-off-by: Steve French commit eff2ebd207af9f501af0ef667a7d14befcb36c1b Author: David Gibson Date: Thu Jun 28 15:56:26 2007 +1000 [POWERPC] In booting-without-of.txt, clarify that properties must precede subnodes A strict reading of the flattened device tree format defined in booting-without-of.txt does in fact require that all the tags defining properties for a node go before any definitions of subnodes, however it's not particularly emphasised. Although allowing intermingled properties and subnodes would not be ambiguous in meaning, the kernel parser does currently require that properties precede subnodes. Furthermore, keeping this constraint makes life easier for various device tree scanning tools. Therefore, re-emphasise in booting-without-of.txt that this is a strict requirement of the flattened device tree format. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit ea1a734ad73478dace97e9712101029f536d10a3 Author: David Gibson Date: Wed Jun 27 16:54:58 2007 +1000 [POWERPC] Abolish unused ucBoardRev variables asm-powerpc/processor.h declares, and arch/ppc/platforms/prep_setup.c defines variables ucBoardRev, ucBoardRevMaj and ucBoardRevMin which are used nowhere in the current kernel (neither in arch/ppc nor arch/powerpc). This removes them. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 084647125227b870267859d544c91c03743816dc Author: David Gibson Date: Wed Jun 27 16:54:58 2007 +1000 [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms Commit 2e6016133755eb3cc44e8efab92573d23ed75888 split up arch/powerpc/boot/of.c so that some OF functions can be used on platforms that don't want to use the overall OF platform boot code. This is useful on things like PReP which can have an OF implementation which is useful for debugging output, but inadequate for booting. However, that commit didn't export quite enough things to make a usable OF console on a non-OF system. In particular, the device tree manipulation performed to initialize the OF console code must explicitly use the OF device tree, rather than the flattened device tree, even if the system is otherwise booting using a flattened device tree. This makes it so. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 131208c5bb51b794ee73013aeb3396bd015fb79e Author: Michael Ellerman Date: Wed Jun 27 16:02:55 2007 +1000 [POWERPC] Turn off debugging in arch/powerpc/kernel/pci_64.c Commit 3d5134ee8341bffc4f539049abb9e90d469b448d left debugging turned on in arch/powerpc/kernel/pci_64.c. This turns it off again. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 71712b455374a73af042fcfb5002fef5fd25ba44 Author: Tony Breeds Date: Fri Jun 22 16:54:30 2007 +1000 [POWERPC] Move iSeries_tb_recal into its own late_initcall. Currently iSeries will recalibrate the cputime_factors in the first settimeofday() call. It seems the reason for doing this is to ensure a resaonable time delta after time_init(). On current kernels (with udev), this call is made 40-60 seconds into the boot process, by moving it to a late initcall it is called approximately 5 seconds after time_init() is called. This is sufficient to recalibrate the timebase. Signed-off-by: Tony Breeds CC: Stephen Rothwell Signed-off-by: Paul Mackerras commit a5c631b174e23cab773cf422c1f39b28e7224602 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:22 2007 +1000 [POWERPC] PS3: Storage device registration routines Add support for storage devices to the device probe code. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 80071802cb9c622dbd44bc6ba292f0683891ef44 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:21 2007 +1000 [POWERPC] PS3: Storage Driver Core Add storage driver core support for the PS3. PS3 storage devices are a special kind of PS3 system bus device. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 32d7331852a07d1f94c6d1b817c7c45648aa0fe7 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:20 2007 +1000 [POWERPC] PS3: Preallocate bootmem memory for the PS3 FLASH ROM storage driver Preallocate 256 KiB of bootmem memory for the PS3 FLASH ROM storage driver. This can be disabled by passing `ps3flash=off' on the kernel command line. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e4eb8cf0ae5e6e2d7531a3fc7088f7f638795ca6 Author: Geoff Levand Date: Sat Jun 16 08:07:30 2007 +1000 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 32f44a12e0674499c4db09b08da0dfa576a91d84 Author: Geert Uytterhoeven Date: Sat Jun 16 08:07:23 2007 +1000 [POWERPC] PS3: Fix more sparse warnings Fix some PS3 build warnings reported by `make C=1'. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ae639ac97917929ae4ed752b1abf2adc70dd801c Author: Geoff Levand Date: Sat Jun 16 08:07:16 2007 +1000 [POWERPC] PS3: Select MEMORY_HOTPLUG The PS3 uses the kernel's hotplug memory support, so make sure it is always enabled when building for PS3. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9065762edf5ac90e312af1f81e03dc2c964d5a86 Author: Geoff Levand Date: Sat Jun 16 08:06:51 2007 +1000 [POWERPC] PS3: Device tree source The PS3 device tree source. Signed-off-by: Geoff Levand Acked-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 62cf6a9d65cd7ba66f96be25e3e8c5036c3e581e Author: Geoff Levand Date: Sat Jun 16 08:06:44 2007 +1000 [POWERPC] Make kernel_entry_t have global scope in bootwrapper For the convenience of custom platform code make the powerpc bootwrapper typdef kernel_entry_t global in scope. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit b96fbb6e1eb81bb21a8c3462773a0056e12de427 Author: Geoff Levand Date: Sat Jun 16 08:06:40 2007 +1000 [POWERPC] Fix constantness of bootwrapper arg Fixes the constantness of the powerpc bootwrapper's console_ops.write routine. Allows printing of constant strings. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0aa97d6e420039fc4a6040acdf53e56e0f90c0f5 Author: Geoff Levand Date: Sat Jun 16 08:06:36 2007 +1000 [POWERPC] Add u64 printf to bootwrapper Add support for the 'll' (long long) printf qualifier in the powerpc zImage bootwrapper. This is useful for bootwrapper debugging on 64 bit platforms. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 72d068951ca3f5428a3149a604ea626d93eecffe Author: Geoff Levand Date: Sat Jun 16 08:06:28 2007 +1000 [POWERPC] Add signed types to bootwrapper Add signed types to the powerpc zImage bootwrapper. These are needed by the PS3 hcall interface. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 75423b7ba5eacc0a003b19e51af6a38feeed43ee Author: Geoff Levand Date: Sat Jun 16 08:06:23 2007 +1000 [POWERPC] Correct __secondary_hold comment Remove references to pSeries and OpenFirmware in the __secondary_hold usage comment. __secondary_hold is a generic routine and can be used by other platforms. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 443481050168e98f91737a02b6428c93f1a1c652 Author: Geoff Levand Date: Sat Jun 16 08:06:14 2007 +1000 [POWERPC] Output params value in early_init_devtree Add a printout of the params value to early_init_devtree. This value is handy to have for comparison when debugging the bootwrapper code. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a354ab8557566e9462ea7af20345f6927e6665b3 Author: Geoff Levand Date: Sat Jun 16 08:06:09 2007 +1000 [POWERPC] PS3: Use clear_bit Replace the inline asm with bitops in the PS3 interrupt chip mask routines. Signed-off-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit aab835007097122c3a1e7a7dddda0cf89a94cd4e Author: Geoff Levand Date: Sat Jun 16 08:06:04 2007 +1000 [POWERPC] PS3: Rename processor id symbols Rename the PS3 static symbols node to ppe_id and cpu to thread_id to clarify usage. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ffbdd246478693673adcfe1c34b29714cf25dadd Author: Geoff Levand Date: Sat Jun 16 08:05:53 2007 +1000 [POWERPC] PS3: Device registration routines. Add routines to probe devices present on the system and to register those devices with the LDM. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9e6b99bd4494dadebb189d2db4d1f55ae726b0bb Author: Geert Uytterhoeven Date: Sat Jun 16 08:05:38 2007 +1000 [POWERPC] PS3: Frame buffer system-bus rework Convert the ps3fb device from a platform device to a PS3 system bus device. Fix the remove and shutdown methods to support kexec and to make ps3fb a loadable module. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 13a5e30cf7407415387b5592b15ef4b352d28283 Author: Geoff Levand Date: Sat Jun 16 08:05:01 2007 +1000 [POWERPC] PS3: Rework AV settings driver Make the PS3 ps3av driver a loadable module. - Replace static data with kmalloc()'ed. o Allocate struct ps3av dynamically, as it contains data used as vuart receive/transmit buffers o Move static recv_buf from ps3av_do_pkt() to struct ps3av - Move ps3av_vuart_{read,write}() from drivers/ps3/ps3av_cmd.c to drivers/ps3/ps3av.c and make them static as they're used in that file only. - Make device a PS3 system-bus device. - Update copyright formatting. - Make two new routines ps3av_register_flip_ctl() and ps3av_flip_ctl() to support late binding of the frame buffer flip control routine. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 66c63b84b23d39ce191a18833b5a769370114ec9 Author: Geoff Levand Date: Sat Jun 16 08:03:54 2007 +1000 [POWERPC] PS3: System manager re-work PS3 sys-manager updates to reflect the new PS3 unifed device support. Fixups to the PS3 sys-manager driver to properly support sys_reboot(). - Add varable request_tag to struct ps3_sys_manager_header. - Move ctrl_alt_del from PS3_SM_EVENT_POWER_RELEASED to PS3_SM_EVENT_POWER_PRESSED. - Make the PS3 sys-manager driver a loadable module. - Add new file sys-manager-core.c. - Add new struct ps3_sys_manager_ops for dynamic binding. - Put data sent to device on stack. - Add support for PS3_SM_SERVICE_ID_REQUEST_ERROR. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7626e78d29651d3075e88f233c0632867ea6a35c Author: Geoff Levand Date: Sat Jun 16 08:01:06 2007 +1000 [POWERPC] PS3: Vuart rework PS3 vuart updates to reflect the new PS3 unified device support. - Move vuart devices to the PS3 system bus. - Replace use of ps3_vuart_port_device with ps3_system_bus_device. - Make the PS3 vuart bus driver a loadable module. - Add remove() and shutdown() routines. - Move ps3_vuart_work into ps3_vuart_port_priv.tx_list. - Remove redundant spinlock ps3_vuart_work.lock. - No longer free ps3_vuart_port_device.priv on shutdown. - Cleanup Kconfig defs. - Export symbols needed for modular port drivers. - Arrange to use port numbers found in repository. - Fix bugs in ps3_vuart_read_async() and polled reading - Cleanup handling of shared interrupt with ps3_vuart_bus_interrupt_get() and ps3_vuart_bus_interrupt_put() - Add more comments to vuart.c. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a3323d1a52ec5b70821590e4beaaf13c466fd396 Author: Geoff Levand Date: Sat Jun 16 07:55:58 2007 +1000 [POWERPC] PS3: Repository probe cleanups Repository updates: - Extract ps3_repository_find_bus() from ps3_repository_find_device(), as the storage driver needs it. - Make ps3_repository_find_device() return -ENODEV if a device is not found, just like if a bus is not found. - Add ps3_repository_read_vuart_sysmgr_port() and ps3_repository_read_vuart_av_port() to get vuart port info. - Add device enumeration routines ps3_repository_find_device() and ps3_repository_find_devices(). - Cleanup debug routines. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6758555da6a171d3f21ce36c0e12a2b8cff7ca9d Author: David Woodhouse Date: Sat Jun 16 07:55:20 2007 +1000 [POWERPC] PS3: System-bus modinfo attribute Add modinfo attribute to ps3_system_bus devices. Also make them all children of the same ps3_system_bus 'device' so they appear in a corresponding subdirectory under /sys/devices. Signed-off-by: David Woodhouse Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 688b3378da9c3485630d4b0356d09bc2e69bb0bd Author: David Woodhouse Date: Sat Jun 16 07:55:14 2007 +1000 [POWERPC] PS3: System-bus uevent To allow userspace to automatically load modules, we need to hook up uevent for ps3_system_bus devices. I've used the form 'ps3:%d' with the ps3_match_id, since that's what we use for matching drivers. Signed-off-by: David Woodhouse Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6bb5cf1025414fe00b20f3bef56135849e4ed3b8 Author: Geoff Levand Date: Sat Jun 16 07:52:02 2007 +1000 [POWERPC] PS3: System-bus rework Rework the PS3 system bus to unify device support. - DMA region sizes must be a power of two - storage bus DMA updates: - Small fixes for the PS3 DMA core: o fix alignment bug o kill superfluous test o indentation o spelling o export ps3_dma_region_{create,free}() - ps3_dma_region_init(): o Add `addr' and `len' parameters, so you can create a DMA region that does not cover all memory (use `NULL' and `0' to cover all memory). This is needed because there are not sufficient IOMMU resources to have all DMA regions cover all memory. o Uninline - Added remove and shutdown routines to all drivers. - Added loadable module support to all drivers. - Added HV calls for iopte management (needed by sound driver). Signed-off-by: MOKUNO Masakazu Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9263e85aa9e9d341ef238fffc040f586674d1709 Author: Geoff Levand Date: Sat Jun 16 07:19:32 2007 +1000 [POWERPC] PS3: Kexec support Fixup the core platform parts needed for kexec to work on the PS3. - Setup ps3_hpte_clear correctly. - Mask interrupts on irq removal. - Release all hypervisor resources. - Create new routine ps3_shutdown_IRQ() Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 83bb643d0714b0006ab99dbd195ec51b55a97f4e Author: Geert Uytterhoeven Date: Sat Jun 16 07:19:23 2007 +1000 [POWERPC] PS3: Simplify definition of DBG Simplify the PS3 definition of DBG. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 743c1bb074c78cb467e42a18853c22e9cf1cd0ba Author: Geoff Levand Date: Sat Jun 16 07:19:18 2007 +1000 [POWERPC] PS3: Move chip mask defs up This just moves the definitions of the PS3 chip_mask routines up above the irq setup routines. This change is needed for the kexec updates that follow. Also adds some inline documentation to the routines. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit dc23fba7063867ed745cb6f0bd27a0dc5f558dbc Author: Masashi Kimoto Date: Sat Jun 16 07:19:10 2007 +1000 [POWERPC] PS3: Add support for HDMI RGB Full Range mode Add support for HDMI RGB Full Range mode, which is available on system software 1.80 or newer. CC: Masashi Kimoto Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 670ad354cb6d6d0f5c3fb17e9f1fb67fb32e02e6 Author: Geert Uytterhoeven Date: Sat Jun 16 07:19:04 2007 +1000 [POWERPC] PS3: Fix sparse warnings Fix some PS3 build warnings reported by `make C=1'. You need to install sparse: git://git.kernel.org/pub/scm/devel/sparse/sparse.git Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 53f7c5453dfd3ba66a2d80bd2fda98a2438c3dc0 Author: Geoff Levand Date: Sat Jun 16 07:18:56 2007 +1000 [POWERPC] PS3: Map SPU regions as non-guarded Use ioremap_flags() to map SPU regions as non-guarded. Change the use of _ioremap() to ioremap_flags(). CC: Arnd Bergmann CC: Masato Noguchi CC: Takao Shinohara Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 1322810c14c4b5126e731db2e1764b2e957a9b19 Author: Masakazu Mokuno Date: Sat Jun 16 07:18:48 2007 +1000 [POWERPC] PS3: Compare firmware version Add a utility routine ps3_compare_firmware_version() to compare system firmware versions. Uses the existing ps3_get_firmware_version() routine. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 848cfdc5c1cd2163ba0c9a6490d9adcb7a7c3518 Author: Geoff Levand Date: Sat Jun 16 07:18:14 2007 +1000 [POWERPC] PS3: Use __maybe_unused Change the PS3 debug routines from using the GCC specific '__attribute__ ((unused))' to the preprocessor macro __maybe_unused. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7961f20c09af4524266a808fed3695c4dcc98e59 Author: Geoff Levand Date: Sat Jun 16 07:17:42 2007 +1000 [POWERPC] PS3: Rename IPI symbols Rename the PS3 static symbol virqs to ps3_ipi_virqs to aid in debugging. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6deac06612d2935b917550db2bc8a8b3f7c7aeb5 Author: Geoff Levand Date: Sat Jun 16 07:17:32 2007 +1000 [POWERPC] cell: Add spu shutdown method Add a shutdown method to spu_sysdev_class to allow proper spu resource cleanup on system shutdown. This is needed to support kexec on the PS3 platform. Signed-off-by: Arnd Bergmann Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 467a8f8d480190a98cec3e4362c51c2a27157115 Author: Steve French Date: Wed Jun 27 22:41:32 2007 +0000 [CIFS] whitespace cleanup Signed-off-by: Steve French commit 5d9c720678f9b4ed3db86466223dc61cbf78361d Author: Jeff Date: Mon Jun 25 22:16:35 2007 +0000 [CIFS] Do not allow signals in cifs_demultiplex_thread Switch from send_sig to force_sig and do not allow signal for this background thread (the signal is needed to wakeup the thread when blocked in the network stack). Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 33874a002d4fdd34e35e8265f9b2e0582385f744 Author: FUJITA Tomonori Date: Tue May 22 13:50:51 2007 +0900 [SCSI] ibmvscsi: fix timeout bugs The viosrp_crq timeout field is in seconds. Signed-off-by: FUJITA Tomonori Cc: Santiago Leon Signed-off-by: James Bottomley commit b7abc5c53e3c65b8e931bd96db2d08ba670e111a Author: Sachin P. Sant Date: Thu Jun 14 15:31:34 2007 +1000 [POWERPC] Fix Kexec/Kdump for power6 On Power machines supporting VRMA, Kexec/Kdump does not work. VRMA (virtual real-mode area) means that accesses with IR/DR = 0 (i.e. the MMU "off") actually still go through the hash table, using entries put there by the hypervisor. This means that when we clear out the hash table on kexec, we need to make sure these entries are left untouched. This also adds plpar_pte_read_raw() on the lines of plpar_pte_remove_raw(). Signed-off-by : Sachin Sant Signed-off-by : Mohan Kumar M Acked-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 7ccb4a662462616f6be5053e26b79580e02f1529 Author: Mohan Kumar M Date: Wed Jun 13 00:51:57 2007 +1000 [POWERPC] Fix interrupt distribution in ppc970 In some of the PPC970 based systems, interrupt would be distributed to offline cpus also even when booted with "maxcpus=1". So check whether cpu online map and cpu present map are equal or not. If they are equal default_distrib_server is used as interrupt server otherwise boot cpu (default_server) used as interrupt server. In addition to this, if an interrupt is assigned to a specific cpu (ie smp affinity) and if that cpu is not online, the earlier code used to return the default_distrib_server as interrupt server. This introduces an additional parameter to the get_irq function, called strict_check. Based on this parameter, if the cpu is not online either default_distrib_server or -1 is returned. Signed-off-by: Mohan Kumar M Cc: Michael Ellerman Acked-by: Milton Miller Signed-off-by: Paul Mackerras commit 5a26f6bbb767d7ad23311a1e81cfdd2bebefb855 Author: Michael Neuling Date: Fri Jun 8 14:00:35 2007 +1000 [POWERPC] Do firmware feature fixups after features are initialised On pSeries the firmware features are not setup until ppc_md.init_early, so we can't do the firmware feature sections fixups till after this. Currently firmware feature sections is only used on iSeries which inits the firmware features much earlier. This is a bug in waiting on pSeries. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 4cefebb1b497a84d61f2fa29d497df75a84b69d4 Author: Michael Neuling Date: Fri Jun 8 13:18:50 2007 +1000 [POWERPC] Fix stolen time for SMT without LPAR For POWERPC, stolen time accounts for cycles lost to the hypervisor or PURR cycles attributed to the other SMT thread. Hence, when a PURR is available, we should still calculate stolen time, irrespective of being virtualised. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit bb807e69c9eec271808cf69d19913d7ee1a51f6f Author: Mark A. Greer Date: Thu Jun 7 10:42:28 2007 +1000 [POWERPC] Remove 'console=' from cmdline on prpmc2800 Specifying 'console=ttyMM0' on the cmdline for the prmpc2800 is no longer necessary. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 542c98c06712fdbbbfe6b9e92a8d0023cf45102a Author: Mark A. Greer Date: Thu Jun 7 10:38:00 2007 +1000 [POWERPC] Call add_preferred_console when MPSC is console When a Marvell MPSC (serial controller) port is the specified /chosen/stdout-path device, call 'add_preferred_console()' so the user doesn't have to specify a 'console=ttyMMx' cmdline argument. Signed-off-by: Mark A. Greer Acked-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit e3855fa5540617877907ca61c36d28e18d0f2473 Author: Michael Ellerman Date: Mon Jun 4 23:00:02 2007 +1000 [POWERPC] Add for_each_compatible_node() Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ee51de5645edee4124db6a479d2e135ebe436748 Author: Michael Ellerman Date: Mon Jun 4 23:00:00 2007 +1000 [POWERPC] Add irq_create_direct_mapping() This patch adds irq_create_direct_mapping(). This routine is an alternative to irq_create_mapping(), for irq controllers that can use linux virq numbers directly as hardware numbers. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6fde40f3f1a9641ea0a41471cea77f34c0cbb36f Author: Michael Ellerman Date: Mon Jun 4 22:59:59 2007 +1000 [POWERPC] Split virq setup logic out into irq_setup_virq() A future patch will need the logic at the end of irq_create_mapping() which setups a virq and installs it in the irq_map. So split it out into a new function irq_setup_virq(). Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 35923f12e42a3baf4ac6da7c05cf5f7478e5a7c6 Author: Olof Johansson Date: Mon Jun 4 14:47:04 2007 +1000 [POWERPC] Uninline and export virq_to_hw() Uninline virq_to_hw and export it so modules can use it. The alternative would be to export the irq_map array instead, but it's an infrequently called function, and keeping the array unexported seems considerably cleaner. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit b0e80206cc42334032f18edee0ab591b0f275e12 Author: Mark A. Greer Date: Fri Jun 1 05:56:15 2007 +1000 [POWERPC] Update holly to use new dts wrapping feature The holly support currently has separate rules to wrap its device tree with its zImage. This can now be done automatically without the extra rules so update holly support to use the automatic feature. Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a00cec48ccda0f2b550ad4082d6e95c7cc232925 Author: Mark A. Greer Date: Fri Jun 1 05:55:35 2007 +1000 [POWERPC] When appropriate, wrap device tree with zImage There are 2 config options that indicate whether the platform being built has a device tree source file associated with it. Namely, CONFIG_WANT_DEVICE_TREE and CONFIG_DEVICE_TREE. When CONFIG_WANT_DEVICE_TREE is 'y' and CONFIG_DEVICE_TREE isn't an empty string, automatically wrap the specified device tree with the zImage being built. To achieve this, the 'dts' variable will only be set when the conditions above are true. The changes to the zImage.initrd.% and zImage.% rules cause the device tree to be wrapped when 'dts' is set; otherwise, they will work as they previosly did (i.e., build a zImage with no device tree). Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 941b7adf347dc3e6e2bf87b2af1ef8a42b617a63 Author: Mark A. Greer Date: Fri Jun 1 05:54:39 2007 +1000 [POWERPC] Remove 'make zImage.dts' feature Being able to selectively wrap a device tree with the zIimage at build time has been deemed unnecessary, so this removes Makefile support for that feature. Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit df211c8a478e16232ebbc16e650b19163183fcb6 Author: Nathan Lynch Date: Wed May 23 10:51:25 2007 +1000 [POWERPC] Remove spinlock from struct cpu_purr_data cpu_purr_data is a per-cpu array used to account for stolen time on partitioned systems. It used to be the case that cpus accessed each others' cpu_purr_data, so each entry was protected by a spinlock. However, the code was reworked ("Simplify stolen time calculation") with the result that each cpu accesses its own cpu_purr_data and not those of other cpus. This means we can get rid of the spinlock as long as we're careful to disable interrupts when accessing cpu_purr_data in process context. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1a06e0fe96526e43bab90fbab2263b55fb3d45d1 Author: Guennadi Liakhovetski Date: Thu May 17 18:56:32 2007 +1000 [POWERPC] Don't link timer.o for powerpc systems using generic rtc With both generic rtc and powerpc timer suspend / resume code now in the (powerpc.git) tree, powerpc platforms using the generic timer and enabling power management will have timer.o linked in the kernel, which they don't need. Moreover, it will likely WARN_ON(!ppc_md.get_rtc_time), save zero-time and return no error on suspend... As a possible solution we can choose not to build timer.o when RTC_CLASS is enabled. However, I can imagine systems with 2 rtc's, one served by the ppc-rtc, another one generic built as a module, in which case using the ppc-rtc for suspend / resume will be impossible. Not to say, that such a configuration would be ugly... Signed-off-by: G. Liakhovetski Signed-off-by: Paul Mackerras commit 8fa336d889caa72637e0860f53fa40ef66dcceaf Author: Olof Johansson Date: Sun May 13 00:50:41 2007 +1000 [POWERPC] pasemi: Electra IDE/pata_platform glue Glue code to hook up the pata_platform on the PA Semi Electra eval board. CFE sets up device tree entries for the IDE interface, with device type 'ide' and compatible field 'electra-ide'. We unfortunately need to modify the resources before calling the generic platform driver, since the device tree only has one register window in it and the driver expects two. Adding this as an of_platform driver instead doesn't give us any benefit, it just adds one more layer of register/probe functions. Since CONFIG_PATA_PLATFORM depends on CONFIG_EMBEDDED, add that as a default for PPC_PASEMI. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 0c358e70762861f8d479f3fa8bec358c599ba04a Author: Johannes Berg Date: Thu May 3 00:25:42 2007 +1000 [POWERPC] Use mktime in timer sysdev This makes the timer sysdev use mktime instead of rtc_tm_to_time, since rtc_tm_to_time just calls mktime anyway, and this means we don't have a dependency on rtc-lib. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit ee46a90b599952bb1a9dc67f894710017e7cc409 Author: Milton Miller Date: Wed Apr 11 18:32:17 2007 +1000 [POWERPC] kexec: Send slaves to new kernel earlier With this, when kexec-ing, we copy the code and start the slaves on their journey to the next kernel's spin loop as soon as we copy the kexec image into place. The kernel doesn't know exactly which slaves are spinning in kexec_wait. This allows us to pass more than max-cpus to the next kernel. But it also means that we might leave some behind. Moving the code here means they have the time it takes us to clear the hash table to wake up and move on. Moving the code any earlier would reuqire walking the image description to search for the code, which could span multiple pages. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit ffdd6e4d1685779a413e4a8d753b1862259ed42a Author: Steve French Date: Sun Jun 24 21:15:44 2007 +0000 [CIFS] fix whitespace More whitespace problems found by checkpatch Signed-off-by: Steve French commit 75865f8cc8b38c30c3923b74de4b29a00cc4c0e4 Author: Steve French Date: Sun Jun 24 18:30:48 2007 +0000 [CIFS] Add in some missing flags and cifs README and TODO corrections Signed-off-by: Steve French commit addad45494cb4f9c03470a4e5155f442791b0d7f Author: Alexey Starikovskiy Date: Sat Jun 23 16:24:48 2007 -0400 ACPI: sbs: probe smart battery vis SMBus controller http://bugzilla.kernel.org/show_bug.cgi?id=8559 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 837012ede14a8fc088be3682c964da7fc6af026b Author: Alexey Starikovskiy Date: Tue May 29 16:43:02 2007 +0400 ACPI EC: Add support for non-AML EC query handlers Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4350933a7447591041b51157a6b307be1816415f Author: Alexey Starikovskiy Date: Tue May 29 16:42:57 2007 +0400 ACPI EC: drop usage of ACPI_DEBUG_PRINT as too heavy weight Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 5b7734b440d29dab583a6c3f0ee49ff20f323332 Author: Alexey Starikovskiy Date: Tue May 29 16:42:52 2007 +0400 ACPI EC: Re-factor EC space handler to avoid using label/goto for cycle. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a4146557cdfcd1adf1a8e8c92493c2cebe1088a1 Author: Len Brown Date: Sat Jun 23 15:54:36 2007 -0400 ACPI: update MAINTAINERS for EC and battery Update ACPI Embedded Controller driver maintainer with Alexey Starikovskiy's new e-mail address at Novell/SuSE. Also, Alexey is taking over responsibility for the battery drivers. Signed-off-by: Len Brown commit 58a7295bc8073b9e668c329cb9ceb5b668c2b15d Author: Tobias Klauser Date: Thu Jun 14 00:28:15 2007 +0200 [CPUFREQ] Fix sysfs_create_file return value handling Commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 in cpufreq.git eliminates the build warnings but does not pass on the error code of sysfs_create_file to the function calling cpufreq_add_dev. Instead some previous value of ret would be returned. Signed-off-by: Tobias Klauser Signed-off-by: Dave Jones commit ea48761519bd40d7a881c587b5f3177664b2987e Author: Venki Pallipadi Date: Wed Jun 20 14:26:24 2007 -0700 [CPUFREQ] ondemand: fix tickless accounting and software coordination bug With tickless kernel and software coordination os P-states, ondemand can look at wrong idle statistics. This can happen when ondemand sampling is happening on CPU 0 and due to software coordination sampling also looks at utilization of CPU 1. If CPU 1 is in tickless state at that moment, its idle statistics will not be uptodate and CPU 0 thinks CPU 1 is idle for less amount of time than it actually is. This can be resolved by looking at all the busy times of CPUs, which is accurate, even with tickless, and use that to determine idle time in a round about way (total time - busy time). Thanks to Arjan for originally reporting the ondemand bug on Lenovo T61. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0af99b13c9f323e658b4f1d69a1ccae7d6f3f80a Author: Venki Pallipadi Date: Wed Jun 20 14:24:52 2007 -0700 [CPUFREQ] ondemand: add a check to avoid negative load calculation Due to rounding and inexact jiffy accounting, idle_ticks can sometimes be higher than total_ticks. Make sure those cases are handled as zero load case. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit c7f652e0487a35c16f6cd72707232b6a28647a10 Author: Venki Pallipadi Date: Wed Jun 20 14:24:00 2007 -0700 [CPUFREQ] Keep userspace governor quiet when it is not being used Userspace governor registers a frequency change notifier at init time, even when no CPU is set to userspace governor. Make it register only when atleast one CPU is using userspace. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 689eba77cbd0cfaaa3687cbe23e8b534f8ae0ebb Author: Rafał Bilski Date: Thu Jun 7 22:31:24 2007 +0200 [CPUFREQ] Longhaul - Proper register access In previous commit I used u32 for u16 register. This code will work only when ACPI block address is set. For now it is only for VT8235 and VT8237. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 669b792c77bbc30e9f4d9c95dbc918dc348c49c2 Author: Robin Getz Date: Thu Jun 21 16:34:08 2007 +0800 Blackfin arch: Clean up trace buffer handling, No major functional changes. Turns on trace earlier, so crashes at kernel start should print out a trace, making things easier to debug. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 29440a2b4cd37e32dfe0fa60ef1665775b24dab1 Author: Bernd Schmidt Date: Thu Jul 12 16:25:29 2007 +0800 Blackfin arch: Start untangling the CPLB handling code. - Move cache initialization to C from assembly. - Move anomaly workaround for writing [ID]MEM_CONTROL to assembly, so that we don't have to mess around with .align directives in C source. - Fix a bug where bfin_write_DMEM_CONTROL would write to IMEM_CONTROL - Break out CPLB related code from kernel/setup.c into their own file. - Don't define variables in header files, only declare them. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 474f1a667d4bd40b6dcacc6870b70f4d2ba4e155 Author: Sonic Zhang Date: Fri Jun 29 16:35:17 2007 +0800 Blackfin arch: kgdb specific code Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 1c5d2265a82f8d3fa0471a60ca98072b3c53c299 Author: Michael Hennerich Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: add missing implementations SIC_IWR crosses several registers SIC_IWR crosses several registers - add missing implementations - make sure SIC_IWR is SET after boot Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f8ffe652a01506e85e2dd579c58e50a3ba391921 Author: Mike Frysinger Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: need to rename function after moving to match new internal dma API Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7adfb58fbd0a27469d26536f99b66391c4c8e2a0 Author: Bernd Schmidt Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: defines and provides entry points for certain user space functions at fixed addresses This patch defines (and provides) entry points for certain user space functions at fixed addresses. The Blackfin has no usable atomic instructions, but we can ensure that these code sequences appear atomic from a user space point of view by detecting when we're in the process of executing them during the interrupt handler return path. This allows much more efficient pthread lock implementations than the bfin_spinlock syscall we're currently using. Also provided is a small sys_rt_sigreturn stub which can be used by the signal handler setup code. The signal.c part will be committed separately. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 0ba9e350a2c129ce2878d415cf51e88611cbc0e5 Author: Mike Frysinger Date: Mon Jul 2 13:47:45 2007 +0800 Blackfin arch: new kernel config for BF548-EZKIT Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 24a07a124198153540f8f43d9e91d16227aba66e Author: Roy Huang Date: Thu Jul 12 22:41:45 2007 +0800 Blackfin arch: initial supporting for BF548-EZKIT The ADSP-BF54x was specifically designed to meet the needs of convergent multimedia applications where system performance and cost are essential ingredients. The integration of multimedia, human interface, and connectivity peripherals combined with increased system bandwidth and on-chip memory provides customers a platform to design the most demanding applications. Since now, ADSP-BF54x will be supported in the Linux kernel and bunch of related drivers such as USB OTG, ATAPI, NAND flash controller, LCD framebuffer, sound, touch screen will be submitted later. Please enjoy the show. Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 088eec1192a0ae60fc218796027e622008af36c0 Author: Roy Huang Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: Add header files for BF548 Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 2b1bd1ac5d4bffe3fd542bfe1784a583bd7df4fa Author: Paul Mundt Date: Wed Jun 20 18:27:10 2007 +0900 sh: Preliminary support for the SH-X3 CPU. This adds basic support for UP SH-X3. Signed-off-by: Paul Mundt commit 027e56e68543780870fda74360ca45e392c50e1c Author: Paul Mundt Date: Wed Jun 20 18:23:49 2007 +0900 sh: Hook up hard_smp_processor_id() for INTC2 block. We need to know the CPU ID in order to calculate the mask and ack registers effectively. Stub this in for UP. Signed-off-by: Paul Mundt commit b2309d684078f2be1d5db6ceabc99c51f9af3b6b Author: Paul Mundt Date: Wed Jun 20 18:09:10 2007 +0900 sh: Update se7722 defconfig. Hook up the multi-node stuff for the SE7722. Signed-off-by: Paul Mundt commit 824e55f95f871d492cd095d7694df3cfcad1f8f5 Author: Paul Mundt Date: Wed Jun 20 18:01:52 2007 +0900 sh: Fix up cf-enabler dependency for SE boards. This was using CONFIG_SH_SOLUTION_ENGINE, where we really wanted CONFIG_SOLUTION_ENGINE. While we're at it, move the whole CF enabler mess somewhere better suited. Signed-off-by: Paul Mundt commit 24f02e1d819ad91de46ad3a636cd3f2bf11c720f Author: Salyzyn, Mark Date: Tue Jun 19 16:29:24 2007 -0400 [SCSI] aacraid: add support for long serial number information Support displaying long serial number information. Reuse sysfs handler internally as helper. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit b27e66df78a9d8d43c05a6a5777ef45f2e238951 Author: Salyzyn, Mark Date: Tue Jun 19 16:05:12 2007 -0400 [SCSI] aacraid: correct PERC2/QC and family match quirk list The Dell PERC2/QC erroneously was listed as having the 31 bit limit quirk on the interface allocations, removing the reference to repair this oversight. Also, the 2 quad pci address (family) match catch-all also retained the 31 bit limit and the 34 SG limit quirks in a paranoid move. Now, many years later, we find that none of the Adapters that did trigger with the family match had such quirks; these quirks are all limited to the 4 quad pci address matches to select legacy adapters already populated. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit e4d49531dcc2f334205d99614164ea900216b1cb Author: Thomas Renninger Date: Thu Mar 8 17:57:31 2007 +0100 ACPI: asus_acpi: Do not load if no device has been found asus_acpi_init() has a hack to prevent the driver from loading when asus_hotk_add() fails. However, it was returning the successful return value of acpi_bug_registger_driver() on failure. This caused an oops on unload. Instead it should return -ENODEV. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 760af100d7cdf62d0929b11929465e4cfc694c5c Author: Salyzyn, Mark Date: Tue Jun 19 11:41:21 2007 -0400 [SCSI] aacraid: change srb status busy return This patch is more like a spelling correction than a fix. It was discovered that if we had a busy status return from the Adapter for the SCSI srb command to a physical component, that we returned DID_NO_CONNECT rather than what one would expect DID_BUS_BUSY. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 96249cf9847da57a147b30dfed88fe585d578970 Author: Geert Uytterhoeven Date: Tue Jun 19 09:47:28 2007 +0200 [SCSI] 53c700: Fixup m68k drivers: - a4000t.c: Add missing include, needed in some configurations - bvme6000_scsi.c: Kill bogus opening brace - zorro7xx.c: Remove MODULE_DEVICE_TABLE, it should be part of another patch Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 4a904a65fab83bcdd6b00470ac6c4aa80518e6a9 Author: Guennadi Liakhovetski Date: Sun Jun 17 20:32:27 2007 +0200 [SCSI] tmscsim: clean-up status codes Remove redundant defines from the header, replace all occurances in the code with standard SAM_STAT_ macros. Also fix what seems to be a typo in testing for (status == H_OVER_UNDER_RUN)... Signed-off-by: G. Liakhovetski Signed-off-by: James Bottomley commit 462b7859a07c9c2b060fa2b5b1d49f8b33706d4e Author: Christof Schmitt Date: Tue Jun 19 10:25:30 2007 +0200 [SCSI] zfcp: Report FCP LUN to SCSI midlayer When reporting SCSI devices to the SCSI midlayer, use the FCP LUN as LUN reported to the SCSI layer. With this approach, zfcp does not have to create unique LUNS, and this code can be removed. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit c7f6b3a39967b0f28d0e507866840f82e4354a23 Author: Volker Sameske Date: Tue May 29 15:29:49 2007 +0200 [SCSI] zfcp: clear adapter status flags during adapter shutdown In some cases we did not reset some adapter status flags properly. This patch clears these flags during FCP adapter shutdown. Signed-off-by: Volker Sameske Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit da9c0c770e775e655e3f77c96d91ee557b117adb Author: FUJITA Tomonori Date: Fri Jun 1 18:56:21 2007 +0900 [SCSI] iscsi_iser: convert to use the data buffer accessors iscsi_iser: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Erez Zilber Signed-off-by: James Bottomley commit 0630e45c887b3d3d8d6ad27af03ec4054926d635 Author: Paul Mundt Date: Mon Jun 18 19:02:47 2007 +0900 sh: Check oops_may_print() in unhandled fault. Only print out pgd/pte data in the oops path if oops_may_print() holds true. Follows the i386 implementation. Signed-off-by: Paul Mundt commit fc1d4c9c3761ca8db52b647c6a4ba50771900a12 Author: Kaz Kojima Date: Mon Jun 18 13:58:32 2007 +0900 sh: Fix up futex implementation. SH is able to support a complete futex implementation on UP by way of gUSA. However, IRQ toggling must be done for the old CPUs that don't have movli.l/movco.l (LL/SC) instructions. Provide a default implementation that does this, so it's possible to optimize for newer CPUs. Follows the same scheme as the current asm-sh/atomic-*.h headers. Signed-off-by: Kaz Kojima Signed-off-by: Paul Mundt commit 40fc79eb0223eccf44ed2e90fb11b9a08bcc7e09 Author: James Smart Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: update to version 8.2.1 This patch updates the driver version to 8.2.1 Signed-off-by: James Smart Signed-off-by: James Bottomley commit a0b4f78f9a4c869e9b29f254054ad7441cb40bbf Author: FUJITA Tomonori Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: convert to use the data buffer accessors This patch is a reworked version of the data buffer accessors patch so that it applies on the NPIV sources. The original patch was developed and submitted by Fujita Tomonori: FUJITA Tomonori http://marc.info/?l=linux-scsi&m=117896446832171&w=2 - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Smart Signed-off-by: James Bottomley commit 858c9f6c19c6f9bf86cbbc64ce0d17c61d6131b8 Author: James Smart Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: bug fixes Following the NPIV support, the following changes have been accumulated in the testing and qualification of the driver: - Fix affinity of ELS ring to slow/deferred event processing - Fix Ring attention masks - Defer dev_loss_tmo timeout handling to worker thread - Consolidate link down error classification for better error checking - Remove unused/deprecated nlp_initiator_tmr timer - Fix for async scan - move adapter init code back into pci_probe_one context. Fix async scan interfaces. - Expand validation of ability to create vports - Extract VPI resource cnt from firmware - Tuning of Login/Reject policies to better deal with overwhelmned targets - Misc ELS and discovery fixes - Export the npiv_enable attribute to sysfs - Mailbox handling fix - Add debugfs support - A few other small misc fixes: - wrong return values, double-frees, bad locking - Added adapter failure heartbeat Signed-off-by: James Smart Signed-off-by: James Bottomley commit 92d7f7b0cde3ad2260e7462b40867b57efd49851 Author: James Smart Date: Sun Jun 17 19:56:38 2007 -0500 [SCSI] lpfc: NPIV: add NPIV support on top of SLI-3 NPIV support is added to the driver. It utilizes the interfaces of the fc transport for the creation and deletion of vports. Within the driver, a new Scsi_Host is created for each NPIV instance, and is paired with a new instance of a FC port. This allows N FC Port elements to share a single Adapter. Signed-off-by: James Smart Signed-off-by: James Bottomley commit ed957684294618602b48f1950b0c9bbcb036583f Author: James Smart Date: Sun Jun 17 19:56:37 2007 -0500 [SCSI] lpfc: NPIV: add SLI-3 interface NPIV support is only available via new adapter interface extensions, termed SLI-3. This interface changes some of the basic behaviors such as command and response ring element sizes and data structures, as well as a change in buffer posting. Note: the new firmware extensions are found only on our mid-range and enterprise 4Gig adapters - so NPIV support is available only on these newer adapters. The latest firmware can be downloaded from the Emulex support page. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 2e0fef85e098f6794956b8b80b111179fbb4cbb7 Author: James Smart Date: Sun Jun 17 19:56:36 2007 -0500 [SCSI] lpfc: NPIV: split ports The driver is reorganized to separate the handling of the adapter from the handling of the FC port. Adapter handling includes submissions of command requests, receiving responses, and managing adapter resources. The FC port includes the discovery engine, login handling, and the mapping of a Scsi_Host on the "port". Although not a large functional change, as it touches core structures and functions, resulting in a large text delta. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4c2baaaf2ba4875d1d2d59b3b3e1216d3277b17a Author: FUJITA Tomonori Date: Sat May 26 04:51:32 2007 +0900 [SCSI] esp_scsi: convert to use the data buffer accessors - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Cc: David Miller Signed-off-by: James Bottomley commit f98754960a9b25057ad5f249f877b3d6fab889ce Author: FUJITA Tomonori Date: Mon May 14 20:25:31 2007 +0900 [SCSI] hptiop: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: HighPoint Linux Team Signed-off-by: James Bottomley commit 45804fbb00eea27bdf4d62751681228a9e2844e9 Author: Kars de Jong Date: Sun Jun 17 14:47:09 2007 +0200 [SCSI] 53c700: Amiga Zorro NCR53c710 SCSI New driver for Amiga Zorro bus NCR53c710 SCSI controllers, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit a16efc1cbf0a9e5ea9f99ae98fb774b60d05c35b Author: Kars de Jong Date: Sun Jun 17 14:47:08 2007 +0200 [SCSI] 53c700: Amiga 4000T NCR53c710 SCSI New driver for the Amiga 4000T built-in NCR53c710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 506c7bbcd9bc042a782bdcdb0c926de4c9d62028 Author: Kars de Jong Date: Sun Jun 17 14:47:07 2007 +0200 [SCSI] 53c700: m68k MVME16x NCR53C710 SCSI New driver for the MVME16x NCR53C710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 8276b58af4dd1c406aa5fe0fa010a6fc92283cb1 Author: Kars de Jong Date: Sun Jun 17 14:47:06 2007 +0200 [SCSI] 53c700: m68k BVME6000 NCR53C710 SCSI New driver for the BVME6000 NCR53C710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 632731345bfb87fd1f4dc509928cc4a7efc12a89 Author: Kars de Jong Date: Sun Jun 17 14:47:05 2007 +0200 [SCSI] 53c700: m68k support for the 53c700 SCSI core Add m68k support to the 53c700 SCSI driver Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit cc78d30af0823f33069fb4813c47571d4e0675a2 Author: Eric Moore Date: Fri Jun 15 17:27:21 2007 -0600 [SCSI] mpt fusion: fix for mounted raid volume filesytem that goes read-only If there is IO going to the volume while a hidden disk is being torn down, there is a case where we would return a DID_NO_CONNECT for IO sent to the volume. The end result is the volume goes read-only. This problem is due to the fact the firmware mapped target ids saved in per device object is phys_disk_num for hidden raid components, and target_id for the volume. There is a single case when both phys_disk_num and target_id are equal, so enters this issue. We fix this issue by checking the tflags when the device is torned down, insuring the IO being completed is meant for hidden raid component, not the volume. In addition to this fix, there are a couple other cases to address hidden raid components. For instance task_abort and device reset are not supported by mpt fw for hidden raid components, a bus reset would be required or target reset to volume. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 958d4a32077f1d7d863e67f40f81c577c3c0c037 Author: Eric Moore Date: Fri Jun 15 17:24:14 2007 -0600 [SCSI] mpt fusion: cleanup eh handlers nice cosmetic cleaning of eh thread callback funtions Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 4023c4747861e8c56f46e5fa50bd4feb63fc91fc Author: Alan Cox Date: Fri Jun 15 14:45:30 2007 +0100 [SCSI] a100u2w: Convert into Linux style I was investigating strange driver behaviour and thought that readable code and proper visible types might help explain why it didn't work right the moment a second SCB was outstanding to the controller. I was right - Cleanup, linuxise, demacro - Remove the BSD dual licence on the new work - Switch the if ALPHA to if __LP64__. (struct size is then right elsewhere) and then to CONFIG_64BIT as per Christoph's request - Fix the recursive locking on a reset. This is the only actual real code change (I hope ;)). I'm not clear what the right way to handle the BIOS param stuff is on n on x86-32/64. Using phys_to_virt and stuff is ugly and probably doesn't make sense elsewhere Still has a couple of odd things - and there seems to be a commonly shared EEPROM handling error several drivers have. Roughly speaking several SCSI drivers go try and read EEPROM It failed.. Write any changes between the default and the data we read Which is great as for some paths we've no idea what was in before, so each boot won't write it all back, won't checksum but will repeat the bug Also it can still sleep for a second with IRQ off, and there is some dubious looking error path locking marked FIXME in case anyone feels inspired to work on it. Not a newly introduced bug, and at least its now marked. Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 0d2fcd9f9858a34f7056b3b1cb60ce0f883d06b6 Author: Hannes Reinecke Date: Thu Jun 14 15:16:45 2007 +0200 [SCSI] fc_transport: Check portstates before invoking target scan When a target scan is initiated from sysfs, we should check the portstate prior to invoke scsi_scan_target(). Otherwise scsi_scan_target() might oops as the rport might already been removed from the scsi host and the traversal from the rport to the scsi_host in scsi_scan_target() will fail. Also the portstate already told us that communication with the target has failed, so it's quite pointless to try. Signed-off-by: Hannes Reinecke Cc: James Smart Signed-off-by: James Bottomley commit 1c13899154f6f93e8c9ff3e981a90d5f21df2d6b Author: FUJITA Tomonori Date: Thu Jun 14 22:13:17 2007 +0900 [SCSI] iscsi_tcp: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Mike Christie Signed-off-by: James Bottomley commit d36b113eea2918ce1badf277af9fc64311609ca2 Author: Eric Moore Date: Wed Jun 13 16:35:21 2007 -0600 [SCSI] mpt fusion: bump version bump version Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 7c431e5cf4f4618066982ee799c26f1a276a56e1 Author: Eric Moore Date: Wed Jun 13 16:34:36 2007 -0600 [SCSI] mpt fusion: fc loginfo using defines from the header rewrite of mpt_fc_log_info to use the enum/defines from mpi_log_fc.h Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit caa5dea19d4853f71b091cad8fde75e6f14ff1be Author: Eric Moore Date: Wed Jun 13 16:33:48 2007 -0600 [SCSI] mpt fusion: remove unused header - linux_compat.h remove unused header Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit db0073bb2c9d5bbd839f9935fece879ee79170e0 Author: Eric Moore Date: Wed Jun 13 16:33:05 2007 -0600 [SCSI] mpt fusion: remove unused header - mpi_inb.h fc inband managment header deleted Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit d16291b1f2656f2bb1beea5fcce3eb0d1546e981 Author: Eric Moore Date: Wed Jun 13 16:32:20 2007 -0600 [SCSI] mpt fusion: new mpi headers version 1.5.16 mpi header update Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 16d201016a9f29e0557849907352769c63cef259 Author: Eric Moore Date: Wed Jun 13 16:31:07 2007 -0600 [SCSI] mpt fusion: update MAINTAINERS (fusion part) Update assocated fusion sources with new support email address. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 35f51eee99efe88866476300ccb7f206e88f3394 Author: Brian King Date: Wed Jun 13 17:12:40 2007 -0500 [SCSI] ibmvscsi: Abort path fix Since it is completely possible for scsi core to call a LLDD's eh_abort function after the command has completed, fix ibmvscsi to return SUCCESS if this is the case. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 06f923cbf080e22d1ffccbf3fd2cbab0176f6025 Author: Brian King Date: Wed Jun 13 17:12:33 2007 -0500 [SCSI] ibmvscsi: Misc. locking fixes Fix a couple locking bugs discovered during code inspection. ibmvscsi_send_srp_event needs to be called with the host lock held. This patch fixes a couple paths in the code where this wasn't true. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3d0e91f7ace12499c4b00088e9a6b1361e1bb0ca Author: Brian King Date: Wed Jun 13 17:12:26 2007 -0500 [SCSI] ibmvscsi: Add eh_host_reset_handler Adds an eh_host_reset_handler to ibmvscsi which resets the connection to the vscsi server. This patch also adds a timer to internally issues commands to prevent client hangs in the case of a misbehaving server. Tested by modifying the VIOS such that it would occasionally drop one or more request in sequence. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6c0a60ec52042ece8bf4904c91ac497188e8d70b Author: Brian King Date: Wed Jun 13 17:12:19 2007 -0500 [SCSI] ibmvscsi: Enhanced error logging Converts ibmvscsi to use dev_printk and friends to simplify debugging. ibmvscsi adapter initialization now looks like this: ibmvscsi 30000005: SRP_VERSION: 16.a ibmvscsi 30000005: partner initialization complete ibmvscsi 30000005: sent SRP login ibmvscsi 30000005: SRP_LOGIN succeeded Additionally, this patch adds the logging of a couple return codes in a couple logs. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 2a7309372fe56ae46c499b772d811ad31c501dd9 Author: Brian King Date: Wed Jun 13 17:12:11 2007 -0500 [SCSI] ibmvscsi: Remove unnecessary map_sg check Since sg_tablesize is set appropriately in the scsi host template, remove the unnecessary check to make sure it is not exceeded following the dma_map_sg call. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 0ea7154fbc740e8c44f6175fc44c4e56fbbbdc0f Author: FUJITA Tomonori Date: Thu Jun 14 00:41:06 2007 +0900 [SCSI] i2o: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Note: needs to change i2o_dma_map_sg when the chaining sg is ready. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 29c976844d0bef07d97babc8db60fa6c46788133 Author: Salyzyn, Mark Date: Tue Jun 12 09:33:54 2007 -0400 [SCSI] aacraid: add user initiated reset Add the ability for an application to issue a hardware reset to the adapter via sysfs. Typical uses include restarting the adapter after it has been flashed. Bumped revision number for the driver and added a feature to periodically check the adapter's health (check_interval), update the adapter's concept of time (update_interval) and block checking/resetting of the adapter (check_reset). Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 1a655040c24ebf3954ad5cf8848391cb420b1ffb Author: Salyzyn, Mark Date: Mon Jun 11 16:17:55 2007 -0400 [SCSI] aacraid: probe related code cleanup Sundry cleanups: 1) Use kzalloc instead of kmalloc. 2) Make sure probe worked before recalling the SCSI command to finalize processing. 3) _aac_probe_container2 and _aac_probe_container1 return value goes unused, change return to void. 4) Use a lower depth pointer reference to pick up the driver instance variable. 5) Although effectively unused except to fake for scsicmd validity, set the scsi_done in probe code to aac_probe_container_callback1 instead of the less valid dummy reference to _aac_probe_container1. 6) SCp.phase is set in aac_valid_context, drop setting up this value in caller when unnecessary. 7) take container target id at the beginning, rather than referencing scmd_id() to pick it up. There should be no side effects or functionality changes. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit beb87c33393142200df7bfdc901dde97bd576650 Author: Randy Dunlap Date: Mon Jun 11 11:36:40 2007 -0700 [SCSI] scsi_debug: correct parameter default text Correct the module info text for the default value of "every_nth" to 0. Signed-off-by: Randy Dunlap Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 46235e600acfb6d13ee164c5539ad4309e848eab Author: David C Somayajulu Date: Fri Jun 8 17:37:16 2007 -0700 [SCSI] qla4xxx: allow hba to be online when initiator ip address is uninitialized This patch provides the following: 1. remove warning ignoring the return value of pci_set_mwi() 2. allows HBA to be online when the initiator ip address is uninitialized. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit a1f6e0211b71a6c3ff401ad1d345ab024d0c6f01 Author: nickcheng(鄭守謙 Date: Fri Jun 15 11:43:32 2007 +0800 [SCSI] areca: improve driver stability and compatibility Description: 1. Implement PCI-Express error recovery function and AER capability, especially thanks to Yanmin Zhang's openhanded help about AER 2. Implement the selection of ARCMSR_MAX_XFER_SECTORS_B=4096 if firmware version is latter than 1.42 3. Add arcmsr_done4_abort_postqueue in arcmsr_iop_reset function to improve the stability as hot-unplug/plug 4. Modify the ISR, arcmsr_interrupt routine, to prevent the inconsistency with sg_mod driver if application directly calls the arcmsr driver w/o passing through scsi midlayer Signed-off-by: Nick Cheng [jejb: unused variable removal] Signed-off-by: James Bottomley commit e8ef92b8dc939cebf0c1fe153e898e5162c2ad05 Author: Ben Dooks Date: Thu Jun 14 12:08:55 2007 +0100 [WATCHDOG] change s3c2410_wdt to using dev_() macros for output Move to using dev_info(), dev_dbg() and dev_err() for reporting information from the driver. Signed-off-by: Ben Dooks Signed-off-by: Wim Van Sebroeck commit 46b814d6e00c1a1e3127f8f9c254dda310781bec Author: Ben Dooks Date: Thu Jun 14 12:08:54 2007 +0100 [WATCHDOG] s3c2410_wdt announce initialisation Announce the watchdog once the initialisation is complete. This aides debugging problems where the watchdog driver has been loaded and shows the current state for the user. Signed-off-by: Ben Dooks Signed-off-by: Wim Van Sebroeck commit 727eead62e22cf0a9498cf34e075c08269402978 Author: FUJITA Tomonori Date: Sat May 26 02:00:42 2007 +0900 [SCSI] aacraid: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 2f4cf91cc0a1f32f75e1fa0a4d70a9bc7340a302 Author: FUJITA Tomonori Date: Wed Jun 13 23:27:09 2007 +0900 [SCSI] ips: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. TODO: use scsi_for_each_sg() in the breakup handling. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit eee4c4694fb2936258244bb391e6eec07f3eea8e Author: Paul Mundt Date: Fri Jun 15 19:45:33 2007 +0900 sh: Update SH-2/SH-2A defconfigs. Signed-off-by: Paul Mundt commit 68abdbbb03476a60d932eeba0035dd5069afec38 Author: Magnus Damm Date: Fri Jun 15 18:56:19 2007 +0900 sh: rework ipr code This patch reworks the ipr code by grouping the offset array together with the ipr_data structure in a new data structure called ipr_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. This strategy has much in common with the recently merged intc2 code. One logic change has been made - the original ipr code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 50f63f2518ee68bc132d357d2b6fdb7f60ef79e0 Author: Paul Mundt Date: Fri Jun 15 18:30:42 2007 +0900 sh: Only support PMB for SH-X cores. We don't have a PMB for SH-X2 or later, so only enable it for the few CPUs that support it. Fixes up the boot for SH4AL-DSP. Signed-off-by: Paul Mundt commit d619500aed2f9b841b2310bc94f8056ae9ca2a73 Author: Magnus Damm Date: Fri Jun 15 10:41:54 2007 +0900 sh: rework intc2 code The shared intc2 code currently contains cpu-specific #ifdefs. This is a tad unclean and it prevents us from using the shared code to drive board-specific irqs on the se7780 board. This patch reworks the intc2 code by moving the base addresses of the intc2 registers into struct intc2_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. One logic change has been made - the original shared intc2 code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e58ca3de64927e96beb2f1594975dc4a29b79459 Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Fix problems with device tree representation of TSI-1xx bridges This fixes some problems with the way the some things represented in the device tree for the Holly and Taiga boards. This means changes both to the dts files, and to the code which instantiates the tsi108 ethernet platform devices based on the device tree. - First, and most importantly, the ethernet PHYs are given with an identical 'reg' property. This reg currently encodes the accessible register used to initiate mdio interaction with the PHYs, rather than a meaningful address on the parent bus (mdio in this case), which is incorrect. Instead we give the address of these registers as 'reg' in the mdio node itself, and encode the ID of each phy in their 'reg' propertyies. - Currently the platform device constructor enables a workaround in the tsi108 ethernet driver based on the compatible property of the PHY. This is incorrect, because the workaround in question is necessary due to the board's wiring of the PHY, not the model of PHY itself. This patch alters the constructor to instead enable the workaround based on a new special property in the PHY node. - The compatible properties on a number of nodes in the device tree are insufficiently precise. In particular the PHYs give only "bcm54xx", which is broken, since there are many bcm54xx PHY models, and they have differences which matter. The mdio had a compatible property of "tsi-ethernet" identical to the ethernet MAC nodes, which doesn't make sense. The ethernet, i2c, bridge and PCI nodes were given only as "tsi-*" which is somewhat inprecise, we replace with "tsi108-*" in the case of Taiga (which has a TSI108 bridge), and "tsi109-*", "tsi108-*" in the case of Holly (which has a TSI109 bridge). - We remove some "model" properties from the ethernets on Taiga board which were neither useful nor adequately precise. - On Holly we change to using a dtc label instead of a full path to reference the MPIC node, which makes the dts a little more readable. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit e60c526fba3ba77070d0c97fac52c86243ad694d Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Don't store a command line in the Holly device tree Currently, the Holly device tree includes a bootargs property in /chosen, which gives a commandline. This is somewhat inconvenient, because it means an alternative default command line can't be given in the kernel config - the value obtained from the dts via the bootwrapper will always override CONFIG_CMDLINE. This removes the command line from the dts, and instead puts the same command line as a default in holly_defconfig. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 85aecac8d2893372c618bac373e2de9cf102dfbc Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Consolidate cuboot initialization code The various cuboot platforms (i.e. pre-device tree aware u-boot for 83xx, 85xx and Ebony) share a certain amount of code for parsing the boot parameters. To a certain extent that's inevitable, since they platforms have different definitions of the bd_t structure. However, with some macro work and a helper function, this patch improves the situation a bit. In the process, this fixes a bug on Ebony, which was incorrectly handling the parameters passed form u-boot for the command line (the bug was copied from 83xx and 85xx which have subsequently been fixed). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit b2ba34f370a66d9ed4bbd440e45296ecf3e267d3 Author: David Gibson Date: Wed Jun 13 14:52:59 2007 +1000 [POWERPC] Derive ebc ranges property from EBC registers In the device tree for Ebony, the 'ranges' property in the node for the EBC bridge shows the mappings from the chip select / address lines actually used for the EBC peripherals into the address space of the OPB. At present, these mappings are hardcoded in ebony.dts for the mappings set up by the OpenBIOS firmware when it configures the EBC bridge. This replaces the hardcoded mappings with code in the zImage to read the EBC configuration registers and create an appropriate ranges property based on them. This should make the zImage and kernel more robust to changes in firmware configuration. In particular, some of the Ebony's DIP switches can change the effective address of the Flash and other peripherals in OPB space. With this patch, the kernel will be able to cope with at least some of the possible variations. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 11123346bfba8e65631957c6c25ed1a6ca1b4ffe Author: David Gibson Date: Wed Jun 13 14:52:58 2007 +1000 [POWERPC] Factor zImage's 44x reset code out of ebony.c The ebony_exit() function which resets the Ebony board should in fact be common to most if not all 44x boards. This moves the function out into 44x.c, renaming it, so it can be used by other 44x platforms. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 4508dc21feb189159d4cc1d5b79c5a55fad5f2ed Author: David Gibson Date: Wed Jun 13 14:52:57 2007 +1000 [POWERPC] Merge CPU features pertaining to icache coherency Currently the powerpc kernel has a 64-bit only feature, COHERENT_ICACHE used for those CPUS which maintain icache/dcache coherency in hardware (POWER5, essentially). It also has a feature, SPLIT_ID_CACHE, which is used on CPUs which have separate i and d-caches, which is to say everything except 601 and Freescale E200. In nearly all the places we check the SPLIT_ID_CACHE, what we actually care about is whether the i and d-caches are coherent (which they will be, trivially, if they're the same cache). This tries to clarify the situation a little. The COHERENT_ICACHE feature becomes availble on 32-bit and is set for all CPUs where i and d-cache are effectively coherent, whether this is due to special logic (POWER5) or because they're unified. We check this, instead of SPLIT_ID_CACHE nearly everywhere. The SPLIT_ID_CACHE feature itself is replaced by a UNIFIED_ID_CACHE feature with reversed sense, set only on 601 and Freescale E200. In the two places (one Freescale BookE specific) where we really care whether it's a unified cache, not whether they're coherent, we check this feature. The CPUs with unified cache are so few, we could consider replacing this feature bit with explicit checks against the PVR. This will make unifying the 32-bit and 64-bit cache flush code a little more straightforward. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8e561e7eda02819c711a75b64a000bf34948cdbb Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Kill typedef-ed structs for hash PTEs and BATs Using typedefs to rename structure types if frowned on by CodingStyle. However, we do so for the hash PTE structure on both ppc32 (where it's called "PTE") and ppc64 (where it's called "hpte_t"). On ppc32 we also have such a typedef for the BATs ("BAT"). This removes this unhelpful use of typedefs, in the process bringing ppc32 and ppc64 closer together, by using the name "struct hash_pte" in both cases. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 9c709f3b62ee8ee0dfadf358e361802cab7eea7a Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Start factoring pgtable-ppc32.h and pgtable-ppc64.h This factors some things defined in both pgtable-ppc32.h and pgtable-ppc64.h into the common part of asm-powerpc/pgtable.h. These are all things which have essentially identical definitions, and which by their nature are very unlikely ever to need different definitions in the two cases. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit c0770f686cf8f464b5b9d4bd28c1ed7604c97ed4 Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Remove a couple of unused definitions from pgtable_32.c In arch/powerpc/mm/pgtable_32.c, the variable io_bat_index and the macro is_power_of_4() no longer have any users. This removes them. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit f21f49ea639ac3f24824177dac1268af75a2d373 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Remove the dregs of APUS support from arch/powerpc APUS (the Amiga Power-Up System) is not supported under arch/powerpc and it's unlikely it ever will be. Therefore, this patch removes the fragments of APUS support code from arch/powerpc which have been copied from arch/ppc. A few APUS references are left in asm-powerpc in .h files which are still used from arch/ppc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 90ac19a8b21ba2621ddd7beb2dc96152e78270b7 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Abolish iopa(), mm_ptov(), io_block_mapping() from arch/powerpc These old-fashioned IO mapping functions no longer have any callers in code which remains relevant on arch/powerpc. Therefore, this removes them from arch/powerpc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 4db68bfe71940c0851bc81041ade6dc293fe2b96 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for the "classic" hash-based MMU arch/powerpc still relies on asm-ppc/mmu.h for most 32-bit MMU types. This is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to the "classic" 32-bit hash page table MMU which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-hash32.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 2e6016133755eb3cc44e8efab92573d23ed75888 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Split low-level OF-related bootloader code into separate files Currently, all OF-related code in the bootloader is contained in of.c. of.c also provides the platform specific things necessary to boot on an OF platform. However, there are platforms (such as PReP) which can include an OF implementation, but are not bootable as pure OF systems. For use by such platforms, this patch splits out the low-level parts of the OF code (call_prom() and various wrappers thereof) into a new oflib.c file. In addition, the code related to bootwrapper console output via OF are moved to a new ofconsole.c file. Both these files are included in the wrapper.a library where they can be used by both full-OF and partial OF platforms. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit a0ae9c7c05b969cbaffb0371f8698c54465b4c96 Author: Arnd Bergmann Date: Wed Jun 13 02:30:17 2007 +1000 [POWERPC] Split out CPU specific options into a new Kconfig file A lot of the options in arch/powerpc/Kconfig deal with the CPU menu, and my next patches add more to them. Moving them to a new arch/powerpc/platforms/Kconfig.cputype file makes it easier to follow. There are no functional changes in here. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit effe24bdd41ef790b30c9ac02ede3703937c6ba0 Author: will schmidt Date: Wed Jun 13 01:19:01 2007 +1000 [POWERPC] During VM oom condition, kill all threads in process group We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or be otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. lightly tested on powerpc Signed-off-by: Will Signed-off-by: Paul Mackerras commit d8c391a5593aca5bea002bcaaec16c7bbd6ec853 Author: Jake Moilanen Date: Fri Jun 8 07:27:11 2007 +1000 [POWERPC] Donate idle CPU cycles on dedicated partitions A Power6 can give up CPU cycles on a dedicated CPU (as opposed to a shared CPU) to other shared processors if the administrator asks for it (via the HMC). This enables that to work properly on P6. This just involves setting a bit in the CAS structure as well as the VPA. To donate cycles, a CPU has to have all SMT threads idle and have the donate bit set in the VPA. Then call H_CEDE. The reason why shared processors just aren't used is because dedicated CPUs are guaranteed an actual processor, yet the system is still able to increase the capacity of the shared CPU pool. Also rename the VPA's cpuctls_task_attrs field to a more accurate name. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras commit 2f97cd3912428f5044fa7715293a69349fc455fa Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:56 2007 +1000 [POWERPC] Less ifdef's in signal.c/signal.h This patch moves things around a little bit in the new common signal.c and signal.h files to remove the last #ifdef in the middle of the common do_signal(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0edc4ffd0e50d1ab0f387d37457210bc8bf8f8da Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:55 2007 +1000 [POWERPC] Remove #ifdef around set_dabr in signal code set_dabr() and thread.dabr exist on 32 bits as well nowadays (they actually may do something even, depending on what CPU you have). So this removes the ifdef. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a3f61dc0a5335334958ec3b97d0b1946b4ae5375 Author: Benjamin Herrenschmidt Date: Mon Jun 4 17:22:48 2007 +1000 [POWERPC] Merge creation of signal frame The code for creating signal frames was still duplicated and split in strange ways between 32 and 64 bits, including the SA_ONSTACK handling being in do_signal on 32 bits but inside handle_rt_signal on 64 bits etc... This moves the 64 bits get_sigframe() to the generic signal.c, cleans it a bit, moves the access_ok() call done by all callers to it as well, and adapts/cleanups the 3 different signal handling cases to use that common function. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5f9f375a62d3fd3d7f0d5adc23039ade523e62ba Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:53 2007 +1000 [POWERPC] Remove obsolete freezer bits The powerpc signal code still had some obsolete freezer bits that have long been removed from x86 (it's now done in generic code). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f478f5430c8a599f46c41e8172a507a5772a6b69 Author: Christoph Hellwig Date: Mon Jun 4 15:15:52 2007 +1000 [POWERPC] Consolidate do_signal do_signal has exactly the same behaviour on 32bit and 64bit and 32bit compat on 64bit for handling 32bit signals. Consolidate all these into one common function in signal.c. The only odd left over is the try_to_free in the 32bit version that no other architecture has in mainline (only in i386 for some odd SuSE release). We should probably get rid of it in a separate patch. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit db277e9a67b9d81b9d6cd74edf0c3e1a0ef2aa4b Author: Christoph Hellwig Date: Mon Jun 4 15:15:51 2007 +1000 [POWERPC] Consolidate restore_sigmask restore_sigmask is exactly the same on 32 and 64bit, so move it to common code. Also move _BLOCKABLE to signal.h to avoid defining it multiple times. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 69d15f6b352a681f1db9bc70219a3e8e9d503dbf Author: Christoph Hellwig Date: Mon Jun 4 15:15:50 2007 +1000 [POWERPC] Consolidate sys_sigaltstack sys_sigaltstack is the same on 32bit and 64 and we can consolidate it to signal.c. The only difference is that the 32bit code uses ints for the unused register paramaters and 64bit unsigned long. I've changed it to unsigned long because it's the same width on 32bit. (I also wonder who came up with this awkward calling convention.. :)) Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 22e38f29328296d9d4cc33e46fd32a63e807abaf Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:49 2007 +1000 [POWERPC] Make syscall restart code more common This patch moves the code in signal_32.c and signal_64.c for handling syscall restart into a common signal.c file and converge around a single implementation that is based on the 32 bits one, using trap, ccr and r3 rather than the special "result" field for deciding what to do. The "result" field is now pretty much deprecated. We still set it for the sake of whatever might rely on it in userland but we no longer use it's content. This, along with a previous patch that enables ptracers to write to "trap" and "orig_r3" should allow gdb to properly handle syscall restarting. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 791cc501d422be96d6e3098faf6471ba29f4dd33 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:48 2007 +1000 [POWERPC] Always apply DABR changes on context switches This patch removes the #ifdef CONFIG_PPC64 around setting the DABR. The actual setting of the SPR inside of the set_dabr() function is dependent on CONFIG_PPC64 || CONFIG_6xx but you can always provide a ppc_md hook to override that. We should improve support for different HW breakpoints facilities but this is a first step. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6d110da8c3c62167c54eb5e32bb80916a1a23362 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:47 2007 +1000 [POWERPC] powerpc: ptrace can set DABR on both 32 and 64 bits Allow ptrace to set dabr in the thread structure for both 32 and 64 bits, though only 64 bits actually uses that field, it's actually defined in both. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit abd0650541604d6c028bcbf5002e4a68aaf56e90 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:47 2007 +1000 [POWERPC] ptrace shouldn't touch FP exec mode One of the gratuitous difference between 32 and 64-bit ptrace is whether you can whack the MSR:FE0 and FE1 bits from ptrace. This patch forbids it unconditionally. In addition, the 64-bit kernels used to return the exception mode in the MSR on reads, but 32-bit kernels didn't. This patch makes it return those bits on both. Finally, since ptrace-ppc32.h and ptrace-ppc64.h are mostly empty now, and since the previous patch made ptrace32.c no longer need the MSR_DEBUGCHANGE definition, we just remove those 2 files and move back the remaining bits to ptrace.c (they were short lived heh ?). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 912000e73ee8fcb97831b123c9c3a7274b71cab7 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:46 2007 +1000 [POWERPC] Allow ptrace write to pt_regs trap and orig_r3 This patch allows a ptracer to write to the "trap" and "orig_r3" words of the pt_regs. This, along with a subsequent patch to the signal restart code, should enable gdb to properly handle syscall restarting after executing a separate function (at least when there's no restart block). This patch also removes ptrace32.c code toying directly with the registers and makes it use the ptrace_get/put_reg() accessors for everything so that the logic for checking what is permitted is in only one place. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1b6610d6fcb8dc23631cf48f09aa02e6649e379d Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:45 2007 +1000 [POWERPC] Remove some useless ifdef's in ptrace CHECK_FULL_REGS() exist on both 32 and 64 bits, so there's no need to make it conditional on CONFIG_PPC32. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 865418d8e78b9c11c964157740b2596d6ffe9dfa Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:44 2007 +1000 [POWERPC] Uninline common ptrace bits This folds back the ptrace-common.h bits back into ptrace.c and removes that file. The FSL SPE bits from ptrace-ppc32.h are folded back in as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e17666ba48f78ff10162d7448e7c92d668d8faf6 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:43 2007 +1000 [POWERPC] ptrace updates & new, better requests The powerpc ptrace interface is dodgy at best. We have defined our "own" versions of GETREGS/SETREGS/GETFPREGS/SETFPREGS that strangely take arguments in reverse order from other archs (in addition to having different request numbers) and have subtle issue, like not accessing all of the registers in their respective categories. This patch moves the implementation of those to a separate function in order to facilitate their deprecation in the future, and provides new ptrace requests that mirror the x86 and sparc ones and use the same numbers: PTRACE_GETREGS : returns an entire pt_regs (the whole thing, not only the 32 GPRs, though that doesn't include the FPRs etc... There's a compat version for 32 bits that returns a 32 bits compatible pt_regs (44 uints) PTRACE_SETREGS : sets an entire pt_regs (the whole thing, not only the 32 GPRs, though that doesn't include the FPRs etc... Some registers cannot be written to and will just be dropped, this is the same as with POKEUSR, that is anything above MQ on 32 bits and CCR on 64 bits. There is a compat version as well. PTRACE_GETFPREGS : returns all the FP registers -including- the FPSCR that is 33 doubles (regardless of 32/64 bits) PTRACE_SETFPREGS : sets all the FP registers -including- the FPSCR that is 33 doubles (regardless of 32/64 bits) And two that only exist on 64 bits kernels: PTRACE_GETREGS64 : Same as PTRACE_GETREGS, except there is no compat function, a 32 bits process will obtain the full 64 bits registers PTRACE_SETREGS64 : Same as PTRACE_SETREGS, except there is no compat function, a 32 bits process will set the full 64 bits registers The two later ones makes things easier to have a 32 bits debugger on a 64 bits program (or on a 32 bits program that uses the full 64 bits of the GPRs, which is possible though has issues that will be fixed in a later patch). Finally, while at it, the patch removes a whole bunch of code duplication between ptrace32.c and ptrace.c, in large part by having the former call into the later for all requests that don't need any special "compat" treatment. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit acd89828484db6371202f5d292781ae6f832eda2 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:41 2007 +1000 [POWERPC] ptrace cleanups The powerpc ptrace code has some weirdness, like a ptrace-common.h file that is actually ppc64 only and some of the 32 bits code ifdef'ed inside ptrace.c. There are also separate implementations for things like get/set_vrregs for 32 and 64 bits which is totally unnecessary. This patch cleans that up a bit by having a ptrace-common.h which contains really common code (and makes a lot more code common), and ptrace-ppc32.h and ptrace-ppc64.h files that contain the few remaining different bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b3d5c48a98f7bd2d38962f5a67b480ac5656fb9 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:39 2007 +1000 [POWERPC] Disable broken PPC_PTRACE_GETFPREGS on 32 bits The handling of PPC_PTRACE_GETFPREGS is broken on 32 bits kernel, it will only return half of the registers. Since that call didn't initially exist for 32 bits kernel (added recently), rather than fixing it, let's just remove it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit cbe709c1683dd54a2ec2981c9e8415cb3176f4e0 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:38 2007 +1000 [POWERPC] spufs: Add a "capabilities" file to spu contexts This adds a "capabilities" file to spu contexts consisting of a list of linefeed separated capability names. The current exposed capabilities are "sched" (the context is scheduleable) and "step" (the context supports single stepping). Signed-off-by: Benjamin Herrenschmidt Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 05169237b55058a3993fb4804d00b65dfa3e4a0c Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:37 2007 +1000 [POWERPC] spufs: Add support for SPU single stepping This patch adds support for SPU single stepping. The single step bit is set in the SPU when the current process is being single-stepped via ptrace. The spu then stops and returns with a specific flag set and the syscall exit code will generate the SIGTRAP. Signed-off-by: Benjamin Herrenschmidt Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 3d5134ee8341bffc4f539049abb9e90d469b448d Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:36 2007 +1000 [POWERPC] Rewrite IO allocation & mapping on powerpc64 This rewrites pretty much from scratch the handling of MMIO and PIO space allocations on powerpc64. The main goals are: - Get rid of imalloc and use more common code where possible - Simplify the current mess so that PIO space is allocated and mapped in a single place for PCI bridges - Handle allocation constraints of PIO for all bridges including hot plugged ones within the 2GB space reserved for IO ports, so that devices on hotplugged busses will now work with drivers that assume IO ports fit in an int. - Cleanup and separate tracking of the ISA space in the reserved low 64K of IO space. No ISA -> Nothing mapped there. I booted a cell blade with IDE on PIO and MMIO and a dual G5 so far, that's it :-) With this patch, all allocations are done using the code in mm/vmalloc.c, though we use the low level __get_vm_area with explicit start/stop constraints in order to manage separate areas for vmalloc/vmap, ioremap, and PCI IOs. This greatly simplifies a lot of things, as you can see in the diffstat of that patch :-) A new pair of functions pcibios_map/unmap_io_space() now replace all of the previous code that used to manipulate PCI IOs space. The allocation is done at mapping time, which is now called from scan_phb's, just before the devices are probed (instead of after, which is by itself a bug fix). The only other caller is the PCI hotplug code for hot adding PCI-PCI bridges (slots). imalloc is gone, as is the "sub-allocation" thing, but I do beleive that hotplug should still work in the sense that the space allocation is always done by the PHB, but if you unmap a child bus of this PHB (which seems to be possible), then the code should properly tear down all the HPTE mappings for that area of the PHB allocated IO space. I now always reserve the first 64K of IO space for the bridge with the ISA bus on it. I have moved the code for tracking ISA in a separate file which should also make it smarter if we ever are capable of hot unplugging or re-plugging an ISA bridge. This should have a side effect on platforms like powermac where VGA IOs will no longer work. This is done on purpose though as they would have worked semi-randomly before. The idea at this point is to isolate drivers that might need to access those and fix them by providing a proper function to obtain an offset to the legacy IOs of a given bus. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c19c03fc749147f565e807fa65f1729066800571 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:35 2007 +1000 [POWERPC] unmap_vm_area becomes unmap_kernel_range for the public This makes unmap_vm_area static and a wrapper around a new exported unmap_kernel_range that takes an explicit range instead of a vm_area struct. This makes it more versatile for code that wants to play with kernel page tables outside of the standard vmalloc area. (One example is some rework of the PowerPC PCI IO space mapping code that depends on that patch and removes some code duplication and horrible abuse of forged struct vm_struct). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3c8c90ab8810a8ebb38a5f1dde2595b750d5adff Author: Linas Vepstas Date: Thu May 24 03:28:01 2007 +1000 [POWERPC] Tweak EEH copyright info Twiddle the copyright notices. Per current guidelines, the use of the (C) or (c) in source code is deprecated. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 6 +++++- arch/powerpc/platforms/pseries/eeh_cache.c | 3 ++- arch/powerpc/platforms/pseries/eeh_driver.c | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) Signed-off-by: Paul Mackerras commit 42253a68a8e794a38ede33566083af8a80948f60 Author: Linas Vepstas Date: Thu May 24 03:23:38 2007 +1000 [POWERPC] Remove dead EEH code Remove some dead code. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Signed-off-by: Paul Mackerras commit 858955bd572f0ca38b258e45c7dd743b9e44b04e Author: Linas Vepstas Date: Thu May 24 03:20:51 2007 +1000 [POWERPC] Show EEH per-device false positives Track and report the number of times we read an all-1s value (0xff, 0xffff or 0xffffffff) from each device which is valid data, not indicating EEH isolation. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 5 +++++ arch/powerpc/platforms/pseries/eeh_sysfs.c | 3 +++ include/asm-powerpc/pci-bridge.h | 1 + 3 files changed, 9 insertions(+) Signed-off-by: Paul Mackerras commit e1d04c9769398ae7df8c7ca2681b25f540b719d5 Author: Linas Vepstas Date: Thu May 24 03:16:46 2007 +1000 [POWERPC] Add EEH sysfs blinkenlights Add sysfs blinkenlights for EEH statistics. Shuffle the eeh_add_device_tree() call so that it appears in the correct sequence. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/Makefile | 2 arch/powerpc/platforms/pseries/eeh.c | 4 + arch/powerpc/platforms/pseries/eeh_cache.c | 2 arch/powerpc/platforms/pseries/eeh_sysfs.c | 84 +++++++++++++++++++++++++++++ arch/powerpc/platforms/pseries/pci_dlpar.c | 7 +- include/asm-powerpc/ppc-pci.h | 3 + 6 files changed, 98 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit c2e221e8b93ea54da85d9b5413a2eff9f4a653f7 Author: Linas Vepstas Date: Wed May 23 04:18:04 2007 +1000 [POWERPC] pseries: asm/pci-bridge.h CONFIG_ minor cleanup Use the correct CONFIG_ option to mark off the EEH bits. Move the EEH bits to the bottom of the struct. The config_space array is used by EEH only; it does not need to be part of the struct for non-pseries machines. Signed-off-by: Linas Vepstas ---- Revised patch, per commments from Michael Ellerman. include/asm-powerpc/pci-bridge.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) Signed-off-by: Paul Mackerras commit 3f1df7a260aded4937e512872f3fbfdb9bc22c82 Author: Jon Tollefson Date: Fri May 18 04:49:22 2007 +1000 [POWERPC] Move common code out of if/else Move common code out of if/else. Signed-off-by: Jon Tollefson ---- hash_native_64.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Signed-off-by: Paul Mackerras commit 31fe5bf66a09c36e95b4c04291249b251b52f2d4 Author: Segher Boessenkool Date: Thu May 17 01:12:16 2007 +1000 [POWERPC] Fix VDSO compile warning Maybe the type should have been char[] instead of __u8[] in the first place, but this will do. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit f341973d9a48b0643b619debd8d9ab1e518ebc34 Author: Anton Blanchard Date: Wed May 16 05:59:06 2007 +1000 [POWERPC] Reserve threadinfo flags for perfmon2 Reserve two TIF flags for perfmon2 and shift them into the low 16 bits so we can use single assembly instructions to create constants based off them. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 3cdf552be228e1ca55f9c53a78f39e8b77d6159c Author: Zhang Rui Date: Wed Jun 13 21:24:02 2007 -0400 ACPI: Discard invalid elements in _PSS package Make sure that the _PSS list is sorted in descending order by typical power dissipation. http://bugzilla.kernel.org/show_bug.cgi?id=7880 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 288e4d838d1e999c0515f85a337cacb2be233071 Author: Dave Kleikamp Date: Wed Jun 13 10:17:50 2007 -0500 JFS: Update print_hex_dump() syntax Signed-off-by: Dave Kleikamp commit d3efbdd6c5e8c823b732df26a355ec931ccab374 Author: Paul Mundt Date: Mon Jun 11 15:57:42 2007 +0900 sh: Fix up the math-emu build. math-emu wasn't converted for the trap_no/errno_code changes, get it building again. Signed-off-by: Paul Mundt commit a1e2833d13db6c2f0456b20338f66c0b248f5367 Author: Paul Mundt Date: Mon Jun 11 15:56:31 2007 +0900 sh: Kill off broken dma page ops. There's no point in keeping these around, they've been broken for some time, and the dmaenging/async_tx framework provides a far more reasonable interface. Signed-off-by: Paul Mundt commit dd9505879c3381e98fc46f74cd8c17f0b23d0cd7 Author: Paul Mundt Date: Mon Jun 11 15:35:34 2007 +0900 fs: hugetlbfs: Disable for shnommu. SH can turn CONFIG_MMU on and off, don't let us get to a state where hugetlbfs/hugetlbpage gets built when building for nommu. Signed-off-by: Paul Mundt commit 9f9a5de4669902f80b6664baeba01595ffce3597 Author: Paul Mundt Date: Mon Jun 11 15:33:44 2007 +0900 sh: Fixup misaligned data for sh2 lockdep. lockdep/irqflags tracing on SH-2 ends up with a misaligned branch, fix it. Signed-off-by: Paul Mundt commit 357d59469c1179c30b8c425aba302346fac3594e Author: Paul Mundt Date: Mon Jun 11 15:32:07 2007 +0900 sh: Tidy up dependencies for SH-2 build. SH-2 can presently get in to some pretty bogus states, so we tidy up the dependencies a bit and get it all building again. This gets us a bit closer to a functional allyesconfig and allmodconfig, though there are still a few things to fix up. Signed-off-by: Paul Mundt commit 54039591cee40ef1f440f1245ed066c3e7d54a9a Author: Yoshihiro Shimoda Date: Mon Jun 11 10:26:56 2007 +0900 sh: Provide a defconfig for R7780MP. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 14bea95b84a3eedfe9e12f576d5f9f63f0f1b6ff Author: Paul Mundt Date: Mon Jun 11 10:18:45 2007 +0900 sh: Compile fix for SH7604 removal. There was a last remaining reference to CPU_SH7604 that broke the build, kill that off too. Signed-off-by: Paul Mundt commit 47d17763e987ebd5e9266fe3d9af3b22a64d27d8 Author: Hans-Christian Egtvedt Date: Fri Jun 8 11:03:01 2007 -0700 [WATCHDOG] at32ap700x-wdt: add iounmap if probe function fails Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit ff73231611127463ee94e72035f6a97f8435b39b Author: Hans-Christian Egtvedt Date: Fri Jun 8 11:01:47 2007 -0700 [WATCHDOG] at32ap700x-wdt: add missing iounmap in _remove Signed-off-by: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 97a2a2ea1ad856d5375fecf689e253adca387602 Author: Andrew Morton Date: Thu Jun 7 16:08:53 2007 -0700 [WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix-2 standard ifdef-reduction trick. Cc: Haavard Skinnemoen Cc: Hans-Christian Egtvedt Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit c37f271320d595f46beb5a0ab7833107f461f6b6 Author: Andrew Morton Date: Thu Jun 7 16:06:43 2007 -0700 [WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix little fiddles. Cc: Haavard Skinnemoen Cc: Hans-Christian Egtvedt Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit a9cb3959ace112295fdb65c99a2928eedba06926 Author: Hans-Christian Egtvedt Date: Thu Jun 7 16:06:41 2007 -0700 [WATCHDOG] Watchdog driver for AT32AP700X devices Add support for the built in watchdog in AT32AP700X devices. Tested on AT32AP7000 and ATSTK1000. Hardware documentation can be found in the AT32AP7000 datasheet. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 072971d7d3e70ddac5c5be3436d929470cc2b3fb Author: Len Brown Date: Sat Jun 9 01:42:00 2007 -0400 ACPI: disable _OSI(Linux) by default In Linux-2.6.22 we expanded the boot parameter osi= so that it can enable and !enable an OSI string. _OSI(Linux) is a special case because we know that there are both systems that require it set, and systems require that it _not_ to be set. In the long term it can't be set, for the same reason _OS(Linux) can't be enabled -- it tends to confuse BIOS that are not properly validated with Linux. Further, the semantics and version information of _OSI(Linux) were never actually defined. The kernel prints out a message if it sees _OSI(Linux) requested, and there is a DMI workaround to invoke "osi=Linux" automatically for existing systems that need it. http://bugzilla.kernel.org/show_bug.cgi?id=7787 Signed-off-by: Len Brown commit 711be60522829beb82807de2867e56513934ebec Author: Robert P. J. Day Date: Fri Jun 8 11:56:31 2007 +0900 sh: Warn against direct inclusion of . Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mundt commit b9601c5e59dd25693345558a301e833741bf5874 Author: Paul Mundt Date: Fri Jun 8 11:55:28 2007 +0900 sh: Kill off dead SH7604 support. This was added during 2.5.x, but was never moved along. This can easily be resurrected if someone has one they wish to work with, but it's not worth keeping around in its current form. Signed-off-by: Paul Mundt commit 33d63bd83bf9aa6b662a376a96b825acba721e8f Author: Paul Mundt Date: Thu Jun 7 11:32:52 2007 +0900 sh: memory hot-add for sparsemem users support. This enables simple hotplug support for sparsemem users. Presently this only permits memory being added in to node 0 on ZONE_NORMAL. Signed-off-by: Paul Mundt commit 05a117847b43d44f336bbf272a1063661431a5e5 Author: Paul Mundt Date: Thu Jun 7 11:29:37 2007 +0900 sh: Fix up cpu to node mapping in sysfs. Currently cpu_to_node() is always 0 in the UP case, though we do want to have the CPU association linked in under sysfs even in the cases where we're only on a single CPU. Fix this up, so we have the cpu0 link on all of the available nodes that don't already have a CPU link of their own. Signed-off-by: Paul Mundt commit 5bbeafca8d5c64b6d9c6653993492d763be0918f Author: Paul Mundt Date: Wed Jun 6 19:05:11 2007 +0900 sh: Fix the SH7722 flatmem build. Signed-off-by: Paul Mundt commit 1300b1b1776475cd94685f5f61b83f84801e08e9 Author: Paul Mundt Date: Wed Jun 6 19:04:22 2007 +0900 sh: Make NUMA depend on sparsemem. The only platforms that are supporting NUMA are doing so via sparsemem, so update the dependency. Signed-off-by: Paul Mundt commit 520588f47f20a6dcaf81655e1da378e5fe6d5015 Author: Paul Mundt Date: Wed Jun 6 17:58:56 2007 +0900 sh: URAM node support for SH7722. This adds the URAM block on SH7722 as a separate node. Sparsemem is required for this, or it can simply be disabled by explicitly selecting a flatmem model. Signed-off-by: Paul Mundt commit b241cb0c885e55839fb0f93c6a4539c5416cc39f Author: Paul Mundt Date: Wed Jun 6 17:52:19 2007 +0900 sh: Support for multiple nodes. This adds basic support for multiple nodes on SH machines. This is primarily useful for boards with many different memory blocks that are otherwise unused (SH7722/SH7785 URAM and so forth). Signed-off-by: Paul Mundt commit 07cbb41b5308b92f29649254ff755e48ea60e24c Author: Paul Mundt Date: Wed Jun 6 12:23:06 2007 +0900 sh: Use asm/sections.h for linker section symbols. Kill off a bunch of externs, and use sections.h instead.. Signed-off-by: Paul Mundt commit 2de212ebd8d5c1a17e40bffcc7e434443105c4b8 Author: Paul Mundt Date: Wed Jun 6 12:09:54 2007 +0900 sh: Fix up max_zone_pfns[] with multiple nodes. Currently using multiple nodes tramples the ZONE_NORMAL max low pfn, tidy up the logic a bit to get it all working as expected. Signed-off-by: Paul Mundt commit cbd2d9d8fcd9d2a46d71d0703a76773c20383c66 Author: Paul Mundt Date: Mon Jun 4 15:46:56 2007 +0900 sh: Default to 4-byte alignment for SLUB objects. Slub currently defaults to 8-byte alignment for the kmalloc and slab minalign values, where 4 will suffice. In the slab case BYTES_PER_WORD == 4 already, so defining the minalign values outright doesn't cause any regressions there either. Signed-off-by: Paul Mundt commit f11b71e6578fbe8e059c51f5d2de223a3804507a Author: Paul Mundt Date: Mon Jun 4 14:37:04 2007 +0900 sh: Wire up mempolicy syscalls. Wire up mbind and get/set_mempolicy() in their reserved places. Signed-off-by: Paul Mundt commit b66d51cb8039cf80b8aa5b157ed055cdea811104 Author: Paul Mundt Date: Fri Jun 1 17:26:13 2007 +0900 sh: Tidy compiler warnings for SH-2A build. Signed-off-by: Paul Mundt commit 6240d92f2f2fb74094b66b3510733fa0a1e2631a Author: Paul Mundt Date: Fri Jun 1 17:25:42 2007 +0900 sh: Wrap CPU tuning through cc-option. Some compilers don't support the explicit CPU tuning, while binutils is still able to handle the special subtype-specific opcodes. Make the CFLAG optional, falling back on the compiler default if nothing better exists. Signed-off-by: Paul Mundt commit fa1ec92e1dcd4fa4be23db24e4c019c0e4194c89 Author: Paul Mundt Date: Fri Jun 1 17:23:14 2007 +0900 sh: Enable IPR-IRQ for SH7206. Signed-off-by: Paul Mundt commit 2826fa61c13716816c7ae658b8f1c5a4a505d8ac Author: Paul Mundt Date: Fri Jun 1 17:04:36 2007 +0900 sh: Mark sparsemem regions present earlier. We have to call in to sparse_memory_present_with_active_regions() earlier in order for sparsemem to be happy. This was being called too late, and was causing troubles with the platforms that needed to enable sparsemem. Signed-off-by: Paul Mundt commit d22d9b3a1d129349518c807e7997922f869e1f48 Author: Paul Mundt Date: Fri Jun 1 14:21:13 2007 +0900 sh: Register multiple nodes in topology_init(). If we have multiple nodes, register these at topology_init() time. Signed-off-by: Paul Mundt commit 91e656aacf52bcd3fbd199462032efec915fb654 Author: Paul Mundt Date: Fri Jun 1 14:19:22 2007 +0900 sh: Allow for bootmem debug support. Handy for debugging bootmem troubles. Signed-off-by: Paul Mundt commit dfbb9042801eaeb4df9015bb86224291a39a0f52 Author: Paul Mundt Date: Wed May 23 17:48:36 2007 +0900 sh: sparsemem support. This implements basic sparsemem support for SH. Presently this only uses static sparsemem, and we still permit explicit selection of flatmem. Those boards that want sparsemem can select it as usual. Signed-off-by: Paul Mundt commit 5900711ad7173b1cf3ee72eb21572e20b263ca0d Author: Paul Mundt Date: Wed May 23 17:40:56 2007 +0900 sh: pfn_valid() depends on flatmem. pfn_valid() is already defined in the sparsemem case, so we only need to define this for CONFIG_FLATMEM. Signed-off-by: Paul Mundt commit 678597be5e116516e9cfa806fc6ea6eb5de77d8f Author: Nobuhiro Iwamatsu Date: Wed May 23 12:56:24 2007 +0900 sh: Add L-BOX RE2 to mach-types. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 3a3c60fc0b4c2e3e6f037f68c84ddd9468b2a196 Author: Takashi YOSHII Date: Wed May 23 12:34:13 2007 +0900 sh: Align .machvec.init section on a 4-byte boundary. .machvec.init can be misaligned with the recent machvec changes, forcibly align it on the boundary that it expects, as before. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 05627486ab7f31ea09d8bb7a83582ca0185dc283 Author: Paul Mundt Date: Tue May 15 16:25:47 2007 +0900 sh: Fix SH-4 CPU selects. Now that select no longer works for selecting the "closest" CPU, we have to explicitly reference the precise sub-type in the few places where it actually matters (presently only setup code and some legacy sh-sci cruft). Signed-off-by: Paul Mundt commit fd8f20e8e2f8f1d9201086bff444c8d35f0a6a45 Author: Paul Mundt Date: Tue May 15 15:38:30 2007 +0900 sh: Rip out special unknown machvec. This kills off the BareCPU board as a "special" machvec, rather, we leave this as a default for when no other vector is available, or when we want to use it in combination with other vectors for testing with generic ops. As sh_mv is copied out anyways (or overloaded when an alternate vector is explicitly selected), this doesn't consume any additional memory. The generic machvec can be forcibly selected with sh_mv=generic, or by not having any other boards enabled. Signed-off-by: Paul Mundt commit 82f81f4784479df17a80caff4a7156da0a2f7dea Author: Paul Mundt Date: Tue May 15 15:19:34 2007 +0900 sh: Kill off machvec aliases. We now throw all of the machvecs in to .machvec.init and either select one on the command line, or copy out the first (and usually only) one to sh_mv. The rest are freed as usual. This gets rid of all of the silly sh_mv aliasing and makes the selection explicit rather than link-order dependent. Signed-off-by: Paul Mundt commit 25f8151bdcdd62c6b879e3669a562c0d329eee4a Author: Paul Mundt Date: Mon May 14 19:12:37 2007 +0900 sh: Get multiple boards in one image working again. This tidies up the build rules and permits multiple boards to be linked in to the same kernel. The earlier Kconfig work ensures that the CPU configuration is consistent across the boards, as this is the only thing that we can't do dynamically. Signed-off-by: Paul Mundt commit ba36197cf4ff68f631bb1b3d4cc442d567279fe3 Author: Paul Mundt Date: Mon May 14 17:48:00 2007 +0900 sh: Fixup cmdline handling from machvec changes. The command line wasn't being saved off properly after the machvec changes went in, fix it up. Signed-off-by: Paul Mundt commit f3d2229852697062d530f19742f0ab792b92873d Author: Paul Mundt Date: Mon May 14 17:29:12 2007 +0900 sh: Rework CPU/board dependencies. This was a big mess, rework the logic a bit so that we constrain to a particular subtype and figure out the board support based on that. This makes building subtype specific kernels supporting multiple boards possible again. Signed-off-by: Paul Mundt commit 882c12c4e1a95e55227f06dbb99eca90f237c018 Author: Paul Mundt Date: Mon May 14 17:26:34 2007 +0900 sh: Shut up SH2-DSP compile warnings. Signed-off-by: Paul Mundt commit 9655ad03af2d232c3b26e7562ab4f8c29b107e49 Author: Paul Mundt Date: Mon May 14 15:59:09 2007 +0900 sh: Fixup machvec support. This fixes up much of the machvec handling, allowing for it to be overloaded on boot. Making practical use of this still requires some Kconfig munging, however. Signed-off-by: Paul Mundt commit e08f457c7c0cc7720f28349f8780ea752c063441 Author: Paul Mundt Date: Mon May 14 12:52:56 2007 +0900 sh: __user annotations for __get/__put_user(). This adds in some more __user annotations. These weren't being handled properly in some of the __get_user and __put_user paths, so tidy those up. Signed-off-by: Paul Mundt commit 7a302a9674593259866de4a9d5ae8edc03dc1934 Author: Paul Mundt Date: Mon May 14 12:50:43 2007 +0900 sh: Split out CPU topology initialization. Split out the CPU topology initialization to a separate file, and switch it to a percpu type, rather than an NR_CPUS array. At the same time, switch to only registering present CPUs, rather than using the possible CPU map. Signed-off-by: Paul Mundt commit bb350d1decd9c48ffaa7f7e263df3056df9f4f21 Author: FUJITA Tomonori Date: Sat May 26 02:28:25 2007 +0900 [SCSI] ib_srp: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Roland Dreier Signed-off-by: James Bottomley commit f0002c4e1fe22d74a43d4ba3379257ee612e2724 Author: FUJITA Tomonori Date: Sat May 26 13:07:28 2007 +0900 [SCSI] mesh: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Paul Mackerras Signed-off-by: James Bottomley commit 209e101bf408a50acc426e32c8252daefacde5b0 Author: Dave Kleikamp Date: Wed Jun 6 16:30:17 2007 -0500 JFS: use print_hex_dump() rather than private dump_mem() function Signed-off-by: Dave Kleikamp commit e8666b2718fdb5bf0ea7c3126f7e292bbbf2946b Author: Joshua Hoblitt Date: Mon May 21 16:47:43 2007 -1000 [CPUFREQ] Kconfig powernow-k8 driver should depend on ACPI P-States driver powernow-k8 really needs to use ACPI to function on SMP systems. The current Kconfig allows us to build kernels which fail mysteriously for some users due to us trying to automatically enable this, and getting it wrong. It's easier to just present this as an option to the user. Signed-off-by: Joshua Hoblitt Signed-off-by: Dave Jones commit 275bc6b7f6429afb8d7a883c2e267547dd899066 Author: Rafał Bilski Date: Tue Jun 5 22:08:50 2007 +0200 [CPUFREQ] Longhaul - Replace ACPI functions with direct I/O Current version of "bm status" bit test works as long as no USB device is in use. When USB device is plugged in ACPI function in this context is always returning 1. Until reboot. Direct I/O is working fine even when many USB devices are connected. Change bm_timeout value to less annoying. 1000 is still much more then worst case observed and it is much better when status bit gets stuck. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit f720e3ba558680cc7dd3995d005bdc8ee2ef46af Author: Dave Kleikamp Date: Wed Jun 6 15:28:35 2007 -0500 JFS: Whitespace cleanup and remove some dead code Signed-off-by: Dave Kleikamp commit 10a29304f496ddef58473e6c53b5e66d9685536d Author: Wim Van Sebroeck Date: Mon Jun 4 19:13:28 2007 +0000 [WATCHDOG] Mixcom Watchdog - CodingStyle clean-up Small clean-up in line with CodingStyle guide-lines. Signed-off-by: Wim Van Sebroeck commit 27c7742e7ae089377f984cde608ba02d1c544a97 Author: Wim Van Sebroeck Date: Mon Jun 4 18:35:41 2007 +0000 [WATCHDOG] Mixcom Watchdog - clean-up printk's Clean-up printk's. Signed-off-by: Wim Van Sebroeck commit 1c067318a2357fffc04e082429f276a8f4075561 Author: Wim Van Sebroeck Date: Mon Jun 4 18:35:41 2007 +0000 [WATCHDOG] Mixcom Watchdog - clean-up printk's Clean-up printk's. Signed-off-by: Wim Van Sebroeck commit 21baf3c7c7fcef5004671f697789aea84854ca45 Author: Wim Van Sebroeck Date: Sun Jun 3 20:46:05 2007 +0000 [WATCHDOG] Mixcom Watchdog - checkcard part 2 Convert the mixcom and flashcom card checks to a single checkcard call by creating a new structure that contains all io-ports and their id's. This is part of the port to the isa watchdog device driver. Signed-off-by: Wim Van Sebroeck commit 4194db10fab1c9595f12b2846b6799417a8db4dd Author: Wim Van Sebroeck Date: Sun Jun 3 19:01:38 2007 +0000 [WATCHDOG] Mixcom Watchdog - checkcard Simplify the mixcomwd_checkcard and flashcom_checkcard functions to one checkcard function as part of the port to an isa watchdog device driver. Signed-off-by: Wim Van Sebroeck commit 63e6e17ead8f918889c63cc361de58a3f71f6115 Author: Wim Van Sebroeck Date: Sun Jun 3 15:39:25 2007 +0000 [WATCHDOG] Mixcom Watchdog - get rid of port offset's Get rid of the port offset's used for the mixcom and flashcom watchdog devices. Signed-off-by: Wim Van Sebroeck commit b10958d338d62a4157005b335799d1466567d59d Author: Wim Van Sebroeck Date: Sun Jun 3 15:22:32 2007 +0000 [WATCHDOG] Mixcom Watchdog - update "Documentation" Robert Radez started cleaning up the mixcomwd driver in 2002. All his changes have been incorporated. Since he owns that credit -> document it correctly. Signed-off-by: Wim Van Sebroeck commit a9e8bb5b60a9f5c10d38aebc13f8a3d2e1ffc0e7 Author: Robert P. J. Day Date: Mon May 28 14:51:29 2007 -0400 [WATCHDOG] Remove the redundant check for pwrite() in EP93XXX watchdog. Remove the redundant check for pwrite(), given that the open() routine already invokes nonseekable_open(). Signed-off-by: Robert P. J. Day Signed-off-by: Wim Van Sebroeck commit 4cf85459e0db0b2ffd6c4112594b695bdbcff10f Author: Robert P. J. Day Date: Mon May 28 14:55:06 2007 -0400 [WATCHDOG] Remove the redundant check for pwrite() in pnx4008 watchdog. Given that the open routine already calls nonseekable_open(), remove the redundant check for pwrite(). Signed-off-by: Robert P. J. Day Signed-off-by: Wim Van Sebroeck commit d8196ed2181b4595eaf464a5bcbddb6c28649a39 Author: Mike Christie Date: Wed May 30 12:57:25 2007 -0500 [SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx), and partial offload (broadcom). To be able to allow each stack or driver or port (virtual or physical) to be able to log into the same target portal we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session. This patch adds the netdev name, which is used by software iscsi when it binds a session to a netdevice using the SO_BINDTODEVICE sock opt. It cannot use HWADDRESS because if someone did vlans then the same netdevice will have the same mac and the initiator,target id will not be unique. Signed-off-by: Mike Christie Cc: Roland Dreier Cc: David C Somayajulu Signed-off-by: James Bottomley commit 2223696192c687f2853e42b7c1e0d3ef002081fd Author: Mike Christie Date: Wed May 30 12:57:24 2007 -0500 [SCSI] iscsi class, qla4xxx, iscsi_tcp: export local address This patch exports the local address for the session. For qla4xxx this is the ip of the hba's port. For software this is the src addr of the socket. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit 4e7aba73f9f6e9fe6d3fa10d3fd63cd4882ba3d0 Author: Mike Christie Date: Wed May 30 12:57:23 2007 -0500 [SCSI] iscsi_tcp: fix fd leak This patch should fix the file descriptor leak problem. A quick look through the kernel shows that users of sockfd_lookup use sockfd_put to release their handle. We were using sock_release which from the comments and code look like it does not release the get() on the file from the lookup. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0ab823db869f1c9454c5b031a9b8f8812ccd0aa7 Author: Mike Christie Date: Wed May 30 12:57:22 2007 -0500 [SCSI] qla4xxx: add iscsi_transport capps for fw capacilities Userspace will want to know what the driver/FW/HW capabilites when it comes to some operations like if the hardware can do discovery or if it can store iscsi info like what target was used for boot. This patch adds some new caps so userspace can tell if the driver supports hardware/fw based sendtargets discovery and if the hardware has some flash which may be holding or can contain some iscsi target info . Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit d1d81c01f4bdd50577d9f89aa4a8e6344f63aa70 Author: Mike Christie Date: Wed May 30 12:57:21 2007 -0500 [SCSI] iscsi_tcp: remove DMA alignment restriction Add a slave_configure function to iSCSI TCP to remove any DMA alignment restriction. This permits the use of direct IO from arbitrary addresses. Signed-off-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit dbdb016d92603619d972082167c10b8c74e605cc Author: Mike Christie Date: Wed May 30 12:57:20 2007 -0500 [SCSI] iscsi_tcp: fix handling of data buffer padding If we got the padding, data and header in different skbs, we were not handling the padding correctly because we attributed it to the data's skb. This resulted in the initiator reading from pad bytes + skb offset instead of the correct offset. If you could not connect with the open solaris target, this will fix the lock up problem you were hitting. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1548271ece9e9312fd5feb41fd58773b56a71d39 Author: Mike Christie Date: Wed May 30 12:57:19 2007 -0500 [SCSI] libiscsi: make can_queue configurable This patch allows us to set can_queue and cmds_per_lun from userspace when we create the session/host. From there we can set it on a per target basis. The patch fully converts iscsi_tcp, but only hooks up ib_iser for cmd_per_lun since it currently has a lots of preallocations based on can_queue. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 77a23c21aaa723f6b0ffc4a701be8c8e5a32346d Author: Mike Christie Date: Wed May 30 12:57:18 2007 -0500 [SCSI] libiscsi: fix iscsi cmdsn allocation The cmdsn allocation and pdu transmit code can race, and we can end up sending a pdu with cmdsn 10 before a pdu with 5. The target will then fail the connection/session. This patch fixes the problem by delaying the cmdsn allocation until we are about to send the pdu. This also removes the xmitmutex. We were using the connection xmitmutex during error handling to handle races with mtask and ctask cleanup and completion. For ctasks we now have nice refcounting and for the mtask, if we hit the case where the mtask timesout and it is floating around somewhere in the driver, we end up dropping the session. And to handle session level cleanup, we use the xmit suspend bit along with scsi_flush_queue and the session lock to make sure that the xmit thread is not possibly transmitting a task while we are trying to kill it. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 4d2fafd17a325b3f4f5f9edb1211bc7f4c311269 Author: Tear Date: Wed May 23 14:12:30 2007 -0700 ACPI: Remove Dell Optiplex GX240 from the ACPI blacklist I have a Dell Optiplex GX240 and when I boot Linux, ACPI gets set up by only acpi=ht. dmesg shows the following line: DELL GX240 detected: force use of acpi=ht Everything seemed to be fine. However, I discovered that everything is not fine. The USB controller works so slowly that copying a few (uncached) 1 megabyte large photos from a USB-enabled digital camera takes many minutes instead of a couple of seconds. I am using Linux 2.6.21.1 on a Debian 4.0 ("Etch") system. I thought that this might be related to ACPI. So I tried to boot with _only_ "acpi=force" appended to the kernel command line. Voila, the USB controller started to work at full speed and copying photos from my digital camera took only seconds. I tested the system with "acpi=force" and could not find anything which did not work. I thought that this might be related to interrupts and APIC as well. (Note that this is APIC, not ACPI.) I tried booting with _only_ "noapic" and "nolapic" appended to the command line. Again, the USB controller started to work at full speed. Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 3f8698d4d3f72252980575fb8d7b4cafeb5dd0a2 Author: Kristen Carlson Accardi Date: Wed May 23 14:12:29 2007 -0700 ACPI: bay: send envp with uevent Make the bay driver send env information on bay events. Upon any bay event, we will send the string "BAY_EVENT=%d" along with the KOBJ_CHANGE, and report the event number. What the event number means will be platform specific. Event 3 is always an eject request, but an insert may be either event 1, or it may be event 0. Event 1 may also be a remove request. It would be best if you check the number of your event with udevmonitor before writing any udev scripts for inserting and removing drive bays. Signed-off-by: Kristen Carlson Accardi Cc: Stephan Berberig Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit ff55a9cebab02403f942121e2f898bb06ecfffbb Author: Len Brown Date: Sat Jun 2 00:15:25 2007 -0400 ACPI: Lindent processor throttling code Signed-off-by: Len Brown commit 01854e697a77a434104b2f7e6d7fd463a978af32 Author: Luming Yu Date: Sat May 26 22:49:58 2007 +0800 ACPI: add ACPI 3.0 _TPC _TSS _PTC throttling support adds _TPC _TSS _PTC -- Throttling Present Capabilities Signed-off-by: Luming Yu Signed-off-by: Len Brown commit 218432c68085d6c2b04df57daaf105d2ffa2aa61 Author: Mike Christie Date: Wed May 30 12:57:17 2007 -0500 [SCSI] iscsi tcp: fix iscsi xmit state machine If iscsi_tcp partially sends a header, it would recalculate the header size and readd the size of the digest (if header digests are used).This would cause us to send sizeof(digest) extra bytes when we sent the rest of the header. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b2c6416736b847b91950bd43cc5153e11a1f83ee Author: Mike Christie Date: Wed May 30 12:57:16 2007 -0500 [SCSI] iscsi class, iscsi_tcp, ib_iser: add sysfs chap file The attached patches add sysfs files for the chap settings to the iscsi transport class, iscsi_tcp and ib_iser. This is needed for software iscsi because there are times when iscsid can die and it will need to reread the values it was using. And it is needed by qla4xxx for basic management opertaions. This patch does not hook in qla4xxx yet, because I am not sure the mbx command to use. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 857ae0bdb72999936a28ce621e38e2e288c485da Author: Mike Christie Date: Wed May 30 12:57:15 2007 -0500 [SCSI] iscsi: Some fixes in preparation for bidirectional support - total_length - Remove shadow of request length from struct iscsi_cmd_task. - change all users to use scsi_cmnd->request_bufflen directly (With bidi we will use scsi-ml API to retrieve in/out length) Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit d473cc7f15f64ab8a90c3d7288ef30f46785d8d5 Author: Mike Christie Date: Wed May 30 12:57:14 2007 -0500 [SCSI] iscsi: Some fixes in preparation for bidirectional support - exp_datasn This patch fixes handling of expected datasn/r2tsn as received from target. It is done according to: T10 rfc3720 section 3.2.2.3. Data Sequencing. . unify expected datasn/r2tsn into one counter . calculate than check expected datasn/r2tsn. On error print a message and fail the request. (TODO use iscsi retransmits) . remove the FIXME ;) . avoid zero length memset Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8ad5781ae9702a8f95cfdf30967752e4297613ee Author: Mike Christie Date: Wed May 30 12:57:13 2007 -0500 [SCSI] iscsi class, qla4xxx, iscsi_tcp, ib_iser: export/set initiator name For iscsi root boot, software iscsi needs to know what the BIOS/OF initiator used for the initiator name so this puts it in sysfs for userspace to be able to pick up. For hw iscsi, it is nice to see what the card is using. This patch adds the new param, and hooks in qla4xxx, iscsi_tcp, and ib_iser. Signed-off-by: Mike Christie Cc: Roland Dreier Cc: David C Somayajulu Signed-off-by: James Bottomley commit 0801c242a33426fddc005c2f559a3d2fa6fca7eb Author: Mike Christie Date: Wed May 30 12:57:12 2007 -0500 [SCSI] libiscsi, iscsi_tcp, ib_iser : add sw iscsi host get/set params helpers iscsid and udev need to key off the hw address being used so add some helpers for iser and iscsi tcp. Also convert them Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 1d9bf13a9cf91f8faf221e98a64dd1157bcf5fa9 Author: Mike Christie Date: Wed May 30 12:57:11 2007 -0500 [SCSI] iscsi class: add iscsi host set param event The iscsi class uses the set_param event to set session and connection params. This patch adds a set_host_param so we can set host level values. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2174a04ee7d8304a270de183fbc58b36dd05b395 Author: Mike Christie Date: Wed May 30 12:57:10 2007 -0500 [SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers We are going to be adding more host level sysfs attrs and set_params, so this patch has them take a scsi_host instead of either a scsi_host or host no. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit aa1e93a2fe0392588220d491454e7752d0fdb251 Author: Mike Christie Date: Wed May 30 12:57:09 2007 -0500 [SCSI] qla4xxx: export mac as hw address Export mac as hw address. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit 1819dc8143eff2a5850af274bcf8bcbc3e73ec76 Author: Mike Christie Date: Wed May 30 12:57:08 2007 -0500 [SCSI] iscsi_transport: export hw address Add hw address sysfs file. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 239a7dc2fea4d079bc3090b5514497a5ced400d3 Author: Mike Christie Date: Wed May 30 12:57:07 2007 -0500 [SCSI] iscsi_transport: Check iscsi interface skb allocation return value Let's not oops when we cannot allocate a skb! Add a check for if alloc_skb fails. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5c9cfeddbb49954b459fda91bf5479f5a0a4e409 Author: Salyzyn, Mark Date: Wed May 30 10:01:14 2007 -0400 [SCSI] aacraid: Changeable queue depth Inspired by Brian King's patch to the ibmvscsi driver. Adds support for a changeable queue depth to the aacraid driver. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 32fbac2256cedee62de5602b1703c15c150a6e14 Author: FUJITA Tomonori Date: Mon May 14 20:13:44 2007 +0900 [SCSI] megaraid: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 155d98f072bbb4ffb5cefc7cecbba06df37699ab Author: FUJITA Tomonori Date: Sat May 26 05:04:08 2007 +0900 [SCSI] megaraid_sas: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 3f6270ef76f2ce5c134615a470685d6c2a66c07e Author: FUJITA Tomonori Date: Mon May 14 20:17:27 2007 +0900 [SCSI] megaraid_old: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 2b14ec787869707843a14164a3ba91930a076031 Author: Christoph Hellwig Date: Thu May 31 20:12:32 2007 +0200 [SCSI] esp: use shost_priv Signed-off-by: Christoph Hellwig Acked-by: David Miller Signed-off-by: James Bottomley commit bcd92c9fbcc679ee95003083056f0441a1f474fa Author: Christoph Hellwig Date: Thu May 31 20:12:26 2007 +0200 [SCSI] introduce shost_priv helper Currently accessing the scsi host private data is rather messy because it comes as an unsigned long that always needs a cast first. This patch introduces a helper that does the cast called shost_priv. It's similar in spirit to netdev_priv for network drivers. This is the first patch introducing the macro, and the second patch in the series will convert esp and it's subdrivers as an example. Further conversion will wait until the helper is in the tree to make patch juggling easier. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 10803de4c18e8e085573fd7153de3e64d4246af5 Author: FUJITA Tomonori Date: Sat May 26 02:08:10 2007 +0900 [SCSI] dpt_i2o: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori ACK. Code inspected. Driver changes NOT unit tested or compile tested. Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 385d70b4e2659ae525a00e46a9f97146949cfc14 Author: FUJITA Tomonori Date: Sat May 26 01:55:38 2007 +0900 [SCSI] qla2xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit b1192d5ebab2f1664295a748b6ee6e89f3b07188 Author: FUJITA Tomonori Date: Thu May 31 15:24:03 2007 +0900 [SCSI] 3w-9xxx: eliminate missed map_single path This removes the remaining unnecessary map_single path Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 6edae708bf77e012d855a7e2c7766f211d234f4f Author: FUJITA Tomonori Date: Mon May 14 20:20:27 2007 +0900 [SCSI] 3w-xxxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Adam Radford Signed-off-by: James Bottomley commit 0debe01d3e26bb692c36c575514a124c29669cdd Author: FUJITA Tomonori Date: Sat May 26 02:33:31 2007 +0900 [SCSI] 3w-9xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Adam Radford Signed-off-by: James Bottomley commit 7a960b76ed1878a208e8bc68fe436b40aaff3ab5 Author: Robert P. J. Day Date: Wed May 23 14:41:40 2007 -0700 [SCSI] gdth: Fix obvious typo "spin_lock_irqrestore()" Fix misspelled "spin_lock_irqrestore" to read "spin_unlock_irqrestore" instead. Presumably, GDTH_RTC doesn't get used a lot. Signed-off-by: Robert P. J. Day Acked-by: Achim Leubner Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 6c4b7e4fdf702136891f802bdf7ad52076594721 Author: David Rientjes Date: Wed May 23 14:41:52 2007 -0700 [SCSI] gdth: fix ambiguous gdthtable definition Labeling a variable as __attribute_used__ is ambiguous: it means __attribute__((unused)) for gcc <3.4 and __attribute__((used)) for gcc >=3.4. There is no such thing as labeling a variable as __attribute__((used)). We assume that we're simply suppressing a warning here if gdthtable[] is declared but unreferenced. Acked-by: Achim Leubner Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 2e91724658d5d6b5f10ad44c8742d7ec1f4833ed Author: FUJITA Tomonori Date: Sat May 26 02:12:48 2007 +0900 [SCSI] nsp32: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: GOTO Masanori Signed-off-by: James Bottomley commit 742d25b819f11dce91b89e6c9ac17402a119f20a Author: Brian King Date: Tue May 29 15:46:14 2007 -0500 [SCSI] ibmvscsi: Changeable queue depth Adds support for a changeable queue depth to ibmvscsi. Signed-off-by: Brian King Signed-off-by: James Bottomley commit d5587d5dcd275338af21627a3e931a77a6c04b8d Author: FUJITA Tomonori Date: Sat May 26 10:01:24 2007 +0900 [SCSI] stex: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley commit 5f7186c841a13abff0bf81ee93754b4f46e19141 Author: FUJITA Tomonori Date: Sat May 26 14:08:20 2007 +0900 [SCSI] qla4xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: David C Somayajulu Signed-off-by: James Bottomley commit 1928d73fac9a38be901dd5c9eb8b18b56ce9e18d Author: FUJITA Tomonori Date: Sat May 26 00:37:15 2007 +0900 [SCSI] fusion: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Eric Moore Signed-off-by: James Bottomley commit 63015bc9333907725f90a1691d0ade44e51cdcbf Author: FUJITA Tomonori Date: Sat May 26 00:26:59 2007 +0900 [SCSI] ipr: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Brian King Signed-off-by: James Bottomley commit ce243823af4fee3ab82e1da6b710fbc5f859ad8c Author: Rafał Bilski Date: Mon May 28 21:58:09 2007 +0200 [CPUFREQ] Longhaul - Remove duplicate multipliers Remove duplicate multipliers in clock_ratio table. On 1,4GHz Nehemiah two frequencies are present twice in table. It isn't fatal, but with voltage scaling enabled each will be set twice. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 73e107d4a156affeed510cf5745177fd893878f1 Author: Rafał Bilski Date: Mon May 28 21:56:19 2007 +0200 [CPUFREQ] Longhaul - Embedded "conservative" Longhaul with voltage scaling enabled works great on Ezra CPU (Longhaul ver. 2). As long as "conservative" governor is used. Both "ondemand" and "userspace" can change voltage from min to max at once. Motherboard unfortunatly turns off when vid difference is big. Longhaul was printing warning message, but it is not enough. Now driver will have "conservative" governor built in and will split bigger changes to smaller ones. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 13424f6514f6444554a103362dd9d31eabbbdc54 Author: Venki Pallipadi Date: Wed May 23 15:42:13 2007 -0700 [CPUFREQ] acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR During recent acpi-cpufreq changes, writing to PERF_CTL msr changed from RMW of entire 64 bit to RMW of low 32 bit and clearing of upper 32 bit. Fix it back to do a proper RMW of the MSR. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 Author: Thomas Renninger Date: Mon May 21 07:20:04 2007 -0500 [CPUFREQ] check return value of sysfs_create_file Eliminate build warning (sysfs_create_file return value must be checked) Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 489dc5cb18932d3cedaef03e84890475db17a843 Author: Rafał Bilski Date: Thu May 17 22:39:02 2007 +0200 [CPUFREQ] Longhaul - Check ACPI "BM DMA in progress" bit It is good idea to wait for PCI bus to become idle before frequency change. Thanks to ACPI it is possible. It makes sense only when northbridge support is in use because it is only case in which we can disable arbiter after check if PCI bus is busy. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 1b11d4ca6d9d7ea3ace9d241e52cc5fe3cfe3d8f Author: Rafał Bilski Date: Thu May 17 22:36:42 2007 +0200 [CPUFREQ] Longhaul - Move old_ratio to correct place Move one line where it should be. After first transition Longhaul will skip frequency transition if destination frequency is already set. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 920dd0fbba1a7aa34c45b73699dcaf092850df51 Author: Rafał Bilski Date: Thu May 17 22:35:29 2007 +0200 [CPUFREQ] Longhaul - VT8237 support Looks like VT8237 has the same bits which VT8235 has. Poke registers if it is found. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 7d5edcc028f1bed2542a96edc2356e484f01ee47 Author: Rafał Bilski Date: Thu May 17 22:33:46 2007 +0200 [CPUFREQ] Longhaul - Use all kinds of support This patch is removing southbridge support as separate kind of support. Instead it is used to make other kinds of support more stable. Also northbridge and ACPI C3 support both will be used if both are available. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit c13e5566471d90ff2858f5cacaf27021d158e037 Author: FUJITA Tomonori Date: Sat May 26 02:46:37 2007 +0900 [SCSI] libsas: convert to use the data buffer accessors - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Darrick J. Wong Signed-off-by: James Bottomley commit 41ce639a1c50cb936f058f52f99f65740e3f550e Author: FUJITA Tomonori Date: Sat May 26 02:45:17 2007 +0900 [SCSI] cciss: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Mike Miller Signed-off-by: James Bottomley commit fb119935e11b98230f20c500e9f9125ddf0f3a4d Author: Eric Sesterhenn Date: Wed May 23 14:41:36 2007 -0700 [SCSI] sg: remove unnecessary check coverity spotted this (cid #758). All callers dereference sfp, so we dont need this check. In addition to this, we dereference it earlier in the function. Signed-off-by: Eric Sesterhenn Acked-by: Douglas Gilbert Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit deff2627cda995c926788fd9192337ec3febe7b5 Author: FUJITA Tomonori Date: Mon May 14 19:25:56 2007 +0900 [SCSI] arcmsr: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Nick Cheng Signed-off-by: James Bottomley commit 22c1a6600af920f4fef6d5cc51a8f04b58e9db83 Author: FUJITA Tomonori Date: Sat May 26 02:03:36 2007 +0900 [SCSI] aic7xxx_old: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Doug Ledford Signed-off-by: James Bottomley commit 85289f2efa108d1586a86d0c426ffc9d641bbdc2 Author: FUJITA Tomonori Date: Sat May 26 02:41:54 2007 +0900 [SCSI] tmscsim: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 70c8d897763e19405a160de729e62a0e727150d2 Author: Adrian Bunk Date: Wed May 23 14:41:35 2007 -0700 [SCSI] advansys: cleanups - remove the unneeded advansys.h - remove the unused advansys_setup() - make needlessly global functions static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: Christoph Hellwig Signed-off-by: James Bottomley commit d7dea2cf80f0c9eea795b4012e4c86205dda9882 Author: FUJITA Tomonori Date: Mon May 14 20:00:04 2007 +0900 [SCSI] sbp2: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: Stefan Richter Signed-off-by: James Bottomley commit 6cad75a61d802c5f4f4299103b8f95aeb3ee9876 Author: Jeff Garzik Date: Sun May 27 08:52:12 2007 -0400 [SCSI] fdomain: fix PCMCIA-related warnings fdomain is one of those drivers that is compiled twice, once for PCMCIA and once for non-PCMCIA. The resultant two-driver setup leaves a bit of dead code and data in the non-PCMCIA case, which gcc complains about. Shuffle ifdefs a bit to eliminate the conditionally-dead code, and the compiler warnings. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 565bae6a4a8f16459e179ebf4421c1291cf88aa5 Author: Christoph Hellwig Date: Fri May 11 16:30:29 2007 +0200 [SCSI] 53c7xx: kill driver It's been more than enough time now to try to get the new m68k drivers into the tree. Let's remove the old ones and we can remerge the new glue once it's ready. Given that there are patches to rename two out of the three drivers in m68k CVS and all of them need a lot of codingstyle love anyway that's probably the better strategy to begin with. Signed-off-by: Christoph Hellwig Cc: Geert Uytterhoeven Cc: Kars de Jong Cc: linux-m68k@vger.kernel.org Signed-off-by: James Bottomley commit ddc914c741c1374dbb5fa288b5e283060c2a8488 Author: FUJITA Tomonori Date: Mon May 14 15:43:56 2007 +0900 [SCSI] BusLogic: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit bc1ebfba1a3a27122462fd342d11216e3faea53f Author: FUJITA Tomonori Date: Mon May 14 19:24:01 2007 +0900 [SCSI] qlogicfas408: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit fea97f9ab26a17c29eadc102c04b88776d6262d4 Author: FUJITA Tomonori Date: Mon May 14 19:24:58 2007 +0900 [SCSI] u14-34f: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit d17867135639bec1bce5b38d29e6fa4cfea050ea Author: FUJITA Tomonori Date: Mon May 14 19:26:29 2007 +0900 [SCSI] ultrastor: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e7d6cf55ea47684b704d67a6046044c29bad4824 Author: FUJITA Tomonori Date: Mon May 14 19:27:06 2007 +0900 [SCSI] wd7000: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 58e2a02eb18393e76a469580fedf7caec190eb5e Author: FUJITA Tomonori Date: Mon May 14 20:21:16 2007 +0900 [SCSI] eata: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a258c85d0866d93b0c76e60fe236b6483a0d5680 Author: FUJITA Tomonori Date: Mon May 21 14:58:30 2007 +0900 [SCSI] initio: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c66cc13c16377d177d8887f15a3cc42ab3866f57 Author: FUJITA Tomonori Date: Mon May 14 20:26:06 2007 +0900 [SCSI] aha1740: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 985c0a7277760512c65bda2eb12c1c7213233eeb Author: FUJITA Tomonori Date: Mon May 14 20:26:37 2007 +0900 [SCSI] a100u2w: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e1eaf460098e4fd168908af4e6951f921951e916 Author: FUJITA Tomonori Date: Mon May 14 20:27:00 2007 +0900 [SCSI] fdomain: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 9482ef855ef42acb8259f95296b1e93bfb474e74 Author: FUJITA Tomonori Date: Wed May 16 05:34:05 2007 +0900 [SCSI] sym53c500_cs: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 772a5c3f3bbc7749971a3dd4ff35cd77a9e12201 Author: FUJITA Tomonori Date: Wed May 16 06:44:34 2007 +0900 [SCSI] sym53c416: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 03cde46b6bd74672bcb88a2f155aa3e3b6ff4fa1 Author: FUJITA Tomonori Date: Wed May 16 07:01:23 2007 +0900 [SCSI] NCR53c406a: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 646158c203ae8e76a44bb38634fc82f2da041824 Author: FUJITA Tomonori Date: Sat May 26 12:46:30 2007 +0900 [SCSI] mac53c94: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 5f60ef6ac7b6338ec9e82a0900185d554f476243 Author: FUJITA Tomonori Date: Mon May 21 15:10:00 2007 +0900 [SCSI] ibmmca: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4c688fc7df61874997be4588c889e2248c4ca195 Author: FUJITA Tomonori Date: Sat May 26 02:02:34 2007 +0900 [SCSI] aic79xx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3a57c4a5aaee8d9d61b05d95d96f3fc4068b0518 Author: FUJITA Tomonori Date: Sat May 26 01:55:14 2007 +0900 [SCSI] aic7xxx: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3258a4d5690880a62121553b604893ecaca7d042 Author: FUJITA Tomonori Date: Mon May 14 19:12:55 2007 +0900 [SCSI] 53c700: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 824d7b570b4dec49e868c251d670941b02a1e489 Author: FUJITA Tomonori Date: Sat May 26 14:04:03 2007 +0900 [SCSI] scsi_lib: add scatter/gather data buffer accessors This adds a set of accessors for the scsi data buffer. This is in preparation for chaining sg lists and bidirectional requests (and possibly, the mid-layer dma mapping). Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 9ef3e4a4527e1f65b8776287c6d4fd1fca5ba98f Author: James Smart Date: Thu May 24 19:04:44 2007 -0400 [SCSI] fc_transport: fix sysfs deadlock on vport delete When the vport attribute "delete" is used to delete the vport, sysfs deadlocks waiting for the write to complete, which is waiting for the sysfs teardown to complete. Moved this effort to a work_q element. Took the opportunity to make some other cosmetic changes: - removed tabs in Doc file - replaced with expanded spaces - minor copyright text and author text updates - removed a bunch of trailing whitespace Signed-off-by: James Smart Signed-off-by: James Bottomley commit bee4fe8e63ea1985f3955323dbc98b6d6bd5c6f8 Author: David C Somayajulu Date: Wed May 23 18:03:32 2007 -0700 [SCSI] qla4xxx: ql4_os.c bugfixes Free memory resources after invoking free_irq() in qla4xxx_free_adapter(). QLA4xxx has two pci functions per port (Ethernet and iSCSI). When one of these PCI functions issues a HBA reset, all other functions are notified and need to acknowledge and re-initialize. During module qla4xxx_remove_adapter() gets invoked. This function needs to wait if it is currently responding to a reset from another function. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c0e344c9b7971996e4fe409d7b8ba9ceb7b7583d Author: David C Somayajulu Date: Wed May 23 18:03:27 2007 -0700 [SCSI] qla4xxx: ql4_mbx.c remove dead code bugfixes All all inbound mbx registers for all mbx commands. Remove dead code. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 401425b1ea005b39dcc544bffea833f338ba84f6 Author: David C Somayajulu Date: Wed May 23 18:03:20 2007 -0700 [SCSI] qla4xxx: ql4_isr.c support for new mbx cmds Add support to log all AENs and service mbx cmd completions for QLA4032 Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e08c182cba87180d7c1e7530dd690a5f6894c412 Author: David C Somayajulu Date: Wed May 23 18:14:34 2007 -0700 [SCSI] qla4xxx: update rev num and misc cleanup Clean up and update version number Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 92b7273608da2c681f54fd36d182a582673ed260 Author: David C Somayajulu Date: Wed May 23 17:55:40 2007 -0700 [SCSI] qla4xxx: ql4_init.c bugfixes In qla4xxx_get_ddb_entry() and qla4xxx_add_device_dynamically() differentiate between a target which has been newly added vs a target which went offline temporarily and is online again. In qla4xxx_build_ddb_list() firmware ddb state needs to be updated by calling qla4xxx_get_ddb_entry(). Fix qla4x00_pci_config() and clean up code. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b2854316574d1fa2f1b85ad336d4a88aee5dd140 Author: David C Somayajulu Date: Wed May 23 17:52:26 2007 -0700 [SCSI] qla4xxx: ql4_fw.h add support for qla4032 Add support for QLA4032 which supports IPv6 Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5c8bfc9449b64b3726262bcaa914eeeafdd47ed3 Author: David C Somayajulu Date: Wed May 23 17:50:55 2007 -0700 [SCSI] qla4xxx: ql4_def.h log all AENs and cleanup Add support for logging all AENs and clean up Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0187106664e1bbc1a17398e6125b8206d6c7079d Author: David C Somayajulu Date: Wed May 23 17:46:00 2007 -0700 [SCSI] qla4xxx: ql4_dbg.c remove dead code Remove dead code Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit de5952e91caf41bd838a787c7b9b6ca2e1292484 Author: Martin Bligh Date: Wed May 23 16:11:46 2007 -0700 [SCSI] megaraid: fix compiler warnings The user ioctl mailbox can only support a 32 bit address for the commands structure. This is fine, since the area it's pointing to is allocated with pci_alloc_consistent(), so it should be physically < 4GB. Thus kill the ptr to u32 conversion warnings on 64 bit. Signed-off-by: Martin J. Bligh Signed-off-by: Andrew Morton Acked-by: "Patro, Sumant" Signed-off-by: James Bottomley commit c6a6c81cfdd0f9b95bf215d1b5626f4dbf1aba7d Author: Adrian Bunk Date: Wed May 23 14:41:46 2007 -0700 [SCSI] ips: remove kernel 2.4 code Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 6a31a8a651c1d671afc2438cbecb3ee3d610fac8 Author: Adrian Bunk Date: Wed May 23 14:41:46 2007 -0700 [SCSI] nsp32: remove kernel 2.4 code Signed-off-by: Adrian Bunk Acked-by: GOTO Masanori Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 702809ce9b1e91400826ec2ff203c06fdad36034 Author: Andrew Morton Date: Wed May 23 14:41:56 2007 -0700 [SCSI] ncr5380 warning fixes squish these: drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:633: warning: 'NCR5380_print_options' defined but not used drivers/scsi/NCR5380.c:708: warning: 'NCR5380_proc_info' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:579: warning: 'NCR5380_probe_irq' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:708: warning: 'notyet_generic_proc_info' defined but not used drivers/scsi/NCR5380.c:708: warning: 'notyet_generic_proc_info' defined but not used Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 476834c25a04025d895f64d42affcd31bfb318cc Author: Jeff Garzik Date: Wed May 23 14:41:44 2007 -0700 [SCSI] aacraid,qla2xxx: use irq_handler_t where appropriate Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 730a646ddfea239aa9f6b732d5c10118f6801bc1 Author: Amol Lad Date: Wed May 23 14:41:37 2007 -0700 [SCSI] NCR5380: Replace yield() with a better alternative Replaced yield() with cond_resched() Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 355dfa1bc8026d185678fed4e409719a595b2d39 Author: James Bottomley Date: Tue May 22 14:43:14 2007 -0500 [SCSI] scsi_error: send the sense buffer down without copying Now that the block submission path correctly bounces, we can simply use the command sense_buffer to send to retrieve sense information and junk the unnecessary page allocation. Signed-off-by: James Bottomley commit a6123f142924a5e21f6d48e6e3c67d9060726caa Author: Bernhard Walle Date: Mon May 21 17:15:26 2007 +0200 [SCSI] sd: remove __GFP_DMA After 821de3a27bf33f11ec878562577c586cd5f83c64, it's not necessary to alloate a DMA buffer any more in sd.c. Signed-off-by: Bernhard Walle Signed-off-by: James Bottomley commit 352e921f0dd42f79652cdb50dd91122d068d7209 Author: Thomas Bogendoerfer Date: Tue May 22 10:13:19 2007 +0200 [SCSI] jazz_esp: converted to use esp_core Use new esp_scsi for JAZZ SCSI host adapter driver Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 72d39fea9017bbb1407620bf89dfe8d1fb658e35 Author: Alan Cox Date: Mon May 21 15:06:43 2007 +0100 [SCSI] initio: Convert into a real Linux driver and update to modern style This is a mix of a grand clean up I did and a reworking of the hotplug support by Christoph. In testing it works as well as the previous code did (that is -quite badly-) but we can now read it and as it settles in actually debug the long standing problems it shares with the old driver. Signed-off-by: Alan Cox From Christoph: removal of the BSD license is also fine with me, but should really get a mention in the changelog aswell. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 9d399cc7feac3faf66768566e04e16c750aad25f Author: Salyzyn, Mark Date: Fri May 18 14:51:34 2007 -0400 [SCSI] aacraid: add support for FUA Back in the beginning of last year we disabled mode page 8 and mode page 3f requests through device quirk bits instead of enhancing the driver to respond to these mode pages because there was no apparent added value. The Firmware that supports the new communication commands supports the ability to force a write around of the adapter cache on a command by command basis. In the attached patch we enable mode page 8 and 3f and spoof the results as needed in order to *convince* the layers above to submit writes with the FUA (Force Unit Attention) bit set if the file system or application requires it, if the Firmware supports the write through, or instead to submit a SYNCHRONIZE_CACHE if the Firmware does not. The added value here is for file systems that benefit from this functionality and for clustering or redundancy scenarios. Caveats: By convince, we are responding with a minimal short 3 byte content mode page 8, with only the data the SCSI layer needs and that we can fill confidently. Applications that require the customarily larger mode page 8 results may be confused by this(?). The FUA, or the SYNCHRONIZE_CACHE only affect the cache on the controller. Our firmware by default ensure that the underlying physical drives of the array have their cache turned off so normally this is not a problem. This attached patch is against current scsi-misc-2.6 and was unit tested on RHEL5. Since this is a feature enhancement, it should not be considered for any current stabilization efforts. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0f06bb34f2dcd0c72aac7777995ef7cb733496e8 Author: Christoph Hellwig Date: Sun May 13 17:52:12 2007 +0200 [SCSI] aha152x: use wait_for_completion_timeout Use wait_for_completion_timeout instead a semaphore + timer. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 1dfcda06a67d6ad6f890dbd1bab84be5f17ef46d Author: Tejun Heo Date: Wed Mar 21 16:05:16 2007 +0900 [SCSI] kill scsi host template suspend/resume With libata converted to use sdev->manage_start_stop for suspend and resume, sht->suspend/resume() has no user left and low level suspend/ressume should be taken care of by low level driver's suspend/resume callbacks (e.g. PCI or PCMCIA driver callbacks). This patch removes sht->suspend/resume() callbacks. This change is suggested by Christoph Hellwig. Signed-off-by: Tejun Heo Cc: Christoph Hellwig Signed-off-by: James Bottomley commit 67b2009ae26ece6a54d0b689827903f53d6d21e6 Author: James Bottomley Date: Thu May 3 11:13:08 2007 -0500 [SCSI] ibmmca: convert to new probing API and fix oopses This is basically a straight conversion. I have one of these things, so I know it works ... my problem is that it has a wierd SCA like connector, so I can't connect anything to it (no cables). However, previously it panic'd in the interrupt, now it completes a bus scan. Signed-off-by: James Bottomley commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff Author: Dave Jones Date: Fri May 18 13:22:28 2007 -0400 [CPUFREQ] powernow-k8: clarify number of cores. Indicate number of processors and cores more cleanly in startup messages. Signed-off-by: Mark Langsdorf Signed-off-by: Dave Jones commit a53eb5e060c0ec7245c8f93b9dcd94afa6041e06 Author: James Smart Date: Fri Apr 27 12:41:09 2007 -0400 [SCSI] FC Transport support for vports based on NPIV This patch provides support for FC virtual ports based on NPIV. For information on the interfaces and design, please read the Documentation/scsi/scsi_fc_transport.txt file enclosed within the patch. The RFC was originally posted here: http://marc.info/?l=linux-scsi&m=117226959918393&w=2 Changes from the initial RFC: - Bug fix: needed a transport_class_unregister() for the vport class - Create a symlink to the vport in the shost device if it is not the parent of the vport. - Made symbolic name writable so it can be set after creation - Made the temporary fc_vport_identifiers struct private to the transport. - Deleted the vport_id field from the vport. I couldn't find any good use for it (and symname is a good replacement). - Made the vport_state and vport_last_state "private" attributes. Added the fc_vport_set_state() helper function to manage state transitions - Updated vport_create() to allow a vport to be created in a disabled state. - Added INITIALIZING and FAILED vport states - Added VPCERR_xxx defines for errors to be returned from vport_create() - Created a Documentation/scsi/scsi_fc_transport.txt file that describes the interfaces and expected LLDD behaviors. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 78490d82129f7331d1366737c8704c1c053221a3 Author: Alexey Starikovskiy Date: Fri May 11 13:18:55 2007 -0400 ACPI: battery: syntax cleanup In response to review comments from Andrew Morton Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1f9767df1346c9ce09d6e51b9f34b851e3d94fad Author: Kristen Carlson Accardi Date: Wed May 9 15:55:53 2007 -0700 ACPI: bay: unsuppress uevents Since platform devices seem to get uevents suppressed by default, manually unsuppress for the bay device since we want to be able to send uevents. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 79a8f70b4b9127eacfc91dd1436c4a7be05e62ab Author: Kristen Carlson Accardi Date: Wed May 9 15:10:22 2007 -0700 ACPI: dock: send envp with uevent Send an env along with our KOBJ_CHANGE uevent so that user space has the option of checking for that to see if a dock or undock has occurred. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 9ef2a9a9f08722998540ed2ff38bccd0c54344c8 Author: Kristen Carlson Accardi Date: Wed May 9 15:09:12 2007 -0700 ACPI: dock: unsuppress uevents Platform devices may not send uevents by default - override the setting so that we can send uevents on dock/undock. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit a0cd35fdca0bb711854edeaf016cec6cdf82eeca Author: Kristen Carlson Accardi Date: Wed May 9 15:08:15 2007 -0700 ACPI: dock: add immediate_undock option Allow the driver to be loaded with an option that will allow userspace to control whether the laptop is ejected immediately when the user presses the button, or only when the syfs undock file is written. if immediate_undock == 1, then when the user presses the undock button, the laptop will send an event to userspace to notify userspace of the undock, but then immediately undock without waiting for userspace. This is the current behavior, and I set this to be the default. if immediate_undock == 0, then when the user presses the undock button, the laptop will send an event to userspace and do nothing. User space can query the "flags" sysfs entry to determine if an undock request has been made by the user (if bit 1 is set). User space will then need to write the undock sysfs entry to complete the undocking process. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 0f6f2804563eee64f0fc7cbcb009b98b6f332af6 Author: Kristen Carlson Accardi Date: Wed May 9 15:07:04 2007 -0700 ACPI: dock: use dynamically allocated platform device Get rid of no release function warnings by switching to dynamically allocating the platform_device and using the platform device release routine in the base driver. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 22fe4c2114e29477ca6738729c074ee8f60d3b73 Author: Chuck Ebbert Date: Wed May 9 15:05:48 2007 -0700 ACPI: dock: fix opps after dock driver fails to initialize The driver tests the dock_station pointer for nonnull to check whether it has initialized properly. But in some cases dock_station will be non-null after being freed when driver init fails. Fix by zeroing the pointer after freeing. Signed-off-by: Chuck Ebbert Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 38ff4ffc039ba5a5878f2dcbb03d87c3a1f02f1b Author: Kristen Carlson Accardi Date: Wed May 9 15:04:24 2007 -0700 ACPI: dock: cleanup the uid patch Make uid sysfs file error path free memory, and cleanup sysfs file when removing driver. Also fix CodingStyle violations. Signed-off-by: Kristen Carlson Accardi Cc: Illya A. Volynets-Evenbakh Signed-off-by: Len Brown commit 23b0f015bf2c050b8b5399430ca64e1b3398cf76 Author: Luming Yu Date: Wed May 9 21:07:05 2007 +0800 ACPI: video: output switch sysfs support Requires CONFIG_VIDEO_OUTPUT_CONTROL and CONFIG_ACPI_VIDEO. After loading output.ko and video.ko, you would have /sys/class/video_output and several device acpi_videoNum there. For example, I got acpi_video0, acpi_video1,acpi_video2,and acpi_video3 under /sys/class/video_output on my T40. I can query the status of output device0 by running " cat /sys/class/video_output/acpi_video0 " The return value is defined in ACPI SPEC B.5.5 _DCS(Return the Status of Output Device). Also you can turn off video1 and turn on video0 by " echo 0 > acpi_video1; echo 0x80000000 > acpi_video0". Please reference ACPI SPEC B.5.7 _DSS for the parameter definition. Please note that it may or may NOT works purely depending on if your vendor providing correct ACPI video extension support in bios. the driver output.ko and video.ko just works like a interface to invoke BIOS. Signed-off-by: Luming Yu Signed-off-by: Len Brown commit 6eedeef73e7fff32eb5fa25178c3c77b1db0ec0f Author: Vladimir Lebedev Date: Sat Apr 21 22:41:48 2007 -0400 process reading battery status hangs http://bugzilla.kernel.org/show_bug.cgi?id=8351 Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit 9ea7d57576f40c6af03c8c9fa7a069f2222b498b Author: Vladimir Lebedev Date: Tue Feb 20 15:48:06 2007 +0300 ACPI: battery: Lindent Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit b6ce4083ed8e2a01a3a59301eabe0fc1e68a8a84 Author: Vladimir Lebedev Date: Tue Feb 20 15:48:06 2007 +0300 ACPI: Cache battery status instead of re-evaluating AML /proc exports _BST in a single file, and _BST is re-evaulated whenever that file is read. Sometimes user-space reads this file frequently, and on some systems _BST takes a long time to evaluate due to a slow EC. Further, when we move to sysfs, the values returned from _BST will be in multiple files, and evaluating _BST for each file read would make matters worse. Here code is added to support caching the results of _BST. A new module parameter "update_time" tells how many seconds the cached _BST should be used before it is re-evaluated. Currently, update_time defaults to 0, and so the existing behaviour of re-evaluating on each read retained. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit a1f0eff21edac1bd87e397f56c4258b9611b5a50 Author: Vladimir Lebedev Date: Tue Feb 20 15:48:06 2007 +0300 ACPI: battery: make internal names consistent with battery "state" Cleanup -- No functional changes. Battery state is currently exported in a proc "state" file. Update associated #defines and routines to be consistent. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown