commit 8a03d9a498eaf02c8a118752050a5154852c13bf Merge: f8abea8... 41d8ca4... Author: Linus Torvalds Date: Fri Feb 16 08:19:44 2007 -0800 Merge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32 * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32: [AVR32] Use per-controller spi_board_info structures [AVR32] Warn, don't BUG if clk_disable is called too many times [AVR32] Make sure all genclocks have a parent [AVR32] Remove unnecessary sys_nfsservctl conditional [AVR32] Wire up the SysV IPC calls properly [AVR32] Define ioremap_nocache, ioport_map and ioport_unmap [AVR32] Fix prototypes for __raw_writesb and friends commit f8abea8f8c24ecdad6d6861bffb912f23f2741cd Merge: ef29498... 1c14cfb... Author: Linus Torvalds Date: Fri Feb 16 08:17:04 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart * master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart: [AGPGART] allow drm populated agp memory types cleanups [AGPGART] intel-agp: Use ARRAY_SIZE macro when appropriate [AGPGART] Add agp-type-to-mask-type method missing from some drivers. [AGPGART] Don't try to remap i810 registers on resume. [AGPGART] Allow drm-populated agp memory types [AGPGART] compat ioctl commit ef29498655b18d2bfd69048e20835d19333981ab Merge: 0187f22... 2b8c0e1... Author: Linus Torvalds Date: Fri Feb 16 08:16:01 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Longhaul - Redo Longhaul ver. 2 [CPUFREQ] EPS - Correct 2nd brand test [CPUFREQ] Longhaul - Separate frequency and voltage transition [CPUFREQ] Longhaul - Models of Nehemiah [CPUFREQ] Whitespace fixup [CPUFREQ] Longhaul - Simplier minmult [CPUFREQ] CPU_FREQ_TABLE shouldn't be a def_tristate [CPUFREQ] ondemand governor use new cpufreq rwsem locking in work callback [CPUFREQ] ondemand governor restructure the work callback [CPUFREQ] Rewrite lock in cpufreq to eliminate cpufreq/hotplug related issues [CPUFREQ] Remove hotplug cpu crap [CPUFREQ] Enhanced PowerSaver driver [CPUFREQ] Longhaul - Add VT8235 support [CPUFREQ] Longhaul - Fix guess_fsb function [CPUFREQ] Longhaul - Remove duplicate tables [CPUFREQ] Longhaul - Introduce Nehemiah C [CPUFREQ] fix cpuinfo_cur_freq for CPU_HW_PSTATE [CPUFREQ] Longhaul - Remove "ignore_latency" option commit 0187f221e96e3436d552c0c7143f183eb82fb658 Author: Ben Dooks Date: Fri Feb 16 01:28:42 2007 -0800 [PATCH] s3c2410fb: fix un-initialised dev field The current driver is not setting the dev field in the private data structure, which can lead to an OOPS if the driver tries to report an error. Signed-off-by: Ben Dooks Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 008983d9669b80ac628b6b09ce4d78e75844b294 Author: Thomas Hisch Date: Fri Feb 16 01:28:41 2007 -0800 [PATCH] ecryptfs: fix forgotten format specifier Add format specifier %d for uid in ecryptfs_printk Signed-off-by: Thomas Hisch Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb95e7ffa50fa2921ef1845a5dcb2fe5b21e83a2 Author: Michael Halcrow Date: Fri Feb 16 01:28:40 2007 -0800 [PATCH] eCryptfs: Reduce stack usage in ecryptfs_generate_key_packet_set() eCryptfs is gobbling a lot of stack in ecryptfs_generate_key_packet_set() because it allocates a temporary memory-hungry ecryptfs_key_record struct. This patch introduces a new kmem_cache for that struct and converts ecryptfs_generate_key_packet_set() to use it. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29dbb3fc8020f025bc38b262ec494e19fd3eac02 Author: NeilBrown Date: Fri Feb 16 01:28:38 2007 -0800 [PATCH] knfsd: stop NFSD writes from being broken into lots of little writes to filesystem When NFSD receives a write request, the data is typically in a number of 1448 byte segments and writev is used to collect them together. Unfortunately, generic_file_buffered_write passes these to the filesystem one at a time, so an e.g. 32K over-write becomes a series of partial-page writes to each page, causing the filesystem to have to pre-read those pages - wasted effort. generic_file_buffered_write handles one segment of the vector at a time as it has to pre-fault in each segment to avoid deadlocks. When writing from kernel-space (and nfsd does) this is not an issue, so generic_file_buffered_write does not need to break and iovec from nfsd into little pieces. This patch avoids the splitting when get_fs is KERNEL_DS as it is from NFSd. This issue was introduced by commit 6527c2bdf1f833cc18e8f42bd97973d583e4aa83 Acked-by: Nick Piggin Cc: Norman Weathers Cc: Vladimir V. Saveliev Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3160a711ef754758e7f85ae371cf900252c1a392 Author: J. Bruce Fields Date: Fri Feb 16 01:28:37 2007 -0800 [PATCH] knfsd: nfsd4: fix handling of directories without default ACLs When setting an ACL that lacks inheritable ACEs on a directory, we should set a default ACL of zero length, not a default ACL with all bits denied. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bec50c47aaf6f1f9247f1860547ab394a0802a4c Author: J. Bruce Fields Date: Fri Feb 16 01:28:36 2007 -0800 [PATCH] knfsd: nfsd4: acls: avoid unnecessary denies We're inserting deny's between some ACEs in order to enforce posix draft acl semantics which prevent permissions from accumulating across entries in an acl. That's fine, but we're doing that by inserting a deny after *every* allow, which is overkill. We shouldn't be adding them in places where they actually make no difference. Also replaced some helper functions for creating acl entries; I prefer just assigning directly to the struct fields--it takes a few more lines, but the field names provide some documentation that I think makes the result easier understand. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f43daf67871d9da5c638994416b4144eac63c992 Author: J. Bruce Fields Date: Fri Feb 16 01:28:34 2007 -0800 [PATCH] knfsd: nfsd4: acls: don't return explicit mask Return just the effective permissions, and forget about the mask. It isn't worth the complexity. WARNING: This breaks backwards compatibility with overly-picky nfsv4->posix acl translation, as may has been included in some patched versions of libacl. To our knowledge no such version was every distributed by anyone outside citi. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34f924274ad8f84c6d86ea9e52b0682347f5701 Author: J. Bruce Fields Date: Fri Feb 16 01:28:34 2007 -0800 [PATCH] knfsd: nfsd4: fix error return on unsupported acl We should be returning ATTRNOTSUPP, not NOTSUPP, when acls are unsupported. Also fix a comment. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4db5fe5dfb3a5b5b550f1acd95ef3de01a3f063 Author: J. Bruce Fields Date: Fri Feb 16 01:28:30 2007 -0800 [PATCH] knfsd: nfsd4: fix memory leak on kmalloc failure in savemem The wrong pointer is being kfree'd in savemem() when defer_free returns with an error. 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 28e05dd8457c7a7fa1c3faac169a95e0ce4b4a12 Author: J. Bruce Fields Date: Fri Feb 16 01:28:30 2007 -0800 [PATCH] knfsd: nfsd4: represent nfsv4 acl with array instead of linked list Simplify the memory management and code a bit by representing acls with an array instead of a linked list. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 575a6290f035b16e3301014d9b176422ec9062bb Author: J. Bruce Fields Date: Fri Feb 16 01:28:29 2007 -0800 [PATCH] knfsd: nfsd4: simplify nfsv4->posix translation The code that splits an incoming nfsv4 ACL into inheritable and effective parts can be combined with the the code that translates each to a posix acl, resulting in simpler code that requires one less pass through the ACL. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bdfa68c5e70b815e85dab0bdd9f48ec103c4002 Author: J. Bruce Fields Date: Fri Feb 16 01:28:28 2007 -0800 [PATCH] knfsd: nfsd4: relax checking of ACL inheritance bits The rfc allows us to be more permissive about the ACL inheritance bits we accept: "If the server supports a single "inherit ACE" flag that applies to both files and directories, the server may reject the request (i.e., requiring the client to set both the file and directory inheritance flags). The server may also accept the request and silently turn on the ACE4_DIRECTORY_INHERIT_ACE flag." Let's take the latter option--the ACL is a complex attribute that could be rejected for a wide variety of reasons, and the protocol gives us little ability to explain the reason for the rejection, so erroring out is a user-unfriendly last resort. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f534a257acfd9dae0a689be64397919907b283ba Author: J. Bruce Fields Date: Fri Feb 16 01:28:27 2007 -0800 [PATCH] knfsd: nfsd4: fix non-terminated string The server name is expected to be a null-terminated string, so we can't pass in the raw client identifier. What's more, the client identifier is just a binary, not necessarily printable, blob. Let's just use the ip address instead. The server name appears to exist just to help debugging by making some printk's more informative. Note that the string is copies into the rpc client structure, so the pointer to the local variable does not outlive the function call. Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5575ddf75ca7e61d6f69b96368e03dd88edd4604 Author: Jan Beulich Date: Fri Feb 16 01:28:26 2007 -0800 [PATCH] small irq management simplification Use mask_ack_irq() where possible. Signed-off-by: Jan Beulich Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 472900b8b02bf3782b06dcf0acdef26811c2b995 Author: Randy Dunlap Date: Fri Feb 16 01:28:25 2007 -0800 [PATCH] IRQ kernel-doc fixes Fix kernel-doc warnings in IRQ management. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7e25f3394ba05a6d64cb2be42c2765fe72ea6b2 Author: Ingo Molnar Date: Fri Feb 16 01:28:24 2007 -0800 [PATCH] genirq: remove IRQ_DISABLED Now that disable_irq() defaults to delayed-disable semantics, the IRQ_DISABLED flag is not needed anymore. Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76d2160147f43f982dfe881404cfde9fd0a9da21 Author: Ingo Molnar Date: Fri Feb 16 01:28:24 2007 -0800 [PATCH] genirq: do not mask interrupts by default Never mask interrupts immediately upon request. Disabling interrupts in high-performance codepaths is rare, and on the other hand this change could recover lost edges (or even other types of lost interrupts) by conservatively only masking interrupts after they happen. (NOTE: with this change the highlevel irq-disable code still soft-disables this IRQ line - and if such an interrupt happens then the IRQ flow handler keeps the IRQ masked.) Mark i8529A controllers as 'never loses an edge'. Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f2ea0837dbc263ce2a2512c4e73c83df68a6a55 Author: Paul E. McKenney Date: Fri Feb 16 01:28:22 2007 -0800 [PATCH] posix timers: RCU optimization for clock_gettime() Use RCU to avoid the need to acquire tasklist_lock in the single-threaded case of clock_gettime(). It still acquires tasklist_lock when for a (potentially multithreaded) process. This change allows realtime applications to frequently monitor CPU consumption of individual tasks, as requested (and now deployed) by some off-list users. This has been in Ingo Molnar's -rt patchset since late 2005 with no problems reported, and tests successfully on 2.6.20-rc6, so I believe that it is long-since ready for mainline adoption. [paulmck@linux.vnet.ibm.com: fix exit()/posix_cpu_clock_get() race spotted by Oleg] Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Cc: Oleg Nesterov Signed-off-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7460ed2844ffad7141e30271c0c3da8336e66014 Author: john stultz Date: Fri Feb 16 01:28:21 2007 -0800 [PATCH] time: x86_64: re-enable vsyscall support for x86_64 Cleanup and re-enable vsyscall gettimeofday using the generic clocksource infrastructure. [akpm@osdl.org: cleanup] Signed-off-by: John Stultz Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1489939f0ab64b96998e04068c516c39afe29654 Author: john stultz Date: Fri Feb 16 01:28:20 2007 -0800 [PATCH] time: x86_64: convert x86_64 to use GENERIC_TIME This patch converts x86_64 to use the GENERIC_TIME infrastructure and adds clocksource structures for both TSC and HPET (ACPI PM is shared w/ i386). [akpm@osdl.org: fix printk timestamps] [akpm@osdl.org: fix printk ckeanups] [akpm@osdl.org: hpet build fix] Signed-off-by: John Stultz Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c37e7bb5d2ce36ef377caabfced0b132bb1bf6a7 Author: john stultz Date: Fri Feb 16 01:28:19 2007 -0800 [PATCH] time: x86_64: split x86_64/kernel/time.c up In preparation for the x86_64 generic time conversion, this patch splits out TSC and HPET related code from arch/x86_64/kernel/time.c into respective hpet.c and tsc.c files. [akpm@osdl.org: fix printk timestamps] [akpm@osdl.org: cleanup] Signed-off-by: John Stultz Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d0c87c3bc49c60ab5bbac401fb1ef37ff10bbe2 Author: john stultz Date: Fri Feb 16 01:28:18 2007 -0800 [PATCH] time: x86_64: hpet_address cleanup In preparation for supporting generic timekeeping, this patch cleans up x86-64's use of vxtime.hpet_address, changing it to just hpet_address as is also used in i386. This is necessary since the vxtime structure will be going away. Signed-off-by: John Stultz Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acc9a9dcdd0dd1d295c2f2ee02c27c761bd63cb1 Author: john stultz Date: Fri Feb 16 01:28:17 2007 -0800 [PATCH] generic: vsyscall-gtod support for GENERIC_TIME Provides generic infrastructure for vsyscall-gtod. [akpm@osdl.org: cleanup] Signed-off-by: John Stultz Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88ad0bf6890505cbd9ca1dbb79944a27b5c8697d Author: Ingo Molnar Date: Fri Feb 16 01:28:16 2007 -0800 [PATCH] Add SysRq-Q to print timer_list debug info Add SysRq-Q to print pending timers and other timer info. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 289f480af87e45f7a6de6ba9b4c061c2e259fe98 Author: Ingo Molnar Date: Fri Feb 16 01:28:15 2007 -0800 [PATCH] Add debugging feature /proc/timer_list add /proc/timer_list, which prints all currently pending (high-res) timers, all clock-event sources and their parameters in a human-readable form. Sample output: Timer List Version: v0.1 HRTIMER_MAX_CLOCK_BASES: 2 now at 4246046273872 nsecs cpu: 0 clock 0: .index: 0 .resolution: 1 nsecs .get_time: ktime_get_real .offset: 1273998312645738432 nsecs active timers: clock 1: .index: 1 .resolution: 1 nsecs .get_time: ktime_get .offset: 0 nsecs active timers: #0: , hrtimer_sched_tick, hrtimer_stop_sched_tick, swapper/0 # expires at 4246432689566 nsecs [in 386415694 nsecs] #1: , hrtimer_wakeup, do_nanosleep, pcscd/2050 # expires at 4247018194689 nsecs [in 971920817 nsecs] #2: , hrtimer_wakeup, do_nanosleep, irqbalance/1909 # expires at 4247351358392 nsecs [in 1305084520 nsecs] #3: , hrtimer_wakeup, do_nanosleep, crond/2157 # expires at 4249097614968 nsecs [in 3051341096 nsecs] #4: , it_real_fn, do_setitimer, syslogd/1888 # expires at 4251329900926 nsecs [in 5283627054 nsecs] .expires_next : 4246432689566 nsecs .hres_active : 1 .check_clocks : 0 .nr_events : 31306 .idle_tick : 4246020791890 nsecs .tick_stopped : 1 .idle_jiffies : 986504 .idle_calls : 40700 .idle_sleeps : 36014 .idle_entrytime : 4246019418883 nsecs .idle_sleeptime : 4178181972709 nsecs cpu: 1 clock 0: .index: 0 .resolution: 1 nsecs .get_time: ktime_get_real .offset: 1273998312645738432 nsecs active timers: clock 1: .index: 1 .resolution: 1 nsecs .get_time: ktime_get .offset: 0 nsecs active timers: #0: , hrtimer_sched_tick, hrtimer_restart_sched_tick, swapper/0 # expires at 4246050084568 nsecs [in 3810696 nsecs] #1: , hrtimer_wakeup, do_nanosleep, atd/2227 # expires at 4261010635003 nsecs [in 14964361131 nsecs] #2: , hrtimer_wakeup, do_nanosleep, smartd/2332 # expires at 5469485798970 nsecs [in 1223439525098 nsecs] .expires_next : 4246050084568 nsecs .hres_active : 1 .check_clocks : 0 .nr_events : 24043 .idle_tick : 4246046084568 nsecs .tick_stopped : 0 .idle_jiffies : 986510 .idle_calls : 26360 .idle_sleeps : 22551 .idle_entrytime : 4246043874339 nsecs .idle_sleeptime : 4170763761184 nsecs tick_broadcast_mask: 00000003 event_broadcast_mask: 00000001 CPU#0's local event device: Clock Event Device: lapic capabilities: 0000000e max_delta_ns: 807385544 min_delta_ns: 1443 mult: 44624025 shift: 32 set_next_event: lapic_next_event set_mode: lapic_timer_setup event_handler: hrtimer_interrupt .installed: 1 .expires: 4246432689566 nsecs CPU#1's local event device: Clock Event Device: lapic capabilities: 0000000e max_delta_ns: 807385544 min_delta_ns: 1443 mult: 44624025 shift: 32 set_next_event: lapic_next_event set_mode: lapic_timer_setup event_handler: hrtimer_interrupt .installed: 1 .expires: 4246050084568 nsecs Clock Event Device: hpet capabilities: 00000007 max_delta_ns: 2147483647 min_delta_ns: 3352 mult: 61496110 shift: 32 set_next_event: hpet_next_event set_mode: hpet_set_mode event_handler: handle_nextevt_broadcast Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82f67cd9fca8c8762c15ba7ed0d5747588c1e221 Author: Ingo Molnar Date: Fri Feb 16 01:28:13 2007 -0800 [PATCH] Add debugging feature /proc/timer_stat Add /proc/timer_stats support: debugging feature to profile timer expiration. Both the starting site, process/PID and the expiration function is captured. This allows the quick identification of timer event sources in a system. Sample output: # echo 1 > /proc/timer_stats # cat /proc/timer_stats Timer Stats Version: v0.1 Sample period: 4.010 s 24, 0 swapper hrtimer_stop_sched_tick (hrtimer_sched_tick) 11, 0 swapper sk_reset_timer (tcp_delack_timer) 6, 0 swapper hrtimer_stop_sched_tick (hrtimer_sched_tick) 2, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) 17, 0 swapper hrtimer_restart_sched_tick (hrtimer_sched_tick) 2, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) 4, 2050 pcscd do_nanosleep (hrtimer_wakeup) 5, 4179 sshd sk_reset_timer (tcp_write_timer) 4, 2248 yum-updatesd schedule_timeout (process_timeout) 18, 0 swapper hrtimer_restart_sched_tick (hrtimer_sched_tick) 3, 0 swapper sk_reset_timer (tcp_delack_timer) 1, 1 swapper neigh_table_init_no_netlink (neigh_periodic_timer) 2, 1 swapper e1000_up (e1000_watchdog) 1, 1 init schedule_timeout (process_timeout) 100 total events, 25.24 events/sec [ cleanups and hrtimers support from Thomas Gleixner ] [bunk@stusta.de: nr_entries can become static] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Cc: Andi Kleen Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bfd9a7a229b5f3d3eda5d7d45c2eebec5b4ba16 Author: Thomas Gleixner Date: Fri Feb 16 01:28:12 2007 -0800 [PATCH] hrtimers: prevent possible itimer DoS Fix potential setitimer DoS with high-res timers by pushing itimer rearm processing to process context. [Fixes from: Ingo Molnar ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54cdfdb47f73b5af3d1ebb0f1e383efbe70fde9e Author: Thomas Gleixner Date: Fri Feb 16 01:28:11 2007 -0800 [PATCH] hrtimers: add high resolution timer support Implement high resolution timers on top of the hrtimers infrastructure and the clockevents / tick-management framework. This provides accurate timers for all hrtimer subsystem users. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d40891e75fc1f646dce57d5d3bd1349a6aaf7a0e Author: Ingo Molnar Date: Fri Feb 16 01:28:10 2007 -0800 [PATCH] i386: enable dynticks in kconfig Enable dynamic ticks selection. Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8b5035b9abd01b52ec6416f0c6bade7e603742c Author: Thomas Gleixner Date: Fri Feb 16 01:28:09 2007 -0800 [PATCH] i386 prepare nmi watchdog for dynticks The NMI watchdog implementation assumes that the local APIC timer interrupt is happening. This assumption is not longer true when high resolution timers and dynamic ticks come into play, as they may switch off the local APIC timer completely. Take the PIT/HPET interrupts into account too, to avoid false positives. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Andi Kleen Cc: Zachary Amsden Cc: "Eric W. Biederman" Cc: Rohit Seth Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 741673473a5b26497d5390f38d478362e27e22ad Author: Ingo Molnar Date: Fri Feb 16 01:28:07 2007 -0800 [PATCH] i386 prepare for dyntick Prepare i386 for dyntick: idle handler callbacks. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d36b49b91065dbfa305c5a66010b3497c741eee0 Author: Thomas Gleixner Date: Fri Feb 16 01:28:06 2007 -0800 [PATCH] i386 rework local apic timer calibration The local apic timer calibration has two problem cases: 1. The calibration is based on readout of the PIT/HPET timer to detect the wrap of the periodic tick. It happens that a box gets stuck in the calibration loop due to a PIT with a broken readout function. 2. CoreDuo boxen show a sporadic PIT runs too slow defect, which results in a wrong lapic calibration. The PIT goes back to normal operation once the lapic timer is switched to periodic mode. Both are existing and unfixed problems in the current upstream kernel and prevent certain laptops and other systems from booting Linux. Rework the code to address both problems: - Make the calibration interrupt driven. This removes the wait_timer_tick magic hackery from lapic.c and time_hpet.c. The clockevents framework allows easy substitution of the global tick event handler for the calibration. This is more accurate than monitoring jiffies. At this point of the boot process, nothing disturbes the interrupt delivery, so the results are very accurate. - Verify the calibration against the PM timer, when available by using the early access function. When the measured calibration period is outside of an one percent window, then the lapic timer calibration is adjusted to the pm timer result. - Verify the calibration by running the lapic timer with the calibration handler. Disable lapic timer in case of deviation. This also removes the "synchronization" of the local apic timer to the global tick. This synchronization never worked, as there is no way to synchronize PIT(HPET) and local APIC timer. The synchronization by waiting for the tick just alignes the local APIC timer for the first events, but later the events drift away due to the different clocks. Removing the "sync" is just randomizing the asynchronous behaviour at setup time. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Zachary Amsden Cc: "Eric W. Biederman" Cc: Rohit Seth Cc: Andi Kleen Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9e2cdb412412326c4827fc78ba27f410d837e6e Author: Thomas Gleixner Date: Fri Feb 16 01:28:04 2007 -0800 [PATCH] clockevents: i386 drivers Add clockevent drivers for i386: lapic (local) and PIT/HPET (global). Update the timer IRQ to call into the PIT/HPET driver's event handler and the lapic-timer IRQ to call into the lapic clockevent driver. The assignement of timer functionality is delegated to the core framework code and replaces the compile and runtime evalution in do_timer_interrupt_hook() Use the clockevents broadcast support and implement the lapic_broadcast function for ACPI. No changes to existing functionality. [ kdump fix from Vivek Goyal ] [ fixes based on review feedback from Arjan van de Ven ] Cleanups-from: Adrian Bunk Build-fixes-from: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79bf2bb335b85db25d27421c798595a2fa2a0e82 Author: Thomas Gleixner Date: Fri Feb 16 01:28:03 2007 -0800 [PATCH] tick-management: dyntick / highres functionality With Ingo Molnar Add functions to provide dynamic ticks and high resolution timers. The code which keeps track of jiffies and handles the long idle periods is shared between tick based and high resolution timer based dynticks. The dyntick functionality can be disabled on the kernel commandline. Provide also the infrastructure to support high resolution timers. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98 Author: Thomas Gleixner Date: Fri Feb 16 01:28:02 2007 -0800 [PATCH] tick-management: broadcast functionality With Ingo Molnar Add broadcast functionality, so per cpu clock event devices can be registered as dummy devices or switched from/to broadcast on demand. The broadcast function distributes the events via the broadcast function of the clock event device. This is primarily designed to replace the switch apic timer to / from IPI in power states, where the apic stops. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 906568c9c668ff994f4078932ec6ae1e3950d1af Author: Thomas Gleixner Date: Fri Feb 16 01:28:01 2007 -0800 [PATCH] tick-management: core functionality With Ingo Molnar The tick-management code is the first user of the clockevents layer. It takes clock event devices from the clock events core and uses them to provide the periodic tick. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d316c57ff6bfad9557462b9100f25c6260d2b774 Author: Thomas Gleixner Date: Fri Feb 16 01:28:00 2007 -0800 [PATCH] clockevents: add core functionality Architectures register their clock event devices, in the clock events core. Users of the clockevents core can get clock event devices for their use. The clockevents core code provides notification mechanisms for various clock related management events. This allows to control the clock event devices without the architectures having to worry about the details of function assignment. This is also a preliminary for high resolution timers and dynamic ticks to allow the core code to control the clock functionality without intrusive changes to the architecture code. [Fixes-by: Ingo Molnar ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Roman Zippel Cc: john stultz Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e05d723f98595b2f4d368f63636a997d98703304 Author: Thomas Gleixner Date: Fri Feb 16 01:27:58 2007 -0800 [PATCH] i386, apic: clean up the APIC code The apic code is quite unstructured and missing a lot of comments. - Restructure the code into helper functions, timer, setup/shutdown, interrupt and power management blocks. - Fixup comments. - Namespace fixups - Inline helpers for version and is_integrated - Combine the ack_bad_irq functions No functional changes. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Zachary Amsden Cc: "Eric W. Biederman" Cc: Rohit Seth Cc: Andi Kleen Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d66bea57e779cd592657cca6e61345ae899b78d9 Author: Thomas Gleixner Date: Fri Feb 16 01:27:57 2007 -0800 [PATCH] Allow early access to the power management timer Allow early access to the power management timer by exposing the verified read function and providing a helper function which checks the pmtmr_ioport variable and returns either the pm timer readout or 0 in case the pm timer is not available. Create a new header file and replace also the ifdef'ed extern definition in arch/i386/kernel/acpi/boot.c This is a preperatory patch for the rework of the local apic timer calibration. No functional changes. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 169a0abbe32813af4904cc1605c0f7ea0534f77b Author: Thomas Gleixner Date: Fri Feb 16 01:27:55 2007 -0800 [PATCH] ACPI keep track of timer broadcasting This is a preperatory patch for highres/dyntick: - replace the big #ifdef ARCH_APICTIMER_STOPS_ON_C3 hackery by functions - remove the double switch in the power verify function (in the worst case we switched ipi to apic and 20usec later apic to ipi) - keep track of the the state which stops local APIC timer Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Len Brown Cc: Cc: Andi Kleen Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3434933b17fa64adddf83059603c61296f6e1ee2 Author: Thomas Gleixner Date: Fri Feb 16 01:27:54 2007 -0800 [PATCH] ACPI: fix missing include for UP apic.h does not get included on UP compiles. That way the APICTIMER_STOPS_ON_C3 is not there and UP boxen have no support for timer broadcasting. This was never noticed, because the lapic timer is only used for profiling on UP. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Roman Zippel Cc: john stultz Cc: Len Brown Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd3629b5e5f03dde6d8a17bb798bcb0ba6c3f579 Author: Thomas Gleixner Date: Fri Feb 16 01:27:53 2007 -0800 [PATCH] hrtimers: move and add documentation Move the initial hrtimers.txt document to the new directory "Documentation/hrtimers" Add design notes for the high resolution timer and dynamic tick functionality. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Roman Zippel Cc: john stultz Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cfb6de7cd7c8f04655c9d23533ca506647beace Author: Thomas Gleixner Date: Fri Feb 16 01:27:52 2007 -0800 [PATCH] hrtimers: clean up callback tracking Reintroduce ktimers feature "optimized away" by the ktimers review process: remove the curr_timer pointer from the cpu-base and use the hrtimer state. No functional changes. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Roman Zippel Cc: john stultz Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 303e967ff90a9d19ad3f8c9028ccbfa7f408fbb3 Author: Thomas Gleixner Date: Fri Feb 16 01:27:51 2007 -0800 [PATCH] hrtimers; add state tracking Reintroduce ktimers feature "optimized away" by the ktimers review process: multiple hrtimer states to enable the running of hrtimers without holding the cpu-base-lock. (The "optimized" rbtree hack carried only 2 states worth of information and we need 4 for high resolution timers and dynamic ticks.) No functional changes. Build-fixes-from: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Roman Zippel Cc: john stultz Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c8aa39d7c445ae2612b6b626f76f077e7a7ab0d Author: Thomas Gleixner Date: Fri Feb 16 01:27:50 2007 -0800 [PATCH] hrtimers: cleanup locking Improve kernel/hrtimers.c locking: use a per-CPU base with a lock to control locking of all clocks belonging to a CPU. This simplifies code that needs to lock all clocks at once. This makes life easier for high-res timers and dyntick. No functional changes. [ optimization change from Andrew Morton ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9cb2e3d7c9178ab75d0942f96abb3abe0369906 Author: Thomas Gleixner Date: Fri Feb 16 01:27:49 2007 -0800 [PATCH] hrtimers: namespace and enum cleanup - hrtimers did not use the hrtimer_restart enum and relied on the implict int representation. Fix the prototypes and the functions using the enums. - Use seperate name spaces for the enumerations - Convert hrtimer_restart macro to inline function - Add comments No functional changes. [akpm@osdl.org: fix input driver] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd064b9b7770d5c7705bf9542950c7bd81c30f98 Author: Thomas Gleixner Date: Fri Feb 16 01:27:47 2007 -0800 [PATCH] Extend next_timer_interrupt() to use a reference jiffie For CONFIG_NO_HZ we need to calculate the next timer wheel event based on a given jiffie value. Extend the existing code to allow the extra 'now' argument. Provide a compability function for the existing implementations to call the function with now == jiffies. (This also solves the racyness of the original code vs. jiffies changing during the iteration.) No functional changes to existing users of this infrastructure. [ remove WARN_ON() that triggered on s390, by Carsten Otte ] [ made new helper static, Adrian Bunk ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cfd68496e53f7be09a3c1358d1d389004217541 Author: Thomas Gleixner Date: Fri Feb 16 01:27:46 2007 -0800 [PATCH] Fix cascade lookup of next_timer_interrupt When searching for the next pending timer in the timer wheel we need to take the cascade into account. The current code has several problems: 1. it looks into the previous cascade 2. it ignores a pending cascade 3. it ignores multiple cascades Change the cascade lookup, so it calculates the array index from the point of the next cascade and always look at the cascade buckets, when the cascade is pending, i.e. gets executed in the next timer softirq. When multiple cascades are pending, then lookup the next buckets too. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dde4b2b5f4ed275250488dabdaf282d9c6e7e2b8 Author: Ingo Molnar Date: Fri Feb 16 01:27:45 2007 -0800 [PATCH] uninline irq_enter() Uninline irq_enter(). [dynticks adds more stuff to it] No functional changes. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07190a08eef3666a8687070226c8d403c1d548b7 Author: Marcelo Tosatti Date: Fri Feb 16 01:27:44 2007 -0800 [PATCH] Mark TSC on GeodeLX reliable The Geode can safely use the TSC for highres, since: 1) Does not support frequency scaling, 2) The TSC _does_ count when the CPU is halted. Furthermore, the Geode supports a mode called "suspension on halt", where Suspend mode (which interacts with the power management states) is entered. TSC counting during suspend mode is controlled by bit 8 of the Bus Controller Configuration Register #0 (thanks Tom!). 3) no SMP :) Check if "RTSC counts during suspension" and remove the requirement for verification, so the clocksource code can safely select it as an timesource for the highres timers subsystem. Signed-off-by: Marcelo Tosatti Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d8b34fdcb384161552d01ee8f34af5ff11f9684 Author: Thomas Gleixner Date: Fri Feb 16 01:27:43 2007 -0800 [PATCH] clocksource: Add verification (watchdog) helper The TSC needs to be verified against another clocksource. Instead of using hardwired assumptions of available hardware, provide a generic verification mechanism. The verification uses the best available clocksource and handles the usability for high resolution timers / dynticks of the clocksource which needs to be verified. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e69f2b1ead2a4c51c12817f18263ff0e59335a6 Author: Thomas Gleixner Date: Fri Feb 16 01:27:42 2007 -0800 [PATCH] clocksource: Remove the update callback The clocksource code allows direct updates of the rating of a given clocksource now. Change TSC unstable tracking to use this interface and remove the update callback. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 877fe38029366c19def24359627db8cc24d9fef6 Author: Thomas Gleixner Date: Fri Feb 16 01:27:40 2007 -0800 [PATCH] clocksource: fixup is_continous changes on MIPS Fixup the is_contionous replacement by a flag field. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Ralf Baechle Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc02d809cc629f4e90b917aa0f9efea85221ccdb Author: Thomas Gleixner Date: Fri Feb 16 01:27:39 2007 -0800 [PATCH] clocksource: fixup is_continous changes on S390 Fixup the is_contionous replacement by a flag field. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Martin Schwidefsky Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2693506c41c20362eefb38005ee34dca7ac8dc71 Author: Thomas Gleixner Date: Fri Feb 16 01:27:38 2007 -0800 [PATCH] clocksource: fixup is_continous changes on AVR32 Fixup the is_contionous replacement by a flag field. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Haavard Skinnemoen Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c66699a749eb0d84c6ebc3aac659e9f71d1aba14 Author: Thomas Gleixner Date: Fri Feb 16 01:27:37 2007 -0800 [PATCH] clocksource: fixup is_continous changes on ARM Fixup the is_contionous replacement by a flag field. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Russell King Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73b08d2aa4245806ef1bdd48463e9a0b045c62cf Author: Thomas Gleixner Date: Fri Feb 16 01:27:36 2007 -0800 [PATCH] clocksource: replace is_continuous by a flag field Using a flag filed allows to encode more than one information into a variable. Preparatory patch for the generic clocksource verification. [mingo@elte.hu: convert vmitime.c to the new clocksource flag] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95492e4646e5de8b43d9a7908d6177fb737b61f0 Author: Ingo Molnar Date: Fri Feb 16 01:27:34 2007 -0800 [PATCH] x86: rewrite SMP TSC sync code make the TSC synchronization code more robust, and unify it between x86_64 and i386. The biggest change is the removal of the 'fix up TSCs' code on x86_64 and i386, in some rare cases it was /causing/ time-warps on SMP systems. The new code only checks for TSC asynchronity - and if it can prove a time-warp (if it can observe the TSC going backwards when going from one CPU to another within a critical section), then the TSC clock-source is turned off. The TSC synchronization-checking code also got moved into a separate file. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92c7e00254b2d0efc1e36ac3e45474ce1871b6b2 Author: Thomas Gleixner Date: Fri Feb 16 01:27:33 2007 -0800 [PATCH] Simplify the registration of clocksources Enqueue clocksources in rating order to make selection of the clocksource easier. Also check the match with an user override at enqueue time. Preparatory patch for the generic clocksource verification. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26a08eb301a2e3fce5a501e3dd26cf3ec46591d7 Author: Thomas Gleixner Date: Fri Feb 16 01:27:32 2007 -0800 [PATCH] i386 Remove useless code in tsc.c The delayed work code in arch/i386/kernel/tsc.c is an unused leftover of the GTOD conversion. Remove it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1d370e167d66b10bca3b602d3740405469383de Author: John Stultz Date: Fri Feb 16 01:27:31 2007 -0800 [PATCH] i386: use GTOD persistent clock support Persistent clock support: do proper timekeeping across suspend/resume, i386 arch support. [bunk@stusta.de: cleanup] Build-fixes-from: Andrew Morton Signed-off-by: John Stultz Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Roman Zippel Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 411187fb05cd11676b0979d9fbf3291db69dbce2 Author: John Stultz Date: Fri Feb 16 01:27:30 2007 -0800 [PATCH] GTOD: persistent clock support Persistent clock support: do proper timekeeping across suspend/resume. [bunk@stusta.de: cleanup] Signed-off-by: John Stultz Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Roman Zippel Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f907c0144496e464bd5ed5a99a51227d63a9c0b Author: Ingo Molnar Date: Fri Feb 16 01:27:29 2007 -0800 [PATCH] Fix timeout overflow with jiffies Prevent timeout overflow if timer ticks are behind jiffies (due to high softirq load or due to dyntick), by limiting the valid timeout range to MAX_LONG/2. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41cf54455da5e5dc847a9733d49ca23b5e7dd59e Author: Ingo Molnar Date: Fri Feb 16 01:27:28 2007 -0800 [PATCH] Fix multiple conversion bugs in msecs_to_jiffies Fix multiple conversion bugs in msecs_to_jiffies(). The main problem is that this condition: if (m > jiffies_to_msecs(MAX_JIFFY_OFFSET)) overflows if HZ is smaller than 1000! This change is user-visible: for HZ=250 SUS-compliant poll()-timeout value of -20 is mistakenly converted to 'immediate timeout'. (The new dyntick code also triggered this, that's how we noticed.) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b9365d753d9870bb6451504c13570b81923228f Author: Ingo Molnar Date: Fri Feb 16 01:27:27 2007 -0800 [PATCH] Uninline jiffies.h functions There are loads of fat functions hidden in jiffies.h. Uninline them. No code changes. [jeremy@goop.org: export fix] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Roman Zippel Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4304ab21513b834c8fe3403927c60c2b81a72d7 Author: john stultz Date: Fri Feb 16 01:27:26 2007 -0800 [PATCH] HZ free ntp Distangle the NTP update from HZ. This is necessary for dynamic tick enabled kernels. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 771ee3b04eaac6184312825eb600b4c598f027a5 Author: Thomas Gleixner Date: Fri Feb 16 01:27:25 2007 -0800 [PATCH] Add a function to handle interrupt affinity setting Provide funtions to: - check, whether an interrupt can set the affinity - pin the interrupt to a given cpu Necessary for the ability to setup clocksources more flexible (e.g. use the different HPET channels per CPU) [akpm@osdl.org: alpha build fix] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 950f4427c2ddc921164088a20f01304cf231437c Author: Thomas Gleixner Date: Fri Feb 16 01:27:24 2007 -0800 [PATCH] Add irq flag to disable balancing for an interrupt Add a flag so we can prevent the irq balancing of an interrupt. Move the bits, so we have room for more :) Necessary for the ability to setup clocksources more flexible (e.g. use the different HPET channels per CPU) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: john stultz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b463fc60730bea6cdd73fec6edc6ec4658d47d37 Author: Andrew Morton Date: Fri Feb 16 01:27:23 2007 -0800 [PATCH] vmi-versus-hrtimers arch/i386/kernel/built-in.o: In function `vmi_stop_hz_timer': : undefined reference to `next_timer_interrupt' If CONFIG_NO_HZ, next_timer_interrupt() doesn't exist (and presumably doesn't make sense). Perhaps VMI shouildn't be playing with timer internals at this level. Cc: Zachary Amsden Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6025a79f5d438bba0186fbb230dc780e876edf2 Author: Adrian Bunk Date: Fri Feb 16 01:27:22 2007 -0800 [PATCH] correct CONFIG_GIGASET_M101 Makefile entry Advanced Mathematics, lesson 1: 101 != 105 ;-) Signed-off-by: Adrian Bunk Acked-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 838e56a11cdb2abaf490eb7879ab021db938d47d Author: Jeff Dike Date: Fri Feb 16 01:27:21 2007 -0800 [PATCH] uml: fix 2.6.20 hang A previous cleanup misused need_poll, which had a fairly broken interface. It implemented a growable array, changing the used elements count itself, but leaving it up to the caller to fill in the actual elements, including the entire array if the array had to be reallocated. This worked because the previous users were switching between two such structures, and the elements were copied from the inactive array to the active array after making sure the active array had enough room. maybe_sigio_broken was made to use need_poll, but it was operating on a single array, so when the buffer was reallocated, the previous contents were lost. This patch makes need_poll implement more sane semantics. It merely assures that the array is of the proper size and that the contents are preserved. It is up to the caller to adjust the used elements count and to ensure that the proper elements are resent. This manifested itself as a hang in 2.6.20 as the uninitialized buffer convinced UML that one of its own file descriptors didn't support SIGIO and needed to be watched by poll in a separate thread. The result was an interrupt flood as control traffic over this descriptor sparked interrupts, which resulted in more control traffic, ad nauseum. Signed-off-by: Jeff Dike Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit beb497ab48b1639282129f7bc18fef311fffff3d Author: Dmitriy Monakhov Date: Fri Feb 16 01:27:18 2007 -0800 [PATCH] __page_symlink retry loop error code fix If prepare_write or commit_write return AOP_TRUNCATED_PAGE we jump to "retry" label and than if find_or_create_page() failed function return incorrect error code. Signed-off-by: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb4d64e78ceab77cf20f7796f74aa10ebe862032 Author: Frederik Deweerdt Date: Fri Feb 16 01:27:15 2007 -0800 [PATCH] pci_iomap_regions() error handling fix It appears that the pcim_iomap_regions() function doesn't get the error handling right. It BUGs early at boot with a backtrace along the lines of: ahci_init pci_register_driver driver_register [...] ahci_init_one pcim_iomap_region pcim_iounmap The following patch allows me to boot. Only the if(mask..) continue; part fixes the problem actually, the gotos where changed so that we don't try to unmap something we couldn't map anyway. Signed-off-by: Frederik Deweerdt Cc: Al Viro Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5de611148c8370cbe50796ca5567ca624b99686 Author: David Brownell Date: Fri Feb 16 01:27:14 2007 -0800 [PATCH] GPIO core documentation Small updates to the GPIO documentation, addressing feedback and fixing a few spelling errors. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41d8ca452f523b9245704c7dd8ef290fa7b78e6b Author: Haavard Skinnemoen Date: Fri Feb 16 13:56:11 2007 +0100 [AVR32] Use per-controller spi_board_info structures Set up one spi_board_info array per controller and pass this to at32_add_device_spi so that it can set up any GPIO pins for chip selects based on this information. Extracted from a patch by David Brownell and adapted slightly. Signed-off-by: Haavard Skinnemoen commit 23cebe2287474720c2eb0673581056cfb285a69f Author: Haavard Skinnemoen Date: Fri Feb 16 13:19:47 2007 +0100 [AVR32] Warn, don't BUG if clk_disable is called too many times Print a helpful warning along with a stack dump if clk_disable is called on a already-disabled clock. Remove the BUG_ON(). Extracted from a patch by David Brownell. Signed-off-by: Haavard Skinnemoen commit 7a5fe2387925405da0319330986184792ce48ad1 Author: Haavard Skinnemoen Date: Fri Feb 16 13:14:33 2007 +0100 [AVR32] Make sure all genclocks have a parent Initialize the parent field of each generic clock by looking at the PM registers. This means that the genclock operations can always assume that the parent field is non-null, so they don't have to check. Also remove a few unnecessary BUG_ON()s. Extracted from a patch by David Brownell. Signed-off-by: Haavard Skinnemoen commit 160f34531a71fdbbdb593a094273711ffb1257d7 Author: Haavard Skinnemoen Date: Thu Feb 15 16:22:17 2007 +0100 [AVR32] Remove unnecessary sys_nfsservctl conditional kernel/sys_ni.c defines sys_nfsservctl as a weak alias for sys_ni_syscall, so it's always safe to include it in the system call table. Signed-off-by: Haavard Skinnemoen commit 1a6f1436d5fdecd4b395815c130df3c834892ab6 Author: Haavard Skinnemoen Date: Thu Feb 15 10:01:11 2007 +0100 [AVR32] Wire up the SysV IPC calls properly Wire up the individual sysvipc system calls and remove sys_ipc. Strictly speaking, this breaks the ABI, but since sys_ipc never worked anyway due to a silly bug, it isn't actually a regression. Signed-off-by: Haavard Skinnemoen commit 2201ec2b10910c869befb012ae75696a02091e7d Author: Haavard Skinnemoen Date: Fri Feb 16 12:53:57 2007 +0100 [AVR32] Define ioremap_nocache, ioport_map and ioport_unmap These are all defined in terms of ioremap/iounmap since port I/O isn't really different from memory-mapped I/O on AVR32. Signed-off-by: Haavard Skinnemoen commit b60f16eb56ff872a86c55c11bcfd430ce8cec340 Author: Haavard Skinnemoen Date: Fri Feb 16 12:47:40 2007 +0100 [AVR32] Fix prototypes for __raw_writesb and friends The first parameter to __raw_writes[bwl] and __raw_reads[bwl] should be a void __iomem *, not unsigned long. Signed-off-by: Haavard Skinnemoen commit 7de970e11fb832a56c897276967fb0e49f59b313 Author: Nate Dailey Date: Thu Feb 15 18:13:46 2007 -0500 sata_vsc: use default cache line size if non-zero This modifies drivers/ata/sata_vsc.c to only set the cache line size to 0x80 if the default value is zero. Apparently zero isn't allowed due to a bug in the chip, but I've found performance is much better with the (non-zero) default instead of 0x80. [note1: "default" means BIOS-programmed value, in this context -jgarzik] [note2: superfluous braces were removed from the patch -jg] Signed-off-by: Nate Dailey Signed-off-by: Jeremy Higdon Signed-off-by: Jeff Garzik commit 5278b50cea851d8264b7b28212a483328650476f Author: Robert Hancock Date: Sun Feb 11 18:36:56 2007 -0600 sata_nv: handle SError status indication ADMA-capable controllers provide a bit in the status register that appears to indicate that the controller detected an SError condition. Update sata_nv to detect this and trigger error handling in order to handle the fault. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 8361cd79f2434d43054be894baf08a74dae5f8c0 Author: Olaf Hering Date: Sat Feb 10 21:36:14 2007 +0100 add delay around sl82c105_reset_engine calls The hald media changed polling does really confuse things. Noone knows why the delays are needed, but they give us access to the CD. An udelay(50) will give reliable access to the drive, but there is still one (or more) EH reset. The drive works without EH resets with udelay(100). Signed-off-by: Olaf Hering Signed-off-by: Jeff Garzik commit 9f271d576a79f74a543c4099a014d8d4eafa737d Author: Zhang, Yanmin Date: Fri Feb 9 11:29:51 2007 +0800 ATA convert GSI to irq on ia64 If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the fixed irq number. On ia64 platform, such numbers are GSI and should be converted to irq vector. Below patch against kernel 2.6.20 fixes it. Signed-off-by: Zhang Yanmin Signed-off-by: Jeff Garzik commit 81afe893181b283f9d182ea8637ce6ccdbe1a56a Author: Tejun Heo Date: Wed Feb 7 12:37:41 2007 -0800 libata: clear TF before IDENTIFYing Some devices chock if Feature is not clear when IDENTIFY is issued. Set ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE for IDENTIFY such that whole TF is cleared when reading ID data. Kudos to Art Haas for testing various futile patches over several months and Mark Lord for pointing out the fix. Signed-off-by: Tejun Heo Cc: Art Haas Cc: Mark Lord Signed-off-by: Jeff Garzik commit f834e49f1a09414e9618ff0c9cd83c2114032bb6 Author: Alan Cox Date: Wed Feb 7 13:46:00 2007 -0800 libata: Add a host flag to indicate lack of IORDY capability This is the first preparation to doing the !IORDY cases properly. Further diffs will then add the needed logic to do it right. Signed-off-by: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 61f216c7196e15e56d97c5a75af01e6684f17fa3 Author: Tejun Heo Date: Mon Feb 5 23:21:19 2007 +0900 libata: fix drive side 80c cable check, take 3 The 80c wire bit is bit 13, not 14. Bit 14 is always 1 if word93 is implemented. This increases the chance of incorrect wire detection especially because host side cable detection is often unreliable and we sometimes soley depend on drive side cable detection. Fix the test and add word93 validity check. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5387373bfe78b7795b96378250f6848f39d78b80 Author: Mikael Pettersson Date: Sun Feb 11 23:19:53 2007 +0100 sata_promise: new EH conversion for 20619 chips, take 2 This patch updates the sata_promise driver to use new-style libata error handling for 20619 (TX4000) chips. sata_promise already uses new EH for the other chips it supports, so the patch is quite simple: * remove ->phy_reset and ->eng_timeout ops from pdc_pata_ops, and instead bind ->freeze, ->thaw, ->error_handler, and ->post_internal_cmd to existing new EH functions * drop ATA_FLAG_SRST from board_20619's flags * remove now unused pdc_pata_phy_reset() and pdc_eng_timeout() Tested on a TX4000 with both modern working disks and old/quirky disks. Also used a CD-RW drive to test reading and writing CDs. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 2fb8b49fb2eac583f0e8dd0ece06f9ad6d8fd792 Author: Mikael Pettersson Date: Wed Feb 7 22:29:56 2007 +0100 sata_promise: fix missing PATA cable detection This patch fixes an oversight which caused sata_promise to not perform cable detection on the TX2plus chips' PATA ports. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit f99c6bb6e2e9c35bd3dc0b1d0faa28bd6970930d Merge: e0a04cf... 9c57548... Author: Linus Torvalds Date: Thu Feb 15 10:01:15 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (35 commits) sh: rts7751r2d board updates. sh: Kill off dead bigsur and ec3104 boards. sh: Fixup r7780rp pata_platform for devres conversion. sh: Revert TLB miss fast-path changes that broke PTEA parts. sh: Compile fix for heartbeat consolidation. sh: heartbeat consolidation for banked LEDs. sh: define dma noncoherent API functions. sh: Missing flush_dcache_all() proto in cacheflush.h. sh: Kill dead/unused ISA code from __ioremap(). sh: Add cpu-features header to asm/Kbuild. sh: Move __KERNEL__ up in asm/page.h. sh: Fix syscall numbering breakage. sh: dcache write-back for R7780RP PIO. sh: Switch to local TLB flush variants in additional callsites. sh: Local TLB flushing variants for SMP prep. sh: Fixup cpu_data references for the non-boot CPUs. sh: Use a per-cpu ASID cache. sh: add SH_CLK_MD Kconfig default. sh: Fixup SHMIN INTC register definitions. sh: SH-DMAC compile fixes ... commit e0a04cffa4e97e1e53625e40e70895c882e8972f Author: Nick Piggin Date: Wed Feb 14 12:39:01 2007 +0100 [PATCH] mincore: vma crossing fix My mincore also forgot about crossing vmas. Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 4a76ef036ac415c28d1adbaf2b7a74040b84d4c2 Author: Nick Piggin Date: Wed Feb 14 12:36:32 2007 +0100 [PATCH] mincore: fill in results properly Paper bag time. Thanks to Randy for noticing that I didn't actually assign 'present' to anything. Unfortunately my original patch passed the few simple test cases I gave it, purely by coincidence. Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 30fcffed8149df18592b3e006b829232b7b3844f Author: Nick Piggin Date: Wed Feb 14 12:35:02 2007 +0100 [PATCH] mincore: CONFIG_SWAP=n fix Fix mincore-anon patch to compile with CONFIG_SWAP=n Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 9c57548f17806ffd8e4dc4f7973ce78bbfbc2079 Author: Paul Mundt Date: Thu Feb 15 18:20:52 2007 +0900 sh: rts7751r2d board updates. This tidies up some of the rts7751r2d mess and gets it booting again. Update the defconfig, too. Signed-off-by: Masayuki Hosokawa Signed-off-by: Paul Mundt commit 2b8c0e13026c30bd154dc521ffc235360830c712 Author: Rafa³ Bilski Date: Wed Feb 14 22:00:37 2007 +0100 [CPUFREQ] Longhaul - Redo Longhaul ver. 2 Start using v2 version of Longhaul when available. It provides voltage scaling and can use ACPI C3 state. That's curious. CPU will not change frequency on ACPI C3 when v1 is in use, but it will when v2 is used. Driver will return max frequency all the time if this isn't true for all processors. There is strange thing with mobile voltage. Looks like only Nehemiah (C3-M) supports it. Earlier processors have different mobile VRM (in docs), but I can't find any which is using it. Looks like all are using VRM 8.5. So fail for non Nehemiah with mobile VRM. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 724339d76d9407cd1a8ad32a9c1fdf64840cc51b Merge: 414f827... ccf2c222... Author: Linus Torvalds Date: Wed Feb 14 09:51:20 2007 -0800 Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa * 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: [ALSA] version 1.0.14rc2 [ALSA] Fix a typo in __dev* changes in portman2x4.c [ALSA] Change AT91 PDC register defines for 2.6.20 kernel [ALSA] SoC codecs - fix Kconfig - depends -> depends on [ALSA] Fix __devinit and __devexit issues with sound drivers [ALSA] hda-codec - Patch for enabling LFE on more Dell laptops [ALSA] hda-codec - More fixes for Conexant HD Audio support [ALSA] usb-audio: add PCR-A PCM support [ALSA] emu10k1: fix typo [ALSA] usbaudio - remove urb->bandwidth reference [ALSA] ac97 - Fix silent output problem with Cx20551 codec [ALSA] hda-codec - Fix Oops with probing sigmatel codec chips commit 414f827c46973ba39320cfb43feb55a0eeb9b4e8 Merge: 86a71db... 126b192... Author: Linus Torvalds Date: Wed Feb 14 09:46:06 2007 -0800 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (94 commits) [PATCH] x86-64: Remove mk_pte_phys() [PATCH] i386: Fix broken CONFIG_COMPAT_VDSO on i386 [PATCH] i386: fix 32-bit ioctls on x64_32 [PATCH] x86: Unify pcspeaker platform device code between i386/x86-64 [PATCH] i386: Remove extern declaration from mm/discontig.c, put in header. [PATCH] i386: Rename cpu_gdt_descr and remove extern declaration from smpboot.c [PATCH] i386: Move mce_disabled to asm/mce.h [PATCH] i386: paravirt unhandled fallthrough [PATCH] x86_64: Wire up compat epoll_pwait [PATCH] x86: Don't require the vDSO for handling a.out signals [PATCH] i386: Fix Cyrix MediaGX detection [PATCH] i386: Fix warning in cpu initialization [PATCH] i386: Fix warning in microcode.c [PATCH] x86: Enable NMI watchdog for AMD Family 0x10 CPUs [PATCH] x86: Add new CPUID bits for AMD Family 10 CPUs in /proc/cpuinfo [PATCH] i386: Remove fastcall in paravirt.[ch] [PATCH] x86-64: Fix wrong gcc check in bitops.h [PATCH] x86-64: survive having no irq mapping for a vector [PATCH] i386: geode configuration fixes [PATCH] i386: add option to show more code in oops reports ... commit 86a71dbd3e81e8870d0f0e56b87875f57e58222b Author: Eric W. Biederman Date: Wed Feb 14 00:34:16 2007 -0800 [PATCH] sysctl: hide the sysctl proc inodes from selinux Since the security checks are applied on each read and write of a sysctl file, just like they are applied when calling sys_sysctl, they are redundant on the standard VFS constructs. Since it is difficult to compute the security labels on the standard VFS constructs we just mark the sysctl inodes in proc private so selinux won't even bother with them. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbaca6c2e7ef0f663bc31be4dad7cf530f6c4962 Author: Stephen Smalley Date: Wed Feb 14 00:34:16 2007 -0800 [PATCH] selinux: enhance selinux to always ignore private inodes Hmmm...turns out to not be quite enough, as the /proc/sys inodes aren't truly private to the fs, so we can run into them in a variety of security hooks beyond just the inode hooks, such as security_file_permission (when reading and writing them via the vfs helpers), security_sb_mount (when mounting other filesystems on directories in proc like binfmt_misc), and deeper within the security module itself (as in flush_unauthorized_files upon inheritance across execve). So I think we have to add an IS_PRIVATE() guard within SELinux, as below. Note however that the use of the private flag here could be confusing, as these inodes are _not_ private to the fs, are exposed to userspace, and security modules must implement the sysctl hook to get any access control over them. Signed-off-by: Eric W. Biederman Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b599fdfdb4bb4941e9076308efcf3bb89e577db5 Author: Eric W. Biederman Date: Wed Feb 14 00:34:15 2007 -0800 [PATCH] sysctl: fix the selinux_sysctl_get_sid I goofed and when reenabling the fine grained selinux labels for sysctls and forgot to add the "/sys" prefix before consulting the policy database. When computing the same path using proc_dir_entries we got the "/sys" for free as it was part of the tree, but it isn't true for clt_table trees. Signed-off-by: Eric W. Biederman Acked-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fbfa98112fc3962c416452a0baf2214381030e6 Author: Eric W. Biederman Date: Wed Feb 14 00:34:14 2007 -0800 [PATCH] sysctl: remove the proc_dir_entry member for the sysctl tables It isn't needed anymore, all of the users are gone, and all of the ctl_table initializers have been converted to use explicit names of the fields they are initializing. [akpm@osdl.org: NTFS fix] Signed-off-by: Eric W. Biederman Acked-by: Stephen Smalley Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d912b0cc1a617d7c590d57b7ea971d50c7f02503 Author: Eric W. Biederman Date: Wed Feb 14 00:34:13 2007 -0800 [PATCH] sysctl: add a parent entry to ctl_table and set the parent entry Add a parent entry into the ctl_table so you can walk the list of parents and find the entire path to a ctl_table entry. Signed-off-by: Eric W. Biederman Cc: Stephen Smalley Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77b14db502cb85a031fe8fde6c85d52f3e0acb63 Author: Eric W. Biederman Date: Wed Feb 14 00:34:12 2007 -0800 [PATCH] sysctl: reimplement the sysctl proc support With this change the sysctl inodes can be cached and nothing needs to be done when removing a sysctl table. For a cost of 2K code we will save about 4K of static tables (when we remove de from ctl_table) and 70K in proc_dir_entries that we will not allocate, or about half that on a 32bit arch. The speed feels about the same, even though we can now cache the sysctl dentries :( We get the core advantage that we don't need to have a 1 to 1 mapping between ctl table entries and proc files. Making it possible to have /proc/sys vary depending on the namespace you are in. The currently merged namespaces don't have an issue here but the network namespace under /proc/sys/net needs to have different directories depending on which network adapters are visible. By simply being a cache different directories being visible depending on who you are is trivial to implement. [akpm@osdl.org: fix uninitialised var] [akpm@osdl.org: fix ARM build] [bunk@stusta.de: make things static] Signed-off-by: Eric W. Biederman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ff007eb8e8c7c44e9a384a67d0fdd0fd06ba811 Author: Eric W. Biederman Date: Wed Feb 14 00:34:11 2007 -0800 [PATCH] sysctl: allow sysctl_perm to be called from outside of sysctl.c Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 805b5d5e063e7fde5e2eb724e3f4cb18e47cab19 Author: Eric W. Biederman Date: Wed Feb 14 00:34:11 2007 -0800 [PATCH] sysctl: factor out sysctl_head_next from do_sysctl The current logic to walk through the list of sysctl table headers is slightly painful and implement in a way it cannot be used by code outside sysctl.c I am in the process of implementing a version of the sysctl proc support that instead of using the proc generic non-caching monster, just uses the existing sysctl data structure as backing store for building the dcache entries and for doing directory reads. To use the existing data structures however I need a way to get at them. [akpm@osdl.org: warning fix] Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b4d414714f0d2f922d39424b0c5c82ad900a381 Author: Eric W. Biederman Date: Wed Feb 14 00:34:09 2007 -0800 [PATCH] sysctl: remove insert_at_head from register_sysctl The semantic effect of insert_at_head is that it would allow new registered sysctl entries to override existing sysctl entries of the same name. Which is pain for caching and the proc interface never implemented. I have done an audit and discovered that none of the current users of register_sysctl care as (excpet for directories) they do not register duplicate sysctl entries. So this patch simply removes the support for overriding existing entries in the sys_sysctl interface since no one uses it or cares and it makes future enhancments harder. Signed-off-by: Eric W. Biederman Acked-by: Ralf Baechle Acked-by: Martin Schwidefsky Cc: Russell King Cc: David Howells Cc: "Luck, Tony" Cc: Ralf Baechle Cc: Paul Mackerras Cc: Martin Schwidefsky Cc: Andi Kleen Cc: Jens Axboe Cc: Corey Minyard Cc: Neil Brown Cc: "John W. Linville" Cc: James Bottomley Cc: Jan Kara Cc: Trond Myklebust Cc: Mark Fasheh Cc: David Chinner Cc: "David S. Miller" Cc: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae836810263509ff7a3c2c021754ce6f66b3fab6 Author: Eric W. Biederman Date: Wed Feb 14 00:34:08 2007 -0800 [PATCH] sysctl: remove support for directory strategy routines parse_table has support for calling a strategy routine when descending into a directory. To date no one has used this functionality and the /proc/sys interface has no analog to it. So no one is using this functionality kill it and make the binary sysctl code easier to follow. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6703ddfcce61ad66db606085a8d42dcab264f840 Author: Eric W. Biederman Date: Wed Feb 14 00:34:07 2007 -0800 [PATCH] sysctl: remove support for CTL_ANY There are currently no users in the kernel for CTL_ANY and it only has effect on the binary interface which is practically unused. So this complicates sysctl lookups for no good reason so just remove it. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2abc26fc6b6f60fc70d6957b842ef4e5f805df7b Author: Eric W. Biederman Date: Wed Feb 14 00:34:07 2007 -0800 [PATCH] sysctl: create sys/fs/binfmt_misc as an ordinary sysctl entry binfmt_misc has a mount point in the middle of the sysctl and that mount point is created as a proc_generic directory. Doing it that way gets in the way of cleaning up the sysctl proc support as it continues the existence of a horrible hack. So instead simply create the directory as an ordinary sysctl directory. At least that removes the magic special case. [akpm@osdl.org: warning fix] Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5494dcd8b92dce64317f2f7dd0d62747c54980b Author: Eric W. Biederman Date: Wed Feb 14 00:34:06 2007 -0800 [PATCH] sysctl: move SYSV IPC sysctls to their own file This is just a simple cleanup to keep kernel/sysctl.c from getting to crowded with special cases, and by keeping all of the ipc logic to together it makes the code a little more readable. [gcoady.lk@gmail.com: build fix] Signed-off-by: Eric W. Biederman Cc: Serge E. Hallyn Cc: Herbert Poetzl Cc: Kirill Korotaev Signed-off-by: Grant Coady Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39732acd968a007036ff3c504f1e6748024ef548 Author: Eric W. Biederman Date: Wed Feb 14 00:33:58 2007 -0800 [PATCH] sysctl: move utsname sysctls to their own file This is just a simple cleanup to keep kernel/sysctl.c from getting to crowded with special cases, and by keeping all of the utsname logic to together it makes the code a little more readable. Signed-off-by: Eric W. Biederman Cc: Serge E. Hallyn Cc: Herbert Poetzl Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b04c3afb2b6e2f902b41bb62b73684d92d7e6c34 Author: Eric W. Biederman Date: Wed Feb 14 00:33:57 2007 -0800 [PATCH] sysctl: move init_irq_proc into init/main where it belongs Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e03036c97b70b2602f7dedaa3a223ed7563c2c9 Author: Eric W. Biederman Date: Wed Feb 14 00:33:57 2007 -0800 [PATCH] sysctl: register the ocfs2 sysctl numbers ocfs2 was did not have the binary number it uses under CTL_FS registered in sysctl.h. Register it to avoid future conflicts, and change the name of the definition to be in line with the rest of the sysctl numbers. Signed-off-by: Eric W. Biederman Acked-by: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ed075e93bad97d0fdbb8a1be62f2449988496cb Author: Eric W. Biederman Date: Wed Feb 14 00:33:56 2007 -0800 [PATCH] sysctl: C99 convert ctl_tables in NTFS and remove sys_sysctl support Putting ntfs-debug under FS_NRINODE was not a kosher thing to do so don't give it any binary number. [akpm@osdl.org: build fix] Signed-off-by: Eric W. Biederman Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd6065b4fdcb64c43e400278ebd0cb56989871c3 Author: Eric W. Biederman Date: Wed Feb 14 00:33:55 2007 -0800 [PATCH] sysctl: C99 convert coda ctl_tables and remove binary sysctls Will converting the coda sysctl initializers I discovered that it is yet another user of sysctl that was stomping CTL_KERN. So off with it's sys_sysctl support since it wasn't done in a supportable way. Signed-off-by: Eric W. Biederman Cc: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2564b7bd9ba4b4bf941b90f1ccd5e2c00e0f83d3 Author: Eric W. Biederman Date: Wed Feb 14 00:33:54 2007 -0800 [PATCH] sysctl: C99 convert ctl_tables in drivers/parport/procfs.c Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59fc5313b37328f850105d5f1caa18f11089c9ba Author: Eric W. Biederman Date: Wed Feb 14 00:33:53 2007 -0800 [PATCH] sysctl: register the sysctl number used by the arlan driver Signed-off-by: Eric W. Biederman Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7735362ac32062725ba08ece014d669b9bede505 Author: Eric W. Biederman Date: Wed Feb 14 00:33:52 2007 -0800 [PATCH] sysctl: remove sys_sysctl support from drivers/char/rtc.c The real time clock driver was using the binary number reserved for cdroms in the sysctl binary number interface, which is a no-no. So since the sysctl binary interface is wrong remove it. Signed-off-by: Eric W. Biederman Cc: Alessandro Zummo Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22943364cffd404e1bba4f097ac21bc74031eba3 Author: Eric W. Biederman Date: Wed Feb 14 00:33:51 2007 -0800 [PATCH] sysctl: remove sys_sysctl support from the hpet timer driver In the binary sysctl interface the hpet driver was claiming to be the cdrom driver. This is a no-no so remove support for the binary interface. Signed-off-by: Eric W. Biederman Acked-by: Clemens Ladisch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c37ce0324962010e768f2570e2603553263ff219 Author: Eric W. Biederman Date: Wed Feb 14 00:33:51 2007 -0800 [PATCH] sysctl: C99 convert ctl_tables in arch/x86_64/mm/init.c Signed-off-by: Eric W. Biederman Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a44d37d8c633cfee145c7276c0777defd964858 Author: Eric W. Biederman Date: Wed Feb 14 00:33:50 2007 -0800 [PATCH] sysctl: C99 convert ctl_tables in arch/x86_64/kernel/vsyscall.c Basically everything was done but I removed all element initializers from the trailing entries to make it clear the entire last entry should be zero filled. Signed-off-by: Eric W. Biederman Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 306421f387ccea0e8eeb04425e674910f100952b Author: Eric W. Biederman Date: Wed Feb 14 00:33:49 2007 -0800 [PATCH] sysctl: C99 convert ctl_tables in arch/x86_64/ia32/ia32_binfmt.c Signed-off-by: Eric W. Biederman Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3854517f3b4cf372d3d5a2a71969c9b26090b7a Author: Eric W. Biederman Date: Wed Feb 14 00:33:49 2007 -0800 [PATCH] sysctl: x86_64: remove unnecessary use of insert_at_head The only sysctl x86_64 provides are not provided elsewhere, so insert_at_head is unnecessary. Signed-off-by: Eric W. Biederman Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3c6449dcdfa023ca45b7ef1f7dce102f34f25ad Author: Eric W. Biederman Date: Wed Feb 14 00:33:48 2007 -0800 [PATCH] sysctl: C99 convert arch/sh64/kernel/traps.c and remove ABI breakage While doing the C99 conversion I notices that the top level sh64 directory was using the binary number for CTL_KERN. That is a no-no so I removed the support for the sysctl binary interface only leaving sysctl /proc support. At least the sysctl tables were placed at the end of the list so user space did not see this mistake. Signed-off-by: Eric W. Biederman Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ded2e9bdfc5ac09f29b9f73fc1b75b1080edef90 Author: Eric W. Biederman Date: Wed Feb 14 00:33:47 2007 -0800 [PATCH] sysctl: C99 convert ctl_tables entries in arch/ppc/kernel/ppc_htab.c And make the mode of the kernel directory 0555 no one is allowed to write to sysctl directories. Signed-off-by: Eric W. Biederman Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f106784eba94a00bbe73be651e423386ebe6d4 Author: Eric W. Biederman Date: Wed Feb 14 00:33:46 2007 -0800 [PATCH] sysctl: C99 convert ctl_tables in arch/powerpc/kernel/idle.c This was partially done already and there was no ABI breakage what a relief. Signed-off-by: Eric W. Biederman Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 481f7337a1316c11b357ab838653f7f9254643be Author: Eric W. Biederman Date: Wed Feb 14 00:33:46 2007 -0800 [PATCH] sysctl: s390: remove unnecessary use of insert_at_head Signed-off-by: Eric W. Biederman Acked-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feceb63ec589380f2125edcb70127e6a635af1cc Author: Eric W. Biederman Date: Wed Feb 14 00:33:45 2007 -0800 [PATCH] sysctl: s390: move sysctl definitions to sysctl.h We need to have the the definition of all top level sysctl directories registers in sysctl.h so we don't conflict by accident and cause abi problems. Signed-off-by: Eric W. Biederman Acked-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d8cb8a1bbd92a77208bdeaa25c3f17f5da9297d Author: Eric W. Biederman Date: Wed Feb 14 00:33:44 2007 -0800 [PATCH] sysctl: C99 convert arch/mips/lasat/sysctl.c and remove ABI breakage While C99 converting the ctl_table initializers I realized that the binary sysctl numbers were in conflict with the binary values under CTL_KERN. Including CTL_KERN KERN_VERSION as used by glibc. So I just removed the sysctl binary interface for these values, as it was unsupportable. Luckily these sysctl were inserted at the end of the sysctl list so this bug was not visible to userspace. Signed-off-by: Eric W. Biederman Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ed744d1e8faed90aa027c08eeed21c4120e623d Author: Eric W. Biederman Date: Wed Feb 14 00:33:43 2007 -0800 [PATCH] sysctl: C99 convert the ctl_tables in arch/mips/au1000/common/power.c Signed-off-by: Eric W. Biederman Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee404566f97f9254433399fbbcfa05390c7c55f7 Author: Eric W. Biederman Date: Wed Feb 14 00:33:43 2007 -0800 [PATCH] sysctl: mips/au1000: remove sys_sysctl support The assignment of binary numbers for sys_sysctl use was in shambles and despite requiring methods. Nothing was implemented on the sys_sysctl side. So this patch gives a mercy killing to the sys_sysctl support for powermanagment on mips/au1000. Signed-off-by: Eric W. Biederman Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e0099011838cc72ae693ef9c549bdd20704512d Author: Eric W. Biederman Date: Wed Feb 14 00:33:42 2007 -0800 [PATCH] sysctl: C99 convert arch/ia64/kernel/perfmon and remove ABI breakage This convters the sysctl ctl_tables to use C99 initializers. While I was looking at it I discovered it was using a portion of the sysctl binary addresses space under CTL_KERN KERN_OSTYPE which was completely inappropriate. So I completely removed all of the sysctl binary names, to remove and avoid the ABI conflict. Signed-off-by: Eric W. Biederman Cc: "Luck, Tony" Cc: Stephane Eranian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68cbf0753681b3f79437f16d2f9a259b9346cf84 Author: Eric W. Biederman Date: Wed Feb 14 00:33:41 2007 -0800 [PATCH] sysctl: C99 Convert arch/ia64/sn/kernel/xpc_main.c Signed-off-by: Eric W. Biederman Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79eec3d3d928e8ea20160c941236f11ecca99071 Author: Eric W. Biederman Date: Wed Feb 14 00:33:40 2007 -0800 [PATCH] sysctl: sn: remove sysctl ABI BREAKAGE By not using the enumeration in sysctl.h (or even understanding it) the SN platform placed their arch specific xpc directory on top of CTL_KERN and only because they didn't have 4 entries in their xpc directory got lucky and didn't break glibc. This is totally irresponsible. So this patch entirely removes sys_sysctl support from their sysctl code. Hopefully they don't have ascii name conflicts as well. And now that they have no ABI numbers add them to the end instead of the sysctl list instead of the head so nothing else will be overridden. Cc: Tony Luck Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 317ed68c01cd936a3651c2eb63c47ef2a1ff54e5 Author: Eric W. Biederman Date: Wed Feb 14 00:33:39 2007 -0800 [PATCH] sysctl: C99 convert arch/frv/kernel/sysctl.c Signed-off-by: Eric W. Biederman Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfd007a667982372bfb05583c17bf5d4124c3c50 Author: Eric W. Biederman Date: Wed Feb 14 00:33:39 2007 -0800 [PATCH] sysctl: C99 convert arch/frv/kernel/pm.c Signed-off-by: Eric W. Biederman Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8d1a1ac160421fda233def89065149ba7b0a00a Author: Eric W. Biederman Date: Wed Feb 14 00:33:38 2007 -0800 [PATCH] sysctl: frv: remove unnecessary insert_at_head flag Since the binary sysctl numbers are unique putting the registered sysctls at the head of the sysctl list where they can override existing sysctls serves no useful purpose. Signed-off-by: Eric W. Biederman Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77f6dfb1295cae6e4cbbb90fc6da88fdf27ee95e Author: Eric W. Biederman Date: Wed Feb 14 00:33:37 2007 -0800 [PATCH] sysctl: move CTL_FRV into sysctl.h where it belongs Signed-off-by: Eric W. Biederman Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit febe1c257901c766a938007ed3710e7d54618756 Author: Eric W. Biederman Date: Wed Feb 14 00:33:37 2007 -0800 [PATCH] sysctl: frv: pm remove unnecessary insert_at_head flag With unique binary numbers setting insert_at_head to insert yourself at the head of sysctl list and thus override existing sysctl entries serves no point. Signed-off-by: Eric W. Biederman Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 462591b8868a18e52494e223d1a8f13311f50104 Author: Eric W. Biederman Date: Wed Feb 14 00:33:36 2007 -0800 [PATCH] sysctl: move CTL_PM into sysctl.h where it belongs Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b998d4f6e559fb8eba8141263b2fddc9556391b Author: Eric W. Biederman Date: Wed Feb 14 00:33:35 2007 -0800 [PATCH] sysctl: cdrom: don't set de->owner There is no need for open files in /proc/sys/XXX to hold a reference count on the module that provides the file to prevent module unload races. While there is code active in the module p->used in the sysctl_table_header is incremented, preventing the sysctl from being unregisted. Once the sysctl is unregistered it cannot be found. Open files are also not a problem as they revalidate the sysctl information and bump p->used before accessing module code. So setting de->owner is unnecessary, makes for a bad example and gets in my way of removing ctl_table->de. Signed-off-by: Eric W. Biederman Acked-by: Jens Axboe Acked-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 208367eeec8d6f6fcee1a0672af2149aeee7b658 Author: Eric W. Biederman Date: Wed Feb 14 00:33:34 2007 -0800 [PATCH] sysctl: cdrom: remove unnecessary insert_at_head flag With unique binary sysctl numbers setting insert_at_head to override other sysctl entries is pointless. Signed-off-by: Eric W. Biederman Acked-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfe1a1e160f89a176efd871e68ef4cb8429bb582 Author: Eric W. Biederman Date: Wed Feb 14 00:33:33 2007 -0800 [PATCH] sysctl: ipmi: remove unnecessary insert_at_head flag With unique sysctl binary numbers setting insert_at_head is pointless. Signed-off-by: Eric W. Biederman Cc: Corey Minyard Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a4b9b6ec175d17f35ace35bf6e7196a51562a00 Author: Eric W. Biederman Date: Wed Feb 14 00:33:32 2007 -0800 [PATCH] sysctl: mac_hid: remove unnecessary insert_at_head flag With unique sysctl binary numbers setting insert_at_head is pointless. Signed-off-by: Eric W. Biederman Cc: Jiri Kosina Cc: Benjamin Herrenschmidt Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff1d28efc56432c57f8e46542b4bb2c290b801ad Author: Eric W. Biederman Date: Wed Feb 14 00:33:32 2007 -0800 [PATCH] sysctl: md: remove unnecessary insert_at_head flag The sysctls used by the md driver are have unique binary numbers so remove the insert_at_head flag as it serves no useful purpose. Signed-off-by: Eric W. Biederman Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01879db3f0f8205e04fbce06062349f258469247 Author: Eric W. Biederman Date: Wed Feb 14 00:33:31 2007 -0800 [PATCH] sysctl: scsi: remove unnecessary insert_at_head flag Signed-off-by: Eric W. Biederman Acked-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04c5acfb2413af1698ac27dca69b4d7233dc7249 Author: Eric W. Biederman Date: Wed Feb 14 00:33:30 2007 -0800 [PATCH] sysctl: atalk: remove unnecessary insert_at_head flag Signed-off-by: Eric W. Biederman Cc: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28522366f0a2dcb2b1d3ef5eebcc65fcd7c2a422 Author: Eric W. Biederman Date: Wed Feb 14 00:33:30 2007 -0800 [PATCH] sysctl: ax25: remove unnecessary insert_at_head flag Signed-off-by: Eric W. Biederman Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7d749fa0a4de0a5445a4f023023f9e702238653 Author: Eric W. Biederman Date: Wed Feb 14 00:33:29 2007 -0800 [PATCH] sysctl: dccp: remove unnecessary insert_at_head flag Signed-off-by: Eric W. Biederman Cc: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d87abf42762ee3e77b118ea96517cf8c7d33abc1 Author: Eric W. Biederman Date: Wed Feb 14 00:33:28 2007 -0800 [PATCH] sysctl: decnet: remove unnecessary insert_at_head flag The sysctl numbers used are unique so setting the insert_at_head flag does not succeed in overriding any sysctls, and is just confusing because it doesn't. Clear the flag. Signed-off-by: Eric W. Biederman Cc: Patrick Caulfield Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecab963ac1aa7d92369564c5dd4ad04ec5853380 Author: Eric W. Biederman Date: Wed Feb 14 00:33:27 2007 -0800 [PATCH] sysctl: ipx: remove unnecessary insert_at_head flag The sysctl numbers used are unique so setting the insert_at_head flag servers no semantic purpose and is just confusing. Signed-off-by: Eric W. Biederman Cc: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fa7b46d73d2849a7234d0967152c39deb4e815f Author: Eric W. Biederman Date: Wed Feb 14 00:33:26 2007 -0800 [PATCH] sysctl: llc: remove unnecessary insert_at_head flag The sysctl numbers used are unique so setting the insert_at_head flag serves no semantis purpose, and is just confusing. Signed-off-by: Eric W. Biederman Cc: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fe6b1755c3d234af076c0d264dc8478acf4510c Author: Eric W. Biederman Date: Wed Feb 14 00:33:26 2007 -0800 [PATCH] sysctl: netrom: remove unnecessary insert_at_head flag The sysctl numbers used are unique so setting the insert_at_head flag serves no semantic purpose, so it is just confusing. Signed-off-by: Eric W. Biederman Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4381dec31865d7882312bef4cb8da2b12621ff Author: Eric W. Biederman Date: Wed Feb 14 00:33:25 2007 -0800 [PATCH] sysctl: rose: remove unnecessary insert_at_head flag The sysctl numbers used are unique so setting the insert_at_head flag serves no semantic purpose. Signed-off-by: Eric W. Biederman Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b1bec5f52fec033ed0026e7d85f641e20e1cbb9 Author: Eric W. Biederman Date: Wed Feb 14 00:33:24 2007 -0800 [PATCH] sysctl: sunrpc: don't unnecessarily set ctl_table->de We don't need this to prevent module unload races so remove the unnecessary code. Signed-off-by: Eric W. Biederman Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e35280e517c28b991667a608990227503dd2a30 Author: Eric W. Biederman Date: Wed Feb 14 00:33:23 2007 -0800 [PATCH] sysctl: sunrpc: remove unnecessary insert_at_head flag Because the sunrpc sysctls don't conflict with any other sysctls the setting the insert at head flag to register_sysctl has no semantic meaning. Signed-off-by: Eric W. Biederman Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50d851f7227cf9e7fcc4cd1d2b3c72ddd64c50e6 Author: Eric W. Biederman Date: Wed Feb 14 00:33:22 2007 -0800 [PATCH] sysctl: move CTL_SUNRPC to sysctl.h where it belongs Signed-off-by: Eric W. Biederman Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b402f06d6e31b8c3c74bfc3e7d2e292dd4a1b90a Author: Eric W. Biederman Date: Wed Feb 14 00:33:21 2007 -0800 [PATCH] sysctl: x25: remove unnecessary insert_at_head from register_sysctl_table There has not been much maintenance on sysctl in years, and as a result is there is a lot to do to allow future interesting work to happen, and being ambitious I'm trying to do it all at once :) The patches in this series fall into several general categories. - Removal of useless attempts to override the standard sysctls - Registers of sysctl numbers in sysctl.h so someone else does not use the magic number and conflict. - C99 conversions so it becomes possible to change the layout of struct ctl_table without breaking everything. - Removal of useless claims of module ownership, in the proc dir entries - Removal of sys_sysctl support where people had used conflicting sysctl numbers. Trying to break glibc or other applications by changing the ABI is not cool. 9 instances of this in the kernel seems a little extreme. - General enhancements when I got the junk I could see out. This patch: Since x25 uses unique binary numbers inserting yourself at the head of the search list for sysctls so you can override already registered sysctls is pointless. Signed-off-by: Eric W. Biederman Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa2e3e4f83590fa4c69fe95f01c1a52557859d19 Author: Andrew Morton Date: Wed Feb 14 00:33:20 2007 -0800 [PATCH] scheduled removal of SA_XXX interrupt flags: ata fix SA_SHIRQ is going away. Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2db6346f76ac5bd5b632373240e3e54828111837 Author: Thomas Gleixner Date: Wed Feb 14 00:33:20 2007 -0800 [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2 The obsolete SA_xxx interrupt flags have been used despite the scheduled removal. Fixup the remaining users in -mm. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38515e908ba3a9c467ad3bf347b9bce69216df94 Author: Thomas Gleixner Date: Wed Feb 14 00:33:16 2007 -0800 [PATCH] Scheduled removal of SA_xxx interrupt flags fixups The obsolete SA_xxx interrupt flags have been used despite the scheduled removal. Fixup the remaining users. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: "Luck, Tony" Cc: Roman Zippel Cc: Geert Uytterhoeven Cc: Jeff Garzik Cc: Wim Van Sebroeck Cc: Roland Dreier Cc: Alessandro Zummo Cc: James Bottomley Cc: Greg KH Cc: Dave Airlie Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3159f06dc2303630c02d1ad2eeaeaf341414c9df Author: Robert P. J. Day Date: Wed Feb 14 00:33:16 2007 -0800 [PATCH] OSS: replace kmalloc()+memset() combos with kzalloc() Replace kmalloc() + memset() pairs with the appropriate kzalloc() calls. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd354f1ae75e6466a7e31b727faede57a1f89ca5 Author: Tim Schmielau Date: Wed Feb 14 00:33:14 2007 -0800 [PATCH] remove many unneeded #includes of sched.h After Al Viro (finally) succeeded in removing the sched.h #include in module.h recently, it makes sense again to remove other superfluous sched.h includes. There are quite a lot of files which include it but don't actually need anything defined in there. Presumably these includes were once needed for macros that used to live in sched.h, but moved to other header files in the course of cleaning it up. To ease the pain, this time I did not fiddle with any header files and only removed #includes from .c-files, which tend to cause less trouble. Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha, arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig, allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all configs in arch/arm/configs on arm. I also checked that no new warnings were introduced by the patch (actually, some warnings are removed that were emitted by unnecessarily included header files). Signed-off-by: Tim Schmielau Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc605a2aa38899c12180ca311f1eeb61a6d867e Author: NeilBrown Date: Wed Feb 14 00:33:13 2007 -0800 [PATCH] knfsd: allow the server to provide a gid list when using AUTH_UNIX authentication AUTH_UNIX authentication (the standard with NFS) has a limit of 16 groups ids. This causes problems for people in more than 16 groups. So allow the server to map a uid into a list of group ids based on local knowledge rather depending on the (possibly truncated) list from the client. If there is no process on the server responding to upcalls, the gidlist in the request will still be used. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af6a4e280e3ff453653f39190b57b345ff0bec16 Author: NeilBrown Date: Wed Feb 14 00:33:12 2007 -0800 [PATCH] knfsd: add some new fsid types Add support for using a filesystem UUID to identify and export point in the filehandle. For NFSv2, this UUID is xor-ed down to 4 or 8 bytes so that it doesn't take up too much room. For NFSv3+, we use the full 16 bytes, and possibly also a 64bit inode number for exports beneath the root of a filesystem. When generating an fsid to return in 'stat' information, use the UUID (hashed down to size) if it is available and a small 'fsid' was not specifically provided. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 982aedfd091e6d9831216f8519f12242091be4fd Author: NeilBrown Date: Wed Feb 14 00:33:11 2007 -0800 [PATCH] knfsd: tidy up choice of filesystem-identifier when creating a filehandle If we are using the same version/fsid as a current filehandle, then there is no need to verify the the numbers are valid for this export, and they must be (we used them to find this export). This allows us to simplify the fsid selection code. Also change "ref_fh_version" and "ref_fh_fsid_type" to "version" and "fsid_type", as the important thing isn't that they are the version/type of the reference filehandle, but they are the chosen type for the new filehandle. And tidy up some indenting. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8971a1016b9db4164c3c1b47ae1fde2818becf91 Author: NeilBrown Date: Wed Feb 14 00:33:11 2007 -0800 [PATCH] knfsd: fix return value for writes to some files in 'nfsd' filesystem Most files in the 'nfsd' filesystem are transactional. When you write, a reply is generated that can be read back only on the same 'file'. If the reply has zero length, the 'write' will incorrectly return a value of '0' instead of the length that was written. This causes 'rpc.nfsd' to give an annoying warning. This patch fixes the test. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 754ce4f29937ba11f16afa41a648a30b0fc1f075 Author: Haavard Skinnemoen Date: Wed Feb 14 00:33:09 2007 -0800 [PATCH] SPI: atmel_spi driver Driver for the Atmel on-chip SPI master controller. Tested primarily on AVR32/AT32AP7000/ATSTK1000 using mtd_dataflash and the jffs2 filesystem. Should also work fine on various AT91 ARM-based chips like AT91SAM926x and AT91RM9200. Hardware documentation can be found in the AT32AP7000 data sheet, or its AT91 siblings, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de8211b96b8491911bcb222d153c0986cb522bd6 Author: Vitaly Wool Date: Wed Feb 14 00:33:09 2007 -0800 [PATCH] PNX8550 UART driver Add UART support for PNX8330/8550/8950 Philips MIPS-based SoCs. Signed-off-by: Vitaly Wool Cc: Russell King Cc: Alan Cox Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6fa0ba304f0642b5e9454c20b07740b8bf2c416 Author: Vitaly Wool Date: Wed Feb 14 00:33:08 2007 -0800 [PATCH] fix PNX8550 serial breakage Fix the serial header breakage for the PNX8550 MIPS platform. Signed-off-by: Vitaly Wool Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f31bb39ec2a5622974666c72257e74c22492602 Author: Burman Yan Date: Wed Feb 14 00:33:07 2007 -0800 [PATCH] serial: replace kmalloc+memset with kzalloc Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3689a0ec60bc8f56cc372c1dfa0d89dab48f7c9c Author: George G. Davis Date: Wed Feb 14 00:33:06 2007 -0800 [PATCH] serial: make sure UART is powered up when dumping MCTRL status Since serial devices are powered down when not in use and some of those devices cannot be accessed when powered down, we need to enable power around calls to get_mcrtl() when dumping port state via uart_line_info(). This resolves hangs observed on some machines while reading serial device registers when a port is powered off. Signed-off-by: George G. Davis Cc: Russell King Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b22271d4b8c1be8a81563c322d3f04e7cbe2153 Author: Bjorn Helgaas Date: Wed Feb 14 00:33:05 2007 -0800 [PATCH] serial: trivial code flow simplification Return failure immediately, so we don't have to test it twice. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40b36daad0ac704e6d5c1b75789f371ef5b053c1 Author: Alex Williamson Date: Wed Feb 14 00:33:04 2007 -0800 [PATCH] 8250 UART backup timer The patch below works around a minor bug found in the UART of the remote management card used in many HP ia64 and parisc servers (aka the Diva UARTs). The problem is that the UART does not reassert the THRE interrupt if it has been previously cleared and the IIR THRI bit is re-enabled. This can produce a very annoying failure mode when used as a serial console, allowing a boot/reboot to hang indefinitely until an RX interrupt kicks it into working again (ie. an unattended reboot could stall). To solve this problem, a backup timer is introduced that runs alongside the standard interrupt driven mechanism. This timer wakes up periodically, checks for a hang condition and gets characters moving again. This backup mechanism is only enabled if the UART is detected as having this problem, so systems without these UARTs will have no additional overhead. This version of the patch incorporates previous comments from Pavel and removes races in the bug detection code. The test is now done before the irq linking to prevent races with interrupt handler clearing the THRE interrupt. Short delays and syncs are also added to ensure the device is able to update register state before the result is tested. Aristeu says: this was tested on the following HP machines and solved the problem: rx2600, rx2620, rx1600 and rx1620s. hpa says: I have seen this same bug in soft UART IP from "a major vendor." Signed-off-by: Alex Williamson Cc: "H. Peter Anvin" Cc: Russell King Acked-by: Aristeu Sergio Rozanski Filho Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed8b4d4d7a31923db32f4684535944d69eb43677 Author: Cyrill V. Gorcunov Date: Wed Feb 14 00:33:03 2007 -0800 [PATCH] qconf: hide empty list items This patch fixes showing empty config list items if "Option/Show All Options" is turned on. For example empty items appears on list of 'Block Layer' menu. Signed-off-by: Cyrill V. Gorcunov Cc: Roman Zippel Cc: Sam Ravnborg Cc: Oleg Verych Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f85712e6e1f2450ec4fd2ab18f8887bf7280f8e Author: Mike Frysinger Date: Wed Feb 14 00:33:02 2007 -0800 [PATCH] new toplevel target: headers_check_all Add new headers_check_all target for checking all arches in one go. Useful for distros (and people with too much time on their hands) that support a ton of architectures, headers_check_all is to headers_check as headers_install_all is to headers_install Signed-off-by: Mike Frysinger Cc: David Woodhouse Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d395efb544aba803ffe42b16a1862be655aca369 Author: Robert P. J. Day Date: Wed Feb 14 00:33:01 2007 -0800 [PATCH] Kbuild: Remove references to deprecated "prepare-all" target from Makefile Remove references to the deprecated "make prepare-all" target from the top-level Makefile; use just "make prepare" instead. Signed-off-by: Robert P. J. Day Cc: Sam Ravnborg Acked-by: Oleg Verych Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f253f00003c3fed0355cf49482f24c56bc5dbea6 Author: Cyrill V. Gorcunov Date: Wed Feb 14 00:33:00 2007 -0800 [PATCH] qconf: Back button behaviour normalization Do "Back" button behaviour normalization so it is enabled starting from second-level menu only. Signed-off-by: Cyrill V. Gorcunov Cc: Roman Zippel Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 786fb18d015cc5f34284d426e055ddd7a3dbb53b Author: Cyrill V. Gorcunov Date: Wed Feb 14 00:32:59 2007 -0800 [PATCH] qconf: fix showing help info on failed search qconf does not clear help text in search window if previous search has been failed. Signed-off-by: Cyrill V. Gorcunov Cc: Roman Zippel Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66e7c7230fed159e138fc1292ee662b8bbdb74d6 Author: Shlomi Fish Date: Wed Feb 14 00:32:58 2007 -0800 [PATCH] qconf: relocate Search Command Relocate the qconf search command to the "Edit"->"Find" menu option. This is per the discussion on my qconf search dialog patch. Cc: Sam Ravnborg Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49e5646d6538f3a1c6697770f0bec2b2a0b7f30e Author: Karsten Wiese Date: Wed Feb 14 00:32:57 2007 -0800 [PATCH] qconf: immediately update integer and string values in xconfig display In xconfig's display integer and string values are also shown as part of the config item's descriptive text. This patch updates the descriptive text, when the corresponding value has been changed. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7744 Take2 uses updateList() so config values dependending on the changed value see the change. Signed-off-by: Karsten Wiese Cc: Roman Zippel Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0ab1ec9fcd3799e874ff9086729a480f6c06cd3 Author: Nicolas Pitre Date: Wed Feb 14 00:32:56 2007 -0800 [PATCH] add .mailmap for proper git-shortlog output This list was built into the git-shortlog tool and has been removed in the latest version. It should be maintained separately so this is what this patch does. A couple more entries were added to the original list as well. Signed-off-by: Nicolas Pitre Acked-by: Junio C Hamano Cc: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 895a39a084e5478121a74752a291165c4502378f Author: s situert Date: Wed Feb 14 00:32:55 2007 -0800 [PATCH] Make mkcompile_h use LANG=C and LC_ALL=C for $CC -v Fix a minor bug in mkcompile_h. As one can see, the current locale is used while getting the version of gcc. This produces problems when a locale other than C or en_US is used. As an example, my /proc/version contains Turkish characters in iso-8859-9 encoding. This patch fixes this issue by making sure that the C locale is used to get gcc's version. Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c7e4498adfdb4aea5a0d056590ec18d099ba062 Author: Mike Frysinger Date: Wed Feb 14 00:32:54 2007 -0800 [PATCH] search a little harder for mkimage Check to see if `${CROSS_COMPILE}mkimage` exists and if not, fall back to the standard `mkimage` The Blackfin toolchain includes mkimage, but we dont want to namespace collide with any of the user's system setup, so we prefix it with our toolchain name. Signed-off-by: Mike Frysinger Cc: Sam Ravnborg Cc: Oleg Verych Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7de8e7e3c7b79a72c20c7fd58bd65df3d146b13 Author: Roland Dreier Date: Wed Feb 14 00:32:53 2007 -0800 [PATCH] ia64: fix noncoherent DMA API so devres builds On ia64, drivers/base/dma-mapping.c doesn't build because it calls dma_alloc_noncoherent() and dma_free_noncoherent(), which appear to be terminally broken; the calls end up generating errors like drivers/base/dma-mapping.c: In function 'dmam_noncoherent_release': drivers/base/dma-mapping.c:32: error: 'struct ia64_machine_vector' has no member named 'platform_dma_free_coherent' because the multiple levels of macro expansion in and end up turning a call to dma_free_noncoherent() into ia64_mv.platform_dma_free_coherent (instead of the intended ia64_mv.dma_free_coherent). This patch fixes this by converting dma_{alloc,free}_noncoherent() into inline functions that call the corresponding coherent functions, instead of trying to do this with macros. Signed-off-by: Roland Dreier Acked-by: Tony Luck Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccf2c2229d4473cc1a334200c1b60ab6070adabe Author: Jaroslav Kysela Date: Wed Feb 14 08:42:20 2007 +0100 [ALSA] version 1.0.14rc2 Signed-off-by: Jaroslav Kysela commit 9879951aa1f499e5f9db92f51cd6e7dfb65e78cb Author: Takashi Iwai Date: Tue Feb 13 15:53:22 2007 +0100 [ALSA] Fix a typo in __dev* changes in portman2x4.c Fix a typo in the last __dev* changes in portman2x4.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fa8f878701888666c124e21d77bf7f3ba2dd2359 Author: Frank Mandarino Date: Mon Feb 12 14:06:22 2007 +0100 [ALSA] Change AT91 PDC register defines for 2.6.20 kernel Use the new PDC register name defines that were updated in Linux 2.6.20. Signed-off-by: Frank Mandarino Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2a40534348987346dae1c68c225eff7bc19ff529 Author: Jaroslav Kysela Date: Mon Jan 22 12:59:08 2007 +0100 [ALSA] SoC codecs - fix Kconfig - depends -> depends on Signed-off-by: Jaroslav Kysela commit 788c6043335590e0a483fdc18f85b1405a157bf9 Author: Prarit Bhargava Date: Tue Feb 13 13:11:11 2007 +0100 [ALSA] Fix __devinit and __devexit issues with sound drivers Fix __devinit and __devexit issues with sound drivers. Resolves MODPOST warnings similar to: WARNING: sound/drivers/snd-dummy.o - Section mismatch: reference to .init.text:snd_dummy_probe from .data.rel.local between 'snd_dummy_driver' (at offset 0x0) and 'snd_dummy_controls' WARNING: sound/drivers/snd-mtpav.o - Section mismatch: reference to .init.text:snd_mtpav_probe from .data.rel.local between 'snd_mtpav_driver' (at offset 0x0) and 'snd_mtpav_input' WARNING: sound/drivers/snd-virmidi.o - Section mismatch: reference to .init.text:snd_virmidi_probe from .data.rel.local after 'snd_virmidi_driver' (at offset 0x0) Signed-off-by: Prarit Bhargava Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 46f02ca36e9b2b690ebcef18fa0652c586d6c08e Author: Mikael Nilsson Date: Tue Feb 13 12:46:16 2007 +0100 [ALSA] hda-codec - Patch for enabling LFE on more Dell laptops Fix LFE controls for Dell Inspiron E1705/9400 and XPS M1710 laptops. Signed-off-by: Mikael Nilsson Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 82f30040ada635d5d42a244b6eb84607d9881f5a Author: Tobin Davis Date: Tue Feb 13 12:45:44 2007 +0100 [ALSA] hda-codec - More fixes for Conexant HD Audio support Renamed Conexant 5045 to CX20549 (Venice) per Conexant Documentation Renamed Conexant 5047 to CX20551 (Waikiki) per Conexant Documentation Fixed automute on HP Laptops with CX20551 codec. Fixed recording issues on Toshiba Satelite P100/P105 series laptops Added HP DV8000, DV2000Z, Fujitsu Si1520 support More work to be done on CX20549 based systems, but CX20551 Systems are much better now. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f38cc317c0a7279bb725ec5c2251726eab3c722b Author: Clemens Ladisch Date: Fri Feb 9 20:52:55 2007 +0100 [ALSA] usb-audio: add PCR-A PCM support Add support for the PCM interfaces of the Edirol PCR-A. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 5dc5ebb7bc143fe38a56b9dd9c1d89220e20694a Author: Clemens Ladisch Date: Fri Feb 9 20:51:55 2007 +0100 [ALSA] emu10k1: fix typo fix a typo Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 596f967f501799f87fded9e296ce0b14cd233674 Author: Jiri Kosina Date: Fri Feb 9 12:54:44 2007 +0100 [ALSA] usbaudio - remove urb->bandwidth reference Recent changes in usbcore removed the bandwidth field from struct urb. Remove the occurence in usbaudio.c Signed-off-by: Jiri Kosina Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e292c0013d7d4158169eb9786aa0f9816eb5b40 Author: Takashi Iwai Date: Fri Feb 9 12:42:03 2007 +0100 [ALSA] ac97 - Fix silent output problem with Cx20551 codec Fixed the silent output problem on laptops with Conexant Cx20551 codec chip, such as Packard-bell EasyNote A* series. The information was taken from ALSA bug#1134. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e507abd87103b5263bb0bbd94a15d74004557e9 Author: Takashi Iwai Date: Thu Feb 8 17:50:10 2007 +0100 [ALSA] hda-codec - Fix Oops with probing sigmatel codec chips When a device is unkown, the driver tries to set up the codec based on the BIOS information. Then it may result in Oops if BIOS is broken. The patch fixes the issue, falling back to a reference model in such a case. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e65fa9f59e9230b72ac298d445b4a18a4eefeb34 Author: Paul Mundt Date: Wed Feb 14 15:06:09 2007 +0900 sh: Kill off dead bigsur and ec3104 boards. Neither of these have had any maintenance in years, and there's no interest in keeping them straggling along. These have already been slated for removal some time, so finally just get rid of them. Signed-off-by: Paul Mundt commit ac98695d6c1508b724f246f38ce57fb4e3cec356 Merge: d9bc125... 93bbad8... Author: Trond Myklebust Date: Tue Feb 13 22:02:32 2007 -0800 Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ commit 71074d3a2c70aa8a213222fef5014bfd9b3daf1f Author: Paul Mundt Date: Wed Feb 14 14:49:04 2007 +0900 sh: Fixup r7780rp pata_platform for devres conversion. Tidy up the R7780RP I/O mapping routines and switch the pata_platform resources to IORESOURCE_MEM types, killing off the useless port->addr conversion. This fixes up R7780RP to boot after the recent devres conversion. Signed-off-by: Paul Mundt commit 93bbad8fe13a25dcf7f3bc628a71d1a7642ae61b Merge: 9468482... b2875d4... Author: Linus Torvalds Date: Tue Feb 13 21:16:39 2007 -0800 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IB/mthca: Always fill MTTs from CPU IB/mthca: Merge MR and FMR space on 64-bit systems IB/mthca: Fix access to MTT and MPT tables on non-cache-coherent CPUs IB/mthca: Give reserved MTTs a separate cache line IB/mthca: Fix reserved MTTs calculation on mem-free HCAs RDMA/cxgb3: Add driver for Chelsio T3 RNIC IB: Remove redundant "_wq" from workqueue names RDMA/cma: Increment port number after close to avoid re-use IB/ehca: Fix memleak on module unloading IB/mthca: Work around gcc bug on sparc64 IPoIB: Connected mode experimental support IB/core: Use ARRAY_SIZE macro for mandatory_table IB/mthca: Use correct structure size in call to memset() commit 9468482bd4c3b89abe04a770848d5eaa1ea830b0 Merge: 551a10c... 8af1897... Author: Linus Torvalds Date: Tue Feb 13 21:15:42 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] on reconnect to Samba - reset the unix capabilities [CIFS] Allow update of EOF on remote extend of file [CIFS] POSIX CIFS Extensions (continued) - POSIX Open [CIFS] Additional POSIX CIFS Extensions infolevels commit db2e1fa3f0eefbbe04e90d6e4d290ee176b28248 Author: Paul Mundt Date: Wed Feb 14 14:13:10 2007 +0900 sh: Revert TLB miss fast-path changes that broke PTEA parts. This ended up causing problems for older parts (particularly ones using PTEA). Revert this for now, it can be added back in once it's had some more testing. Signed-off-by: Paul Mundt commit 8af18971584d1e05770560206cfdfd1d6ba8a17f Author: Steve French Date: Wed Feb 14 04:42:51 2007 +0000 [CIFS] on reconnect to Samba - reset the unix capabilities After temporary server or network failure and reconneciton, we were not resending the unix capabilities via SetFSInfo - which confused Samba posix byte range locking code. Discovered by jra Signed-off-by: Steve French commit b6f45a4b071d77777d70e097d429273aeedff717 Author: Rafa³ Bilski Date: Mon Feb 12 22:19:12 2007 +0100 [CPUFREQ] EPS - Correct 2nd brand test Solution for small, but nasty bug: access beyond end of f_table for C7 brand. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 551a10c7fc14640d484ee3dda699758041d8123f Merge: f90203e... 928ba41... Author: Linus Torvalds Date: Tue Feb 13 18:17:26 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [IPSEC]: Fix the address family to refer encap_family [IPSEC]: changing API of xfrm6_tunnel_register [IPSEC]: make sit use the xfrm4_tunnel_register [IPSEC]: Changing API of xfrm4_tunnel_register. [TCP]: Prevent pseudo garbage in SYN's advertized window [NET_SCHED]: sch_hfsc: replace ASSERT macro by WARN_ON [BRIDGE] br_if: Fix oops in port_carrier_check [NETFILTER]: Clear GSO bits for TCP reset packet [TG3]: Update copyright, version, and reldate. [TG3]: Add some tx timeout debug messages. [TG3]: Use constant for PHY register 0x1e. [TG3]: Power down 5704 serdes transceiver when shutting down. [TG3]: 5906 doesn't need to switch to slower clock. [TG3]: 5722/5756 don't need PHY jitter workaround. [TG3]: Use lower DMA watermark for 5703. [TG3]: Save MSI state before suspend. [XFRM]: Fix IPv4 tunnel mode decapsulation with IPV6=n [IPV6] HASHTABLES: Use appropriate seed for caluculating ehash index. commit f90203e0cf0d5a8b027d511af318bb3db4758fe2 Merge: 33e563c... 719c91c... Author: Linus Torvalds Date: Tue Feb 13 17:34:23 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc * master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc: (61 commits) [POWERPC] Use udbg_early_init() on ppc32 [POWERPC] Open Firmware serial port driver [POWERPC] Move MPIC smp routines into mpic.c [POWERPC] Cleanup pseries kexec code [POWERPC] Cleanup pseries smp initialisation code [POWERPC] Consolidate pseries platform header files into pseries.h [POWERPC] 85xx: Drop use of SYNC macro in head_fsl_booke.S [POWERPC] cell: pm_rtas_activat_signals routine cleanup [POWERPC] cell: PPU Oprofile cleanup patch [POWERPC] spufs: avoid accessing kernel memory through mmapped /mem node [POWERPC] spu sched: static timeslicing for SCHED_RR contexts [POWERPC] spu sched: use DECLARE_BITMAP [POWERPC] spu sched: forced preemption at execution [POWERPC] spu sched: update some comments [POWERPC] spu sched: simplity spu_remove_from_active_list [POWERPC] spufs: optimize spu_run [POWERPC] spufs: runqueue simplification [POWERPC] spufs: move prio to spu_context [POWERPC] spufs: state_mutex cleanup [POWERPC] spufs: simplify state_mutex ... commit 719c91ccadd3ed26570dbb29d54166914832eee9 Author: David Gibson Date: Tue Feb 13 15:54:22 2007 +1100 [POWERPC] Use udbg_early_init() on ppc32 udbg_early_init() is a function used on 64 bit systems, which initializes whichever early udbg backend is configured. This function is not called on 32-bit, however if btext early debug is enabled it does have an explicit, inline, #ifdef-ed assignment performing analagous initialization. This patch makes things more uniform by folding the btext initialization as an option into udbg_early_init() and calling that from the 32-bit setup path. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8d38a5b2fab1397d35ba1c92828a91b77ce9f865 Author: Arnd Bergmann Date: Tue Feb 13 21:35:38 2007 +0100 [POWERPC] Open Firmware serial port driver This can be used for serial ports that are connected to an OF platform bus but are not autodetected by the lecacy serial support. It will automatically take over devices that come from the legacy serial detection, which usually is only one device. In some cases, rtas may be set up to use the serial port in the firmware, which allows easier debugging before probing the serial ports. In this case, the "used-by-rtas" property must be set by the firmware. This patch also adds code to the legacy serial driver to check for this. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 775aeff44774c6933d8f9c14e1f325d8acd03136 Author: Michael Ellerman Date: Thu Feb 8 18:34:04 2007 +1100 [POWERPC] Move MPIC smp routines into mpic.c Move a couple of MPIC smp routines into mpic.c, they're inside an SMP block in mpic.c - so they're still only built for SMP. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit dce623e0827e8d0ad60ce7f385c3394bf1b0bae0 Author: Michael Ellerman Date: Thu Feb 8 18:33:55 2007 +1100 [POWERPC] Cleanup pseries kexec code Move all the pseries kexec code into one file, platforms/pseries/kexec.c Provide helpers for setting up ppc_md.kexec_cpu_down, so that we don't have to have #ifdef CONFIG_KEXEC in setup.c Move the initialisation of the ppc_md kexec callbacks into an init routine. This is well and truly early enough to cause no change in behaviour, we can't kexec until userspace has given us a kernel to kexec into. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 8feaeca23ab8f520e7af2a862fd6ea8e7bfd8854 Author: Michael Ellerman Date: Thu Feb 8 18:33:55 2007 +1100 [POWERPC] Cleanup pseries smp initialisation code Move some extern declarations from setup.c into the new pseries.h. While we're at it, provide dummy implementations for !SMP, to avoid cluttering the C file with more #ifdefs. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 577830b034bc11c93d4b9e21e8782900d5485e7f Author: Michael Ellerman Date: Thu Feb 8 18:33:51 2007 +1100 [POWERPC] Consolidate pseries platform header files into pseries.h Following the example of platforms/pasemi, consolidate a couple of tiny header files in platforms/pseries into pseries.h. This gives us a convenient place to put things that need to be available to the platform code, but not public. And hopefully will help people resist the temptation of sticking externs in C files. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 944b380e0c3dead0e16a747dfd3ce2765afac16d Merge: fff5f52... c7eb734... Author: Paul Mackerras Date: Wed Feb 14 11:33:39 2007 +1100 Merge branch 'cell-merge' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arnd/cell-2.6 commit 33e563c1190c26b6bf61990c505cdcb5cdbba7e4 Merge: 463020c... 5dd3ffa... Author: Linus Torvalds Date: Tue Feb 13 16:28:23 2007 -0800 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Stop using i2c_adapter.class_dev i2c: Remove the warning on missing adapter device i2c: Declare more i2c_adapter parent devices i2c: PA Semi SMBus driver i2c-amd8111: Proposed cleanups i2c-parport: Add support for One For All remote JP1 interface i2c-viapro: Add support for the VIA CX700 south bridge i2c: Add IDs to adapters i2c: Update the list of bus IDs i2c: Add driver suspend/resume/shutdown support i2c: completion header cleanups i2c-i801: Document the SMBus unhiding quirk i2c-i801: Spelling fix i2c: Fix typo in SMBus Write Word Data description i2c-piix4: Add support for the ATI SB600 i2c-nforce2: Drop unused reference to pci_dev i2c/vt8231: Remove superfluous initialization i2c-ali1563: Fix device initialization i2c-ali1563: Improve the status messages commit 463020ce428e2f00d4f33a383d6f39c7453a6854 Merge: 58a3bb5... 431dc80... Author: Linus Torvalds Date: Tue Feb 13 16:12:23 2007 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Fix sigset_t endianess swapping issues in 32-bit compat code. [MIPS] Fix uniprocessor Sibyte builds. [MIPS] Make entry.S a little more readable. [MIPS] Remove stray instruction from __get_user_asm_ll32. [MIPS] 32-bit: Fix warning about cast for fetching pointer from userspace. [MIPS] DECstation: Fix irq handling [MIPS] signals: make common _BLOCKABLE macro [MIPS] signal: Move sigframe definition for native O32/N64 into signal.c [MIPS] signal: Move {restore,setup}_sigcontext prototypes to their user [MIPS] signal: Fix warnings in o32 compat code. [MIPS] IP27: Enable N32 support in defconfig. Revert "[MIPS] Fix warning in get_user when fetching pointer object from userspace." [MIPS] Don't claim we support dma_declare_coherent_memory - we don't. [MIPS] Unify dma-{coherent,noncoherent.ip27,ip32} [MIPS] Improve branch prediction in ll/sc atomic operations. commit 58a3bb59973e33a428d72fa530a3d1d81feb0e8f Merge: 7f1f86a... 88d5a7b... Author: Linus Torvalds Date: Tue Feb 13 16:10:08 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: (23 commits) [WATCHDOG] timers cleanup [WATCHDOG] ib700wdt.c - convert to platform_device part 2 [WATCHDOG] ib700wdt.c - convert to platform_device [WATCHDOG] ib700wdt.c spinlock/WDIOC_SETOPTIONS changes [WATCHDOG] ib700wdt.c small clean-up's [WATCHDOG] ib700wdt.c clean-up init and exit routines [WATCHDOG] ib700_wdt.c stop + set_heartbeat operations [WATCHDOG] show default value for nowayout in module parameter [WATCHDOG] advantechwdt.c - convert to platform_device part 2 [WATCHDOG] advantechwdt.c - convert to platform_device [WATCHDOG] advantechwdt.c - move set_heartbeat to a seperate function [WATCHDOG] advantechwdt.c - cleanup before platform_device patches [WATCHDOG] acquirewdt.c - convert to platform_device part 2 [WATCHDOG] acquirewdt.c - convert to platform_device [WATCHDOG] acquirewdt.c - clean before platform_device patches [WATCHDOG] pcwd_usb.c - get heartbeat from dip switches [WATCHDOG] pcwd.c - e-mail adres update [WATCHDOG] pcwd_usb.c - get heartbeat from dip switches [WATCHDOG] pcwd_usb.c - document includes [WATCHDOG] pcwd_pci.c - spinlock fixes ... commit 7f1f86a0d04e79f8165e6f50d329a520b8cd11e5 Author: Eric W. Biederman Date: Tue Feb 13 14:38:58 2007 -0700 [PATCH] Fix SAK_work workqueue initialization. Somewhere in the rewrite of the work queues my cleanup of SAK handling got broken. Maybe I didn't retest it properly or possibly the API was changing so fast I missed something. Regardless currently triggering a SAK now generates an ugly BUG_ON and kills the kernel. Thanks to Alexey Dobriyan for spotting this. This modifies the use of SAK_work to initialize it when the data structure it resides in is initialized, and to simply call schedule_work when we need to generate a SAK. I update both data structures that have a SAK_work member for consistency. All of the old PREPARE_WORK calls that are now gone. If we call schedule_work again before it has processed it has generated the first SAK it will simply ignore the duplicate schedule_work request. Signed-off-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit 431dc8040354db65e4f8d4d4e21ae4fab41f5bc3 Author: Ralf Baechle Date: Tue Feb 13 00:05:11 2007 +0000 [MIPS] Fix sigset_t endianess swapping issues in 32-bit compat code. Signed-off-by: Ralf Baechle commit 366d6aef281a670b32a51d289fc07bf0e5e72d9a Author: Andrew Sharp Date: Fri Feb 9 17:35:28 2007 -0800 [MIPS] Fix uniprocessor Sibyte builds. Signed-off-by: Andrew Sharp Signed-off-by: Ralf Baechle commit 7da8a581f5ec0ecac5f0afc9ec26ce13b780d48d Author: Franck Bui-Huu Date: Tue Feb 13 14:50:18 2007 +0100 [MIPS] Make entry.S a little more readable. When CONFIG_PREEMPT is not set, it also moves one branch instruction from ret_from_irq() to ret_from_exception(). Therefore we favour the return from irq case which should be more common than the other one. Signed-off-by: Franck Bui-Huu Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6f3aa38e191326a82d5dcae1f6cdc88b1d9a8d32 Author: Ralf Baechle Date: Tue Feb 13 15:01:21 2007 +0000 [MIPS] Remove stray instruction from __get_user_asm_ll32. This did result in double clearing of the error return value on success only but should make a meassurable overhead for sigreturn. Signed-off-by: Ralf Baechle commit cb66fb3f156b485b22db97db22e96db4786dc68b Author: Ralf Baechle Date: Tue Feb 13 11:45:24 2007 +0000 [MIPS] 32-bit: Fix warning about cast for fetching pointer from userspace. Signed-off-by: Ralf Baechle commit d01f06ef0c783eceb53030fc5407caa94586bd6a Author: Atsushi Nemoto Date: Mon Feb 12 23:48:26 2007 +0900 [MIPS] DECstation: Fix irq handling When I post a patch (commit f431baa55abf8adeed0c718b51deacbc151f58f1), I just tried to not change behavior of existing codes, but it seems dec/int-handler.S had been broken since its previous commit 937a801576f954bd030d7c4a5a94571710d87c0b. The caller of plat_irq_dispatch do setup/restore TI_REGS($28), so dec's plat_irq_dispatch should not do it, and there is no need to adjust RA. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 24c556e99ec8a61ce1fbc75bee61dc19edf2c4df Author: Franck Bui-Huu Date: Fri Feb 9 16:07:37 2007 +0100 [MIPS] signals: make common _BLOCKABLE macro Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 66680583461d7cae281cef63c050c9b6371e3286 Author: Ralf Baechle Date: Tue Feb 13 01:31:48 2007 +0000 [MIPS] signal: Move sigframe definition for native O32/N64 into signal.c Signed-off-by: Ralf Baechle commit 205d84aaea380bbd1cc1079d44086cd50c2c2dad Author: Ralf Baechle Date: Tue Feb 13 01:28:09 2007 +0000 [MIPS] signal: Move {restore,setup}_sigcontext prototypes to their user Signed-off-by: Ralf Baechle commit dd02f06aa96ab4590da12704366450a2d4753d3c Author: Ralf Baechle Date: Tue Feb 13 00:50:57 2007 +0000 [MIPS] signal: Fix warnings in o32 compat code. Signed-off-by: Ralf Baechle commit af3d10d52d38d2c56a8bca9943c07b00031fc718 Author: Ralf Baechle Date: Mon Feb 12 23:26:01 2007 +0000 [MIPS] IP27: Enable N32 support in defconfig. Signed-off-by: Ralf Baechle commit cd1fb9eabea38489579284e0cae0c7019b77b10f Author: Ralf Baechle Date: Mon Feb 12 23:12:38 2007 +0000 Revert "[MIPS] Fix warning in get_user when fetching pointer object from userspace." This reverts commit 4ed3a77f38c023658784804cb39a7ce18063dc88. commit 84b47a959b55930e86d6178d49769bc9ba34bce1 Author: Ralf Baechle Date: Mon Feb 12 22:22:53 2007 +0000 [MIPS] Don't claim we support dma_declare_coherent_memory - we don't. Signed-off-by: Ralf Baechle commit 9a88cbb5227970757881b1a65be01dea61fe2584 Author: Ralf Baechle Date: Thu Nov 16 02:56:12 2006 +0000 [MIPS] Unify dma-{coherent,noncoherent.ip27,ip32} Platforms will now have to supply a function dma_device_is_coherent which returns if a particular device participates in the coherence domain. For most platforms this function will always return 0 or 1. Signed-off-by: Ralf Baechle commit f65e4fa8e0c6022ad58dc88d1b11b12589ed7f9f Author: Ralf Baechle Date: Thu Sep 28 01:45:21 2006 +0100 [MIPS] Improve branch prediction in ll/sc atomic operations. Now that finally all supported versions of binutils have functioning support for .subsection use .subsection to tweak the branch prediction I did not modify the R10000 errata variants because it seems unclear if this will invalidate the workaround which actually relies on the cheesy prediction of branch likely to cause a misspredict if the sc was successful. Signed-off-by: Ralf Baechle commit 88d5a7bb75b5e8f600e79b16abaf008c7fdfd27d Merge: 9af9fc4... 82eb7c5... Author: Wim Van Sebroeck Date: Tue Feb 13 23:24:34 2007 +0100 Merge ../linux-2.6-watchdog-mm commit fff5f52808be01d16bb7c8b82580155ff19e16b0 Merge: f909f10... 02ed82c... Author: Kumar Gala Date: Tue Feb 13 16:14:01 2007 -0600 Merge branch '85xx' into for_paulus commit 02ed82ccc5171bc3c88666568edcb71f3d4a79f6 Author: Becky Bruce Date: Tue Feb 13 16:00:49 2007 -0600 [POWERPC] 85xx: Drop use of SYNC macro in head_fsl_booke.S Eliminate needless invocation of the SYNC macro (which always evaluates to nothing on BookE) from head_fsl_booke.S (for both arch/ppc & arch/powerpc). Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 5dd3ffae0afe355738eca14da1b47284bdae6240 Author: Jean Delvare Date: Tue Feb 13 22:09:04 2007 +0100 i2c: Stop using i2c_adapter.class_dev Stop using i2c_adapter.class_dev, as it is going to be removed soon. Luckily, there are only 4 RTC drivers affected. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit fe2c8d51af96ef7b8ec0bfd70ec62bbe32c0696e Author: Jean Delvare Date: Tue Feb 13 22:09:04 2007 +0100 i2c: Remove the warning on missing adapter device Now that the i2c_adapter migration plan changed and we are going to keep i2c_adapter.dev, it's no longer that urgent to add a proper device to all i2c_adapter drivers. Thus is seems resonable to degrade the warning asking authors to migrate their driver to a debug message. Signed-off-by: Jean Delvare commit 12a917f69d1468c91d646dbad8408dd0d39d6207 Author: Jean Delvare Date: Tue Feb 13 22:09:03 2007 +0100 i2c: Declare more i2c_adapter parent devices Declare the parent device of i2c_adapter devices each time we can easily do so. It makes the i2c_adapter appear at the right place in the device tree, rather than as a platform device. Signed-off-by: Jean Delvare Cc: David Brownell Cc: Len Brown Cc: Jordan Crouse Cc: Jody McIntyre Cc: Stefan Richter Cc: v4l-dvb-maintainer@linuxtv.org Cc: Petr Vandrovec commit beb58aa39e6e5a52875defe12c7697b0bfa95d4c Author: Olof Johansson Date: Tue Feb 13 22:09:03 2007 +0100 i2c: PA Semi SMBus driver New driver for the PA Semi SMBus interfaces. Signed-off-by: Olof Johansson Signed-off-by: Jean Delvare commit 88b9e750e974febd9128fc622109c526a9d22c10 Author: Jean Delvare Date: Tue Feb 13 22:09:02 2007 +0100 i2c-amd8111: Proposed cleanups Proposed cleanups to the i2c-amd8111 SMBus driver: * Fold long lines. * Add an explicit mask when writing the low byte of a word. * Use I2C_SMBUS_BLOCK_MAX instead of hardcoding 32. * Discard extra blank lines. * Use boolean not instead of bitwise not for bit tests, it's clearer. * Return -EBUSY rather than -1 on I/O resource conflict. * Fix a race on device registration, initialization should be done before the bus is registered. Signed-off-by: Jean Delvare commit 55249cf750e4d9be19c7f8afd502c9ca42de8858 Author: Jonathan McDowell Date: Tue Feb 13 22:09:02 2007 +0100 i2c-parport: Add support for One For All remote JP1 interface This simple patch adds support to i2c-parport for the One For All remote JP1 parallel port interfaces which can be found detailed at: http://www.hifi-remote.com/jp1/hardware.shtml These allow access to the internal configuration EEPROM on various remote controls and there are a variety of Windows tools that make use of this hardware. I have tested this patch with the "simple" parallel port device and a One For All URC-7562 and confirmed that the data read using the eeprom i2c driver matches that returned by the Windows "IR" JP1 tool. Signed-off-by: Jonathan McDowell Signed-off-by: Jean Delvare commit ab6a6ed271c757b429ddc68f5b93a41f9592ab8b Author: Jean Delvare Date: Tue Feb 13 22:09:02 2007 +0100 i2c-viapro: Add support for the VIA CX700 south bridge We do not have any documentation for the CX700, but it was reported to work fine. Thanks to Claas Langbehn for testing. Signed-off-by: Jean Delvare commit 9ace555d7d87c55ceab6999be444c9a17e0e79b4 Author: Stephen Hemminger Date: Tue Feb 13 22:09:01 2007 +0100 i2c: Add IDs to adapters IDs have been defined but not used by most of the I2C adapters. By having a unique ID, clients can check for correct connection during probe. Signed-off-by: Stephen Hemminger Signed-off-by: Jean Delvare commit a394ae15427f215b43fca21f3c9370b0e63ba252 Author: Jean Delvare Date: Tue Feb 13 22:09:01 2007 +0100 i2c: Update the list of bus IDs * The Voodoo3 has no SMBus, it has two bit-banged busses which already have an ID assigned (I2C_HW_B_VOO). * The i2c-ipmi bus driver was a non-sense, it'll never be ported to Linux 2.6. Signed-off-by: Jean Delvare Acked-by: Yani Ioannou commit f37dd80ac2a67e4e4e921f99d34a1ceeb2488abb Author: David Brownell Date: Tue Feb 13 22:09:00 2007 +0100 i2c: Add driver suspend/resume/shutdown support Driver model updates for the I2C core: - Add new suspend(), resume(), and shutdown() methods. Use them in the standard driver model style; document them. - Minor doc updates to highlight zero-initialized fields in drivers, and the driver model accessors for "clientdata". If any i2c drivers were previously using the old suspend/resume calls in "struct driver", they were getting warning messages ... and will now no longer work. Other than that, this patch changes no behaviors; and it lets I2C drivers use conventional PM and shutdown support. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit b8d6f45b32f6fe72bf7304183275e99332544ce1 Author: Jean Delvare Date: Tue Feb 13 22:09:00 2007 +0100 i2c: completion header cleanups i2c-core and i2c-isa use completions without including . Fix it. i2c-powermac includes but doesn't use any completion. Fix it. Signed-off-by: Jean Delvare Acked-by: Benjamin Herrenschmidt Cc: David Brownell commit 099ab118b6b194ad43865f62776a0d36d4b1c7d2 Author: Jean Delvare Date: Tue Feb 13 22:09:00 2007 +0100 i2c-i801: Document the SMBus unhiding quirk This is a frequently asked question so it deserves a paragraph in the driver documentation. Signed-off-by: Jean Delvare commit fcdd96ecaf04fb4f229ac1a64fe77fda890dffd5 Author: Jean Delvare Date: Tue Feb 13 22:08:59 2007 +0100 i2c-i801: Spelling fix Signed-off-by: Jean Delvare commit 3f9a4790a3818af1228c7fb4286afd66f3201fd0 Author: Mike Frysinger Date: Tue Feb 13 22:08:59 2007 +0100 i2c: Fix typo in SMBus Write Word Data description Write data, don't read it. Signed-off-by: Mike Frysinger Signed-off-by: Jean Delvare commit 4e6697fcc194db8b45559a9863947c6cbfeea363 Author: Jean Delvare Date: Tue Feb 13 22:08:59 2007 +0100 i2c-piix4: Add support for the ATI SB600 Add support for the ATI SB600 SMBus controller. Signed-off-by: Jean Delvare commit 4ef0ce90df3763e277b5307fb580ff1cdaaad7b2 Author: Jean Delvare Date: Tue Feb 13 22:08:58 2007 +0100 i2c-nforce2: Drop unused reference to pci_dev Signed-off-by: Jean Delvare Cc: Hans-Frieder Vogt commit bbeaeef73a0b0a5c43ad2657b61857167d914a55 Author: David Brownell Date: Tue Feb 13 22:08:58 2007 +0100 i2c/vt8231: Remove superfluous initialization Remove a superfluous initialization from the vt8231 hwmon driver; the i2c core does this, and the source field will be vanishing soon. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 849be516c57501ec4729bde51babc25a7b073b65 Author: Jean Delvare Date: Tue Feb 13 22:08:57 2007 +0100 i2c-ali1563: Fix device initialization The i2c-ali1563 initialization looks quite broken to me: * If the I/O space isn't enabled, we forcibly set 3 bits in the PCI configuration space instead of just the one enabling the I/O space. * After that we pretend to check if the write worked, but we don't actually read the new value from the register. * It's probably not a good idea to enable the I/O space if no base address has been set. So I propose the following changes to that part of the driver: * Merge ali1563_enable() into ali1563_setup(). * Check the base address before the I/O space enabled bit. Signed-off-by: Jean Delvare Acked-by: Rudolf Marek commit 69735698312f6f5e47001cf62dc678f591b6a6de Author: Jean Delvare Date: Tue Feb 13 22:08:57 2007 +0100 i2c-ali1563: Improve the status messages Improve the status messages printed by the i2c-ali1563 driver. Signed-off-by: Jean Delvare Cc: Rudolf Marek commit c7eb734766217b9ddac217cbccae3aedcfa67520 Author: Maynard Johnson Date: Tue Feb 13 22:02:03 2007 +0100 [POWERPC] cell: pm_rtas_activat_signals routine cleanup The code was setting up the debug bus for group 21 when profiling on the event PPU CYCLES. The debug bus is not actually used by the hardware performance counters when counting PPU CYCLES. Setting up the debug bus for PPU CYCLES causes signal routing conflicts on the debug bus when profiling PPU cycles and another PPU event. This patch fixes the code to only setup the debug bus to route the performance signals for the non PPU CYCLE events. Signed-off-by: Maynard Johnson Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann commit bcb63e25ed3c56ee40cca4d18fbaac1d2a40c1d6 Author: Carl Love Date: Tue Feb 13 22:02:02 2007 +0100 [POWERPC] cell: PPU Oprofile cleanup patch This is a clean up patch that includes the following changes: -Some comments were added to clarify the code based on feedback from the community. -The write_pm_cntrl() and set_count_mode() were passed a structure element from a global variable. The argument was removed so the functions now just operate on the global directly. -The set_pm_event() function call in the cell_virtual_cntr() routine was moved to a for-loop before the for_each_cpu loop Signed-off-by: Carl Love Signed-off-by: Maynard Johnson Signed-off-by: Arnd Bergmann commit 928ba4169dc1d82c83105831f5ddb5472379b440 Author: Kazunori MIYAZAWA Date: Tue Feb 13 12:57:16 2007 -0800 [IPSEC]: Fix the address family to refer encap_family Fix the address family to refer encap_family when comparing with a kernel generated xfrm_state Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit 73d605d1abbd70ef67b7660cf2ff177259960756 Author: Kazunori MIYAZAWA Date: Tue Feb 13 12:55:55 2007 -0800 [IPSEC]: changing API of xfrm6_tunnel_register This patch changes xfrm6_tunnel register and deregister interface to prepare for solving the conflict of device tunnels with inter address family IPsec tunnel. There is no device which conflicts with IPv4 over IPv6 IPsec tunnel. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit 128b8546a83a9e37448bc126e1045dc1db291165 Author: Masato Noguchi Date: Tue Feb 13 21:54:30 2007 +0100 [POWERPC] spufs: avoid accessing kernel memory through mmapped /mem node I found an exploit in current kernel. Currently, there is no range check about mmapping "/mem" node in spufs. Thus, an application can access privilege memory region. In case this kernel already worked on a public server, I send this information only here. If there are such servers in somewhere, please replace it, ASAP. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann commit 2eb1b12049844a8ebc670e0e4fc908bc3f8933d3 Author: Christoph Hellwig Date: Tue Feb 13 21:54:29 2007 +0100 [POWERPC] spu sched: static timeslicing for SCHED_RR contexts For SCHED_RR tasks we can do some really trivial timeslicing. Basically we fire up a time for every scheduler tick that searches for a higher or same priority thread that is on the runqueue and if there is one context switches to it. Because we can't lock spus from timer context we actually run this from a delayed runqueue instead of a timer. A nice optimization would be to skip the actual priority bitmap search when there are less contexts than physical spus available. To implement this I need a so far unpublished patch from Andre, and it will be added after we have that patch in. Note that right now we only do the time slicing for SCHED_RR tasks. The code would work for SCHED_OTHER tasks aswell, but their prio value is defered from the one the PPU thread has at time of spu_run, and using this for spu scheduling decisions would make the code very unfair. SCHED_OTHER support will be enabled once we the spu scheduler knows how to calculcate cpu_context.prio (very soon) Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 72cb360839f88c02ccf38f1df214316e05886ff3 Author: Christoph Hellwig Date: Tue Feb 13 21:54:28 2007 +0100 [POWERPC] spu sched: use DECLARE_BITMAP use DECLARE_BITMAP in the spu scheduler instead of reimplementing it. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 52f04fcf66a5d5d90790d6cfde52e391ecf2b882 Author: Christoph Hellwig Date: Tue Feb 13 21:54:27 2007 +0100 [POWERPC] spu sched: forced preemption at execution If we start a spu context with realtime priority we want it to run immediately and not wait until some other lower priority thread has finished. Try to find a suitable victim and use it's spu in this case. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit ae7b4c5284d11d49ed9432c16505fcbeb8d3b8cf Author: Christoph Hellwig Date: Tue Feb 13 21:54:26 2007 +0100 [POWERPC] spu sched: update some comments Give spu_yield a kerneldoc comment and remove the old comment documenting spu_activate, spu_deactive and spu_yield as all of them now have descriptive kerneldoc comments of their own. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 678b2ff1e65ecccdb15cbfe97081572fc35944b7 Author: Christoph Hellwig Date: Tue Feb 13 21:54:25 2007 +0100 [POWERPC] spu sched: simplity spu_remove_from_active_list If we call spu_remove_from_active_list that spu is always guaranteed to be on the active list and in runnable state, so we can simply do a list_del to remove it and unconditionally take the was_active codepath. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 26bec67386dbf6ef887254e815398842e182cdcd Author: Christoph Hellwig Date: Tue Feb 13 21:54:24 2007 +0100 [POWERPC] spufs: optimize spu_run There is no need to directly wake up contexts in spu_activate when called from spu_run, so add a flag to surpress this wakeup. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 079cdb61614c466c939ebf74c7ef6745667bc61e Author: Christoph Hellwig Date: Tue Feb 13 21:54:23 2007 +0100 [POWERPC] spufs: runqueue simplification This is the biggest patch in this series, and it reworks the guts of the spu scheduler runqueue mechanism: - instead of embedding a waitqueue in the runqueue there is now a simple doubly-linked list, the actual wakeups happen by reusing the stop_wq in the spu context (maybe we should rename it one day) - spu_free and spu_prio_wakeup are merged into a single spu_reschedule function - various functionality is split out into small helpers, and kerneldoc comments are added in various places to document what's going on. - spu_activate is rewritten into a tight loop by removing test for various impossible conditions and using the infrastructure in this patch. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 8389998ae9ea2888c86c446f7911ddced50052a1 Author: Christoph Hellwig Date: Tue Feb 13 21:54:22 2007 +0100 [POWERPC] spufs: move prio to spu_context It doesn't make any sense to have a priority field in the physical spu structure. Move it into the spu context instead. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 6a0641e51011def4e308fd07387047f5ee50647f Author: Christoph Hellwig Date: Tue Feb 13 21:54:21 2007 +0100 [POWERPC] spufs: state_mutex cleanup Various cleanups in code surrounding the state semaphore: - inline spu_acquire/spu_release - cleanup spu_acquire_* and add kerneldoc comments to these functions - remove spu_release_exclusive and replace it with spu_release Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit c73cb5a2d607b5b95a06a54d8291ddb659b348b6 Author: Kazunori MIYAZAWA Date: Tue Feb 13 12:55:25 2007 -0800 [IPSEC]: make sit use the xfrm4_tunnel_register This patch makes sit use xfrm4_tunnel_register instead of inet_add_protocol. It solves conflict of sit device with inter address family IPsec tunnel. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit c0d56408e3ff52d635441e0f08d12164a63728cf Author: Kazunori MIYAZAWA Date: Tue Feb 13 12:54:47 2007 -0800 [IPSEC]: Changing API of xfrm4_tunnel_register. This patch changes xfrm4_tunnel register and deregister interface to prepare for solving the conflict of device tunnels with inter address family IPsec tunnel. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit 650f8b0291ecd0abdeadbd0ff3d70c3538e55405 Author: Christoph Hellwig Date: Tue Feb 13 21:36:50 2007 +0100 [POWERPC] spufs: simplify state_mutex The r/w semaphore to lock the spus was overkill and can be replaced with a mutex to make it faster, simpler and easier to debug. It also helps to allow making most spufs interruptible in future patches. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 202557d29eae528f464652e92085f3b19b05a0a7 Author: Christoph Hellwig Date: Tue Feb 13 21:36:49 2007 +0100 [POWERPC] spufs: sched.c cleanups Various cleanups to sched.c that don't change the global control flow: - add kerneldoc comments to various functions - add spu_ prefixes to various functions - add/remove context from the runqueue in bind/unbind_context as it's part of the logical operation - add a call to put_active_spu to spu_unbind_contex as it's logically part of the unbind operation Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 81998bafe299b8b675157f0a4dfe8dad43215da9 Author: Christoph Hellwig Date: Tue Feb 13 21:36:48 2007 +0100 [POWERPC] spufs: bind_context sets SPU_STATE_RUNNABLE Only bind_context/unbind_context change the spu context state. Thus we can move all assignents of SPU_STATE_RUNNABLE into bind_context, which parallels the unbind side aswell. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit aa56c16807ba7b8e801216cab012d2f498755ba5 Author: Christoph Hellwig Date: Tue Feb 13 21:36:47 2007 +0100 [POWERPC] spufs: remove superfluous SPU_STATE_SAVED assignments unbind_context already sets the context state to SPU_STATE_SAVED, thus the spu_deactivate callers don't need to do it again. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 5cb23afc9e64841adb43d46160a5c63a80ebfd54 Author: Christoph Hellwig Date: Tue Feb 13 21:36:46 2007 +0100 [POWERPC] spufs: remove empty last line in run.c Remove the empty last line in arch/powerpc/platforms/cell/spufs/run.c. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 30a6c337dcefa7583fe9289fedb28783af980c0c Author: Christoph Hellwig Date: Tue Feb 13 21:36:45 2007 +0100 [POWERPC] spufs: remove SPU_CONTEXT_PREEMPT Remove the SPU_CONTEXT_PREEMPT define. It's unused and won't be used in this form after the scheduler rework. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 600ff0c24bb71482e7f0da948a931d5c5d72838a Author: Ilpo Järvinen Date: Tue Feb 13 12:42:11 2007 -0800 [TCP]: Prevent pseudo garbage in SYN's advertized window TCP may advertize up to 16-bits window in SYN packets (no window scaling allowed). At the same time, TCP may have rcv_wnd (32-bits) that does not fit to 16-bits without window scaling resulting in pseudo garbage into advertized window from the low-order bits of rcv_wnd. This can happen at least when mss <= (1< Signed-off-by: David S. Miller commit 3d50f23108ff01457d1ca6fb2b5f2da8214e83e4 Author: Patrick McHardy Date: Tue Feb 13 12:36:57 2007 -0800 [NET_SCHED]: sch_hfsc: replace ASSERT macro by WARN_ON Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a10d567c89dfba90dde2e0515e25760fd74cde06 Author: Jarek Poplawski Date: Tue Feb 13 12:35:26 2007 -0800 [BRIDGE] br_if: Fix oops in port_carrier_check Signed-off-by: Jarek Poplawski Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit bbf4a6bc8c4d59a0a9033fc2cb96ec03430c96e4 Author: Herbert Xu Date: Tue Feb 13 12:32:58 2007 -0800 [NETFILTER]: Clear GSO bits for TCP reset packet The TCP reset packet is copied from the original. This includes all the GSO bits which do not apply to the new packet. So we should clear those bits. Spotted by Patrick McHardy. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 65610fbab35b0570df4a9d0e77e111f85606b312 Author: Michael Chan Date: Tue Feb 13 12:18:46 2007 -0800 [TG3]: Update copyright, version, and reldate. Update version to 3.73. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b0408751128edc126eb37798d51891d8d0a41dc6 Author: Michael Chan Date: Tue Feb 13 12:18:30 2007 -0800 [TG3]: Add some tx timeout debug messages. Print the most useful information during tx timeout to help debug. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 569a5df8597deeaa39867be73c7305fd82522f57 Author: Michael Chan Date: Tue Feb 13 12:18:15 2007 -0800 [TG3]: Use constant for PHY register 0x1e. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5129724aa5de3a71fc70e71ca49d542ca1a5aa1e Author: Michael Chan Date: Tue Feb 13 12:17:57 2007 -0800 [TG3]: Power down 5704 serdes transceiver when shutting down. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d7b0a8573c9ac8923bf6f205f4ce60dd2ac811d5 Author: Michael Chan Date: Tue Feb 13 12:17:38 2007 -0800 [TG3]: 5906 doesn't need to switch to slower clock. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d4011adaf8b5ea555357a40388ee9aa7ed2daf9f Author: Michael Chan Date: Tue Feb 13 12:17:25 2007 -0800 [TG3]: 5722/5756 don't need PHY jitter workaround. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 49afdeb65bb917e22cf9116bc31380befe9db890 Author: Michael Chan Date: Tue Feb 13 12:17:03 2007 -0800 [TG3]: Use lower DMA watermark for 5703. Set DMA read watermark to 4 on 5703 in PCIX mode. This is needed to prevent some tx timeouts. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 436f137975507b0baab0859a253c3c9332c22f62 Author: Michael Chan Date: Tue Feb 13 12:16:45 2007 -0800 [TG3]: Save MSI state before suspend. This fixes the following problem: http://bugzilla.kernel.org/show_bug.cgi?id=7969 The MSI state needs to be saved during suspend. PCI state saved during tg3_init_one() does not contain valid MSI state because MSI hasn't been enabled. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 552ce544edfbe9bce79952a8c0f8d65b7f2d16bb Author: Linus Torvalds Date: Tue Feb 13 12:08:18 2007 -0800 Revert "[PATCH] Fix d_path for lazy unmounts" This reverts commit eb3dfb0cb1f4a44e2d0553f89514ce9f2a9fcaf1. It causes some strange Gnome problem with dbus-daemon getting stuck, so we'll revert it until that problem is understood. Reported by both walt and Greg KH, who both independently git-bisected the problem to this commit. Andreas is looking at it. Reported-by: walt Reported-by: Greg KH Acked-by: Andreas Gruenbacher Signed-off-by: Linus Torvalds commit f909f10621f520ed53026cf3258f9501f859fcc3 Merge: a28cfb8... a20d0ce... Author: Kumar Gala Date: Tue Feb 13 12:51:38 2007 -0600 Merge branch '83xx' into for_paulus commit a20d0ce694e56f94857eacdc8534357d798460fd Author: Timur Tabi Date: Fri Feb 9 10:01:50 2007 -0600 [POWERPC] 83xx: Updated mpc834x_itx_defconfig This patch updates the defconfig for the MPC8349E-mITX. In addition to picking up changes from recent kernels, disables support for e100 (which doesn't ship with the system), turns off input devices, turns on some I2C support, turns off HW monitoring (HW not yet supported), turns off OHCI USB (not used), turns off USB gadget support (HW not yet supported), turns on DOS FS support, and turns off kernel debugging. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 8c4a013da84e69e4d736363921792e1b37525577 Author: Timur Tabi Date: Fri Feb 9 14:00:36 2007 -0600 [POWERPC] 83xx: Add support for MPC8349E-mITX-GP This patch adds a defconfig and a DTS for the MPC8349E-mITX-GP, a variant of the MPC8349E-mITX. USB is disabled because the only USB port is not setup properly by firmware/kernel Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit a28cfb841a81a41a96f7c4267610c5b4949c32d8 Merge: 7baca6a... eb11a72... Author: Kumar Gala Date: Tue Feb 13 12:41:23 2007 -0600 Merge branch '85xx' into for_paulus commit eb11a720a85833bbd9b92628f196583ee1d50d4e Author: Andy Fleming Date: Fri Feb 9 17:30:09 2007 -0600 [POWERPC] 85xx: Add a defconfig for the 8568 MDS Add defconfig for the MPC8568 MDS reference board Signed-off-by: Andrew Fleming Signed-off-by: Kumar Gala commit c2882bb12cbd8a4170e673e6a33c6be047b75bc1 Author: Andy Fleming Date: Fri Feb 9 17:28:31 2007 -0600 [POWERPC] 85xx: Add support for the 8568 MDS board Add support for the MPC8568 MDS reference board Signed-off-by: Andrew Fleming Signed-off-by: Kumar Gala commit 126b1922367fbe5513daa675a2abd13ed3917f4e Author: Andi Kleen Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] x86-64: Remove mk_pte_phys() - Convert last user to pfn_pte - Remove mk_pte_phys Suggested by Jan Beulich Signed-off-by: Andi Kleen commit 22c5ace7290b792faf64ffe90cf933950fbf52db Author: Jan Beulich Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] i386: Fix broken CONFIG_COMPAT_VDSO on i386 After updating several machines to 2.6.20, I can't boot anymore the single one of them that supports the NX bit and is configured as a 32-bit system. My understanding is that the VDSO changes in 2.6.20-rc7 were not fully cooked, in that with that config option enabled VDSO_SYM(x) now equals x, meaning that an address in the fixmap area is now being passed to apps via AT_SYSINFO. However, the page is mapped with PAGE_READONLY rather than PAGE_READONLY_EXEC. I'm not certain whether having app code go through the fixmap area is intended, but in case it is here is the simple patch that makes things work again. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 98838ec984b78c625bbf9a5daaf001cd216b8f86 Author: Giuliano Procida Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] i386: fix 32-bit ioctls on x64_32 [MTRR] fix 32-bit ioctls on x64_32 Signed-off-by: Giuliano Procida Signed-off-by: Andi Kleen commit 62cc49396e593dd71c6595302bb10b085aefbfa5 Author: Andi Kleen Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] x86: Unify pcspeaker platform device code between i386/x86-64 Trivial cleanup. Only change is that it is always compiled in now on x86-64 like on i386. Signed-off-by: Andi Kleen commit 40d22c1b5675e428b3f3f9a945d0bd62e94ca2f1 Author: Rusty Russell Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] i386: Remove extern declaration from mm/discontig.c, put in header. Extern declarations belong in headers. Times, they are a'changin. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen =================================================================== commit 2a57ff1a7051f0936b57342a57c25658d7ca3cc6 Author: Rusty Russell Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] i386: Rename cpu_gdt_descr and remove extern declaration from smpboot.c When I implemented the DECLARE_PER_CPU(var) macros, I was careful that people couldn't use "var" in a non-percpu context, by prepending percpu__. I never considered that this would allow them to overload the same name for a per-cpu and a non-percpu variable. It is only one of many horrors in the i386 boot code, but let's rename the non-perpcu cpu_gdt_descr to early_gdt_descr (not boot_gdt_descr, that's something else...) Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen =================================================================== commit 105fddb862d3da2f414329ff7719794fb2bd706b Author: Rusty Russell Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] i386: Move mce_disabled to asm/mce.h Allows external actors to disable mce. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen =================================================================== commit 992af68147299bb635be97f789e4f66ba7add477 Author: Rusty Russell Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] i386: paravirt unhandled fallthrough The current code simply calls "start_kernel" directly if we're under a hypervisor and no paravirt_ops backend wants us, because paravirt.c registers that as a backend. This was always a vain hope; start_kernel won't get far without setup. It's also impossible for paravirt_ops backends which don't sit in the arch/i386/kernel directory: they can't link before paravirt.o anyway. Keep it simple: if we pass all the registered paravirt probes, BUG(). Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen commit 9af3cf054615862c86efcf55a37bb40f0d96e406 Author: Ralf Baechle Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] x86_64: Wire up compat epoll_pwait > Which remembers me that I think that MIPS is using the non-compat version > of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat > syscall for some reason. Dunno. Which reminds me that x86_64 i386 compat doesn't wire up sys_epoll_pwait ;-) Signed-off-by: Ralf Baechle Signed-off-by: Andi Kleen commit 9fbbd4dd17d0712054368e5e939e28b2456bfe1b Author: Andi Kleen Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] x86: Don't require the vDSO for handling a.out signals and in other strange binfmts. vDSO is not necessarily mapped there. Signed-off-by: Andi Kleen commit 120fad72401ebec2a126c16cc48f56c28f3eefe2 Author: Alan Date: Tue Feb 13 13:26:26 2007 +0100 [PATCH] i386: Fix Cyrix MediaGX detection The old Cyrix 5520 CPU detection code relied upon the PCI layer setup being done earlier than the CPU setup, which is no longer true. Fortunately we know that if the processor is a MediaGX we can do type 1 pci config accesses to check the companion chip. We thus do those directly and from this find the 5520 and implement the workarounds for the timer problem Original report from takada@mbf.nifty.com, I sent a proposed patch which Takara then corrected, tested and sent back to the list on 10th January. Submitting for merging as it seems to have been missed AK: Changed to use pci-direct.h and fix warning for !CONFIG_PCI (later AK: originally from akpm) Signed-off-by: Alan Cox Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Cc: Jordan Crouse Signed-off-by: Andrew Morton commit 7de6d3618b09c39fdaa6125e23fcf465a65bc266 Author: Andi Kleen Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] i386: Fix warning in cpu initialization Fix bogus warning linux/arch/i386/kernel/cpu/transmeta.c:12: warning: ‘cpu_freq’ may be used uninitialized in this function Signed-off-by: Andi Kleen commit 2ba1ff2b796746722fc4fe8bdcd1f30a834e3d0a Author: Andi Kleen Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] i386: Fix warning in microcode.c Fix bogus gcc warning linux/arch/i386/kernel/microcode.c:387: warning: ‘new_mc’ may be used uninitialized in this function Signed-off-by: Andi Kleen commit 0a4599c894d880763eec6cb93f6c246dac6c3269 Author: Andi Kleen Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86: Enable NMI watchdog for AMD Family 0x10 CPUs For i386/x86-64. Straight forward -- just reuse the Family 0xf code. Signed-off-by: Andi Kleen commit f790cd30d002949a12623b2a8cec4d4e5a8887ef Author: Andi Kleen Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86: Add new CPUID bits for AMD Family 10 CPUs in /proc/cpuinfo Just various new acronyms. The new popcnt bit is in the middle of Intel space. This looks a little weird, but I've been assured it's ok. Also I fixed RDTSCP for i386 which was at the wrong place. For i386 and x86-64. Signed-off-by: Andi Kleen commit 1a1eecd1c272f704f135a7d8060ec3da1c201b4c Author: Andi Kleen Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] i386: Remove fastcall in paravirt.[ch] Not needed because fastcall is always default now Signed-off-by: Andi Kleen commit 9f6026b8c308365d955faaf31dd0f457266d11f8 Author: Andi Kleen Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86-64: Fix wrong gcc check in bitops.h gcc 5.0 will likely not have the constraint problem Signed-off-by: Andi Kleen commit 2fb12a9bca5ad9aa6dcd2c639b4a7656a8843ef8 Author: Eric W. Biederman Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86-64: survive having no irq mapping for a vector Occasionally the kernel has bugs that result in no irq being found for a given cpu vector. If we acknowledge the irq the system has a good chance of continuing even though we dropped an irq message. If we continue to simply print a message and not acknowledge the irq the system is likely to become non-responsive shortly there after. AK: Fixed compilation for UP kernels Signed-off-by: Eric W. Biederman Signed-off-by: Andi Kleen Cc: "Luigi Genoni" Cc: Andi Kleen Signed-off-by: Andrew Morton commit bcde1ebb81c51ebdfa02887703e4d21c1bbc2431 Author: TAKADA Yoshihito Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] i386: geode configuration fixes Original code doesn't write back to CCR4 register. This patch reflects a value of a register. Cc: Jordan Crouse Acked-by: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 86c418374223be3f328b5522545196db02c8ceda Author: Chuck Ebbert Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] i386: add option to show more code in oops reports Sometimes developers need to see more object code in an oops report, e.g. when kernel may be corrupted at runtime. Add the "code_bytes" option for this. Signed-off-by: Chuck Ebbert Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 8469adde5932f2879688fd5f183a6e9dadbf7b9f Author: Evgeniy Polyakov Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86-64: Minor patch for compilation warning in x86_64 signal code If DEBUG_SIG is enbaled in source code, ia32_signal.c compiles with warning due to wrong format string. Attached patch fixes that. It is quite minor update, since by default DEBUG_SIG is not enabled and can not be turned on without code modification. Signed-off-by: Evgeniy Polyakov Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 3e94fb8f54c5305ed472e0867cd67d53e05bfb64 Author: Roland Dreier Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86-64: avoid warning message livelock I've seen my box paralyzed by an endless spew of rtc: lost some interrupts at 1024Hz. messages on the serial console. What seems to be happening is that something real causes an interrupt to be lost and triggers the message. But then printing the message to the serial console (from the hpet interrupt handler) takes more than 1/1024th of a second, and then some more interrupts are lost, so the message triggers again.... Fix this by adding a printk_ratelimit() before printing the warning. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit ee4eff6ff6cbfc8ce38131058a18802bf6206879 Author: Benjamin Romer Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86-64: update IO-APIC dest field to 8-bit for xAPIC On the Unisys ES7000/ONE system, we encountered a problem where performing a kexec reboot or dump on any cell other than cell 0 causes the system timer to stop working, resulting in a hang during timer calibration in the new kernel. We traced the problem to one line of code in disable_IO_APIC(), which needs to restore the timer's IO-APIC configuration before rebooting. The code is currently using the 4-bit physical destination field, rather than using the 8-bit logical destination field, and it cuts off the upper 4 bits of the timer's APIC ID. If we change this to use the logical destination field, the timer works and we can kexec on the upper cells. This was tested on two different cells (0 and 2) in an ES7000/ONE system. For reference, the relevant Intel xAPIC spec is kept at ftp://download.intel.com/design/chipsets/e8501/datashts/30962001.pdf, specifically on page 334. Signed-off-by: Benjamin M Romer Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton commit a4af60aa64c828b7c047e7a67b2f896d4bfbd700 Author: Robert P. J. Day Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] i386: Remove unused kernel config option X86_XADD Remove the unused kernel config option X86_XADD, which is unused in any source or header file. Signed-off-by: Robert P. J. Day Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit f0a5a58aa812b31fd9f197c4ba48245942364eae Author: Bob Picco Date: Tue Feb 13 13:26:25 2007 +0100 [PATCH] x86-64: clean up sparsemem memory_present call Eliminate arch specific memory_present call x86_64 NUMA by utilizing sparse_memory_present_with_active_regions. Acked-by: Mel Gorman Signed-off-by: Bob Picco Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 47a55cd795656d11bb18a7885583361f02a6baa8 Author: Jan Beulich Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] i386: entry.S END/ENDPROC annotations Annotate i386/kernel/entry.S with END/ENDPROC to assist disassemblers and other analysis tools. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 2632f01a66d75f4ad59653a7efa506c6ea6845d0 Author: takada Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] i386: support Classic MediaGXm I hope to support "classic" MediaGXm in kernel. The DIR1 register of MediaGXm( or Geode) shows the following values for identify CPU. For example, My MediaGXm shows 0x42. We can read National Semiconductor's datasheet without any NDAs. http://www.national.com/pf/GX/GXLV.html from datasheets: DIR1 0x30 - 0x33 GXm rev. 1.0 - 2.3 0x34 - 0x4f GXm rev. 2.4 - 3.x 0x5x GXm rev. 5.0 - 5.4 0x6x GXLV 0x7x (unknow) 0x8x Gx1 In nsc driver of X, accept 0x30 through 0x82. What will 0x7x mean? Cc: Jordan Crouse Cc: Andi Kleen Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 3101673b659b916c965271c7f7c9b99cb353c01c Author: Randy Dunlap Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] i386: avoid gcc extension setcc() in math-emu is written as a gcc extension statement expression macro that returns a value. However, it's not used that way and it's not needed like that, so just make it a inline function so that we don't use an extension when it's not needed. Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Christoph Hellwig Cc: Segher Boessenkool Signed-off-by: Andrew Morton commit 30b82ea08c3365a6fc916250ff2ad634717fc81b Author: H. Peter Anvin Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] i386: All Transmeta CPUs have constant TSCs All Transmeta CPUs ever produced have constant-rate TSCs. Signed-off-by: H. Peter Anvin Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 5d0e600d903caa09e790824cc5812f0d97113b23 Author: Ingo Molnar Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86: fix laptop bootup hang in init_acpi() During kernel bootup, a new T60 laptop (CoreDuo, 32-bit) hangs about 10%-20% of the time in acpi_init(): Calling initcall 0xc055ce1a: topology_init+0x0/0x2f() Calling initcall 0xc055d75e: mtrr_init_finialize+0x0/0x2c() Calling initcall 0xc05664f3: param_sysfs_init+0x0/0x175() Calling initcall 0xc014cb65: pm_sysrq_init+0x0/0x17() Calling initcall 0xc0569f99: init_bio+0x0/0xf4() Calling initcall 0xc056b865: genhd_device_init+0x0/0x50() Calling initcall 0xc056c4bd: fbmem_init+0x0/0x87() Calling initcall 0xc056dd74: acpi_init+0x0/0x1ee() It's a hard hang that not even an NMI could punch through! Frustratingly, adding printks or function tracing to the ACPI code made the hangs go away ... After some time an additional detail emerged: disabling the NMI watchdog made these occasional hangs go away. So i spent the better part of today trying to debug this and trying out various theories when i finally found the likely reason for the hang: if acpi_ns_initialize_devices() executes an _INI AML method and an NMI happens to hit that AML execution in the wrong moment, the machine would hang. (my theory is that this must be some sort of chipset setup method doing stores to chipset mmio registers?) Unfortunately given the characteristics of the hang it was sheer impossible to figure out which of the numerous AML methods is impacted by this problem. As a workaround i wrote an interface to disable chipset-based NMIs while executing _INI sections - and indeed this fixed the hang. I did a boot-loop of 100 separate reboots and none hung - while without the patch it would hang every 5-10 attempts. Out of caution i did not touch the nmi_watchdog=2 case (it's not related to the chipset anyway and didnt hang). I implemented this for both x86_64 and i686, tested the i686 laptop both with nmi_watchdog=1 [which triggered the hangs] and nmi_watchdog=2, and tested an Athlon64 box with the 64-bit kernel as well. Everything builds and works with the patch applied. Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Len Brown Signed-off-by: Andrew Morton commit 310adfdd9153f6ae818981a38a48dd2330990d8d Author: Muli Ben-Yehuda Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: robustify bad_dma_address handling - set bad_dma_address explicitly to 0x0 - reserve 32 pages from bad_dma_address and up - WARN_ON() a driver feeding us bad_dma_address Thanks to Leo Duran for the suggestion. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Cc: Leo Duran Cc: Job Mason commit 2fa8a050a0026eadbb39a2f281011991e00fe29a Author: Jeff Garzik Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: define dma noncoherent API functions x86-64 is missing these: Signed-off-by: Jeff Garzik Signed-off-by: Andi Kleen commit fc986db4fc1e773e240a19bc8b407ead88982cea Author: Andi Kleen Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: Don't reserve ROMs We trust the e820 table, so explicitely reserving ROMs shouldn't be needed. Signed-off-by: Andi Kleen commit 00edefae050c2c2d1e26fa9984f8f529fbc45989 Author: Andi Kleen Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: Fix off by one error in IOMMU boundary checking Should be harmless because there is normally no memory there, but technically it was incorrect. Pointed out by Leo Duran Signed-off-by: Andi Kleen commit ffb6017563aa15f9a8cff9a30b861d42c2695894 Author: Zachary Amsden Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: x86_64 - Fix FS/GS registers for VT execution Initialize FS and GS to __KERNEL_DS as well. The actual value of them is not important, but it is important to reload them in protected mode. At this time, they still retain the real mode values from initial boot. VT disallows execution of code under such conditions, which means hardware virtualization can not be used to boot the kernel on Intel platforms, making the boot time painfully slow. This requires moving the GS load before the load of GS_BASE, so just move all the segments loads there to keep them together in the code. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit 9a11ff68273f440b1d33fcc4d550ffc881e6a0b4 Author: Andi Kleen Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: Unexport __supported_pte_mask The symbol is needed to manipulate page tables, and modules shouldn't do that. Leftover from 2.4, but no in tree module should need it now. Signed-off-by: Andi Kleen commit f49481bc50fce428521497977861b8115666dbe7 Author: Andi Kleen Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: Check return value of putreg in PTRACE_SETREGS This means if an illegal value is set for the segment registers there ptrace will error out now with an errno instead of silently ignoring it. Signed-off-by: Andi Kleen commit 2f7a2a79c3ebb44f8b1b7d9b4fd3a650eb69e544 Author: Jack Steiner Date: Tue Feb 13 13:26:24 2007 +0100 [PATCH] x86-64: - Ignore long SMI interrupts in clock calibration code - update 1 Add failsafe mechanism to HPET/TSC clock calibration. Signed-off-by: Jack Steiner Updated to include failsafe mechanism & additional community feedback. Patch built on latest 2.6.20-rc4-mm1 tree. Signed-off-by: Andi Kleen commit 6c5806cae50717f31878d0da29109b10610ab862 Author: Andreas Herrmann Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] i386: fix size_or_mask and size_and_mask mtrr: fix size_or_mask and size_and_mask This fixes two bugs in /proc/mtrr interface: o If physical address size crosses the 44 bit boundary size_or_mask is evaluated wrong. o size_and_mask limits width of physical base address for an MTRR to be less than 44 bits. TBD: later patch had one more change, but I think that was bogus. TBD: need to double check Signed-off-by: Andreas Herrmann Signed-off-by: Andi Kleen commit 016d6f35803667ffbe3e7bba8b58a6b611fac998 Author: Alexey Dobriyan Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] i386: Convert /proc/apm to seqfile Byte-to-byte identical /proc/apm here. Signed-off-by: Alexey Dobriyan Signed-off-by: Andi Kleen commit b0957f1a3a7687bfaf5b0bfe402b50985ea2f06b Author: Josef 'Jeff' Sipek Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86-64: Fix preprocessor condition Old code was legal standard C, but apparently not sparse-C. Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Andi Kleen commit ad4e680fb2220518de5118a8e734240d4c374fe2 Author: Alexey Dobriyan Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] i386: use smp_call_function_single() It will execure cpuid only on the cpu we need. Signed-off-by: Alexey Dobriyan Signed-off-by: Andi Kleen commit d958f143329e685d114725b64fe6bef22994c74c Author: Alexey Dobriyan Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] i386: use smp_call_function_single() It will execute rdmsr and wrmsr only on the cpu we need. Signed-off-by: Alexey Dobriyan Signed-off-by: Andi Kleen commit edf8dd36b53fdd558bc9a8ac5be793d27e110f90 Author: Nicolas Kaiser Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86-64: Kconfig typos Some typos in Kconfig. Signed-off-by: Nicolas Kaiser Signed-off-by: Andi Kleen commit 8c40ad02e5b026902b8ce134f895b3b09803db39 Author: Andi Kleen Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] i386: Small cleanup to TLB flush code - Remove outdated comment - Use cpu_relax() in a busy loop Signed-off-by: Andi Kleen commit 930f8b8bcde30b501fdf00fb7624aefb9bf35f47 Author: Jan Beulich Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86-64: remove get_pmd() Function is dead. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit a98f0dd34d94ea0b5f3816196bea5dba467827bb Author: Andi Kleen Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86-64: Allow to run a program when a machine check event is detected When a machine check event is detected (including a AMD RevF threshold overflow event) allow to run a "trigger" program. This allows user space to react to such events sooner. The trigger is configured using a new trigger entry in the machinecheck sysfs interface. It is currently shared between all CPUs. I also fixed the AMD threshold handler to run the machine check polling code immediately to actually log any events that might have caused the threshold interrupt. Also added some documentation for the mce sysfs interface. Signed-off-by: Andi Kleen commit 24ce0e96f2dea558762c994d054ea2f3c01fa95a Author: Jan Beulich Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86-64: Tighten mce_amd driver MSR reads while debugging an unrelated problem in Xen, I noticed odd reads from non-existent MSRs. Having now found time to look why these happen, I came up with below patch, which - prevents accessing MCi_MISCj with j > 0 when the block pointer in MCi_MISC0 is zero - accesses only contiguous MCi_MISCj until a non-implemented one is found - doesn't touch unimplemented blocks in mce_threshold_interrupt at all - gives names to two bits previously derived from MASK_VALID_HI (it took me some time to understand the code without this) The first three items, besides being apparently closer to the spec, should namely help cutting down on the time mce_threshold_interrupt() takes. Signed-off-by: Andi Kleen commit 9b355897562fe2291248a7aec8e479c2c98cf117 Author: Jan Beulich Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86: simplify notify_page_fault() Remove all parameters from this function that aren't really variable. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 6a051565739f9d334ad5c15f691a9699a905897d Author: Randy Dunlap Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86-64: list x86_64 quilt tree List x86_64 quilt tree in MAINTAINERS. Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen commit 57d307720c9a60038f134b0567ca302b88313a0a Author: Randy Dunlap Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] x86-64: cleanup Doc/x86_64/ files Fix typos. Lots of whitespace changes for readability and consistency. Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen commit 44264261d8fb87849118e41b2735bd95db28126f Author: Venkatesh Pallipadi Date: Tue Feb 13 13:26:23 2007 +0100 [PATCH] i386: Handle 32 bit PerfMon Counter writes cleanly in oprofile Handle these 32 bit perfmon counter MSR writes cleanly in oprofile. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen commit 90ce4bc4542c10b63dc6482ac920ff1226a6e5ff Author: Venkatesh Pallipadi Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] i386: Handle 32 bit PerfMon Counter writes cleanly in i386 nmi_watchdog Change i386 nmi handler to handle 32 bit perfmon counter MSR writes cleanly. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen commit 1676193937a538fdb92a2916a86a705093cfd613 Author: Venkatesh Pallipadi Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] x86-64: Handle 32 bit PerfMon Counter writes cleanly in x86_64 nmi_watchdog P6 CPUs and Core/Core 2 CPUs which has 'architectural perf mon' feature, only supports write of low 32 bits in Performance Monitoring Counters. Bits 32..39 are sign extended based on bit 31 and bits 40..63 are reserved and should be zero. This patch: Change x86_64 nmi handler to handle this case cleanly. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen commit 4c3cbf75b262433afc90b5c35510d1e5744d3b94 Author: Glauber de Oliveira Costa Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] x86-64: Use constant instead of raw number in x86_64 ioperm.c This is a tiny cleanup to increase readability Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit c49c5330c9592f29a69bb2ea8f6e7fd5d9c151e8 Author: Glauber de Oliveira Costa Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] x86-64: Remove fastcall references in x86_64 code Unlike x86, x86_64 already passes arguments in registers. The use of regparm attribute makes no difference in produced code, and the use of fastcall just bloats the code. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 53fee04f318222a3179ca5933d8bda82c1eef17a Author: Rohit Seth Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] x86-64: Fix fake numa for x86_64 machines with big IO hole This patch resolves the issue of running with numa=fake=X on kernel command line on x86_64 machines that have big IO hole. While calculating the size of each node now we look at the total hole size in that range. Previously there were nodes that only had IO holes in them causing kernel boot problems. We now use the NODE_MIN_SIZE (64MB) as the minimum size of memory that any node must have. We reduce the number of allocated nodes if the number of nodes specified on kernel command line results in any node getting memory smaller than NODE_MIN_SIZE. This change allows the extra memory to be incremented in NODE_MIN_SIZE granule and uniformly distribute among as many nodes (called big nodes) as possible. [akpm@osdl.org: build fix] Signed-off-by: David Rientjes Signed-off-by: Paul Menage Signed-off-by: Rohit Seth Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 3b3d5e1db66cd66148b2cebd2c38aff2a8df03d6 Author: Rene Herman Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] i386: romsignature/checksum cleanup Use adding __init to romsignature() (it's only called from probe_roms() which is itself __init) as an excuse to submit a pedantic cleanup. Signed-off-by: Rene Herman Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit f9690982b8c2f9a2c65acdc113e758ec356676a3 Author: Ingo Molnar Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] i386: improve sched_clock() on i686 Clean up sched_clock() on i686: it will use the TSC if available and falls back to jiffies only if the user asked for it to be disabled via notsc or the CPU calibration code didnt figure out the right cpu_khz. This generally makes the scheduler timestamps more finegrained, on all hardware. (the current scheduler is pretty resistant against asynchronous sched_clock() values on different CPUs, it will allow at most up to a jiffy of jitter.) Also simplify sched_clock()'s check for TSC availability: propagate the desire and ability to use the TSC into the tsc_disable flag, previously this flag only indicated whether the notsc option was passed. This makes the rare low-res sched_clock() codepath a single branch off a read-mostly flag. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 2ff2d3d74705d34ab71b21f54634fcf50d57bdd5 Author: Stephane Eranian Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] i386: add idle notifier Add a notifier mechanism to the low level idle loop. You can register a callback function which gets invoked on entry and exit from the low level idle loop. The low level idle loop is defined as the polling loop, low-power call, or the mwait instruction. Interrupts processed by the idle thread are not considered part of the low level loop. The notifier can be used to measure precisely how much is spent in useless execution (or low power mode). The perfmon subsystem uses it to turn on/off monitoring. Signed-off-by: stephane eranian Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 86a978837ca739842317c4cf433de36aeb85ea3b Author: Adrian Bunk Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] i386: arch/i386/kernel/cpu/mcheck/mce.c should #include 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: Andi Kleen commit ee5bfa642a0d4b0f6ec6200bf96e5e647f93fcdb Author: Vivek Goyal Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] generic: Break init() in two parts to avoid MODPOST warnings o init() is a non __init function in .text section but it calls many functions which are in .init.text section. Hence MODPOST generates lots of cross reference warnings on i386 if compiled with CONFIG_RELOCATABLE=y WARNING: vmlinux - Section mismatch: reference to .init.text:smp_prepare_cpus from .text between 'init' (at offset 0xc0101049) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:migration_init from .text between 'init' (at offset 0xc010104e) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:spawn_ksoftirqd from .text between 'init' (at offset 0xc0101053) and 'rest_init' o This patch breaks down init() in two parts. One part which can go in .init.text section and can be freed and other part which has to be non __init(init_post()). Now init() calls init_post() and init_post() does not call any functions present in .init sections. Hence getting rid of warnings. Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit f8657e1b55901e6c227094258d1fa3642fa242bd Author: Vivek Goyal Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] i386: move startup_32() in text.head section o Entry startup_32 was in .text section but it was accessing some init data too and it prompts MODPOST to generate compilation warnings. WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params from .text between '_text' (at offset 0xc0100029) and 'startup_32_smp' WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params from .text between '_text' (at offset 0xc0100037) and 'startup_32_smp' WARNING: vmlinux - Section mismatch: reference to .init.data:init_pg_tables_end from .text between '_text' (at offset 0xc0100099) and 'startup_32_smp' o Can't move startup_32 to .init.text as this entry point has to be at the start of bzImage. Hence moved startup_32 to a new section .text.head and instructed MODPOST to not to generate warnings if init data is being accessed from .text.head section. This code has been audited. o SMP boot up code (startup_32_smp) can go into .init.text if CPU hotplug is not supported. Otherwise it generates more warnings WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0100126) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0100130) and 'is486' Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 7c0b49f9d1d59b3638c884b346a92dcb4ea1560a Author: Zachary Amsden Date: Tue Feb 13 13:26:22 2007 +0100 [PATCH] i386: Paravirt debug defaults off Deliberate register clobber around performance critical inline code is great for testing, bad to leave on by default. Many people ship with DEBUG_KERNEL turned on, so stop making DEBUG_PARAVIRT default on. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit 90736e20e3805dd1ffff60e4750495944956cd44 Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: Vmi timer race Because timer code moves around, and we might eventually move our init to a late_time_init hook, save and restore IRQs around this code because it is definitely not interrupt safe. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit ac3b6faff961dd52fde71fb199ec3cf68ba35052 Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: Kprobe rpl fix Kprobes bugfix for paravirt compatibility - RPL on the CS when inserting BPs must match running kernel. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen CC: Eric Biederman commit 7b3552024380f306a6c50d5105d18d9d4258fa4e Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: Profile pc badness Profile_pc was broken when using paravirtualization because the assumption the kernel was running at CPL 0 was violated, causing bad logic to read a random value off the stack. The only way to be in kernel lock functions is to be in kernel code, so validate that assumption explicitly by checking the CS value. We don't want to be fooled by BIOS / APM segments and try to read those stacks, so only match KERNEL_CS. I moved some stuff in segment.h to make it prettier. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit bbab4f3bb7f528d2b8ccb5de9ae5f6ff3fb29684 Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: vMI timer patches VMI timer code. It works by taking over the local APIC clock when APIC is configured, which requires a couple hooks into the APIC code. The backend timer code could be commonized into the timer infrastructure, but there are some pieces missing (stolen time, in particular), and the exact semantics of when to do accounting for NO_IDLE need to be shared between different hypervisors as well. So for now, VMI timer is a separate module. [Adrian Bunk: cleanups] Subject: VMI timer patches Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton commit 7ce0bcfd1667736f1293cff845139bbee53186de Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: vMI backend for paravirt-ops Fairly straightforward implementation of VMI backend for paravirt-ops. [Adrian Bunk: some cleanups] Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton commit ae5da273fe3352febd38658d8d34484cbcfb3423 Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: SMP boot hook for paravirt Add VMI SMP boot hook. We emulate a regular boot sequence and use the same APIC IPI initiation, we just poke magic values to load into the CPU state when the startup IPI is received, rather than having to jump through a real mode trampoline. This is all that was needed to get SMP to work. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton commit 8b15114434998a78aa50f8559d69c7a400cff267 Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: iOPL handling for paravirt guests I found a clever way to make the extra IOPL switching invisible to non-paravirt compiles - since kernel_rpl is statically defined to be zero there, and only non-zero rpl kernel have a problem restoring IOPL, as popf does not restore IOPL flags unless run at CPL-0. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton commit 9226d125d94c7e4964dd41cc5e9ca2ff84091d01 Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: paravirt CPU hypercall batching mode The VMI ROM has a mode where hypercalls can be queued and batched. This turns out to be a significant win during context switch, but must be done at a specific point before side effects to CPU state are visible to subsequent instructions. This is similar to the MMU batching hooks already provided. The same hooks could be used by the Xen backend to implement a context switch multicall. To explain a bit more about lazy modes in the paravirt patches, basically, the idea is that only one of lazy CPU or MMU mode can be active at any given time. Lazy MMU mode is similar to this lazy CPU mode, and allows for batching of multiple PTE updates (say, inside a remap loop), but to avoid keeping some kind of state machine about when to flush cpu or mmu updates, we just allow one or the other to be active. Although there is no real reason a more comprehensive scheme could not be implemented, there is also no demonstrated need for this extra complexity. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton commit c119ecce894120790903ef535dac3e105f3d6cde Author: Zachary Amsden Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] MM: page allocation hooks for VMI backend The VMI backend uses explicit page type notification to track shadow page tables. The allocation of page table roots is especially tricky. We need to clone the root for non-PAE mode while it is protected under the pgd lock to correctly copy the shadow. We don't need to allocate pgds in PAE mode, (PDPs in Intel terminology) as they only have 4 entries, and are cached entirely by the processor, which makes shadowing them rather simple. For base page table level allocation, pmd_populate provides the exact hook point we need. Also, we need to allocate pages when splitting a large page, and we must release pages before returning the page to any free pool. Despite being required with these slightly odd semantics for VMI, Xen also uses these hooks to determine the exact moment when page tables are created or released. AK: All nops for other architectures Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton commit 90611fe923aa3ac7ffb9e5df45c83860b0f00227 Author: Adrian Bunk Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] i386: arch/i386/kernel/e820.c should #include Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 006e84ee3a54e393ec6bef2a9bc891dc5bde2843 Author: Catalin Marinas Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] x86-64: do not always end the stack trace with ULONG_MAX It makes more sense to end the stack trace with ULONG_MAX only if nr_entries < max_entries. Otherwise, we lose one entry in the long stack traces and cannot know whether the trace was complete or not. Signed-off-by: Catalin Marinas Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jan Beulich Signed-off-by: Andrew Morton commit 5558870bfbcca10cfc7b13ab866687012ea3c9af Author: Karsten Weiss Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] x86-64: improved iommu documentation - add SWIOTLB config help text - mention Documentation/x86_64/boot-options.txt in Documentation/kernel-parameters.txt - remove the duplication of the iommu kernel parameter documentation. - Better explanation of some of the iommu kernel parameter options. - "32MB< Signed-off-by: Andi Kleen Acked-by: Muli Ben-Yehuda Cc: Andi Kleen Signed-off-by: Andrew Morton commit 5809f9d442e9dbb23859e2c37d8c47043f6b5cc9 Author: Eric Dumazet Date: Tue Feb 13 13:26:21 2007 +0100 [PATCH] x86-64: get rid of ARCH_HAVE_XTIME_LOCK ARCH_HAVE_XTIME_LOCK is used by x86_64 arch . This arch needs to place a read only copy of xtime_lock into vsyscall page. This read only copy is named __xtime_lock, and xtime_lock is defined in arch/x86_64/kernel/vmlinux.lds.S as an alias. So the declaration of xtime_lock in kernel/timer.c was guarded by ARCH_HAVE_XTIME_LOCK define, defined to true on x86_64. We can get same result with _attribute__((weak)) in the declaration. linker should do the job. Signed-off-by: Eric Dumazet Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 26054ed02bb20f5b2e02d92cb6f0be0e2b0196d5 Author: OGAWA Hirofumi Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: Move e820 check into pci_mmcfg_reject_broken() This is just cleanup. It moves to e820 check into pci_mmcfg_reject_broken(). Signed-off-by: OGAWA Hirofumi Signed-off-by: Andi Kleen commit 56829d1982b6f1150553c049d372728b9eda5aec Author: OGAWA Hirofumi Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: fix unreachable_devices() Currently, unreachable_devices() compares value of mmconfig and value of conf1. But it doesn't check the device is reachable or not. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andi Kleen commit 429d512e532ec9c969aa6f66ddbc542f3a5fe4da Author: OGAWA Hirofumi Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: minor cleanup in mmconfig code This just cleans up. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andi Kleen commit a4ec1b2c9fe9492c9ab30261b411d836527fe0b6 Author: OGAWA Hirofumi Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: remove #define MMCONFIG_APER_XXX MMCONFIG_APER_XXX is unneeded in arch/x86_64/pci/mmconfig.c. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andi Kleen commit 44de0203fab205417b24322272c53ee0883c36e7 Author: OGAWA Hirofumi Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: Reject a broken MCFG tables on Asus etc This rejects broken MCFG tables on Asus. When the table looks bogus just disable mmconfig Arjan and Andi suggested this. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andi Kleen commit faed197b7b44a6c4e6b81dd2db649fd452b0a7ef Author: OGAWA Hirofumi Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: Fix x86_64 ioremap base_address Current mmconfig has some problems of remapped range. a) In the case of broken MCFG tables on Asus etc., we need to remap 256M range, but currently only remap 1M. b) The base address always corresponds to bus number 0, but currently we are assuming it corresponds to start bus number. This patch fixes the above problems. (akpm: Arjan suggests that if the MCFG table is broken we just shouldn't use it, rather than try to work around things). Signed-off-by: OGAWA Hirofumi Signed-off-by: Andi Kleen Cc: Arjan van de Ven Cc: Andi Kleen Signed-off-by: Andrew Morton commit 6a0668fc41fa479df617151c2d4e297299a4ffe2 Author: Olivier Galibert Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: Reserve resources but only when we're sure about them. Put back the resource reservation as per 4c6e052adfe285ede5884e4e8c4d33af33932c13 but use it *only* when the range(s) come from a chipset probe instead of the bios. Signed-off-by: Olivier Galibert Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 9358c693c5ac1afde28f24ac651f7903d32a850c Author: Olivier Galibert Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: Detect and support the E7520 and the 945G/GZ/P/PL It seems that the only way to reliably support mmconfig in the presence of funky biosen is to detect the hostbridge and read where the window is mapped from its registers. Do that for the E7520 and the 945G/GZ/P/PL for a start. Signed-off-by: Olivier Galibert Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 5f027387bbdb5a4a4c1babd557fd976cd09d7495 Author: Olivier Galibert Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] i386: Only call unreachable_devices() when type 1 is available. unreachable_devices compares between the results of pci configuration accesses through type1 and mmconfig, so it should be called only if type1 actually works in the first place. Signed-off-by: Olivier Galibert Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit b78673944b22b662b270c8bba5c198f19e4ee4e1 Author: Olivier Galibert Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] mmconfig: Share parts of mmconfig code between i386 and x86-64 i386 and x86-64 pci mmconfig code have a lot in common. So share what's shareable between the two. Signed-off-by: Olivier Galibert Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 2e188938ab2358034801938c2329b016ca135823 Author: Maciej W. Rozycki Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] i386: Fix a typo in an IRQ handler name The "fasteoi" IRQ handler is named "fasteio" incorrectly. This is a fix. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 464d1a78fbf8cf6c7fd970e7b3e2db50a320ce28 Author: Jeremy Fitzhardinge Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] i386: Convert i386 PDA code to use %fs Convert the PDA code to use %fs rather than %gs as the segment for per-processor data. This is because some processors show a small but measurable performance gain for reloading a NULL segment selector (as %fs generally is in user-space) versus a non-NULL one (as %gs generally is). On modern processors the difference is very small, perhaps undetectable. Some old AMD "K6 3D+" processors are noticably slower when %fs is used rather than %gs; I have no idea why this might be, but I think they're sufficiently rare that it doesn't matter much. This patch also fixes the math emulator, which had not been adjusted to match the changed struct pt_regs. [frederik.deweerdt@gmail.com: fixit with gdb] [mingo@elte.hu: Fix KVM too] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Ian Campbell Acked-by: Ingo Molnar Acked-by: Zachary Amsden Cc: Eric Dumazet Signed-off-by: Frederik Deweerdt Signed-off-by: Andrew Morton commit 54413927f022292aeccadd268fbf1c0b42129945 Author: Amul Shah Date: Tue Feb 13 13:26:20 2007 +0100 [PATCH] x86-64: x86_64-make-the-numa-hash-function-nodemap-allocation fix fix - Removed an extraneous debug message from allocate_cachealigned_map - Changed extract_lsb_from_nodes to return 63 for the case where there was only one memory node. The prevents the creation of the dynamic hashmap. - Changed extract_lsb_from_nodes to use only the starting memory address of a node. On an ES7000, our nodes overlap the starting and ending address, meaning, that we see nodes like 00000 - 10000 10000 - 20000 But other systems have nodes whose start and end addresses do not overlap. For example: 00000 - 0FFFF 10000 - 1FFFF In this case, using the ending address will result in an LSB much lower than what is possible. In this case an LSB of 1 when in reality it should be 16. Cc: Andi Kleen Cc: Rohit Seth Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 076422d2af7e3d8e72c6e70843f6ea377714b082 Author: Amul Shah Date: Tue Feb 13 13:26:19 2007 +0100 [PATCH] x86-64: Allocate the NUMA hash function nodemap dynamically Remove the statically allocated memory to NUMA node hash map in favor of a dynamically allocated memory to node hash map (it is cache aligned). This patch has the nice side effect in that it allows the hash map to grow for systems with large amounts of memory (256GB - 1TB), but suffer from having small PCI space tacked onto the boot node (which is somewhere between 192MB to 512MB on the ES7000). Signed-off-by: Amul Shah Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Rohit Seth Signed-off-by: Andrew Morton commit 0812a579c92fefa57506821fa08e90f47cb6dbdd Author: Andi Kleen Date: Tue Feb 13 13:26:19 2007 +0100 [PATCH] x86-64: Add __copy_from_user_nocache This does user copies in fs write() into the page cache with write combining. This pushes the destination out of the CPU's cache, but allows higher bandwidth in some case. The theory is that the page cache data is usually not touched by the CPU again and it's better to not pollute the cache with it. Also it is a little faster. Signed-off-by: Andi Kleen commit ee55c0be30429d7c3e61fa26c7f7e323c80e14f0 Author: Andi Kleen Date: Tue Feb 13 13:26:19 2007 +0100 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 287eeb5e02bfd9ddcb881f47400510b5cda686d1 Author: Andi Kleen Date: Tue Feb 13 13:26:19 2007 +0100 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 401e9093a326725780aed270a6eb53e7ddab14ff Author: Paul Mundt Date: Tue Feb 13 15:46:39 2007 +0900 sh: Compile fix for heartbeat consolidation. Signed-off-by: Paul Mundt commit d9bc125caf592b7d081021f32ce5b717efdf70c8 Merge: 43d78ef... ec2f9d1... Author: Trond Myklebust Date: Mon Feb 12 22:43:25 2007 -0800 Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ Conflicts: net/sunrpc/auth_gss/gss_krb5_crypto.c net/sunrpc/auth_gss/gss_spkm3_token.c net/sunrpc/clnt.c Merge with mainline and fix conflicts. commit 3b4d9539628502768fe7f8fd4b48f2fbf2426255 Author: Paul Mundt Date: Tue Feb 13 15:42:28 2007 +0900 sh: heartbeat consolidation for banked LEDs. This consolidates the various board heartbeat LED implementations, used for strobing the load average across a LED bank. Those boards not implementing a full bank can hook in via the LED class. We leave the compat hook in the machvec for now until those non-banked boards are able to migrate to the drivers/leds. Signed-off-by: Paul Mundt commit 43d78ef2ba5bec26d0315859e8324bfc0be23766 Author: Chuck Lever Date: Tue Feb 6 18:26:11 2007 -0500 NFS: disconnect before retrying NFSv4 requests over TCP RFC3530 section 3.1.1 states an NFSv4 client MUST NOT send a request twice on the same connection unless it is the NULL procedure. Section 3.1.1 suggests that the client should disconnect and reconnect if it wants to retry a request. Implement this by adding an rpc_clnt flag that an ULP can use to specify that the underlying transport should be disconnected on a major timeout. The NFSv4 client asserts this new flag, and requests no retries after a minor retransmit timeout. Note that disconnecting on a retransmit is in general not safe to do if the RPC client does not reuse the TCP port number when reconnecting. See http://bugzilla.linux-nfs.org/show_bug.cgi?id=6 Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a301b777714087ea1d63dbec0173a13d416cd7a9 Author: Trond Myklebust Date: Tue Feb 6 11:07:15 2007 -0800 NFS: Don't use ClearPageUptodate() when writeback fails ClearPageUptodate() will just cause races here. What we really want to do is to invalidate the page cache. Signed-off-by: Trond Myklebust commit b0c4fddca2bc3967381b728732a8850de35e1b20 Author: Trond Myklebust Date: Mon Feb 5 14:44:22 2007 -0800 NFS: Cleanup - avoid rereading 'jiffies' more than once in the same routine Micro-optimisations for nfs_fhget() and nfs_wcc_update_inode(). Signed-off-by: Trond Myklebust commit 3e7d950a528454ad749a264feef3c8bad3faa108 Author: Trond Myklebust Date: Mon Feb 5 14:26:28 2007 -0800 NFS: Fix a wraparound issue with nfsi->cache_change_attribute Fix wraparound issue with nfsi->cache_change_attribute. If it is found to lie in the future, then update it to lie in the past. Patch based on a suggestion by Neil Brown. ..and minor micro-optimisation: avoid reading 'jiffies' more than once in nfs_update_inode(). Signed-off-by: Trond Myklebust commit 54c66f6d781e03dc0b23956234963c4911e6d1c0 Merge: 8ce0a7d... 17e0e27... Author: Kumar Gala Date: Mon Feb 12 23:57:21 2007 -0600 Merge branch 'master' into 85xx commit cbe56159a3e60624b5f44cf48b640fa470436e34 Merge: 67c2b7d... 17e0e27... Author: Kumar Gala Date: Mon Feb 12 23:56:24 2007 -0600 Merge branch 'master' into 83xx commit 7baca6ad0ef09c8a78d798c93a3ce25336e8f50f Merge: 06d8bf6... 17e0e27... Author: Kumar Gala Date: Mon Feb 12 23:52:26 2007 -0600 Merge branch 'master' into for_paulus commit 17e0e27020d028a790d97699aff85a43af5be472 Author: Benjamin Herrenschmidt Date: Tue Feb 13 11:46:08 2007 +1100 [POWERPC] spufs: Fix bitrot of the SPU mmap facility It looks like we've had some serious bitrot there mostly due to tracking of address_space's of mmap'ed files getting out of sync with the actual mmap code. The mfc, mss and psmap were not tracked properly and thus not invalidated on context switches (oops !) I also removed the various file->f_mapping = inode->i_mapping; assignments that were done in the other open() routines since that is already done for us by __dentry_open. One improvement we might want to do later is to assign the various ctx-> fields at mmap time instead of file open/close time so that we don't call unmap_mapping_range() on thing that have not been mmap'ed Finally, I added some smp_wmb's after assigning the ctx-> fields to make sure they are visible to other CPUs. I don't think this is really necessary as I suspect locking in the fs layer will make that happen anyway but better safe than sorry. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 44430e0d3916ab6aaf0451fdb811f4f1803b741e Author: Benjamin Herrenschmidt Date: Tue Feb 13 11:46:07 2007 +1100 [POWERPC] powerpc: Remove SPU struct pages for PS3 Struct page are no longer needed for SPUs, so let's not create them on PS3 anymore. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 78bde53e351bc89cff85d1c2c7e6d7c2ffdf120d Author: Benjamin Herrenschmidt Date: Tue Feb 13 11:46:06 2007 +1100 [POWERPC] spufs: remove need for struct page for SPEs This patch removes the need for struct page for SPE local store and registers from spufs. It also makes the locking much more obvious and no longer relying on the truncate logic black magic for protecting against races between unmap_mapping_range() and new pages faulted in. It does so by switching to a nopfn() handler and using the new vm_insert_pfn() to setup the PTEs itself while holding a lock on the SPE. The nice thing is that this patch actually removes a lot more code than it adds :-) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9724b86f0706ca9b552d82e013cb0c208b4f5529 Author: Sylvain Munaut Date: Mon Feb 12 23:13:24 2007 +0100 [POWERPC] Small cleanup of EFIKA platform The efika platform used three files efika-pci.c efika-setup.c and a 2 line efika.h to link the two. The total of code in those is really not much and therefore, I think they're better merged in a single file. There is absolutely _no_code_change_ at all, just merged the files. Signed-off-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 46e4cf6c14e0a5b8916a1236a7079ccad3f4352a Author: Sylvain Munaut Date: Mon Feb 12 23:13:23 2007 +0100 [POWERPC] Fix unbalanced of_node_{get,put} in efika-setup.c Signed-off-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 82a03b92279f2ea80e11dc2c419fdaa3800401a2 Author: Sylvain Munaut Date: Mon Feb 12 23:13:22 2007 +0100 [POWERPC] Use common 52xx of_platform probe code for EFIKA Now that the device tree has the good properties, we can remove all the efika_init code by a single call to common code. While we're modifying that file, a few whitespaces/alignement/typo fixes are made (nothing significant). Signed-off-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit b6a591b2c59935eef5dd31790323ca6014e28f01 Author: Sylvain Munaut Date: Mon Feb 12 23:13:21 2007 +0100 [POWERPC] Restore 'proper' link order in platform The 52xx was put before CHRP to allow EFIKA to be recognized properly. Now the efika tree is fixed up in prom_init so no need for this ugly hack. So we restore the 'normal' order. Signed-off-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 88fd2a9d681f261ebd55a6843a03ea2a1bb9eb39 Author: Sylvain Munaut Date: Mon Feb 12 23:13:20 2007 +0100 [POWERPC] Add device tree fixups for the EFIKA We make the efika device tree compliant with the defined bindings (at least compliant enough). This is mostly done by mangling the device_type and compatible properties, but also adding some missing bits. Signed-off-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 05cbbc692f513c0e62372abeab01b04b07096582 Author: Grant Likely Date: Mon Feb 12 13:36:54 2007 -0700 [POWERPC] mpc5200 device tree bindings refinement Much needed refinement of mpc5200 device tree binding specifications. Short list: - drop mpc52xx designator; only two supported chips exist, 5200 and 5200b. It's premature to refer to them as '52xx'. - Specify optional 'model' and 'revision' properties in the soc5200 node - Specify reqiured 'cell-index' property to identify between multiple SOC devices of the same type. (Useful for arbitrating shared register access) - Specify optional 'port-number' property for adjusting the logical serial port assignments. - Specify optional 'has-wdt' property for gpt0 node. - Add system-frequency property to soc5200 node Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit e3aba81d154c53a82e2a7e0ff5e7f1162a53cf27 Author: Grant Likely Date: Mon Feb 12 13:36:55 2007 -0700 [POWERPC] Fixup mp5200 drivers to match device tree changes Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 40d244d69a3871dd05a5fdae29f36823a6ee3e33 Author: Stephen Rothwell Date: Mon Feb 12 22:10:48 2007 +1100 [POWERPC] correct a prototype This rids us of a warning. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9b96ea662b404b9ed882c78cb844510d804a83e6 Author: Stephen Rothwell Date: Mon Feb 12 22:09:18 2007 +1100 [POWERPC] Wire up sys_getcpu Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ab9367e38fa97c2ed7f72fd5fa29d0d70d58df89 Author: Stefan Roese Date: Mon Feb 12 11:29:04 2007 +0100 [POWERPC] ppc: Add support for AMCC Taishan 440GX eval board This patch adds support for the AMCC Taishan PPC440GX evaluation board. This is still an arch/ppc port. I'm aware that the move of 4xx to arch/powerpc is making good progress right now. So this patch is mainly intended to make the Taishan support available for the community right now. Signed-off-by: Stefan Roese Signed-off-by: Paul Mackerras commit 7ac9a13717c10c5ee074a6b23096c8d277fa5712 Author: Benjamin Herrenschmidt Date: Mon Feb 12 13:31:08 2007 +1100 [POWERPC] Fix vDSO page count calculation The recent vDSO consolidation patches broke powerpc due to a mistake in the definition of MAXPAGES constants. This fixes it by moving to a dynamically allocated array of pages instead as I don't like much hard coded size limits. Also move the vdso initialisation to an initcall since it doesn't really need to be done -that- early. Applogies for not catching the breakage earlier, Roland _did_ CC me on his patches a while ago, I got busy with other things and forgot to test them. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a334bdbdda9659b8f50a8620a11249fde62ccfde Author: Olaf Hering Date: Sat Feb 10 21:40:00 2007 +0100 [POWERPC] Correct AC Power: in /proc/pmu/info on ibook1 /proc/pmu/info contains AC Power: 0 when booting without battery. Force AC Power, it will be updated whenever the battery state changes. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 2d99c41f05fc2a26737aacf943db03ca89841199 Author: Olaf Hering Date: Sat Feb 10 21:38:37 2007 +0100 [POWERPC] Mark winbond IDE PCI resources with start 0 as unassigned libata calls pci_request_regions to claim PCI BAR 0 - 5 pci_request_regions fails if one of the regions cant be claimed. bar 5 has start == 0, __request_resource will fail. Tested on a p630 in SMP mode with pata_sl82c105 00:03.1 IDE interface: Symphony Labs SL82c105 (rev 05) (prog-if 8f [Master SecP SecO PriP PriO]) Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- Signed-off-by: Paul Mackerras commit 872758563d7f132d25fc06857bd19df06c5c70c7 Author: Olaf Hering Date: Sat Feb 10 21:35:12 2007 +0100 [POWERPC] move variables in drivers/macintosh to bss Move all the initialized variables to bss. Mark a version string as const. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 9ea8b7c96f64f68548976ba65062cee2f2b7d831 Author: Pavel Fedin Date: Mon Jan 29 15:13:03 2007 +0300 [POWERPC] Virtual DMA support for floppy driver for new powerpc architecture During ppc64+ppc merge virtual DMA code for floppy driver was not ported. This patch restores virtual DMA support for floppy in new powerpc target. It is necessary at least on Pegasos and AmigaOne machines for the floppy drive to function. ISA DMA controller works incorrectly there due to its addressing limitations. Virtual DMA mode is activated by floppy=nodma option passed to the kernel (or module). There's no automatic switch like on i386. Signed-off-by: Pavel Fedin Signed-off-by: Paul Mackerras commit cbca567ea5b337eaa2685606cbb9183e79b8f97f Author: Akira Iguchi Date: Fri Feb 9 16:53:59 2007 +0900 [POWERPC] Celleb: improve MMU hashtable locking Disabling IRQ is required only in invalidation. This changes "spin_lock_irqsave" to "spin_lock" in other ops. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e2e01bfef8399c8f39c9fdf4a5576039069e760c Author: Patrick McHardy Date: Mon Feb 12 20:27:10 2007 -0800 [XFRM]: Fix IPv4 tunnel mode decapsulation with IPV6=n Add missing break when CONFIG_IPV6=n. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6e1d9d04c4004361fb327abcbde74a20e8dca2ff Author: YOSHIFUJI Hideaki Date: Mon Feb 12 20:26:39 2007 -0800 [IPV6] HASHTABLES: Use appropriate seed for caluculating ehash index. Tetsuo Handa told me that connect(2) with TCPv6 socket almost always took a few minutes to return when we did not have any ports available in the range of net.ipv4.ip_local_port_range. The reason was that we used incorrect seed for calculating index of hash when we check established sockets in __inet6_check_established(). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 1f1fec94589ed0b14c749eb9494bb690dbdf8d5a Author: David Gibson Date: Tue Feb 6 12:48:31 2007 +1100 [POWERPC] Remove ibm4{xx,4x}.h from arch/powerpc ARCH=powerpc should not use the ghastly un-multiplatformable tangle of includes that starts with asm-ppc/ibm4xx.h. This patch removes a compile-breaking include of it from head_44x.S. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8ce0a7df6e6117d8814e976d4b7ce6a6b2c9cf93 Author: Becky Bruce Date: Mon Feb 12 17:43:46 2007 -0600 [POWERPC] 85xx: Don't write reserved values to MAS1[TSIZE] Some of the current tlbwe instructions early on in head_fsl_booke.S take advantage of unarchitected behavior that allows the writing of reserved values to the TSIZE field. This patch corrects that, as well as an error where an uninitialized (by linux) value was written into a MAS register and used for a tlbwe. Correct this for both arch/ppc and arch/powerpc. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 67c2b7d9d224232ee730b9c9444abed824b62e7a Merge: 49baa91... 5986a2e... Author: Kumar Gala Date: Mon Feb 12 21:28:39 2007 -0600 Merge branch 'master' into 83xx commit edacf6bb7e7e1b75f2937966a50119439ff78ccb Merge: 862a728... 5986a2e... Author: Kumar Gala Date: Mon Feb 12 21:27:10 2007 -0600 Merge branch 'master' into 85xx commit 06d8bf64ba25db42fcc60d2da2268ac22af94e77 Merge: 8f68abb... 5986a2e... Author: Kumar Gala Date: Mon Feb 12 21:17:37 2007 -0600 Merge branch 'master' into for_paulus commit fe6af6faec078ec8137631f24cb541f9918244f0 Merge: ec2f9d1... 8f68abb... Author: Paul Mackerras Date: Tue Feb 13 13:28:00 2007 +1100 Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit c7666e72cff1a2793055486340ac5f5137494c08 Author: Paul Mundt Date: Tue Feb 13 11:11:22 2007 +0900 sh: define dma noncoherent API functions. sh was missing these, too. Signed-off-by: Paul Mundt commit fe8289175059a807094ba962828318910ea08a37 Author: Paul Mundt Date: Tue Feb 13 11:09:15 2007 +0900 sh: Missing flush_dcache_all() proto in cacheflush.h. Some boards need this, so provide a definition. Signed-off-by: Paul Mundt commit ca43ecbf6e5c7216152e5a388f2ecdd87e07a293 Author: Paul Mundt Date: Wed Feb 7 21:27:50 2007 +0900 sh: Kill dead/unused ISA code from __ioremap(). Signed-off-by: Paul Mundt commit f5df54dc2e1dce80eb7fb45f3f6d5ce096d911f3 Author: Paul Mundt Date: Wed Feb 7 20:00:01 2007 +0900 sh: Add cpu-features header to asm/Kbuild. This is used by the libc for parsing CPU capability flags passed via the ELF auxvt, needed for run-time selection of atomic opcodes amongst other things. Signed-off-by: Paul Mundt commit a5ba7d545364b85c3a97f65d328be55ca933a9c7 Author: Paul Mundt Date: Wed Feb 7 19:58:07 2007 +0900 sh: Move __KERNEL__ up in asm/page.h. This was breaking the uClibc build, which triggered the bogus page size error. Signed-off-by: Paul Mundt commit b37814352d2c4b83e0636e57f997c3a79d33be05 Author: Paul Mundt Date: Wed Feb 7 19:11:35 2007 +0900 sh: Fix syscall numbering breakage. We accidentally broke the inotify syscalls, fix those up again. Signed-off-by: Paul Mundt commit 5904539b7f21ae97f16278ea4bfb81fd19749e1a Author: Paul Mundt Date: Wed Feb 7 18:35:39 2007 +0900 sh: dcache write-back for R7780RP PIO. Signed-off-by: Paul Mundt commit 0072032d7babc4347556c1863919f3c532d9cf5b Author: Paul Mundt Date: Mon Dec 25 19:37:56 2006 +0900 sh: Switch to local TLB flush variants in additional callsites. Convert some of the global flush users over to using the local variants that don't need to use the global routines. Signed-off-by: Paul Mundt commit ea9af69481730e3d712104dfd549ba6c8ddd29f1 Author: Paul Mundt Date: Mon Dec 25 19:28:54 2006 +0900 sh: Local TLB flushing variants for SMP prep. Rename the existing flush routines to local_ variants for use by the IPI-backed global flush routines on SMP. Signed-off-by: Paul Mundt commit 11c1965687b0a472add948d4240dfe65a2fcb298 Author: Paul Mundt Date: Mon Dec 25 10:19:56 2006 +0900 sh: Fixup cpu_data references for the non-boot CPUs. There are a lot of bogus cpu_data-> references that only end up working for the boot CPU, convert these to current_cpu_data to fixup SMP. Signed-off-by: Paul Mundt commit aec5e0e1c179fac4bbca4007a3f0d3107275a73c Author: Paul Mundt Date: Mon Dec 25 09:51:47 2006 +0900 sh: Use a per-cpu ASID cache. Previously this was implemented using a global cache, cache this per-CPU instead and bump up the number of context IDs to match NR_CPUS. Signed-off-by: Paul Mundt commit 506b85f4114b912d2e91fab8da9849289e43857f Author: Andrew Morton Date: Wed Feb 7 13:56:44 2007 +0900 sh: add SH_CLK_MD Kconfig default. This option needs a default - otherwise `make allmodconfig' gets stuck in an infinite loop. Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit dbbfa2da27fbf353caa8934768afbbf8d5e73d9b Author: Nobuhiro Iwamatsu Date: Wed Feb 7 13:54:39 2007 +0900 sh: Fixup SHMIN INTC register definitions. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 9f8a5e3a44d81bbf19fddeb74645dec6b0e23b23 Author: Manuel Lauss Date: Thu Jan 25 15:22:11 2007 +0900 sh: SH-DMAC compile fixes This patch does the following: - remove the make_ipr_irq stuff from dma-sh.c and replace it with a simple channel<->irq mapping table. - add DMTEx_IRQ constants for sh4 cpus - fix sh7751 DMAE irq number The SH7780 uses the same IRQs for DMA as other SH4 types, so I put the constants on top of the dma.h file. Other CPU types need to #define their own DMTEx_IRQ contants in their appropriate header. Signed-off-by: Manuel Lauss Signed-off-by: Paul Mundt commit 6dcda6f1ecef86209ac161631837bc57172ba049 Author: Manuel Lauss Date: Thu Jan 25 15:21:03 2007 +0900 sh: add SH7760 IPR IRQ data Add SH7760 IPR IRQ data; makes 2.6.20-rc bootable again. Signed-off-by: Manuel Lauss Signed-off-by: Paul Mundt commit 86b67ef7518d1fcd4489dc464d4c33a274a1c635 Author: Nobuhiro Iwamatsu Date: Mon Jan 1 09:21:43 2007 +0900 sh: Fix handle_BUG() compile error. handle_BUG() uses TRAPA_BUG_OPCODE which is only defined for CONFIG_BUG, make sure it's not built when CONFIG_BUG=n. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit adac9570966eb2eb137209e552b258d4d1d4825b Author: Paul Mundt Date: Thu Dec 28 10:54:01 2006 +0900 sh: Don't set reserved _PAGE_WT bit on SH-3. Only SH-4 needs to set _PAGE_WT when using write-through caching, don't attempt to set it on SH-3 where it ends up being a reserved bit. Signed-off-by: Paul Mundt commit 26b7a78c55fbc0e23a7dc19e89fd50f200efc002 Author: Paul Mundt Date: Thu Dec 28 10:31:48 2006 +0900 sh: Lazy dcache writeback optimizations. This converts the lazy dcache handling to the model described in Documentation/cachetlb.txt and drops the ptep_get_and_clear() hacks used for the aliasing dcaches on SH-4 and SH7705 in 32kB mode. As a bonus, this slightly cuts down on the cache flushing frequency. With that and the PTEA handling out of the way, the update_mmu_cache() implementations can be consolidated, and we no longer have to worry about which configuration the cache is in for the SH7705 case. And finally, explicitly disable the lazy writeback on SMP (SH-4A). Signed-off-by: Paul Mundt commit 7a847f819063b80cc5b38d39e8aad4d60f6ca2fd Author: Paul Mundt Date: Tue Dec 26 15:29:19 2006 +0900 sh: More tidying for large base pages. There were a few more things that needed fixing up, namely THREAD_SIZE and the TLB miss handler where certain PTRS_PER_PGD == PTRS_PER_PTE assumptions were being made. Signed-off-by: Paul Mundt commit aa4a5db52a440d32eab134bfb79d2c9af71eedb4 Author: Nobuhiro Iwamatsu Date: Fri Dec 29 01:50:35 2006 +0900 sh: Solution Engine 770x IPR irq setup. Fixups for external IPR IRQs for the SE770x FPGA. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 08d2e099fb19ec2edef548a2988c824c8ec0b071 Author: Nobuhiro Iwamatsu Date: Fri Dec 29 01:44:32 2006 +0900 sh: Solution Engine 7750's defconfig update. Update se7750_defconfig. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit f725b5ee1e392ab1299c9317236cf736af1183ab Author: Takashi YOSHII Date: Mon Dec 25 18:35:24 2006 +0900 sh: shmin updates. This fixes up shmin (and SH7706/SH7708) IPR support for some of the recent API changes. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 2c081e71baadccb4543815ef42c5290ac2961546 Author: Paul Mundt Date: Mon Dec 25 18:28:33 2006 +0900 sh: Fixup R7780RP iVDR clock enable. The iVDR clock enable bit happens to actually reside in a rather different place than what is documented, so fix it up accordingly. This fixes up SATA boot for some of the R7780RP boards that didn't default-enable the clock in the loader. Signed-off-by: Paul Mundt commit 703404ea441fc198d03ca3e9edbac6e09b5415f4 Author: Jamie Lenehan Date: Tue Dec 19 12:16:06 2006 +0900 sh: allow earlyprintk baud rate to be set via command line This allows the baud rate for earlyprintk for sh4 without the standard BIOS to be set via the command line. This uses the same format as i386 and x86_64, which is: earlyprintk=serial,ttySC1,38400 The second parameter (ttySC1 above) is usually the console device name or the io address of the serial port. I allow that to be specified but ignore it in order to keep the format the same as i386/x86_64. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit 106dac130d6fb6670a0bbfa8c714054990b41b03 Author: SUGIOKA Toshinobu Date: Tue Dec 19 12:13:55 2006 +0900 sh: syscall 300 should be __NR_fstatat64. syscall number 300 fails while testing with latest LTP (ltp-full-20061121.tgz) on sh. sys_fstatat64 is called on syscall 300 (see arch/sh/kernel/syscalls.S), and __ARCH_WANT_STAT64 is defined in include/asm-sh/unistd.h, so following patch seems correct. Signed-off-by: SUGIOKA Toshinobu Signed-off-by: Paul Mundt commit 5c67cd05e3e9b6f08c3472dd66f0d8d03e1ee870 Author: Yoshinori Sato Date: Tue Dec 19 12:12:01 2006 +0900 sh: sh7619 / sh7206 IPR initialize update IPR initialize proceduere update. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 4aa362bbdd801dd971acbe3db479fe871f2fed0b Author: Yoshinori Sato Date: Tue Dec 19 12:10:48 2006 +0900 sh: Update SH-2 to use the debug trap jump table. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 702dd80375046d36f892a0f86c83f8549c623b35 Author: Paul Mundt Date: Tue Dec 19 12:05:17 2006 +0900 sh: Use proper SH-2A CFLAGS on newer compilers. -m2 doesn't end up working particularly well when we've got a constrained toolchain target. Switch to the same semantics used by SH-4A to attempt to get it right. Spotted by Alex Song . Signed-off-by: Paul Mundt commit f413d0d9fa7abcecc40e115cf4aead372d164a75 Author: Paul Mundt Date: Wed Dec 13 17:40:05 2006 +0900 sh: Use a jump call table for debug trap handlers. This rips out most of the needlessly complicated sh_bios and kgdb trap handling, and forces it all through a common fast dispatch path. As more debug traps are inserted, it's important to keep them in sync for all of the parts, not just SH-3/4. As the SH-2 parts are unable to do traps in the >= 0x40 range, we restrict the debug traps to the 0x30-0x3f range on all parts, and also bump the kgdb breakpoint trap down in to this range (from 0xff to 0x3c) so it's possible to use for nommu. Optionally, this table can be padded out to catch spurious traps for SH-3/4, but we don't do that yet.. Signed-off-by: Paul Mundt commit b2875d4c39759a732203db32f245cc6d8bbdd7cf Author: Michael S. Tsirkin Date: Sat Feb 10 23:14:25 2007 +0200 IB/mthca: Always fill MTTs from CPU Speed up memory registration by filling in MTTs directly when the CPU can write directly to the whole table (all mem-free cards, and to Tavor mode on 64-bit systems with the patch I posted earlier). This reduces the number of FW commands needed to register an MR by at least a factor of 2 and speeds up memory registration significantly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit c20e20ab0f3af9a44842ea11287c9ecd034a5d33 Author: Michael S. Tsirkin Date: Sat Feb 10 23:13:12 2007 +0200 IB/mthca: Merge MR and FMR space on 64-bit systems For Tavor, we currently reserve separate MPT and MTT space for FMRs to avoid abusing the vmalloc space on 32 bit kernels. No such problem exists on 64 bit kernels so let's not do it there. This way we have a shared pool for MR and FMR resources, used on demand. This will also make it possible to write MTTs for regular regions directly from driver. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 391e4dea7189eef32b0c2d121e7e047110c1b83c Author: Michael S. Tsirkin Date: Sat Feb 10 23:15:08 2007 +0200 IB/mthca: Fix access to MTT and MPT tables on non-cache-coherent CPUs We allocate the MTT table with alloc_pages() and then do pci_map_sg(), so we must call pci_dma_sync_sg() after the CPU writes to the MTT table. This works since the device will never write MTTs on mem-free HCAs, once we get rid of the use of the WRITE_MTT firmware command. This change is needed to make that work, and is an improvement for now, since it gives FMRs a chance at working. For MPTs, both the device and CPU might write there, so we must allocate DMA coherent memory for these. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 1d1f19cfce7687b557cebdc41bf8a5eeba8a9882 Author: Michael S. Tsirkin Date: Sat Feb 10 23:17:26 2007 +0200 IB/mthca: Give reserved MTTs a separate cache line MTTs are allocated in non-cache-coherent memory, so we must give reserved MTTs their own cache line, to prevent both device and CPU from writing into the same cache line at the same time. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit c7d204e8fdf02f88d91707213f473805bcfb977b Author: Michael S. Tsirkin Date: Sat Feb 10 23:17:26 2007 +0200 IB/mthca: Fix reserved MTTs calculation on mem-free HCAs The reserved_mtts field has different meaning in Tavor and Arbel, so we are wasting mtt entries on memfree. Fix the Arbel case to match Tavor semantics. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit b038ced7b3705bf0ac9b30e118af0f56ab48b847 Author: Steve Wise Date: Mon Feb 12 16:16:18 2007 -0800 RDMA/cxgb3: Add driver for Chelsio T3 RNIC Add an RDMA/iWARP driver for the Chelsio T3 1GbE and 10GbE adapters. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ec2f9d1331f658433411c58077871e1eef4ee1b4 Merge: 89697f1... 34cc560... Author: Linus Torvalds Date: Mon Feb 12 15:35:30 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Re-export saved_command_line to modules. [SPARC64]: Increase command line size to 2048 like other arches. [SPARC64]: We do not need ZONE_DMA. commit 89697f1d715e20fff0361cca79efd5a371623af7 Merge: fd19e44... 13fcfbb... Author: Linus Torvalds Date: Mon Feb 12 15:34:17 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits) [XFRM]: Fix OOPSes in xfrm_audit_log(). [TCP]: cleanup of htcp (resend) [TCP]: Use read mostly for CUBIC parameters. [NETFILTER]: nf_conntrack_tcp: make sysctl variables static [NETFILTER]: ip6t_mh: drop piggyback payload packet on MH packets [NETFILTER]: Fix whitespace errors [NETFILTER]: Kconfig: improve dependency handling [NETFILTER]: xt_mac/xt_CLASSIFY: use IPv6 hook names for IPv6 registration [NETFILTER]: nf_conntrack: change nf_conntrack_l[34]proto_unregister to void [NETFILTER]: nf_conntrack: properly use RCU for nf_conntrack_destroyed callback [NETFILTER]: ip_conntrack: properly use RCU for ip_conntrack_destroyed callback [NETFILTER]: nf_conntrack: fix invalid conntrack statistics RCU assumption [NETFILTER]: ip_conntrack: fix invalid conntrack statistics RCU assumption [NETFILTER]: nf_conntrack: properly use RCU API for nf_ct_protos/nf_ct_l3protos arrays [NETFILTER]: ip_conntrack: properly use RCU API for ip_ct_protos array [NETFILTER]: nf_nat: properly use RCU API for nf_nat_protos array [NETFILTER]: ip_nat: properly use RCU API for ip_nat_protos array [NETFILTER]: nf_log: minor cleanups [NETFILTER]: nf_log: switch logger registration/unregistration to mutex [NETFILTER]: nf_log: make nf_log_unregister_pf return void ... commit 34cc560e6a72ff414ff7d107426a411b0a093ad3 Author: David S. Miller Date: Mon Feb 12 15:10:56 2007 -0800 [SPARC]: Re-export saved_command_line to modules. This reverts some bogosity from the dynamic command-line changes made on sparc32 and sparc64. Drivers such as drivers/sbus/char/openprom.c reference saved_command_line, and can be modular. The boot_command_line is __initdata, yet the dynamic command-line changes add modular exports of that symbol, obviously wrong. Signed-off-by: David S. Miller commit b5ba1b31c793185d6e0ee62c1928c84bcff9818e Author: David S. Miller Date: Mon Feb 12 11:01:21 2007 -0800 [SPARC64]: Increase command line size to 2048 like other arches. Signed-off-by: David S. Miller commit 1b51d3a08b6c80a1e47d4c579c41abbe56cd3c44 Author: David S. Miller Date: Mon Feb 12 00:13:31 2007 -0800 [SPARC64]: We do not need ZONE_DMA. Signed-off-by: David S. Miller commit fd19e44f449f7e2e58d42d7bb6813e2292c38fba Author: Linus Torvalds Date: Mon Feb 12 15:05:15 2007 -0800 don't use 'localversion*' files twice Since we look in both source and object directories for localversion* files, we accidentally ended up getting them twice. Use 'sort -u' to avoid that. Reported-by: Tony Luck Signed-off-by: Linus Torvalds commit 13fcfbb0675bf87da694f55dec11cada489a205c Author: David S. Miller Date: Mon Feb 12 13:53:54 2007 -0800 [XFRM]: Fix OOPSes in xfrm_audit_log(). Make sure that this function is called correctly, and add BUG() checking to ensure the arguments are sane. Based upon a patch by Joy Latten. Signed-off-by: David S. Miller commit 82eb7c5059de64bd43f6b3cf3f128470f2b3fb83 Author: Jiri Slaby Date: Thu Feb 8 18:39:36 2007 +0100 [WATCHDOG] timers cleanup - Use timer macros to set function and data members and to modify expiration time. - Use DEFINE_TIMER for single (platform dependent) watchdog timers and do not init them at run-time in these cases. - del_timer_sync is common in most cases -- we want to wait for timer function if it's still running. Signed-off-by: Jiri Slaby Cc: Steve Hill Cc: Heiko Ronsdorf Cc: Fernando Fuganti Cc: Gergely Madarasz Cc: Ken Hollis Cc: Paul Mundt Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 9121c77706a4bd75a878573c913553ade120e9ce Author: Stephen Hemminger Date: Mon Feb 12 13:34:03 2007 -0800 [TCP]: cleanup of htcp (resend) Minor non-invasive cleanups: * white space around operators and line wrapping * use const * use __read_mostly Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 59758f44592b0930e83b190cf0206e59d616c983 Author: Stephen Hemminger Date: Mon Feb 12 13:15:20 2007 -0800 [TCP]: Use read mostly for CUBIC parameters. These module parameters should be in the read mostly area to avoid cache pollution. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3aef0fd91c67f4070c8dc607807615c4bdd66bd1 Author: Patrick McHardy Date: Mon Feb 12 11:16:58 2007 -0800 [NETFILTER]: nf_conntrack_tcp: make sysctl variables static sysctls are registered by the protocol module itself since 2.6.19, no need to have them visible to others. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 138939e0662ccb0e805aefe400bcf9cfcbece8e7 Author: Masahide NAKAMURA Date: Mon Feb 12 11:16:17 2007 -0800 [NETFILTER]: ip6t_mh: drop piggyback payload packet on MH packets Regarding RFC3775, MH payload proto field should be IPPROTO_NONE. Otherwise it must be discarded (and the receiver should send ICMP error). We assume filter should drop such piggyback everytime to disallow slipping through firewall rules, even the final receiver will discard it. Signed-off-by: Masahide NAKAMURA Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 601e68e100b6bf8ba13a32db8faf92d43acaa997 Author: YOSHIFUJI Hideaki Date: Mon Feb 12 11:15:49 2007 -0800 [NETFILTER]: Fix whitespace errors Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a3c941b08d73e26af9030d34a73a1992cfff1703 Author: Patrick McHardy Date: Mon Feb 12 11:15:02 2007 -0800 [NETFILTER]: Kconfig: improve dependency handling Instead of depending on internally needed options and letting users figure out what is needed, select them when needed: - IP_NF_IPTABLES, IP_NF_ARPTABLES and IP6_NF_IPTABLES select NETFILTER_XTABLES - NETFILTER_XT_TARGET_CONNMARK, NETFILTER_XT_MATCH_CONNMARK and IP_NF_TARGET_CLUSTERIP select NF_CONNTRACK_MARK - NETFILTER_XT_MATCH_CONNBYTES selects NF_CT_ACCT Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 891350c9d168a7d58a193a67a1d107c23f9c2eb1 Author: Patrick McHardy Date: Mon Feb 12 11:14:43 2007 -0800 [NETFILTER]: xt_mac/xt_CLASSIFY: use IPv6 hook names for IPv6 registration Use NF_IP6_ instead of NF_IP_. The values are identical, this is merely cleanup. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fe3eb20c1ace69e42e6ebf2afd2a904b2ae85cde Author: Patrick McHardy Date: Mon Feb 12 11:14:28 2007 -0800 [NETFILTER]: nf_conntrack: change nf_conntrack_l[34]proto_unregister to void No caller checks the return value, and since its usually called within the module unload path there's nothing a module could do about errors anyway, so BUG on invalid conditions and return void. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 982d9a9ce389c396bc83ce29d799937f379ddcb7 Author: Patrick McHardy Date: Mon Feb 12 11:14:11 2007 -0800 [NETFILTER]: nf_conntrack: properly use RCU for nf_conntrack_destroyed callback Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6b48a7d08d1bb2e3932bce1662fe411304acc18f Author: Patrick McHardy Date: Mon Feb 12 11:13:58 2007 -0800 [NETFILTER]: ip_conntrack: properly use RCU for ip_conntrack_destroyed callback Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c0e912d7ed8999f87fa7f084928aac1266e251f3 Author: Patrick McHardy Date: Mon Feb 12 11:13:43 2007 -0800 [NETFILTER]: nf_conntrack: fix invalid conntrack statistics RCU assumption NF_CT_STAT_INC assumes rcu_read_lock in nf_hook_slow disables preemption as well, making it legal to use __get_cpu_var without disabling preemption manually. The assumption is not correct anymore with preemptable RCU, additionally we need to protect against softirqs when not holding nf_conntrack_lock. Add NF_CT_STAT_INC_ATOMIC macro, which disables local softirqs, and use where necessary. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit abbaccda4c364815b8b1a82c45a94f60760e13e1 Author: Patrick McHardy Date: Mon Feb 12 11:13:14 2007 -0800 [NETFILTER]: ip_conntrack: fix invalid conntrack statistics RCU assumption CONNTRACK_STAT_INC assumes rcu_read_lock in nf_hook_slow disables preemption as well, making it legal to use __get_cpu_var without disabling preemption manually. The assumption is not correct anymore with preemptable RCU, additionally we need to protect against softirqs when not holding ip_conntrack_lock. Add CONNTRACK_STAT_INC_ATOMIC macro, which disables local softirqs, and use where necessary. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 923f4902fefdf4e89b0fb32c4e069d4f57d704f5 Author: Patrick McHardy Date: Mon Feb 12 11:12:57 2007 -0800 [NETFILTER]: nf_conntrack: properly use RCU API for nf_ct_protos/nf_ct_l3protos arrays Replace preempt_{enable,disable} based RCU by proper use of the RCU API and add missing rcu_read_lock/rcu_read_unlock calls in all paths not obviously only used within packet process context (nfnetlink_conntrack). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 642d628b2c92e5283bbd3c849c7099c64ab68856 Author: Patrick McHardy Date: Mon Feb 12 11:12:40 2007 -0800 [NETFILTER]: ip_conntrack: properly use RCU API for ip_ct_protos array Replace preempt_{enable,disable} based RCU by proper use of the RCU API and add missing rcu_read_lock/rcu_read_unlock calls in all paths not obviously only used within packet process context (nfnetlink_conntrack). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e22a05486913ccb959281cd6370593bd8e197fa9 Author: Patrick McHardy Date: Mon Feb 12 11:12:26 2007 -0800 [NETFILTER]: nf_nat: properly use RCU API for nf_nat_protos array Replace preempt_{enable,disable} based RCU by proper use of the RCU API and add missing rcu_read_lock/rcu_read_unlock calls in paths used outside of packet processing context (nfnetlink_conntrack). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a441dfdbb2e54217b8d26a6c129650728d401bf7 Author: Patrick McHardy Date: Mon Feb 12 11:12:09 2007 -0800 [NETFILTER]: ip_nat: properly use RCU API for ip_nat_protos array Replace preempt_{enable,disable} based RCU by proper use of the RCU API and add missing rcu_read_lock/rcu_read_unlock calls in paths used outside of packet processing context (nfnetlink_conntrack). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e92ad99c78de09a5ba0746e1c0ee27cc7450c64d Author: Patrick McHardy Date: Mon Feb 12 11:11:55 2007 -0800 [NETFILTER]: nf_log: minor cleanups - rename nf_logging to nf_loggers since its an array of registered loggers - rename nf_log_unregister_logger() to nf_log_unregister() to make it symetrical to nf_log_register() and convert all users Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9b73534dc57fa2fd5ef567586adb83c16e88a52f Author: Patrick McHardy Date: Mon Feb 12 11:11:39 2007 -0800 [NETFILTER]: nf_log: switch logger registration/unregistration to mutex The spinlock is only used in process context (register/unregister), switch to a mutex. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9dc6aa5fcfc104becd86c89c5e7ec90e840e0163 Author: Patrick McHardy Date: Mon Feb 12 11:11:24 2007 -0800 [NETFILTER]: nf_log: make nf_log_unregister_pf return void Since the only user of nf_log_unregister_pf (nfnetlink_log) doesn't check the return value, change it to void and bail out silently when a non-existant address family is supplied. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a5ea6169f294bc33a762f7c1c240e3ac0f045f9e Author: Patrick McHardy Date: Mon Feb 12 11:11:06 2007 -0800 [NETFILTER]: nf_log: use rcu_assign_pointer for RCU protected pointer Also replace synchronize_net() calls by synchronize_rcu() since the RCU protected data is also used for sysfs. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fd706d6957b3c66ae70b4bbdb9e13993213697f7 Author: Patrick McHardy Date: Mon Feb 12 11:10:14 2007 -0800 [NETFILTER]: Switch nf_register_hook/nf_unregister_hook to mutex The spinlock is only used in process context (register/unregister) since RCU is used for the nf_hook lists, switch to a mutex. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d486dd1fb8573fad5b8dab61a7d1406116fd4baf Author: Patrick McHardy Date: Mon Feb 12 11:09:55 2007 -0800 [NETFILTER]: Switch nf_register_afinfo/nf_unregister_afinfo to mutex The spinlock is only used in process context (register/unregister), switch to a mutex. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e4ba13088de7fa384087af398df6629fadb363ba Author: Patrick McHardy Date: Mon Feb 12 11:09:35 2007 -0800 [NETFILTER]: Remove unnecessary synchronize_net() in nf_register_hook We're only adding to the list, no need to synchronize. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c3a47ab3e5ad62601449e4e5401352271b777e28 Author: Patrick McHardy Date: Mon Feb 12 11:09:19 2007 -0800 [NETFILTER]: Properly use RCU in nf_ct_attach Use rcu_assign_pointer/rcu_dereference for ip_ct_attach pointer instead of self-made RCU and use rcu_read_lock to make sure the conntrack module doesn't disappear below us while calling it, since this function can be called from outside the netfilter hooks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ebaf0c6032f525ddb0158fb59848d41899dce8cd Merge: ee9b6d6... 022ae41... Author: Linus Torvalds Date: Mon Feb 12 09:57:44 2007 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] remove __io_virt and mmiowb. [S390] cio: use ARRAY_SIZE in device_id.c [S390] cio: Fixup interface for setting options on ccw devices. [S390] smp_call_function/smp_call_function_on locking. commit ee9b6d61a2a43c5952eb43283f8db284a4e70b8a Author: Josef 'Jeff' Sipek Date: Mon Feb 12 00:55:41 2007 -0800 [PATCH] Mark struct super_operations const This patch is inspired by Arjan's "Patch series to mark struct file_operations and struct inode_operations const". Compile tested with gcc & sparse. Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf Author: Arjan van de Ven Date: Mon Feb 12 00:55:40 2007 -0800 [PATCH] mark struct inode_operations const 3 Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92e1d5be91a0e3ffa5c4697eeb09b2aa22792122 Author: Arjan van de Ven Date: Mon Feb 12 00:55:39 2007 -0800 [PATCH] mark struct inode_operations const 2 Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 754661f143e70d66eae6c48532ca245aa05dec0e Author: Arjan van de Ven Date: Mon Feb 12 00:55:38 2007 -0800 [PATCH] mark struct inode_operations const 1 Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c2e08c592cd357a8330c34def1e8ecfdcf53275 Author: Arjan van de Ven Date: Mon Feb 12 00:55:37 2007 -0800 [PATCH] mark struct file_operations const 9 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da7071d7e32d15149cc513f096a3638097b66387 Author: Arjan van de Ven Date: Mon Feb 12 00:55:36 2007 -0800 [PATCH] mark struct file_operations const 8 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a32144e9d7b4e21341174b1a83b82a82353be86 Author: Arjan van de Ven Date: Mon Feb 12 00:55:35 2007 -0800 [PATCH] mark struct file_operations const 7 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00977a59b951207d38380c75f03a36829950265c Author: Arjan van de Ven Date: Mon Feb 12 00:55:34 2007 -0800 [PATCH] mark struct file_operations const 6 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d54b1fdb1d9f82e375a299e22bd366aad52d4c34 Author: Arjan van de Ven Date: Mon Feb 12 00:55:34 2007 -0800 [PATCH] mark struct file_operations const 5 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa027c2a0a0d6d1df6b29ee99048502c93da0dd4 Author: Arjan van de Ven Date: Mon Feb 12 00:55:33 2007 -0800 [PATCH] mark struct file_operations const 4 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. [akpm@sdl.org: dvb fix] Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b8693c0617e972fc0b2fd1ebf8de97e15b656c3 Author: Arjan van de Ven Date: Mon Feb 12 00:55:32 2007 -0800 [PATCH] mark struct file_operations const 3 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dfe4c964a0dd7bb3a1d64a4166835a153146207 Author: Arjan van de Ven Date: Mon Feb 12 00:55:31 2007 -0800 [PATCH] mark struct file_operations const 2 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. [akpm@osdl.org: sparc64 fix] Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 540473208f8ac71c25a87e1a2670c3c18dd4d6db Author: Arjan van de Ven Date: Mon Feb 12 00:55:28 2007 -0800 [PATCH] mark struct file_operations const 1 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f59e5e82096f81a2cb7d7833001956d81e9fa6fb Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:27 2007 -0800 [PATCH] ps3: ps3av/fb defconfig updates PS3: defconfig updates for ps3av and ps3fb Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36dff96b3b83c5d79a45b221adf137b571b03d65 Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:26 2007 -0800 [PATCH] ps3: cleanup ps3fb before clearing HPTE PS3: Cleanup the frame buffer device before clearing the HPTE mapping Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0465f790e06d6dbc07d9b569b74ee8154dfca280 Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:25 2007 -0800 [PATCH] ps3: disable display flipping during mode changes If ps3fb is available, we have to disable display flipping while changing the audio or video mode. Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 310d8c11126d21e417206c874c6382c44ece1baa Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:23 2007 -0800 [PATCH] ps3: Virtual Frame Buffer Driver Add the PS3 Virtual Frame Buffer Driver. As the actual graphics hardware cannot be accessed directly by Linux, ps3fb uses a virtual frame buffer in main memory. The actual screen image is copied to graphics memory by the GPU on every vertical blank, by making a hypervisor call. Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbdb3e5be36619c4acf415d870eceab4cbce2850 Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:22 2007 -0800 [PATCH] ps3: Preallocate bootmem memory for ps3fb Preallocate bootmem memory for the PS3 frame buffer device, which needs a large block of physically-contiguous memory. The size of this memory block is configurable: - The config option CONFIG_FB_PS3_DEFAULT_SIZE_M allows to specify the default amount of memory (in MiB) allocated to the virtual frame buffer. - The early boot parameter `ps3fb=xxx' allows to override the default value. It will be rounded up to a multiple of 1 MiB, if needed. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcfe2666ffd6316b764801db82092bc62db56e6f Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:21 2007 -0800 [PATCH] fb_videomode_to_var: reset virtual screen parameters fb_videomode_to_var(): reset the virtual screen parameters when converting from an fb_videomode to an fb_var_screeninfo. Without this the old virtual screen parameters are kept. Hence you cannot switch to a video mode with a lower resolution on frame buffer devices that don't support virtual screens and panning, as values are not supposed to be rounded down when they don't fit. I also reordered the assignments to match the order of the individual members. Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9791d763de8cca82b42a7a579e031db78e8011ff Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:19 2007 -0800 [PATCH] fbdev modedb: make more pointer parameters const fbdev modedb: make more input and output pointer parameters const Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c52cbeb7f27e1242e88f99f7f6486a16d5733c7 Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:18 2007 -0800 [PATCH] fbdev modedb: allow refresh rates for named video modes fbdev modedb: Take into account the specified refresh rates for video modes specified by name, so e.g. all of `720p', `720p@60', and `720p@50' work. Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11227fd1922dc5dda691586852cfd220dd383f37 Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:16 2007 -0800 [PATCH] ps3: AV Settings Driver Add the PS3 AV Settings Driver. The AV Settings driver is used to control Audio and Video settings. It communicates with the policy manager through the virtual uart. Signed-off-by: Geert Uytterhoeven Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b8e8ee6c65a34d8aafaeb8e2eaa97e496c2567c Author: Geert Uytterhoeven Date: Mon Feb 12 00:55:15 2007 -0800 [PATCH] ps3: add shutdown to virtual uart port driver framework PS3: Add a shutdown method to the PS3's virtual uart port driver framework Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Cc: James Simmons Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e14ab8b5ecca8997406180e23761525f49a09a3 Author: Prarit Bhargava Date: Mon Feb 12 00:55:14 2007 -0800 [PATCH] change nvidiafb_remove to __devexit Change nvidiafb_remove to __devexit to fix MODPOST warnings: WARNING: drivers/video/nvidia/nvidiafb.o - Section mismatch: reference to .exit.text:nvidiafb_remove from .data.rel.local after 'nvidiafb_driver' (at offset 0x28) Signed-off-by: Prarit Bhargava Acked-By: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5610b9c3a2896fcaa623b92d0f24d83f10bb2c0 Author: Jiri Slaby Date: Mon Feb 12 00:55:12 2007 -0800 [PATCH] Video: fb, kzalloc changes Use kzalloc instead of kmalloc + memset(0). Signed-off-by: Jiri Slaby Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4f28e54d61278203c2bb2aea0679e0a738235d2 Author: Jiri Slaby Date: Mon Feb 12 00:55:11 2007 -0800 [PATCH] Video: fb, add true ref_count atomicity Some of fb drivers uses atomic_t in bad manner, since there are still some race-prone gaps. Use mutexes to protect open/close code sections with ref_count testing and finally use simple uint. Signed-off-by: Jiri Slaby Acked-by: Denis Oliver Kropp Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52e7c922f37907ab3cf3445b916fbbc53cbd6c75 Author: Adrian Bunk Date: Mon Feb 12 00:55:09 2007 -0800 [PATCH] remove the broken FB_S3TRIO driver The FB_S3TRIO driver: - has been marked as BROKEN for more than two years and - is still marked as BROKEN. Drivers that had been marked as BROKEN for such a long time seem to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive this driver, the code is still present in the older kernel releases. Signed-off-by: Adrian Bunk Acked-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Cc: James Simmons Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fdbe5cf27aff997e348c5f01b424ad734bd1d25 Author: Jean Delvare Date: Mon Feb 12 00:55:07 2007 -0800 [PATCH] matroxfb: Use kzalloc Use kzalloc instead of kmalloc+memset, twice. Signed-off-by: Jean Delvare Cc: Petr Vandrovec Acked-By: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c30660ead2dd6ced47ac6ad4c099fb9305263ffb Author: Richard Knutsson Date: Mon Feb 12 00:55:06 2007 -0800 [PATCH] drivers/video/sis: Convert to generic boolean Convert: FALSE -> false TRUE -> true BOOLEAN -> bool Signed-off-by: Richard Knutsson Cc: Thomas Hellstrom Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3aebbd8f92ef1aa3048800b4991db60403b85964 Author: Alan Date: Mon Feb 12 00:55:05 2007 -0800 [PATCH] pm3fb: kill pci_find_device usage Signed-off-by: Alan Cox Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e321b458ffa09cf0dcc7ff4e35fb31d3a71a49 Author: Robert P. J. Day Date: Mon Feb 12 00:55:03 2007 -0800 [PATCH] Correct apparent typo CONFIG_ATY_CT in ATY video Replace the apparent typo CONFIG_ATY_CT with CONFIG_FB_ATY_CT. Signed-off-by: Robert P. J. Day Cc: James Simmons Cc: Ville Syrjala Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7b54477d36fc5d6bd3c4e2e025a39ad9ccb5188 Author: Alexey Dobriyan Date: Mon Feb 12 00:55:02 2007 -0800 [PATCH] Recognize video=gx1fb:... option Juergen Beisert reported that the following option doesn't work for him video=gx1fb:1024x768-16@60 though sisfb was able to parse similar option correctly. Signed-off-by: Alexey Dobriyan Cc: Jordan Crouse Cc: "Antonino A. Daplas" Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9506a53b446bc942c79584d3ce442d6334de697 Author: Adrian Bunk Date: Mon Feb 12 00:55:01 2007 -0800 [PATCH] proper prototype for tosh_smm() Add a proper prototype for tosh_smm() to include/linux/toshiba.h Signed-off-by: Adrian Bunk Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd792aa896f281a224870eb5f2ee5b24682910a5 Author: Woody Suwalski Date: Mon Feb 12 00:55:00 2007 -0800 [PATCH] cyber2010 framebuffer on ARM Netwinder fix The Netwinder machines with Cyber2010 crash badly when starting Xserver. The workaround is to disable pci burst option for this revision of video chip. [akpm@osdl.org: cleanup] Signed-off-by: Woody Suwalski Cc: "Antonino A. Daplas" Cc: James Simmons Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a0991029b577125ac5b3eedbe366320c581d8d6 Author: Adrian Bunk Date: Mon Feb 12 00:54:59 2007 -0800 [PATCH] remove bogus con_is_present() prototypes Although gcc seems to accept "extern" prototypes after it has seen the "static inline" function, that's not really correct. Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fef459028bd842dde21bf55f83d6399b963f9911 Author: Maciej W. Rozycki Date: Mon Feb 12 00:54:58 2007 -0800 [PATCH] tgafb: Fix the PCI ID table The end marker is missing from the driver's PCI ID table. This set of changes adds the marker, switches to using PCI_DEVICE() and records the table for the use in a module. Signed-off-by: Maciej W. Rozycki Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a524d946bdced73c5fbe60170fb33611491c4211 Author: Maciej W. Rozycki Date: Mon Feb 12 00:54:57 2007 -0800 [PATCH] tgafb: sync-on-green support fixes This sets up the deep register of the TGA ASIC as well as the blank pedestal of the Bt463 RAMDAC correctly for the sync-on-green mode. Signed-off-by: Maciej W. Rozycki Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b2f2fe8ac0273ae9a9b480b799ce62d832168cb Author: Maciej W. Rozycki Date: Mon Feb 12 00:54:56 2007 -0800 [PATCH] tgafb: module support fixes This is a set of clean-ups for the module support in the driver -- __devinit and __devexit classifiers are now specified correctly, initialization functions are marked static and a few unnecessary #ifdefs are removed. Signed-off-by: Maciej W. Rozycki Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7488ce38121fc92aee847c51ac74dced1d48c3a Author: Maciej W. Rozycki Date: Mon Feb 12 00:54:55 2007 -0800 [PATCH] tgafb: fix the mode register setting There is no need to set the GE bit (Win32 compatibility) in the mode register; it shall get cleared with the next subsequent update to the register anyway. Signed-off-by: Maciej W. Rozycki Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be6011831c74d5db251b5f9746d259a5f59e71cf Author: Maciej W. Rozycki Date: Mon Feb 12 00:54:54 2007 -0800 [PATCH] tgafb: support the DirectColor visual The 32-plane variations of the TGA use the Bt463 RAMDAC and are therefore DirectColor rather than TrueColor adapters. This is a set of changes to implement the necessary bits to support this model. A couple of fixes to fix accesses to the RAMDAC are included as a side-effect. Signed-off-by: Maciej W. Rozycki Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36f71405e63f3d1e4c2a8dd98523820bbca8e078 Author: Maciej W. Rozycki Date: Mon Feb 12 00:54:53 2007 -0800 [PATCH] tgafb: fix copying overlapping areas The direction of copying in the copyarea functions is selected incorrectly, resulting in corruption. This is a fix. Signed-off-by: Maciej W. Rozycki Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee9a25e5df81f4392439055c28989dfd4b18d894 Author: Maciej W. Rozycki Date: Mon Feb 12 00:54:52 2007 -0800 [PATCH] tgafb: switch to framebuffer_alloc() This is a set of changes to update the driver to the framebuffer_alloc() API. Included, there is also a fix to a memory leak due to the colour map allocation not being freed upon driver's removal. Aside from the fix there are no functional changes. Signed-off-by: Maciej W. Rozycki Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e019630e78e3482c2386d18cbdc7a4c54f7a809c Author: Adrian Bunk Date: Mon Feb 12 00:54:50 2007 -0800 [PATCH] remove broken video drivers Remove some video drivers that: - had already been marked as BROKEN in 2.6.0 three years ago and - are still marked as BROKEN. These are the following drivers: - FB_CYBER - FB_VIRGE - FB_RETINAZ3 - FB_SUN3 Drivers that had been marked as BROKEN for such a long time seem to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive any of these drivers, the code is still present in the older kernel releases. Signed-off-by: Adrian Bunk Acked-By: Geert Uytterhoeven Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a268422de8bf1b4c0cb97987b6c329c9f6a3da4b Author: Ondrej Zajicek Date: Mon Feb 12 00:54:49 2007 -0800 [PATCH] fbdev driver for S3 Trio/Virge Add a driver for S3 Trio / S3 Virge. Driver is tested with most versions of S3 Trio and with S3 Virge/DX, on i386. (akpm: We kind-of have support for this hardware already, but... virgefb.c - amiga/zorro specific, - broken (according to Kconfig), - uses obsolete/nonexistent interface (struct display_switch) - recent Adrian Bunk's patch removes this driver S3triofb.c - ppc/openfirmware specific - minimal functionality - broken (according to Kconfig), - uses obsolete/nonexistent interface (struct display_switch) ) Signed-off-by: Ondrej Zajicek Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59ae6c6b87711ceb2d1ea5f9e08bb13aee947a29 Author: Avi Kivity Date: Mon Feb 12 00:54:48 2007 -0800 [PATCH] KVM: Host suspend/resume support Add the necessary callbacks to suspend and resume a host running kvm. This is just a repeat of the cpu hotplug/unplug work. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 774c47f1d78e373a6bd2964f4e278d1ce26c21cb Author: Avi Kivity Date: Mon Feb 12 00:54:47 2007 -0800 [PATCH] KVM: cpu hotplug support On hotplug, we execute the hardware extension enable sequence. On unplug, we decache any vcpus that last ran on the exiting cpu, and execute the hardware extension disable sequence. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d0be2b3bf4a55606967d7d84e56c52521e94333 Author: Avi Kivity Date: Mon Feb 12 00:54:46 2007 -0800 [PATCH] KVM: VMX: add vcpu_clear() Like the inline code it replaces, this function decaches the vmcs from the cpu it last executed on. in addition: - vcpu_clear() works if the last cpu is also the cpu we're running on - it is faster on larger smps by virtue of using smp_call_function_single() Includes fix from Ingo Molnar. Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 133de9021d2988f3fbdad84c2d26484c7a757526 Author: Avi Kivity Date: Mon Feb 12 00:54:44 2007 -0800 [PATCH] KVM: Add a global list of all virtual machines This will allow us to iterate over all vcpus and see which cpus they are running on. [akpm@osdl.org: use standard (ugly) initialisers] Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47e627bc8c9a70392d2049e6af5bd55fae61fe53 Author: Avi Kivity Date: Mon Feb 12 00:54:43 2007 -0800 [PATCH] hotplug: Allow modules to use the cpu hotplug notifiers even if !CONFIG_HOTPLUG_CPU The following patchset allows a host with running virtual machines to be suspended and, on at least a subset of the machines tested, resumed. Note that this is orthogonal to suspending and resuming an individual guest to a file. A side effect of implementing suspend/resume is that cpu hotplug is now supported. This should please the owners of big iron. This patch: KVM wants the cpu hotplug notifications, both for cpu hotplug itself, but more commonly for host suspend/resume. In order to avoid extensive #ifdefs, provide stubs when CONFIG_CPU_HOTPLUG is not defined. In all, we have four cases: - UP: register and unregister stubbed out - SMP+hotplug: full register and unregister - SMP, no hotplug, core: register as __init, unregister stubbed (cpus are brought up during core initialization) - SMP, no hotplug, module: register and unregister stubbed out (cpus cannot be brought up during module lifetime) Signed-off-by: Avi Kivity Cc: Ingo Molnar Cc: Rusty Russell Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e8ba6fba5050ec11bba90c8622aa2ed95ff711f Author: Ingo Molnar Date: Mon Feb 12 00:54:42 2007 -0800 [PATCH] kvm: fix vcpu freeing bug vcpu_load() can return NULL and it sometimes does in failure paths (for example when the userspace ABI version is too old) - causing a preemption count underflow in the ->vcpu_free() later on. So check for NULL. Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd133073f9b5cd335c0b2e4740aceb025d50ca9 Author: Avi Kivity Date: Mon Feb 12 00:54:41 2007 -0800 [PATCH] kvm: Fix mismatch between 32-bit and 64-bit abi Unfortunately requiring a version bump. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26bb83a755593a53bd248e20d699b0c813f1e238 Author: Avi Kivity Date: Mon Feb 12 00:54:40 2007 -0800 [PATCH] kvm: VMX: Reload ds and es even in 64-bit mode Or 32-bit userspace will get confused. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54810342f1372afdaf6cb9a6aea0c35df187db12 Author: Dor Laor Date: Mon Feb 12 00:54:39 2007 -0800 [PATCH] kvm: Two-way apic tpr synchronization We report the value of cr8 to userspace on an exit. Also let userspace change cr8 when we re-enter the guest. The lets 64-bit guest code maintain the tpr correctly. Thanks for Yaniv Kamay for the idea. Signed-off-by: Dor Laor Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d92899a0014aa795c21d3cf726ef5ff7684399f4 Author: Avi Kivity Date: Mon Feb 12 00:54:38 2007 -0800 [PATCH] kvm: SVM: Hack initial cpu csbase to be consistent with intel This allows us to run the mmu testsuite on amd. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac6c2bc592b90c7f140fc87c49e21bc82376e2aa Author: Avi Kivity Date: Mon Feb 12 00:54:37 2007 -0800 [PATCH] kvm: Fix mmu going crazy of guest sets cr0.wp == 0 The kvm mmu relies on cr0.wp being set even if the guest does not set it. The vmx code correctly forces cr0.wp at all times, the svm code does not, so it can't boot solaris without this patch. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 988ad74ff6107d9a490ee193e41251e27d37c95f Author: Avi Kivity Date: Mon Feb 12 00:54:36 2007 -0800 [PATCH] kvm: vmx: handle triple faults by returning EXIT_REASON_SHUTDOWN to userspace Just like svm. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e119d117a1d16e71876144188c0e0b3ecb8aeede Author: Avi Kivity Date: Mon Feb 12 00:54:36 2007 -0800 [PATCH] kvm: Fix gva_to_gpa() gva_to_gpa() needs to be updated to the new walk_addr() calling convention, otherwise it may oops under some circumstances. Use the opportunity to remove all the code duplication in gva_to_gpa(), which essentially repeats the calculations in walk_addr(). Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0610ddf6be6465049a5da448d7e6c5e821240e6 Author: S.Caglar Onur Date: Mon Feb 12 00:54:34 2007 -0800 [PATCH] kvm: Fix asm constraint for lldt instruction lldt does not accept immediate operands, which "g" allows. Signed-off-by: S.Caglar Onur Signed-off-by: Avi Kivity Cc: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96958231cea5985e32db2ae1125ec20483e3556b Author: Ingo Molnar Date: Mon Feb 12 00:54:33 2007 -0800 [PATCH] kvm: optimize inline assembly Forms like "0(%rsp)" generate an instruction with an unnecessary one byte displacement under certain circumstances. replace with the equivalent "(%rsp)". Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54fb996ac15c4014fa4d6b0ec8e42da134204897 Author: Evgeniy Dushistov Date: Mon Feb 12 00:54:32 2007 -0800 [PATCH] ufs2 write: block allocation update Patch adds ability to work with 64bit metadata, this made by replacing work with 32bit pointers by inline functions. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3313e29267414e4e3bf0d3de1caf9cb439b64aaf Author: Evgeniy Dushistov Date: Mon Feb 12 00:54:31 2007 -0800 [PATCH] ufs2 write: inodes write This patch adds into write inode path function to write UFS2 inode, and modifys allocate inode path to allocate and init additional inode chunks. Also some cleanups: - remove not used parameters in some functions - remove i_gen field from ufs_inode_info structure, there is i_generation in inode structure with same purposes. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbcae39fa1cc16c0fb199223f5ec1aea5f4c7b2d Author: Evgeniy Dushistov Date: Mon Feb 12 00:54:30 2007 -0800 [PATCH] ufs2 write: mount as rw These series of patches add UFS2 write-support. UFS2 - is default file system for recent versions of FreeBSD. The main differences from UFS1 from write support point of view are: 1)Not all inodes are allocated during formatation of disk. 2)All meta-data(pointer to data blocks) are 64bit(in UFS1 they are 32bit). So patch series consist of 1)make possible mount UFS2 in read-write mode 2)code to write ufs2 inodes and code to initialize inodes chunks. 3)work with 64bit meta-data I made simple testing like create/deleting/writing/reading/truncating, also I ran fsx-linux and untar and build kernel on UFS1 and UFS2, after that FreeBSD fsck do not find any errors in fs. This patch makes possible to mount ufs2 "rw", and updates UFS2 documentation: remove note about bug(it fixed by reallocate blocks on the fly patch) and add me in the list of people who want receive bug reports. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cca97de1184f6000d22b4106d47687b31cca1fa3 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:29 2007 -0800 [PATCH] ia64: 2048-byte command line Current implementation allows the kernel to receive up to 255 characters from the bootloader. While the boot protocol allows greater buffers to be sent. In current environment, the command-line is used in order to specify many values, including suspend/resume, module arguments, splash, initramfs and more. 255 characters are not enough anymore. After edd issue was fixed, and dynammic kernel command-line patch was accepted, we can extend the COMMAND_LINE_SIZE without runtime memory requirements. Signed-off-by: Alon Bar-Lev Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbd4bb9aa7635063284ffb3470ab24c36c14d935 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:28 2007 -0800 [PATCH] x86_64: 2048-byte command line Current implementation allows the kernel to receive up to 255 characters from the bootloader. While the boot protocol allows greater buffers to be sent. In current environment, the command-line is used in order to specify many values, including suspend/resume, module arguments, splash, initramfs and more. 255 characters are not enough anymore. After edd issue was fixed, and dynammic kernel command-line patch was accepted, we can extend the COMMAND_LINE_SIZE without runtime memory requirements. Signed-off-by: Alon Bar-Lev Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf9f974fbdc16769db3d48f7c31f932b233bcfb Author: Alon Bar-Lev Date: Mon Feb 12 00:54:27 2007 -0800 [PATCH] i386: 2048-byte command line Current implementation allows the kernel to receive up to 255 characters from the bootloader. While the boot protocol allows greater buffers to be sent. In current environment, the command-line is used in order to specify many values, including suspend/resume, module arguments, splash, initramfs and more. 255 characters are not enough anymore. After edd issue was fixed, and dynammic kernel command-line patch was accepted, we can extend the COMMAND_LINE_SIZE without runtime memory requirements. Signed-off-by: Alon Bar-Lev Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a3a06d0e158fc82a6bf13e18439285c7791d2b8 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:26 2007 -0800 [PATCH] Dynamic kernel command-line: fixups Remove in-source externs, linux/init.h is included in all cases. This is a fixups for "Dynamic kernel command-line" patch. It also includes some uml __init fixups so that we can __initdata also its command_line. Signed-off-by: Alon Bar-Lev Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3e9cceafd9c886561f602bcdcb03efd96e187ab Author: Alon Bar-Lev Date: Mon Feb 12 00:54:25 2007 -0800 [PATCH] Dynamic kernel command-line: xtensa 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adf48856db47f4f0f661f2f4b7004890408135cf Author: Alon Bar-Lev Date: Mon Feb 12 00:54:25 2007 -0800 [PATCH] Dynamic kernel command-line: x86_64 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 712f77b5659208b43c925e1b28c4f44891c4d94f Author: Alon Bar-Lev Date: Mon Feb 12 00:54:24 2007 -0800 [PATCH] Dynamic kernel command-line: v850 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19bf7e7a414711dec0058556feda778105798f99 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:23 2007 -0800 [PATCH] Dynamic kernel command-line: um 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 383464c0fb067f5beb96e28ff376d2280808dd54 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:22 2007 -0800 [PATCH] Dynamic kernel command-line: sparc64 Rename saved_command_line into boot_command_line. Signed-off-by: Alon Bar-Lev Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08e7ca11eed86acde42ee97b9392faa10f9c70d1 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:21 2007 -0800 [PATCH] Dynamic kernel command-line: sparc Rename saved_command_line into boot_command_line. Signed-off-by: Alon Bar-Lev Cc: William Lee Irwin III Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e42ff6c65cf40caa1f6ca51a4c3d552803e0957 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:20 2007 -0800 [PATCH] Dynamic kernel command-line: sh64 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53c82622c2db808c015953336faecefc0ebf29bc Author: Alon Bar-Lev Date: Mon Feb 12 00:54:19 2007 -0800 [PATCH] Dynamic kernel command-line: sh 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e06b1a3513bdd897e3c37c98ed7b16fa237dcb63 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:19 2007 -0800 [PATCH] Dynamic kernel command-line: s390 Rename saved_command_line into boot_command_line. Signed-off-by: Alon Bar-Lev Cc: Heiko Carstens Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf71cecbe4282fbb8ec035a7199fa4aca64db54c Author: Alon Bar-Lev Date: Mon Feb 12 00:54:18 2007 -0800 [PATCH] Dynamic kernel command-line: ppc Rename saved_command_line into boot_command_line. Signed-off-by: Alon Bar-Lev Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8757b21f7628c57cb20e55be324fdef283a56e9 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:17 2007 -0800 [PATCH] Dynamic kernel command-line: powerpc Rename saved_command_line into boot_command_line. Signed-off-by: Alon Bar-Lev Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 668f9931c812224ab2a6d57cdf2f0ec3865b68d2 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:16 2007 -0800 [PATCH] Dynamic kernel command-line: parisc 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43cd34645d3bf35cbaa68f28b85d12d0b9e08ab9 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:15 2007 -0800 [PATCH] Dynamic kernel command-line: mips Rename saved_command_line into boot_command_line. Signed-off-by: Alon Bar-Lev Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2a09e19cae45b7dfa4b72d70182b5bc9afa2ddb Author: Alon Bar-Lev Date: Mon Feb 12 00:54:14 2007 -0800 [PATCH] Dynamic kernel command-line: m68knommu 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 187959f31e92cde16b274f0b61dfaca3a8b14089 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:14 2007 -0800 [PATCH] Dynamic kernel command-line: m68k Rename saved_command_line into boot_command_line. Signed-off-by: Alon Bar-Lev Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3561794d80843588ed8b47fffb20e2dcd9c40ff3 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:13 2007 -0800 [PATCH] Dynamic kernel command-line: m32r 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8d91b8477aa433ee0131b031d782411976e1726 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:12 2007 -0800 [PATCH] Dynamic kernel command-line: ia64 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. [akpm@osdl.org: move some declarations to the right place] Signed-off-by: Alon Bar-Lev Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e498b66104af914ef04d6e7fbbbc13a4f7c936e Author: Alon Bar-Lev Date: Mon Feb 12 00:54:11 2007 -0800 [PATCH] Dynamic kernel command-line: i386 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ff625904cd4e41d70bc01e6683cbb58f312f709 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:10 2007 -0800 [PATCH] Dynamic kernel command-line: h8300 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c00f7613249b3b42782a226308353a4033c11c3 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:09 2007 -0800 [PATCH] Dynamic kernel command-line: frv 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87e1f9c6dcb4829fd8a68a3af87098cee8ef955b Author: Alon Bar-Lev Date: Mon Feb 12 00:54:09 2007 -0800 [PATCH] Dynamic kernel command-line: cris 1. Rename saved_command_line into boot_command_line. 2. Set cris_command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf4352c0fc82e6dadfa7eea506c19dea0106baac Author: Alon Bar-Lev Date: Mon Feb 12 00:54:08 2007 -0800 [PATCH] Dynamic kernel command-line: avr32 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64d5a70f956071f8434f403d44835a4895abb78e Author: Alon Bar-Lev Date: Mon Feb 12 00:54:07 2007 -0800 [PATCH] Dynamic kernel command-line: arm26 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd81899a7d9e77ffd5280b10d0413fb241b18388 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:06 2007 -0800 [PATCH] Dynamic kernel command-line: arm 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c253ca0f0930b767a5d6ac0c1b3c6f5619e28f9 Author: Alon Bar-Lev Date: Mon Feb 12 00:54:05 2007 -0800 [PATCH] Dynamic kernel command-line: alpha 1. Rename saved_command_line into boot_command_line. 2. Set command_line as __initdata. Signed-off-by: Alon Bar-Lev Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30d7e0d466b3ac0b5ef77e4062bf9385f0d72270 Author: Alon Bar-Lev Date: Mon Feb 12 00:53:52 2007 -0800 [PATCH] Dynamic kernel command-line: common Current implementation stores a static command-line buffer allocated to COMMAND_LINE_SIZE size. Most architectures stores two copies of this buffer, one for future reference and one for parameter parsing. Current kernel command-line size for most architecture is much too small for module parameters, video settings, initramfs paramters and much more. The problem is that setting COMMAND_LINE_SIZE to a grater value, allocates static buffers. In order to allow a greater command-line size, these buffers should be dynamically allocated or marked as init disposable buffers, so unused memory can be released. This patch renames the static saved_command_line variable into boot_command_line adding __initdata attribute, so that it can be disposed after initialization. This rename is required so applications that use saved_command_line will not be affected by this change. It reintroduces saved_command_line as dynamically allocated buffer to match the data in boot_command_line. It also mark secondary command-line buffer as __initdata, and copies it to dynamically allocated static_command_line buffer components may hold reference to it after initialization. This patch is for linux-2.6.20-rc4-mm1 and is divided to target each architecture. I could not check this in any architecture so please forgive me if I got it wrong. The per-architecture modification is very simple, use boot_command_line in place of saved_command_line. The common code is the change into dynamic command-line. This patch: 1. Rename saved_command_line into boot_command_line, mark as init disposable. 2. Add dynamic allocated saved_command_line. 3. Add dynamic allocated static_command_line. 4. During startup copy: boot_command_line into saved_command_line. arch command_line into static_command_line. 5. Parse static_command_line and not arch command_line, so arch command_line may be freed. Signed-off-by: Alon Bar-Lev Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Ian Molton Cc: Mikael Starvik Cc: David Howells Cc: Yoshinori Sato Cc: Ralf Baechle Cc: Kyle McMartin Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Hirokazu Takata 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 Cc: "Luck, Tony" Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff91691bccdb741efb2df0489058a4961fa79598 Author: Nick Piggin Date: Mon Feb 12 00:53:51 2007 -0800 [PATCH] sched: avoid div in rebalance_tick Avoid expensive integer divide 3 times per CPU per tick. A userspace test of this loop went from 26ns, down to 19ns on a G5; and from 123ns down to 28ns on a P3. (Also avoid a variable bit shift, as suggested by Alan. The effect of this wasn't noticable on the CPUs I tested with). Signed-off-by: Nick Piggin Cc: Ingo Molnar Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a9ac38246b11892ad20a1eb9deb67adf8c0db2f Author: Michael Halcrow Date: Mon Feb 12 00:53:50 2007 -0800 [PATCH] eCryptfs: add flush_dcache_page() calls Call flush_dcache_page() after modifying a pagecache by hand. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2bd99ec5c0e20ed6aeb079fa8f975c2dcd78a2c Author: Michael Halcrow Date: Mon Feb 12 00:53:49 2007 -0800 [PATCH] eCryptfs: open-code flag checking and manipulation Open-code flag checking and manipulation. Signed-off-by: Michael Halcrow Signed-off-by: Trevor Highland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d8b8ce5561890464c54645cdea4d6b157159fec Author: Michael Halcrow Date: Mon Feb 12 00:53:48 2007 -0800 [PATCH] eCryptfs: convert kmap() to kmap_atomic() Replace kmap() with kmap_atomic(). Reduce the amount of time that mappings are held. Signed-off-by: Michael Halcrow Signed-off-by: Trevor Highland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70456600f42f85cfcbdd9d7a6029c03b6f9c5d1e Author: Michael Halcrow Date: Mon Feb 12 00:53:48 2007 -0800 [PATCH] eCryptfs: convert f_op->write() to vfs_write() sys_write() takes a local copy of f_pos and writes that back into the struct file. It does this so that two concurrent write() callers don't make a mess of f_pos, and of the file contents. ecryptfs should be calling vfs_write(). That way we also get the fsnotify notifications, which ecryptfs presently appears to have subverted. Convert direct calls to f_op->write() into calls to vfs_write(). Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e77a56ddceeec87575a13a60fc1a394af6a1f4bc Author: Michael Halcrow Date: Mon Feb 12 00:53:47 2007 -0800 [PATCH] eCryptfs: Encrypted passthrough Provide an option to provide a view of the encrypted files such that the metadata is always in the header of the files, regardless of whether the metadata is actually in the header or in the extended attribute. This mode of operation is useful for applications like incremental backup utilities that do not preserve the extended attributes when directly accessing the lower files. With this option enabled, the files under the eCryptfs mount point will be read-only. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd2a3b7ad98f8482cae481cad89dfed5eee48365 Author: Michael Halcrow Date: Mon Feb 12 00:53:46 2007 -0800 [PATCH] eCryptfs: Generalize metadata read/write Generalize the metadata reading and writing mechanisms, with two targets for now: metadata in file header and metadata in the user.ecryptfs xattr of the lower file. [akpm@osdl.org: printk warning fix] [bunk@stusta.de: make some needlessly global code static] Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17398957aa0a05ef62535060b41d103590dcc533 Author: Michael Halcrow Date: Mon Feb 12 00:53:45 2007 -0800 [PATCH] eCryptfs: xattr flags and mount options This patch set introduces the ability to store cryptographic metadata into an lower file extended attribute rather than the lower file header region. This patch set implements two new mount options: ecryptfs_xattr_metadata - When set, newly created files will have their cryptographic metadata stored in the extended attribute region of the file rather than the header. When storing the data in the file header, there is a minimum of 8KB reserved for the header information for each file, making each file at least 12KB in size. This can take up a lot of extra disk space if the user creates a lot of small files. By storing the data in the extended attribute, each file will only occupy at least of 4KB of space. As the eCryptfs metadata set becomes larger with new features such as multi-key associations, most popular filesystems will not be able to store all of the information in the xattr region in some cases due to space constraints. However, the majority of users will only ever associate one key per file, so most users will be okay with storing their data in the xattr region. This option should be used with caution. I want to emphasize that the xattr must be maintained under all circumstances, or the file will be rendered permanently unrecoverable. The last thing I want is for a user to forget to set an xattr flag in a backup utility, only to later discover that their backups are worthless. ecryptfs_encrypted_view - When set, this option causes eCryptfs to present applications a view of encrypted files as if the cryptographic metadata were stored in the file header, whether the metadata is actually stored in the header or in the extended attributes. No matter what eCryptfs winds up doing in the lower filesystem, I want to preserve a baseline format compatibility for the encrypted files. As of right now, the metadata may be in the file header or in an xattr. There is no reason why the metadata could not be put in a separate file in future versions. Without the compatibility mode, backup utilities would have to know to back up the metadata file along with the files. The semantics of eCryptfs have always been that the lower files are self-contained units of encrypted data, and the only additional information required to decrypt any given eCryptfs file is the key. That is what has always been emphasized about eCryptfs lower files, and that is what users expect. Providing the encrypted view option will provide a way to userspace applications wherein they can always get to the same old familiar eCryptfs encrypted files, regardless of what eCryptfs winds up doing with the metadata behind the scenes. This patch: Add extended attribute support to version bit vector, flags to indicate when xattr or encrypted view modes are enabled, and support for the new mount options. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dddfa461fc8951f9b5f951c13565b6cac678635a Author: Michael Halcrow Date: Mon Feb 12 00:53:44 2007 -0800 [PATCH] eCryptfs: Public key; packet management Public key support code. This reads and writes packets in the header that contain public key encrypted file keys. It calls the messaging code in the previous patch to send and receive encryption and decryption request packets from the userspace daemon. [akpm@osdl.org: cleab fix] Signed-off-by: Michael Halcrow Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88b4a07e6610f4c93b08b0bb103318218db1e9f6 Author: Michael Halcrow Date: Mon Feb 12 00:53:43 2007 -0800 [PATCH] eCryptfs: Public key transport mechanism This is the transport code for public key functionality in eCryptfs. It manages encryption/decryption request queues with a transport mechanism. Currently, netlink is the only implemented transport. Each inode has a unique File Encryption Key (FEK). Under passphrase, a File Encryption Key Encryption Key (FEKEK) is generated from a salt/passphrase combo on mount. This FEKEK encrypts each FEK and writes it into the header of each file using the packet format specified in RFC 2440. This is all symmetric key encryption, so it can all be done via the kernel crypto API. These new patches introduce public key encryption of the FEK. There is no asymmetric key encryption support in the kernel crypto API, so eCryptfs pushes the FEK encryption and decryption out to a userspace daemon. After considering our requirements and determining the complexity of using various transport mechanisms, we settled on netlink for this communication. eCryptfs stores authentication tokens into the kernel keyring. These tokens correlate with individual keys. For passphrase mode of operation, the authentication token contains the symmetric FEKEK. For public key, the authentication token contains a PKI type and an opaque data blob managed by individual PKI modules in userspace. Each user who opens a file under an eCryptfs partition mounted in public key mode must be running a daemon. That daemon has the user's credentials and has access to all of the keys to which the user should have access. The daemon, when started, initializes the pluggable PKI modules available on the system and registers itself with the eCryptfs kernel module. Userspace utilities register public key authentication tokens into the user session keyring. These authentication tokens correlate key signatures with PKI modules and PKI blobs. The PKI blobs contain PKI-specific information necessary for the PKI module to carry out asymmetric key encryption and decryption. When the eCryptfs module parses the header of an existing file and finds a Tag 1 (Public Key) packet (see RFC 2440), it reads in the public key identifier (signature). The asymmetrically encrypted FEK is in the Tag 1 packet; eCryptfs puts together a decrypt request packet containing the signature and the encrypted FEK, then it passes it to the daemon registered for the current->euid via a netlink unicast to the PID of the daemon, which was registered at the time the daemon was started by the user. The daemon actually just makes calls to libecryptfs, which implements request packet parsing and manages PKI modules. libecryptfs grabs the public key authentication token for the given signature from the user session keyring. This auth tok tells libecryptfs which PKI module should receive the request. libecryptfs then makes a decrypt() call to the PKI module, and it passes along the PKI block from the auth tok. The PKI uses the blob to figure out how it should decrypt the data passed to it; it performs the decryption and passes the decrypted data back to libecryptfs. libecryptfs then puts together a reply packet with the decrypted FEK and passes that back to the eCryptfs module. The eCryptfs module manages these request callouts to userspace code via message context structs. The module maintains an array of message context structs and places the elements of the array on two lists: a free and an allocated list. When eCryptfs wants to make a request, it moves a msg ctx from the free list to the allocated list, sets its state to pending, and fires off the message to the user's registered daemon. When eCryptfs receives a netlink message (via the callback), it correlates the msg ctx struct in the alloc list with the data in the message itself. The msg->index contains the offset of the array of msg ctx structs. It verifies that the registered daemon PID is the same as the PID of the process that sent the message. It also validates a sequence number between the received packet and the msg ctx. Then, it copies the contents of the message (the reply packet) into the msg ctx struct, sets the state in the msg ctx to done, and wakes up the process that was sleeping while waiting for the reply. The sleeping process was whatever was performing the sys_open(). This process originally called ecryptfs_send_message(); it is now in ecryptfs_wait_for_response(). When it wakes up and sees that the msg ctx state was set to done, it returns a pointer to the message contents (the reply packet) and returns. If all went well, this packet contains the decrypted FEK, which is then copied into the crypt_stat struct, and life continues as normal. The case for creation of a new file is very similar, only instead of a decrypt request, eCryptfs sends out an encrypt request. > - We have a great clod of key mangement code in-kernel. Why is that > not suitable (or growable) for public key management? eCryptfs uses Howells' keyring to store persistent key data and PKI state information. It defers public key cryptographic transformations to userspace code. The userspace data manipulation request really is orthogonal to key management in and of itself. What eCryptfs basically needs is a secure way to communicate with a particular daemon for a particular task doing a syscall, based on the UID. Nothing running under another UID should be able to access that channel of communication. > - Is it appropriate that new infrastructure for public key > management be private to a particular fs? The messaging.c file contains a lot of code that, perhaps, could be extracted into a separate kernel service. In essence, this would be a sort of request/reply mechanism that would involve a userspace daemon. I am not aware of anything that does quite what eCryptfs does, so I was not aware of any existing tools to do just what we wanted. > What happens if one of these daemons exits without sending a quit > message? There is a stale uid<->pid association in the hash table for that user. When the user registers a new daemon, eCryptfs cleans up the old association and generates a new one. See ecryptfs_process_helo(). > - _why_ does it use netlink? Netlink provides the transport mechanism that would minimize the complexity of the implementation, given that we can have multiple daemons (one per user). I explored the possibility of using relayfs, but that would involve having to introduce control channels and a protocol for creating and tearing down channels for the daemons. We do not have to worry about any of that with netlink. Signed-off-by: Michael Halcrow Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5d5dfbd59577aed72263f22e28d3eaf98e1c6e5 Author: Adrian Bunk Date: Mon Feb 12 00:53:40 2007 -0800 [PATCH] include/linux/nfsd/const.h: remove NFS_SUPER_MAGIC NFS_SUPER_MAGIC is already defined in include/linux/magic.h Signed-off-by: Adrian Bunk Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77f1f67a1a56defa210c3d8857f3e5eee3990a99 Author: Chuck Lever Date: Mon Feb 12 00:53:39 2007 -0800 [PATCH] knfsd: SUNRPC: fix up svc_create_socket() to take a sockaddr struct + length Replace existing svc_create_socket() API to allow callers to pass addresses larger than a sockaddr_in. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95756482c9bfa375418c5a32455494a3042f65cd Author: Chuck Lever Date: Mon Feb 12 00:53:38 2007 -0800 [PATCH] knfsd: SUNRPC: support IPv6 addresses in RPC server's UDP receive path Add support for IPv6 addresses in the RPC server's UDP receive path. [akpm@linux-foundation.org: cleanups] Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdd88b9f3ed5013de0f1085e0e2f9123c798609d Author: akpm@linux-foundation.org Date: Mon Feb 12 00:53:38 2007 -0800 [PATCH] knfsd: SUNRPC: Support IPv6 addresses in svc_tcp_accept Modify svc_tcp_accept to support connecting on IPv6 sockets. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcdb81ae29091f6a66369aabfd8324e4a53d05dc Author: Chuck Lever Date: Mon Feb 12 00:53:37 2007 -0800 [PATCH] knfsd: SUNRPC: add a "generic" function to see if the peer uses a secure port The only reason svcsock.c looks at a sockaddr's port is to check whether the remote peer is connecting from a privileged port. Refactor this check to hide processing that is specific to address format. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b92503b25c3f794cff5f96626ea3ecba8d10d254 Author: Chuck Lever Date: Mon Feb 12 00:53:36 2007 -0800 [PATCH] knfsd: SUNRPC: teach svc_sendto() to deal with IPv6 addresses CMSG_DATA comes in different sizes, depending on address family. [akpm@linux-foundation.org: remove unneeded do/while (0)] Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73df0dbaff8d0853387e140f52b6250c486b18a1 Author: Chuck Lever Date: Mon Feb 12 00:53:35 2007 -0800 [PATCH] knfsd: SUNRPC: Make rq_daddr field address-version independent The rq_daddr field must support larger addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27459f0940e16c68e080f5fc7e85aa9eb3f74528 Author: Chuck Lever Date: Mon Feb 12 00:53:34 2007 -0800 [PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses Expand the rq_addr field to allow it to contain larger addresses. Specifically, we replace a 'sockaddr_in' with a 'sockaddr_storage', then everywhere the 'sockaddr_in' was referenced, we use instead an accessor function (svc_addr_in) which safely casts the _storage to _in. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2442222283918c2d1c20ae651d95fe168757938b Author: Chuck Lever Date: Mon Feb 12 00:53:33 2007 -0800 [PATCH] knfsd: SUNRPC: Use sockaddr_storage to store address in svc_deferred_req Sockaddr_storage will allow us to store arbitrary socket addresses in the svc_deferred_req struct. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad06e4bd62351bc569cca0f25d68c58dbd298146 Author: Chuck Lever Date: Mon Feb 12 00:53:32 2007 -0800 [PATCH] knfsd: SUNRPC: Add a function to format the address in an svc_rqst for printing There are loads of places where the RPC server assumes that the rq_addr fields contains an IPv4 address. Top among these are error and debugging messages that display the server's IP address. Let's refactor the address printing into a separate function that's smart enough to figure out the difference between IPv4 and IPv6 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ba951053f07187f6e77be664a4b6f8bf0ba7ae4 Author: Chuck Lever Date: Mon Feb 12 00:53:31 2007 -0800 [PATCH] knfsd: SUNRPC: Don't set msg_name and msg_namelen when calling sock_recvmsg Clean-up: msg_name and msg_namelen are not used by sock_recvmsg, so don't bother to set them in svc_recvfrom. Signed-off-by: Chuck Lever Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 067d7817310569f7b76ca08c4d071ca95ad4c1d3 Author: Chuck Lever Date: Mon Feb 12 00:53:30 2007 -0800 [PATCH] knfsd: SUNRPC: Cache remote peer's address in svc_sock The remote peer's address won't change after the socket has been accepted. We don't need to call ->getname on every incoming request. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e79eff1f90826b207b1152fc87aa97fa74fb7f9c Author: NeilBrown Date: Mon Feb 12 00:53:30 2007 -0800 [PATCH] knfsd: SUNRPC: aplit svc_sock_enqueue out of svc_setup_socket Rather than calling svc_sock_enqueue at the end of svc_setup_socket, we now call it (via svc_sock_recieved) after calling svc_setup_socket at each call site. We do this because a subsequent patch will insert some code between the two calls at one call site. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 482fb94e1b0c2efe8258334aa2a68d4f4a91de9c Author: Chuck Lever Date: Mon Feb 12 00:53:29 2007 -0800 [PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper Sometimes we need to create an RPC service but not register it with the local portmapper. NFSv4 delegation callback, for example. Change the svc_makesock() API to allow optionally creating temporary or permanent sockets, optionally registering with the local portmapper, and make it return the ephemeral port of the new socket. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b174337e5126de834a971d3edc3681bbfa45e2c Author: Chuck Lever Date: Mon Feb 12 00:53:28 2007 -0800 [PATCH] knfsd: SUNRPC: update internal API: separate pmap register and temp sockets Currently in the RPC server, registering with the local portmapper and creating "permanent" sockets are tied together. Expand the internal APIs to allow these two socket characteristics to be separately specified. This will be externalized in the next patch. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f85aaeba458fda1de199a73566c641516e9a935d Author: Ahmed S. Darwish Date: Mon Feb 12 00:53:27 2007 -0800 [PATCH] isdn-eicon: Use ARRAY_SIZE macro when appropriate Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 053b47ff249b9e0a634dae807f81465205e7c228 Author: Michael Buesch Date: Mon Feb 12 00:53:26 2007 -0800 [PATCH] Workaround CAPI subsystem locking issue I think the following patch should go into the kernel, until the ISDN/CAPI guys create the real fix for this issue. The issue is a concurrency issue with some internal CAPI data structure which can crash the kernel. On my FritzCard DSL with the AVM driver it crashes about once a day without this workaround patch. With this workaround patch it's rock-stable (at least on UP, but I don't see why this shouldn't work on SMP as well. But maybe I'm missing something.) This workaround is kind of a sledgehammer which inserts a global lock to wrap around all the critical sections. Of course, this is a scalability issue, if you have many ISDN/CAPI cards. But it prevents a crash. So I vote for this fix to get merged, until people come up with a better solution. Better have a stable kernel that's less scalable, than a crashing and useless kernel. This bug is in the kernel since 2.6.15 (at least). Signed-off-by: Michael Buesch Cc: Kai Germaschewski Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a871fe858c5437ff8798fbaef52b6a88110b64a1 Author: Richard Knutsson Date: Mon Feb 12 00:53:25 2007 -0800 [PATCH] drivers/isdn/hisax/: Convert to generic boolean-values Signed-off-by: Richard Knutsson Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 986c4bb8c4a7bf248378954782553334a003d80a Author: Richard Knutsson Date: Mon Feb 12 00:53:24 2007 -0800 [PATCH] drivers/isdn/hardware/eicon/: convert to generic boolean-values Signed-off-by: Richard Knutsson Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a8081f99cd2b1f356c1d07c75f5c386c2e54efc Author: Robert P. J. Day Date: Mon Feb 12 00:53:23 2007 -0800 [PATCH] ISDN: Rename special macro CONFIG_HISAX_HFC4S8S_PCIMEM Rename the macro CONFIG_HISAX_HFC4S8S_PCIMEM to simply HISAX_HFC4S8S_PCIMEM so that it no longer resembles a user-settable kernel config macro. Signed-off-by: Robert P. J. Day Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0d8737bf741181aa6a452cffe3b9c074afa0cc1 Author: Robert P. J. Day Date: Mon Feb 12 00:53:22 2007 -0800 [PATCH] ISDN: Remove defunct test emulator Based on advice from K. Keil, get rid of remaining traces of defunct test emulator for HISAX. Signed-off-by: Robert P. J. Day Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3c07b9615ee123113de2e881143eb74442d3bf5 Author: Robert P. J. Day Date: Mon Feb 12 00:53:21 2007 -0800 [PATCH] ISDN: Rename debug option CONFIG_SERIAL_NOPAUSE_IO Based on advice from K. Keil, rename the special debug option CONFIG_SERIAL_NOPAUSE_IO to ELSA_SERIAL_NOPAUSE_IO so it no longer resembles a user-selectable kernel config option. Signed-off-by: Robert P. J. Day Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26fb5c5810afa0d8209ceff7cb267398be53829d Author: Robert P. J. Day Date: Mon Feb 12 00:53:20 2007 -0800 [PATCH] ISDN: Rename some debugging macros to not resemble CONFIG options Rename some of the debugging macros for ISDN AVM so that they don't resemble kernel config settings, as they're primarily for author debugging instead. Signed-off-by: Robert P. J. Day Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3f2769e6e896a5d734593e4842014cab220d027 Author: Robert P. J. Day Date: Mon Feb 12 00:53:19 2007 -0800 [PATCH] ISDN: Fix typo "CONFIG_HISAX_QUADRO" -> "CONFIG_HISAX_SCT_QUADRO". Replace misspelled CONFIG_HISAX_QUADRO with CONFIG_HISAX_SCT_QUADRO. Signed-off-by: Robert P. J. Day Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd863db937c0d30679d4bd5329653adb46b66627 Author: Ahmed S. Darwish Date: Mon Feb 12 00:53:19 2007 -0800 [PATCH] isdn/capi: use ARRAY_SIZE when appropriate Signed-off-by: Ahmed S. Darwish Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc238b3791447b93c69cd50a99dfcaad6162afba Author: Adrian Bunk Date: Mon Feb 12 00:53:18 2007 -0800 [PATCH] drivers/isdn/sc/: proper prototypes Add proper prototypes in a header file for global code under drivers/isdn/sc/. Since the GNU C compiler is now able do tell us that caller and callee disagreed about the number of arguments of setup_buffers(), this patch also fixes this bug. Signed-off-by: Adrian Bunk Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b19a8f0472cf2fc401c47f585fcd42e770124e06 Author: Adrian Bunk Date: Mon Feb 12 00:53:17 2007 -0800 [PATCH] drivers/isdn/hisax/: proper prototypes - add functions prototypes for some global functions to header files - remove unneeded "extern"s from some function prototypes You might note that this patch results in a new warning - that's due to the fact that with a proper prototype gcc is able to discover a broken work_struct conversion. Signed-off-by: Adrian Bunk Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 010046d0c805ac3bfab1740f4a056af70b84ea46 Author: Adrian Bunk Date: Mon Feb 12 00:53:16 2007 -0800 [PATCH] drivers/isdn/pcbit/: proper prototypes Add correct prototypes in header files for global functions and variables. Signed-off-by: Adrian Bunk Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 390414badebe45a2f556a04ece1fd99191aa6397 Author: Philipp Zabel Date: Mon Feb 12 00:53:15 2007 -0800 [PATCH] S3C2410 GPIO wrappers Arch-neutral GPIO calls for S3C24xx. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 920fe7a8d0aba9782d1f924a02ece146acbf6686 Author: Philipp Zabel Date: Mon Feb 12 00:53:14 2007 -0800 [PATCH] SA1100 GPIO wrappers Arch-neutral GPIO calls for SA-1100. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a898f1c366c858f8dbcb667c1cfcc282b727795 Author: Philipp Zabel Date: Mon Feb 12 00:53:14 2007 -0800 [PATCH] PXA GPIO wrappers Arch-neutral GPIO calls for PXA. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a31c4eea2127ee52b5c7c1befada4664963ad030 Author: David Brownell Date: Mon Feb 12 00:53:13 2007 -0800 [PATCH] AT91 GPIO wrappers This is a first cut at making the AT91 code use the generic GPIO calls. Note that the original AT91 GPIO calls merged the "mux pin as GPIO" and "set GPIO direction" functionality into one API call, contrary to what's specified as a cross-platform portable model. So this involved a few non-inlinable functions. [akpm@osdl.org: cleanups] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c729f1ecd23b86a2d6b211d646f57f9da8dfeb1 Author: David Brownell Date: Mon Feb 12 00:53:12 2007 -0800 [PATCH] OMAP GPIO wrappers This teaches OMAP how to implement the cross-platform GPIO interfaces. [akpm@osdl.org: cleanups] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c20386c8d0719b42503efe65abe47ad3fb3d711 Author: David Brownell Date: Mon Feb 12 00:53:11 2007 -0800 [PATCH] GPIO core This defines a simple and minimalist programming interface for GPIO APIs: - Documentation/gpio.txt ... describes things (read it) - include/asm-arm/gpio.h ... defines the ARM hook, which just punts to for any implementation - include/asm-generic/gpio.h ... implement "can sleep" variants as calling the normal ones, for systems that don't handle i2c expanders. The immediate need for such a cross-architecture API convention is to support drivers that work the same on AT91 ARM and AVR32 AP7000 chips, which embed many of the same controllers but have different CPUs. However, several other users have been reported, including a driver for a hardware watchdog chip and some handhelds.org multi-CPU button drivers. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9794f33ddedd878dd92fcf8b4834391840366919 Author: eric wollesen Date: Mon Feb 12 00:53:08 2007 -0800 [PATCH] EDAC: Add Fully-Buffered DIMM APIs to core Eric Wollesen ported the Bluesmoke Memory Controller driver for the Intel 5000X/V/P (Blackford/Greencreek) chipset to the in kernel EDAC model. This patch incorporates those required changes to the edac_mc.c and edac_mc.h core files by added new Fully Buffered DIMM interface to the EDAC Core module. Signed-off-by: eric wollesen Signed-off-by: doug thompson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f423ddf56e5ecb1fb2eac83b8e228e3d0aae0f6 Author: Frithiof Jensen Date: Mon Feb 12 00:53:07 2007 -0800 [PATCH] EDAC: Add memory scrubbing controls API to core This is an attempt of providing an interface for memory scrubbing control in EDAC. This patch modifies the EDAC Core to provide the Interface for memory controller modules to implment. The following things are still outstanding: - K8 is the first implemenation, The patch provide a method of configuring the K8 hardware memory scrubber via the 'mcX' sysfs directory. There should be some fallback to a generic scrubber implemented in software if the hardware does not support scrubbing. Or .. the scrubbing sysfs entry should not be visible at all. - Only works with SDRAM, not cache, The K8 can scrub cache and l2cache also - but I think this is not so useful as the cache is busy all the time (one hopes). One would also expect that cache scrubbing requires hardware support. - Error Handling, I would like that errors are returned to the user in "terms of file system". - Presentation, I chose Bandwidth in Bytes/Second as a representation of the scrubbing rate for the following reasons: I like that the sysfs entries are sort-of textual, related to something that makes sense instead of magical values that must be looked up. "My People" wants "% main memory scrubbed per hour" others prefer "% memory bandwidth used" as representation, "bandwith used" makes it easy to calculate both versions in one-liner scripts. If one later wants to scrub cache, the scaling becomes wierd for K8 changing from "blocks of 64 byte memory" to "blocks of 64 cache lines" to "blocks of 64 bit". Using "bandwidth used" makes sense in all three cases, (I.M.O. anyway ;-). - Discovery, There is no way to discover the possible settings and what they do without reading the code and the documentation. *I* do not know how to make that work in a practical way. - Bugs(??), other tools can set invalid values in the memory scrub control register, those will read back as '-1', requiring the user to reset the scrub rate. This is how *I* think it should be. - Afflicting other areas of code, I made changes to edac_mc.c and edac_mc.h which will show up globally - this is not nice, it would be better that the memory scrubbing fuctionality and interface could be entirely contained within the memory controller it applies to. Frithiof Jensen edac_mc.c and its .h file is a CORE helper module for EDAC driver modules. This provides the abstraction for device specific drivers. It is fine to modify this CORE to provide help for new features of the the drivers doug thompson Signed-off-by: Frithiof Jensen Signed-off-by: doug thompson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84db003f249ddbcde1666376b4e3bbe9ee2c7c0c Author: Mike Chan Date: Mon Feb 12 00:53:06 2007 -0800 [PATCH] EDAC: Fix in e752x mc driver This fix/change returns the offset into the page for the ce/ue error, instead of just 0. The e752x dram controller reads 34:6 of the linear address with the error. Signed-off-by: Mike Chan Signed-off-by: doug thompson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9962fd017becf944d671da498ccaaea570452206 Author: Brian Pomerantz Date: Mon Feb 12 00:53:05 2007 -0800 [PATCH] EDAC: e752x byte access fix The reading of the DRA registers should be a byte at a time (one register at a time) instead of 4 bytes at a time (four registers). Reading a dword at a time retrieves erroneous information from all but the first register. A change was made to read in each register in a loop prior to using the data in those registers. Signed-off-by: Brian Pomerantz Signed-off-by: Dave Jiang Signed-off-by: Doug Thompson Cc: Alan Cox Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfb2a76378f095b0aaa2024ce9a8cfb2ae2354d2 Author: Brian Pomerantz Date: Mon Feb 12 00:53:03 2007 -0800 [PATCH] EDAC: e752x bit mask fix The fatal vs. non-fatal mask for the sysbus FERR status is incorrect according to the E7520 datasheet. This patch corrects the mask to correctly handle fatal and non-fatal errors. Signed-off-by: Brian Pomerantz Signed-off-by: Dave Jiang Signed-off-by: Doug Thompson Cc: Alan Cox Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b0b2f44adffe0193a695bb528a83b550b8e54b Author: Eric W. Biederman Date: Mon Feb 12 00:53:02 2007 -0800 [PATCH] pid: remove the now unused kill_pg kill_pg_info and __kill_pg_info Now that I have changed all of the in-tree users remove the old version of these functions. This should make it clear to any out of tree users that they should be using kill_pgrp kill_pgrp_info or __kill_pgrp_info instead. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f57a54b6cf3f626334d97e93b5b917ad11e1efc Author: Eric W. Biederman Date: Mon Feb 12 00:53:02 2007 -0800 [PATCH] pid: remove now unused do_each_task_pid and while_each_task_pid Now that I have changed all of the users remove the old version of these functions. This should be a clear hint to any out of tree users that they should use do_each_pid_task and while_each_pid_task for new code. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41487c65bfcce9c8e4d123da1719fcfd8df6d4d0 Author: Eric W. Biederman Date: Mon Feb 12 00:53:01 2007 -0800 [PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task There isn't any real advantage to this change except that it allows the old functions to be removed. Which is easier on maintenance and puts the code in a more uniform style. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab521dc0f8e117fd808d3e425216864d60390500 Author: Eric W. Biederman Date: Mon Feb 12 00:53:00 2007 -0800 [PATCH] tty: update the tty layer to work with struct pid Of kernel subsystems that work with pids the tty layer is probably the largest consumer. But it has the nice virtue that the assiation with a session only lasts until the session leader exits. Which means that no reference counting is required. So using struct pid winds up being a simple optimization to avoid hash table lookups. In the long term the use of pid_nr also ensures that when we have multiple pid spaces mixed everything will work correctly. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e7cd6c413c9e6fbb5e1ee2acdadb4ababd2d474 Author: Eric W. Biederman Date: Mon Feb 12 00:52:58 2007 -0800 [PATCH] pid: replace is_orphaned_pgrp with is_current_pgrp_orphaned Every call to is_orphaned_pgrp passed in process_group(current) which is racy with respect to another thread changing our process group. It didn't bite us because we were dealing with integers and the worse we would get would be a stale answer. In switching the checks to use struct pid to be a little more efficient and prepare the way for pid namespaces this race became apparent. So I simplified the calls to the more specialized is_current_pgrp_orphaned so I didn't have to worry about making logic changes to avoid the race. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0475ac0845f9295bc5f69af45f58dff2c104c8d1 Author: Eric W. Biederman Date: Mon Feb 12 00:52:57 2007 -0800 [PATCH] pid: use struct pid for talking about process groups in exitc Modify has_stopped_jobs and will_become_orphan_pgrp to use struct pid based process groups. This reduces the number of hash tables looks ups and paves the way for multiple pid spaces. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04a2e6a5cbf84e85fe86de0a18f6509b147e1d89 Author: Eric W. Biederman Date: Mon Feb 12 00:52:56 2007 -0800 [PATCH] pid: make session_of_pgrp use struct pid instead of pid_t To properly implement a pid namespace I need to deal exclusively in terms of struct pid, because pid_t values become ambiguous. To this end session_of_pgrp is transformed to take and return a struct pid pointer. To avoid the need to worry about reference counting I now require my caller to hold the appropriate locks. Leaving callers repsonsible for increasing the reference count if they need access to the result outside of the locks. Since session_of_pgrp currently only has one caller and that caller simply uses only test the result for equality with another process group, the locking change means I don't actually have to acquire the tasklist_lock at all. tiocspgrp is also modified to take and release the lock. The logic there is a little more complicated but nothing I won't need when I convert pgrp of a tty to a struct pid pointer. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d42db189ca99703f0f4f91c477cb54808c8eaaa Author: Eric W. Biederman Date: Mon Feb 12 00:52:55 2007 -0800 [PATCH] signal: rewrite kill_something_info so it uses newer helpers The goal is to remove users of the old signal helper functions so they can be removed. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e25338bc11fa8e41e44e4db5b5101e3d882dc5b Author: Eric W. Biederman Date: Mon Feb 12 00:52:54 2007 -0800 [PATCH] signal: use kill_pgrp not kill_pg in the sunos compatibility code I am slowly moving to a model where all process killing is struct pid based instead of pid_t based. The sunos compatibility code is one of the last users of the old pid_t based kill_pg in the kernel. By being complete I allow for the future removal of kill_pg from the kernel, which will ensure I don't miss something. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ea81868d8fba0bb56d7b45a08cc5f15dd2c6bb2 Author: Eric W. Biederman Date: Mon Feb 12 00:52:53 2007 -0800 [PATCH] tty: fix the locking for signal->session in disassociate_ctty commit 24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517 while fixing the locking for signal->tty got the locking wrong for signal->session. This places our accesses of signal->session back under the tasklist_lock where they belong. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 680a96710041c3c25464b5e093b80ca43cb94f52 Author: Eric W. Biederman Date: Mon Feb 12 00:52:52 2007 -0800 [PATCH] tty: clarify disassociate_ctty The code to look at tty_old_pgrp and send SIGHUP and SIGCONT when it is present only executes when disassociate_ctty is called from do_exit. Make this clear by adding an explict on_exit check, and explicitly setting tty_old_pgrp to 0. In addition fix the locking by reading tty_old_pgrp under the siglock. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdc623300841bc8f1625c320d5a6cbc52c43c60d Author: Eric W. Biederman Date: Mon Feb 12 00:52:51 2007 -0800 [PATCH] tty: make __proc_set_tty static The aim of this patch set is to start wrapping up the struct pid conversions. As such this patchset culminates with the removal of kill_pg, kill_pg_info, __kill_pg_info, do_each_task_pid, and while_each_task_pid. kill_proc, daemonize, and kernel_thread are still in my sights but there is still work to get to them. The first three are basic cleanups around disassociate_ctty, while working on converting it I found several issues. tty_old_pgrp can be a tricky concept to wrap your head around. 1 tty: Make __proc_set_tty static. 2 tty: Clarify disassociate_ctty 3 tty: Fix the locking for signal->session in disassociate_ctty These just stop using the old helper functions. 4 signal: Use kill_pgrp not kill_pg in the sunos compatibility code. 5 signal: Rewrite kill_something_info so it uses newer helpers. Then the grind to convert the tty layer and all of it's helper functions to struct pid. 6 pid: Make session_of_pgrp use struct pid instead of pid_t. 7 pid: Use struct pid for talking about process groups in exit.c 8 pid: Replace is_orphaned_pgrp with is_current_pgrp_orphaned 9 tty: Update the tty layer to work with struct pid. A final helper function update. 10 pid: Replace do/while_each_task_pid with do/while_each_pid_task And the removal of the functions that are now unused. 11 pid: Remove now unused do_each_task_pid and while_each_task_pid 12 pid: Remove the now unused kill_pg kill_pg_info and __kill_pg_info All of these should be fairly simple and to the point. This patch: Currently all users of __proc_set_tty are in tty_io.c so make the function static. Signed-off-by: Eric W. Biederman Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 939b00df0306bc4b5cd25c3c3c78e89b91e72fc8 Author: Andries Brouwer Date: Mon Feb 12 00:52:49 2007 -0800 [PATCH] Minix V3 support This morning I needed to read a Minix V3 filesystem, but unfortunately my 2.6.19 did not support that, and neither did the downloaded 2.6.20rc4. Fortunately, google told me that Daniel Aragones had already done the work, patch found at http://www.terra.es/personal2/danarag/ Unfortunaly, looking at the patch was painful to my eyes, so I polished it a bit before applying. The resulting kernel boots, and reads the filesystem it needed to read. Signed-off-by: Daniel Aragones Signed-off-by: Andries Brouwer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b587b13a4f670ebae79ae6259cf44328455e4e69 Author: David Brownell Date: Mon Feb 12 00:52:48 2007 -0800 [PATCH] SPI eeprom driver This is adds a simple SPI EEPROM driver, providing access to the EEPROM through sysfs much like the I2C "eeprom" driver ... except this driver supports write access, and multiple EEPROM sizes. From: "Tuppa, Walter" Since I have EEPROMs on SPI with different address sizing, I made some changes to your at25.c to support them. Works perfectly. (Also includes a small bugfix for the "what size address" test.) Signed-off-by: David Brownell Signed-off-by: Walter Tuppa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3925a5ce44330767f7f0de5c58c6a797009f0f75 Author: David Brownell Date: Mon Feb 12 00:52:47 2007 -0800 [PATCH] RTC gets sysfs wakealarm attribute This adds a new "wakealarm" sysfs attribute to RTC class devices which support alarm operations and are wakeup-capable: - It reads as either empty, or the scheduled alarm time as seconds since the POSIX epoch. (That time may already have passed, since nothing currently enforces one-shot alarm semantics.) - It can be written with an alarm time in the future, again seconds since the POSIX epoch, which enables the alarm. - It can be written with an alarm time not in the future (such as 0, the start of the POSIX epoch) to disable the alarm. Usage examples (some need GNU date) after "cd /sys/class/rtc/rtcN": alarm after 10 minutes: # echo $(( $(cat since_epoch) + 10 * 60 )) > wakealarm alarm tuesday evening 10pm: # date -d '10pm tuesday' "+%s" > wakealarm disable alarm: # echo 0 > wakealarm This resembles the /proc/acpi/alarm file in that nothing happens when the alarm triggers ... except possibly waking the system from sleep. It's also like that in a nasty way: not much can be done to prevent one task from clobbering another task's alarm settings. It differs from that file in that there's no in-kernel date parser. Note that a few RTCs ignore rtc_wkalrm.enabled when setting alarms, or aren't set up correctly, so they won't yet behave with this attribute. Signed-off-by: David Brownell Acked-by: Pavel Machek Cc: Alessandro Zummo Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 802245611adea5e5877d8c5d9a20f94d8131bfdd Author: David Brownell Date: Mon Feb 12 00:52:46 2007 -0800 [PATCH] SPI doc clarifications This clarifies some aspects of the SPI programming interface, based on feedback from Hans-Peter Nilsson. The in-memory representation of words is right-aligned, so for example a twelve bit word is stored using sixteen bits with four undefined bits in the MSB. And controller drivers must reject protocol tweaking modes they do not support. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ffa0285052607513a29f529ddb5061c907fd8a6 Author: Hans-Peter Nilsson Date: Mon Feb 12 00:52:45 2007 -0800 [PATCH] SPI cleanup() method param becomes non-const I'd like to assign NULL to kfree()d members of a structure. I can't do that without ugly casting (see the PXA patch) when the structure pointed to is const-qualified. I don't really see a reason why the cleanup method isn't allowed to alter the object it should clean up. :-) No, I didn't test the PXA patch, but I verified that the NULL-assignment doesn't stop me from doing rmmod/insmodding my own spi_bitbang-based driver. Signed-off-by: Hans-Peter Nilsson Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f8c7619ea1ff5ab8e0b08c8120d629834ef4253 Author: Hans-Peter Nilsson Date: Mon Feb 12 00:52:44 2007 -0800 [PATCH] spi_bitbang(): use overridable setup_transfer() method A small bug-fix for spi_bitbang: it must always call the setup_transfer function via the overridable pointer, not assume that its spi_bitbang_setup_transfer is sufficient. Otherwise, if all options in the transfers are default (0), the overrided function will never be called. Granted, the function replacing it must call spi_bitbang_setup_transfer, but it might also have other important things to do, even if the second argument (the spi_transfer) is NULL. Tested together with the other patches on the spi_crisv32_sser and spi_crisv32_gpio drivers (not yet in the kernel, will IIUC be submitted as part of the usual arch-maintainer-pushes). Signed-off-by: Hans-Peter Nilsson Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddc1e9753106cedcca7944d2b068baa2e14640b1 Author: Ben Dooks Date: Mon Feb 12 00:52:43 2007 -0800 [PATCH] spi: remove return in spi_unregister_driver() Make the spi_unregister_driver() code fit in with the rest of the header file, and only do the action if the driver passed is non-NULL. This also makes the code a line smaller. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14fd9b3f8a0a36e706d144efcd579805a99de594 Author: Ben Dooks Date: Mon Feb 12 00:52:42 2007 -0800 [PATCH] spi: documentation does not need to set driver's bus_type field The spi_register_driver() sets the bus_type field of the spi_driver being registered, so there is no need to have it set in the driver itself. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b40ff4d729f4a7a9f832c67aa5de0dfa8ad45c0 Author: Ben Dooks Date: Mon Feb 12 00:52:41 2007 -0800 [PATCH] spi: add spi_set_drvdata() and spi_get_drvdata() Add wrappers for getting and setting the driver data using spi_device instead of using dev_{get|set}_drvdata with &spi->dev, to mirror the platform_{get|set}_drvdata. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69c202afa8ad6d6c1c673d8f9d47b43a0a3604e5 Author: Andrea Paterniani Date: Mon Feb 12 00:52:39 2007 -0800 [PATCH] SPI: Freescale iMX SPI controller driver (BIS+) Add the SPI controller driver for Freescale i.MX(S/L/1). Main features summary: > Per chip setup via board specific code and/or protocol driver. > Per transfer setup. > PIO transfers. > DMA transfers. > Managing of NULL tx / rx buffer for rd only / wr only transfers. This patch replace patch-2.6.20-rc4-spi_imx with the following changes: > Few cosmetic changes. > Function map_dma_buffers now return 0 for success and -1 for failure. > Solved a bug inside spi_imx_probe function (wrong error path). > Solved a bug inside setup function (bad undo setup for max_speed_hz). > For read-only transfers, always write zero bytes. This is almost the same as the 'BIS' version sent by Andrea, except for updating the 'DUMMY' byte so that read-only transfers shift out zeroes. That part of the API changed recently, since some half duplex peripheral chips require that semantic. Signed-off-by: Andrea Paterniani Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdb3c18d639311287dc4675abe743847a1aa62a8 Author: David Brownell Date: Mon Feb 12 00:52:37 2007 -0800 [PATCH] SPI controller driver for OMAP Microwire This adds a SPI driver for the Microwire controller on OMAP1 chips. This driver has been used in the Linux-OMAP tree for some time now, including with some of those displays using standardized 9-bit commands followed by data with 8-bit words. Microwire only supports half duplex transfers, but that's all that most SPI protocols need. When full duplex, or higher speeds, are needed there are several other controllers that can be used on OMAP. [akpm@osdl.org: cleanups] Signed-off-by: David Brownell Signed-off-by: Imre Deak Signed-off-by: Juha Yrjola Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85abfaa78239e63f553cc446f8ae5b955282aa29 Author: David Brownell Date: Mon Feb 12 00:52:36 2007 -0800 [PATCH] SPI Kconfig fix Minor Kconfig cleanup ... put the SPI_S3C24XX entry in the correct location (alphabetical order). Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc47135e4b6f7e7d81332f50ef68e4a42819d20 Author: Jiri Kosina Date: Mon Feb 12 00:52:35 2007 -0800 [PATCH] DS1302: local_irq_disable() is redundant after local_irq_save() drivers/char/ds1302.c::get_rtc_time() contains local_irq_disable() call after local_irq_save(). This looks redundant. drivers/char/ds1302.c::rtc_ioctl() contains local_irq_disable() call after local_irq_save(). This looks redundant. Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2869b23e4b95cbafffcd2fe110d77aff8c218405 Author: Tilman Schmidt Date: Mon Feb 12 00:52:34 2007 -0800 [PATCH] drivers/isdn/gigaset: new M101 driver (v2) This patch adds the line discipline based driver for the Gigaset M101 wireless RS232 adapter. It also improves the documentation a bit. Signed-off-by: Tilman Schmidt Signed-off-by: Hansjoerg Lipp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e13df2c58f8e8c72278b61e8f59de9a1403f9426 Author: Richard Knutsson Date: Mon Feb 12 00:52:33 2007 -0800 [PATCH] drivers/telephony/ixj: Convert to generic boolean Convert: BOOL -> bool FALSE -> false TRUE -> true Change a variable ('mContinue') to boolean from char, since it is used as boolean. Signed-off-by: Richard Knutsson Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40565f1962c5be9b9e285e05af01ab7771534868 Author: Jiri Slaby Date: Mon Feb 12 00:52:31 2007 -0800 [PATCH] Char: timers cleanup - Use timer macros to set function and data members and to modify expiration time. - Use DEFINE_TIMER for global timers and do not init them at run-time in these cases. - del_timer_sync is common in most cases -- we want to wait for timer function if it's still running. Signed-off-by: Jiri Slaby Cc: Dave Airlie Cc: David Woodhouse Cc: Dominik Brodowski Cc: Alessandro Zummo Cc: Paul Fulghum Cc: Kylene Jo Hall Cc: Wim Van Sebroeck Acked-by: Dmitry Torokhov (Input bits) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d096f3e9898d469493fc0afe88d7285c4bdc3ce2 Author: Jiri Slaby Date: Mon Feb 12 00:52:30 2007 -0800 [PATCH] Char: specialix, isr have 2 params specialix, isr have 2 params pt_regs are no longer the third parameter of isr, call sx_interrupt without it. Signed-off-by: Jiri Slaby Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c239122dec9230af80d0914ba23fefde80fdeffe Author: Prarit Bhargava Date: Mon Feb 12 00:52:29 2007 -0800 [PATCH] change __init to __devinit in 2 rtc drivers Change __init to __devinit in rtc drivers' probe functions. Resolves MODPOST warnings: WARNING: drivers/rtc/rtc-ds1553.o - Section mismatch: reference to .init.text:ds1553_rtc_probe from .data.rel between 'ds1553_rtc_driver' (at offset 0x0) and 'ds1553_nvram_attr' WARNING: drivers/rtc/rtc-ds1742.o - Section mismatch: reference to .init.text:ds1742_rtc_probe from .data.rel between 'ds1742_rtc_driver' (at offset 0x0) and 'ds1742_nvram_attr' Signed-off-by: Prarit Bhargava Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb5857084c8d27764b842025e4c805b174e40cad Author: Mike Frysinger Date: Mon Feb 12 00:52:27 2007 -0800 [PATCH] export ufs_fs.h to userspace Was ufs_fs.h purposefully not exported to userspace or did it just slip through the cracks ? assuming the latter scenario, the attached patch touches up the relationship between ufs_fs.h and its sub headers (like ufs_fs_sb.h) so that we can export it ... the silo bootloader takes advantage of this header for example. Signed-off-by: Mike Frysinger Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 944be0b224724fcbf63c3a3fe3a5478c325a6547 Author: Ingo Molnar Date: Mon Feb 12 00:52:26 2007 -0800 [PATCH] close_files(): add scheduling point close_files() can sometimes take long enough to trigger the soft lockup detector. Cc: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92ba0ee2770ed4954e3f8ba412ef2f37e5519477 Author: Tilman Schmidt Date: Mon Feb 12 00:52:26 2007 -0800 [PATCH] drivers/isdn/gigaset: reduce kernel message spam Reduce the number of kernel messages the Gigaset drivers produce in case of an excessively long device response, from one per character exceeding the limit to one per overlong message. Signed-off-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7435f50e1261f569c660efb4ae52e8bc21a92cbd Author: Tilman Schmidt Date: Mon Feb 12 00:52:24 2007 -0800 [PATCH] drivers/isdn/gigaset: reduce mutex scope Do not lock the cardstate structure mutex earlier than necessary. Signed-off-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 163da958ba5282cbf85e8b3dc08e4f51f8b01c5e Author: Eric Dumazet Date: Mon Feb 12 00:52:24 2007 -0800 [PATCH] FS: speed up rw_verify_area() oprofile hunting showed a stall in rw_verify_area(), because of triple indirection and potential cache misses. (file->f_path.dentry->d_inode->i_flock) By moving initialization of 'struct inode' pointer before the pos/count sanity tests, we allow the compiler and processor to perform two loads by anticipation, reducing stall, without prefetch() hints. Even x86 arch has enough registers to not use temporary variables and not increase text size. I validated this patch running a bench and studied oprofile changes, and absolute perf of the test program. Results of my epoll_pipe_bench (source available on request) on a Pentium-M 1.6 GHz machine Before : # ./epoll_pipe_bench -l 30 -t 20 Avg: 436089 evts/sec read_count=8843037 write_count=8843040 21.218390 samples per call (best value out of 10 runs) After : # ./epoll_pipe_bench -l 30 -t 20 Avg: 470980 evts/sec read_count=9549871 write_count=9549894 21.216694 samples per call (best value out of 10 runs) oprofile CPU_CLK_UNHALTED events gave a reduction from 5.3401 % to 2.5851 % for the rw_verify_area() function. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a10387ec463c4fcd3ccc461291ce4d8505827e2 Author: Randy Dunlap Date: Mon Feb 12 00:52:22 2007 -0800 [PATCH] com20020 build fix Need to export com20020 symbols for com20020_cs also. WARNING: "com20020_found" [drivers/net/pcmcia/com20020_cs.ko] undefined! WARNING: "com20020_check" [drivers/net/pcmcia/com20020_cs.ko] undefined! Signed-off-by: Randy Dunlap Cc: Esben Nielsen Cc: Jeff Garzik Cc: Dominik Brodowski Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e96b0310d70b72012b5ecde5e97b8262785aae Author: Heiko Carstens Date: Mon Feb 12 00:52:20 2007 -0800 [PATCH] lockdep: forward declare struct task_struct 3117df0453828bd045c16244e6f50e5714667a8a causes this: In file included from arch/s390/kernel/early.c:13: include/linux/lockdep.h:300: warning: "struct task_struct" declared inside parameter list include/linux/lockdep.h:300: warning: its scope is only this definition or declaration, which is probably not what you want Acked-by: Ingo Molnar Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 473e66fd24a230e03f6f164913bedb81c0ba052a Author: Horms Date: Mon Feb 12 00:52:18 2007 -0800 [PATCH] kexec: fix references to init in documentation for kexec I've noticed that the boot options are not correct for in the documentation for kdump. The "init" keyword is not necessary, and causes a kernel panic when booting with an initrd on Fedora 5. [horms@verge.net.au: put original comment with the latest version of the patch] Signed-off-by: Judith Lebzeelter Acked-by: Vivek Goyal Signed-off-by: Simon Horman Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be6b026785414033aac36887cb9ea0ee1244254c Author: Andrew Morton Date: Mon Feb 12 00:52:17 2007 -0800 [PATCH] swiotlb uninlinings Optimise swiotlb.c for size. text data bss dec hex filename 5009 89 64 5162 142a lib/swiotlb.o-before 4666 89 64 4819 12d3 lib/swiotlb.o-after For some reason my gcc (4.0.2) doesn't want to tailcall these things. swiotlb_sync_sg_for_device: pushq %rbp # movl $1, %r8d #, movq %rsp, %rbp #, call swiotlb_sync_sg # leave ret .size swiotlb_sync_sg_for_device, .-swiotlb_sync_sg_for_device .section .text.swiotlb_sync_sg_for_cpu,"ax",@progbits .globl swiotlb_sync_sg_for_cpu .type swiotlb_sync_sg_for_cpu, @function swiotlb_sync_sg_for_cpu: pushq %rbp # xorl %r8d, %r8d # movq %rsp, %rbp #, call swiotlb_sync_sg # leave ret Cc: Jan Beulich Cc: Andi Kleen Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 544fc7283cd6902831d660bd8e1181602bd2b4d2 Author: Haavard Skinnemoen Date: Mon Feb 12 00:52:15 2007 -0800 [PATCH] atmel_serial: Use __raw I/O register access Access to chip-internal registers should always be native-endian. This is especially important for AVR32 since it's a big-endian architecture and the non-raw readl() and writel() macros are defined to do little-endian accesses. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3991d3bd1506391d8feec209b1d22ccb1c03a0bf Author: Tomasz Kvarsin Date: Mon Feb 12 00:52:14 2007 -0800 [PATCH] warning fix: unsigned->signed While compiling my code with -Wconversion using gcc-trunk, I always get a bunch of warrning from headers, here is fix for them: __getblk is alawys called with unsigned argument, but it takes signed, the same story with __bread,__breadahead and so on. Signed-off-by: Tomasz Kvarsin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc1fc6d88c646ea071de34250552051a63000d70 Author: Eric W. Biederman Date: Mon Feb 12 00:52:10 2007 -0800 [PATCH] ipc: save the ipc namespace while reading proc files The problem we were assuming that current->nsproxy->ipc_ns would never change while someone has our file in /proc/sysvipc/ file open. Given that this can change with both unshare and by passing the file descriptor to another process that assumption is occasionally wrong. Therefore this patch causes /proc/sysvipc/* to cache the namespace and increment it's count when we open the file and to decrement the count when we close the file, ensuring consistent operation with no surprises. Signed-off-by: Eric W. Biederman Cc: Serge E. Hallyn Cc: Herbert Poetzl Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79a81aef769f3a188988ad16032ccfc445cfaa13 Author: Ahmed S. Darwish Date: Mon Feb 12 00:52:09 2007 -0800 [PATCH] reiserfs: Use ARRAY_SIZE macro when appropriate Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b5925fd5461c9f1ac77ede48945ca1945202ddb Author: Ahmed S. Darwish Date: Mon Feb 12 00:52:08 2007 -0800 [PATCH] OSS: Use ARRAY_SIZE macro when appropriate (2) Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b322f4095056d6849c49412eb3e36637a062e9c0 Author: Ahmed S. Darwish Date: Mon Feb 12 00:52:07 2007 -0800 [PATCH] OSS: Use ARRAY_SIZE macro when appropriate Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d0094de6dfda8209241787d99f531356469d0f5 Author: Ahmed S. Darwish Date: Mon Feb 12 00:52:05 2007 -0800 [PATCH] w1: Use ARRAY_SIZE macro when appropriate A patch to use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f0504471536a2b6978b9a99ed1c222950fff07a Author: Alan Cox Date: Mon Feb 12 00:52:04 2007 -0800 [PATCH] kernel: shut up the IRQ mismatch messages The problem is various drivers legally validly and sensibly try to claim IRQs but the kernel insists on vomiting forth a giant irrelevant debugging spew when the types clash. Edit kernel/irq/manage.c go down to mismatch: in setup_irq() and ifdef out the if clause that checks for mismatches. It'll then just do the right thing and work sanely. For the current -mm kernel this will do the trick (and moves it into shared irq debugging as in debug mode the info spew is useful). I've had a variant of this in my private tree for some time as I got fed up on the mess on boxes where old legacy IRQs get reused. Signed-off-by: Alan Cox Cc: Arjan van de Ven Cc: Ingo Molnar Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a304e1b82808904c561b7b149b467e338c53fcce Author: David Woodhouse Date: Mon Feb 12 00:52:00 2007 -0800 [PATCH] Debug shared irqs Drivers registering IRQ handlers with SA_SHIRQ really ought to be able to handle an interrupt happening before request_irq() returns. They also ought to be able to handle an interrupt happening during the start of their call to free_irq(). Let's test that hypothesis.... [bunk@stusta.de: Kconfig fixes] Signed-off-by: David Woodhouse Cc: Arjan van de Ven Signed-off-by: Jesper Juhl Signed-off-by: Ingo Molnar Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9e4acf3befd3b2903e01b3ef1bd344f03299826 Author: Nick Piggin Date: Mon Feb 12 00:51:59 2007 -0800 [PATCH] inotify: read return val fix Fix for inotify read bug (bugzilla.kernel.org #6999) Problem Description: When reading from an inotify device with an insufficient sized buffer, read(2) will return 0 with no errno set. This is because of an logically incorrect action from the user program thus should return an more logical value. My suggestion is return -EINVAL as for bind(2). This patch is based on the proposal from Ryan , and feedback from John McCutchan . Return -EINVAL if we have not passed in enough buffer space to read a single inotify event, rather than 0 which indicates that there is nothing to read. Signed-off-by: Nick Piggin Acked-by: "John McCutchan" Cc: Ryan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d003fb70fd356d0684ee0cd37a785e058c8678de Author: Christoph Hellwig Date: Mon Feb 12 00:51:58 2007 -0800 [PATCH] remove sb->s_files and file_list_lock usage in dquot.c Iterate over sb->s_inodes instead of sb->s_files in add_dquot_ref. This reduces list search and lock hold time aswell as getting rid of one of the few uses of file_list_lock which Ingo identified as a scalability problem. Previously we called dq_op->initialize for every inode handing of a writeable file that wasn't initialized before. Now we're calling it for every inode that has a non-zero i_writecount, aka a writeable file descriptor refering to it. Thanks a lot to Jan Kara for running this patch through his quota test harness. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb58b7316a99703afb8d076b0e5f3e1e387e4b30 Author: Christoph Hellwig Date: Mon Feb 12 00:51:57 2007 -0800 [PATCH] move remove_dquot_ref to dqout.c Remove_dquot_ref can move to dqout.c instead of beeing in inode.c under #ifdef CONFIG_QUOTA. Also clean the resulting code up a tiny little bit by testing sb->dq_op earlier - it's constant over a filesystems lifetime. Signed-off-by: Christoph Hellwig Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea6f3281a145d16ed53e88b0627f78d5cde6068f Author: Martin Peschke Date: Mon Feb 12 00:51:56 2007 -0800 [PATCH] scnprintf(): fix a comment The return value of scnprintf() never exceeds @size. Signed-off-by: Martin Peschke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91dd26ad2c04a1bbf179df4dca98f34db2f70716 Author: Dan Aloni Date: Mon Feb 12 00:51:54 2007 -0800 [PATCH] fix the defaults mentioned in Documentation/nfsroot.txt This patch fixes the documentation of nfsroot to match NFS_DEF_FILE_IO_SIZE. Or perhaps we need to change NFS_DEF_FILE_IO_SIZE to match the documentation? Signed-off-by: Dan Aloni Cc: "David S. Miller" Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d459883e6c54303a233dec3e4453a356794d8c2d Author: Jiri Slaby Date: Mon Feb 12 00:51:53 2007 -0800 [PATCH] MAINTAINERS: remove two dead e-mail Cyclades no longer serves the 2 e-mails listed in MAINTAINERS. Remove them and mark those entries as Orphaned. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae4472aa03d38b11f334dc0030b82e0c9f249af9 Author: Robert P. J. Day Date: Mon Feb 12 00:51:52 2007 -0800 [PATCH] QUOTA: Have include explicitly Since quota.h declares a R/W semaphore, it should include rwsem.h explicitly. Signed-off-by: Robert P. J. Day Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5be02f1d8af4c7baf3a5a31ab9c0cba9fdc52680 Author: Richard Knutsson Date: Mon Feb 12 00:51:50 2007 -0800 [PATCH] include/linux/kernel.h: Remove labs() Remove labs() since it is not used/needed. Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 893de2dffb0923d9bdba4abd66afcec3cf9103ba Author: Jiri Slaby Date: Mon Feb 12 00:51:49 2007 -0800 [PATCH] Char: cyclades, use pci_device_id Use pci_device_id struct instead of ushort array. Add MODULE_DEVICE_TABLE. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29d73aab3368ff18006c3591bc6d2f54c06c9bcb Author: Jiri Slaby Date: Mon Feb 12 00:51:48 2007 -0800 [PATCH] Char: use more PCI_DEVICE macro Use more PCI_DEVICE macro Signed-off-by: Jiri Slaby Acked-by: Wim Van Sebroeck (alim7101_wdt.c part) Cc: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb3dfb0cb1f4a44e2d0553f89514ce9f2a9fcaf1 Author: Andreas Gruenbacher Date: Mon Feb 12 00:51:47 2007 -0800 [PATCH] Fix d_path for lazy unmounts Here is a bugfix to d_path. First, when d_path() hits a lazily unmounted mount point, it tries to prepend the name of the lazily unmounted dentry to the path name. It gets this wrong, and also overwrites the slash that separates the name from the following pathname component. This is demonstrated by the attached test case, which prints "getcwd returned d_path-bugsubdir" with the bug. The correct result would be "getcwd returned d_path-bug/subdir". It could be argued that the name of the root dentry should not be part of the result of d_path in the first place. On the other hand, what the unconnected namespace was once reachable as may provide some useful hints to users, and so that seems okay. Second, it isn't always possible to tell from the __d_path result whether the specified root and rootmnt (i.e., the chroot) was reached: lazy unmounts of bind mounts will produce a path that does start with a non-slash so we can tell from that, but other lazy unmounts will produce a path that starts with a slash, just like "ordinary" paths. The attached patch cleans up __d_path() to fix the bug with overlapping pathname components. It also adds a @fail_deleted argument, which allows to get rid of some of the mess in sys_getcwd(). Grabbing the dcache_lock can then also be moved into __d_path(). The patch also makes sure that paths will only start with a slash for paths which are connected to the root and rootmnt. The @fail_deleted argument could be added to d_path() as well: this would allow callers to recognize deleted files, without having to resort to the ambiguous check for the " (deleted)" string at the end of the pathnames. This is not currently done, but it might be worthwhile. Signed-off-by: Andreas Gruenbacher Cc: Neil Brown Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c3bd438ccb94f5d5bf5d8711330e038dc8dd21b Author: Robert P. J. Day Date: Mon Feb 12 00:51:45 2007 -0800 [PATCH] NTFS: rename incorrect check of NTFS_DEBUG with just DEBUG Replace the incorrect debugging check of "#ifdef NTFS_DEBUG" with just "#ifdef DEBUG". Signed-off-by: Robert P. J. Day Acked-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdf892be32d84a1745fa0aee5fc60517421b8038 Author: Andrew Morton Date: Mon Feb 12 00:51:44 2007 -0800 [PATCH] register_blkdev(): don't hand out the LOCAL/EXPERIMENTAL majors As pointed out in http://bugzilla.kernel.org/show_bug.cgi?id=7922, dynamic blockdev major allocation can hand out majors which LANANA has defined as being for local/experimental use. Cc: Torben Mathiasen Cc: Greg KH Cc: Al Viro Cc: Tomas Klas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 215122e1110f97a3f478829049b9840cf8fdde57 Author: Andrew Morton Date: Mon Feb 12 00:51:43 2007 -0800 [PATCH] register_chrdev_region() don't hand out the LOCAL/EXPERIMENTAL majors As pointed out in http://bugzilla.kernel.org/show_bug.cgi?id=7922, dynamic chardev major allocation can hand out majors which LANANA has defined as being for local/experimental use. Cc: Torben Mathiasen Cc: Greg KH Cc: Al Viro Cc: Tomas Klas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ab8eb1cffcc5640ca5b07c2a0ddfaa8fbbcc754 Author: David Chinner Date: Mon Feb 12 00:51:42 2007 -0800 [PATCH] Make XFS use BH_Unwritten and BH_Delay correctly Don't hide buffer_unwritten behind buffer_delay() and remove the hack that clears unexpected buffer_unwritten() states now that it can't happen. Signed-off-by: Dave Chinner Acked-by: Christoph Hellwig Cc: Timothy Shimmin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33a266dda9fbbe72dd978a451a8ee33c59da5e9c Author: David Chinner Date: Mon Feb 12 00:51:41 2007 -0800 [PATCH] Make BH_Unwritten a first class bufferhead flag V2 Currently, XFS uses BH_PrivateStart for flagging unwritten extent state in a bufferhead. Recently, I found the long standing mmap/unwritten extent conversion bug, and it was to do with partial page invalidation not clearing the unwritten flag from bufferheads attached to the page but beyond EOF. See here for a full explaination: http://oss.sgi.com/archives/xfs/2006-12/msg00196.html The solution I have checked into the XFS dev tree involves duplicating code from block_invalidatepage to clear the unwritten flag from the bufferhead(s), and then calling block_invalidatepage() to do the rest. Christoph suggested that this would be better solved by pushing the unwritten flag into the common buffer head flags and just adding the call to discard_buffer(): http://oss.sgi.com/archives/xfs/2006-12/msg00239.html The following patch makes BH_Unwritten a first class citizen. Signed-off-by: Dave Chinner Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42da9cbd3eedde33a42acc2cb06f454814cf5de0 Author: Nick Piggin Date: Mon Feb 12 00:51:39 2007 -0800 [PATCH] mm: mincore anon Make mincore work for anon mappings, nonlinear, and migration entries. Based on patch from Linus Torvalds . Signed-off-by: Nick Piggin Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22cd25ed31bbf849acaa06ab220dc4f526153f13 Author: Benjamin Herrenschmidt Date: Mon Feb 12 00:51:38 2007 -0800 [PATCH] Add NOPFN_REFAULT result from vm_ops->nopfn() Add a NOPFN_REFAULT return code for vm_ops->nopfn() equivalent to NOPAGE_REFAULT for vmops->nopage() indicating that the handler requests a re-execution of the faulting instruction Signed-off-by: Benjamin Herrenschmidt Cc: Arnd Bergmann Cc: Hugh Dickins Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0dc0d8f4a327d033bfb63d43f113d5f31d11b3c Author: Nick Piggin Date: Mon Feb 12 00:51:36 2007 -0800 [PATCH] add vm_insert_pfn() Add a vm_insert_pfn helper, so that ->fault handlers can have nopfn functionality by installing their own pte and returning NULL. Signed-off-by: Nick Piggin Signed-off-by: Benjamin Herrenschmidt Cc: Arnd Bergmann Cc: Hugh Dickins Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ca48ed5cc5935cbd2a6f5d14fecd4ddbbdb4315 Author: Michael Hanselmann Date: Mon Feb 12 00:51:34 2007 -0800 [PATCH] null pointer dereference in appledisplay driver Commit 40b20c257a13c5a526ac540bc5e43d0fdf29792a by Len Brown introduced a null pointer dereference in the appledisplay driver. This patch fixes it. Signed-off-by: Michael Hanselmann Cc: Len Brown Cc: Greg KH Cc: Benjamin Herrenschmidt Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 022ae414daadb718130679e4eacc105521f11ec7 Author: Martin Schwidefsky Date: Mon Feb 12 15:49:57 2007 +0100 [S390] remove __io_virt and mmiowb. Signed-off-by: Martin Schwidefsky commit 045236ab190636c989ae8198eca37cfbafc1430b Author: Ahmed S. Darwish Date: Mon Feb 12 15:49:51 2007 +0100 [S390] cio: use ARRAY_SIZE in device_id.c Acked-by: Cornelia Huck Signed-off-by: Ahmed S. Darwish Signed-off-by: Martin Schwidefsky commit 4dd3cc5caf41d55cd5e55f32902c8a2ad3296e19 Author: Cornelia Huck Date: Mon Feb 12 15:47:18 2007 +0100 [S390] cio: Fixup interface for setting options on ccw devices. The current ccw_device_set_options() sets a specified mask of options and clears those not specified, but there is no way to find out which options have already been set. In order to fix this up, introduce the following interface changes: ccw_device_set_options() now only sets the specified bits, but does not clear those that are not specified. ccw_device_clear_options() clears the specified bits. ccw_device_set_options_mask() provides the old semantics (setting only the specified bits and clearing the others). Device drivers now work as expected. qdio has been adapted. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 0ec67667ab414b18a0518d5b11c842fd342e9cb1 Author: Heiko Carstens Date: Mon Feb 12 15:47:04 2007 +0100 [S390] smp_call_function/smp_call_function_on locking. smp_call_function and smp_call_function_on share the same lock and smp_call_function_on disables softirq's so it can be called from softirq context as well. Hence smp_call_function muss disable softirqs as well to avoid deadlocks. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 509cb37e173d4e39cec47238397e91b718730794 Author: Heiko Carstens Date: Mon Feb 12 00:08:03 2007 +0100 [PATCH] one more iomap s390 build fix Commit 9ac7849e35f705830f7b016ff272b0ff1f7ff759 causes this on S390: drivers/built-in.o: In function `dmam_noncoherent_release': dma-mapping.c:(.text+0x1515c): undefined reference to `dma_free_noncoherent' drivers/built-in.o: In function `dmam_free_noncoherent': undefined reference to `dma_free_noncoherent' drivers/built-in.o: In function `dmam_alloc_noncoherent': undefined reference to `dma_alloc_noncoherent' make: *** [.tmp_vmlinux1] Error 1 Cc: Tejun Heo Acked-by: Jeff Garzik Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Linus Torvalds commit 9ede209e83693cf3f6b64f61ab4b65f2f809cb50 Author: Jens Axboe Date: Fri Jan 19 12:11:44 2007 +1100 cfq-iosched: improve continue or break logic in cfq_dispatch This improves performance considerably for sync requests when you have command queuing enabled. Signed-off-by: Jens Axboe commit 28f95cbc3ec01f2c7d248e1a4a384f37e9c2ab16 Author: Jens Axboe Date: Fri Jan 19 12:09:53 2007 +1100 cfq-iosched: remove the implicit queue kicking in slice expire We only really need it for a process going away, so move it to those locations. Signed-off-by: Jens Axboe commit 3c6bd2f879d2c12ce369fe5f75e608ac7bacf01a Author: Jens Axboe Date: Fri Jan 19 12:06:33 2007 +1100 cfq-iosched: check whether a queue timed out in accounting Makes it more fair for the residual slice count. Signed-off-by: Jens Axboe commit cb8874119e9a3ec38c45942808c91cfbc014f402 Author: Jens Axboe Date: Fri Jan 19 12:01:16 2007 +1100 cfq-iosched: tweak the FIFO checking We currently check the FIFO once per slice. Optimize that a bit and only do it as the first thing for a new slice, so we don't end up doing a single request and then seek to the FIFO requests. Signed-off-by: Jens Axboe commit 1792669cc1acc2069869b7ca41a0195240de05e0 Author: Jens Axboe Date: Fri Jan 19 11:59:30 2007 +1100 cfq-iosched: don't pass in queue for cfq_arm_slice_timer() It must always be the active queue, otherwise it's a bug. So just use the active_queue, don't pass it in explicitly. Signed-off-by: Jens Axboe commit c5b680f3b7593f2b066c683df799d19f807fb23d Author: Jens Axboe Date: Fri Jan 19 11:56:49 2007 +1100 cfq-iosched: account for slice over/under time If a slice uses less than it is entitled to (or perhaps more), include that in the decision on how much time to give it the next time it gets serviced. Signed-off-by: Jens Axboe commit 44f7c16065c83060cbb9dd9b367141682a6e2b8e Author: Jens Axboe Date: Fri Jan 19 11:51:58 2007 +1100 cfq-iosched: defer slice activation to first request being active This better matches what time the queue is actually spending doing IO. Signed-off-by: Jens Axboe commit 99f9628aba4d8fb3b8d955c9efded0d0a1995fad Author: Jens Axboe Date: Mon Feb 5 11:56:25 2007 +0100 [PATCH] cfq-iosched: use last service point as the fairness criteria Right now we use slice_start, which gives async queues an unfair advantage. Chance that to service_last, and base the resorter on that. Signed-off-by: Jens Axboe commit b0b8d74941b7bc67edec26e4c114d27827edfd09 Author: Jens Axboe Date: Fri Jan 19 11:35:30 2007 +1100 cfq-iosched: document the cfqq flags Signed-off-by: Jens Axboe commit 98e41c7dfc90c0e9a1086502d4c4d367e1ad74db Author: Jens Axboe Date: Mon Feb 5 11:55:35 2007 +0100 [PATCH] cfq-iosched: move on_rr check into cfq_resort_rr_list() Move the on_rr check into cfq_resort_rr_list(), every call site needs to check it anyway. Signed-off-by: Jens Axboe commit aaf1228ddfb44f04c87d1e7dfc5ccffdba74363d Author: Jens Axboe Date: Fri Jan 19 11:30:16 2007 +1100 cfq-iosched: remove cfq_io_context last_queue It hasn't been used for a while, kill it off and remove the old if 0 code chunk. Signed-off-by: Jens Axboe commit 783660b2f60418144e168ab75a06786f9695fc70 Author: Jens Axboe Date: Fri Jan 19 11:27:47 2007 +1100 elevator: don't sort reads between writes Don't allow elv_dispatch_sort() to mix reads and writes together, it's rarely a good idea. Signed-off-by: Jens Axboe commit cad9751642b62cbb5f62feedc546b4f7890497d4 Author: Jens Axboe Date: Sun Jan 14 22:26:09 2007 +1100 elevator: abstract out the activate and deactivate functions Signed-off-by: Jens Axboe commit 958b7f37ee0fb2846c8d44310a68ae9605614ff9 Merge: d687983... e7ff6ae... Author: Linus Torvalds Date: Sun Feb 11 11:53:39 2007 -0800 Merge git://oss.sgi.com:8090/xfs/xfs-2.6 * git://oss.sgi.com:8090/xfs/xfs-2.6: (33 commits) [XFS] Don't use kmap in xfs_iozero. [XFS] Remove a bunch of unused functions from XFS. [XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros. [XFS] Remove unused header files for MAC and CAP checking functionality. [XFS] Make freeze code a little cleaner. [XFS] Remove unused argument to xfs_bmap_finish [XFS] Clean up use of VFS attr flags [XFS] Remove useless memory barrier [XFS] XFS sysctl cleanups [XFS] Fix assertion in xfs_attr_shortform_remove(). [XFS] Fix callers of xfs_iozero() to zero the correct range. [XFS] Ensure a frozen filesystem has a clean log before writing the dummy [XFS] Fix sub-block zeroing for buffered writes into unwritten extents. [XFS] Re-initialize the per-cpu superblock counters after recovery. [XFS] Fix block reservation changes for non-SMP systems. [XFS] Fix block reservation mechanism. [XFS] Make growfs work for amounts greater than 2TB [XFS] Fix inode log item use-after-free on forced shutdown [XFS] Fix attr2 corruption with btree data extents [XFS] Workaround log space issue by increasing XFS_TRANS_PUSH_AIL_RESTARTS ... commit d68798374bcf5cd4a19105b86d96121651b3c8cb Merge: 412ecd7... 2a598df... Author: Linus Torvalds Date: Sun Feb 11 11:50:24 2007 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: remove scan_keyb driver Input: i8042 - fix AUX IRQ delivery check Input: wistron - add support for Fujitsu-Siemens Amilo D88x0 Input: inport - use correct config option for ATIXL Input: HIL - handle erros from input_register_device() Input: tsdev - schedule removal Input: add Atlas button driver Input: ads7846 - be more compatible with the hwmon framework Input: ads7846 - detect pen up from GPIO state Input: ads7846 - select correct SPI mode Input: ads7846 - switch to using hrtimer Input: ads7846 - optionally leave Vref on during differential measurements Input: ads7846 - pluggable filtering logic Input: gpio-keys - keyboard driver for GPIO buttons Input: hid-ff - add support for Logitech Momo racing wheel Input: i8042 - really suppress ACK/NAK during panic blink Input: pc110pad - return proper error commit 412ecd7751a2653ab17df39a1dc3565a548633fd Author: Randy Dunlap Date: Sat Feb 10 22:47:33 2007 -0800 [PATCH] fix fatal kernel-doc error Teach kernel-doc to handle functions that look like the new pcim_iomap_table(). Fixes this fatal error in scripts/kernel-doc: DOCPROC Documentation/DocBook/kernel-api.xml Error(/tester/linsrc/linux-2.6.20-git6//drivers/pci/pci.c:1351): cannot understand prototype: 'void __iomem * const * pcim_iomap_table(struct pci_dev *pdev) ' make[1]: *** [Documentation/DocBook/kernel-api.xml] Error 1 make: *** [htmldocs] Error 2 Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 5f0b1437e0708772b6fecae5900c01c3b5f9b512 Merge: 574009c... 81b7bbd... Author: Linus Torvalds Date: Sun Feb 11 11:44:25 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (97 commits) [SCSI] zfcp: removed wrong comment [SCSI] zfcp: use of uninitialized variable [SCSI] zfcp: Invalid locking order [SCSI] aic79xx: use dma_get_required_mask() [SCSI] aic79xx: fix bracket mismatch in unused macro [SCSI] BusLogic: Replace 'boolean' by 'bool' [SCSI] advansys: clean up warnings [SCSI] 53c7xx: brackets fix in uncompiled code [SCSI] nsp_cs: remove old scsi code [SCSI] aic79xx: make ahd_match_scb() static [SCSI] DAC960: kmalloc->kzalloc/Casting cleanups [SCSI] scsi_kmap_atomic_sg(): check that local irqs are disabled [SCSI] Buslogic: local_irq_disable() is redundant after local_irq_save() [SCSI] aic94xx: update for v28 firmware [SCSI] scsi_error: Fix lost EH commands [SCSI] aic94xx: Add default bus reset handler [SCSI] aic94xx: Remove TMF result code munging [SCSI] libsas: Add an LU reset mechanism to the error handler [SCSI] libsas: Don't BUG when connecting two expanders via wide port [SCSI] st: fix Tape dies if wrong block size used, bug 7919 ... commit 574009c1a895aeeb85eaab29c235d75852b09eb8 Merge: a727fea... e692eb3... Author: Linus Torvalds Date: Sun Feb 11 11:40:04 2007 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] signal: do not inline handle_signal() [MIPS] signal: do not use save_static_function() anymore [MIPS] signal32: no need to save c0_status register in setup_sigcontext32() [MIPS] signal32: reduce {setup,restore}_sigcontext32 sizes [MIPS] signal: factorize debug code [MIPS] signal: test return value of install_sigtramp() [MIPS] signal32: remove duplicate code [MIPS] signal: clean up sigframe structure [MIPS] signal: do not inline functions in signal-common.h [MIPS] signals: reduce {setup,restore}_sigcontext sizes [MIPS] Fix warning in get_user when fetching pointer object from userspace. [MIPS] Fix eth2 platform device id for jaguar_atx and ocelot_3 platforms [MIPS] JMR3927 and RBTX49x7 support little endian [MIPS] RBTX49x7: declare prom_getcmdline() [MIPS] RTLX: Sprinkle device model code into code to make udev happier. [MIPS] VPE: Sprinkle device model code into code to make udev happier. commit a727fea99bf4b2addcd64c596735148117a7b37f Merge: cb18ecc... 12c8345... Author: Linus Torvalds Date: Sun Feb 11 11:39:00 2007 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: tifm_sd: treat "status error" as normal command completion mmc: wbsd: Remove stray kunmap_atomic() mmc: sdhci: Stop asking for mail mmc: sdhci: Remove driver version mmc: wbsd: Remove driver version commit cb18eccff48ef3986d1072964590bce6fec705fb Merge: c827ba4... 5ef213f... Author: Linus Torvalds Date: Sun Feb 11 11:38:13 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits) [IPV4]: Restore multipath routing after rt_next changes. [XFRM] IPV6: Fix outbound RO transformation which is broken by IPsec tunnel patch. [NET]: Reorder fields of struct dst_entry [DECNET]: Convert decnet route to use the new dst_entry 'next' pointer [IPV6]: Convert ipv6 route to use the new dst_entry 'next' pointer [IPV4]: Convert ipv4 route to use the new dst_entry 'next' pointer [NET]: Introduce union in struct dst_entry to hold 'next' pointer [DECNET]: fix misannotation of linkinfo_dn [DECNET]: FRA_{DST,SRC} are le16 for decnet [UDP]: UDP can use sk_hash to speedup lookups [NET]: Fix whitespace errors. [NET] XFRM: Fix whitespace errors. [NET] X25: Fix whitespace errors. [NET] WANROUTER: Fix whitespace errors. [NET] UNIX: Fix whitespace errors. [NET] TIPC: Fix whitespace errors. [NET] SUNRPC: Fix whitespace errors. [NET] SCTP: Fix whitespace errors. [NET] SCHED: Fix whitespace errors. [NET] RXRPC: Fix whitespace errors. ... commit c827ba4cb49a30ce581201fd0ba2be77cde412c7 Merge: fdba0f2... 784020f... Author: Linus Torvalds Date: Sun Feb 11 11:37:45 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Update defconfig. [SPARC64]: Add PCI MSI support on Niagara. [SPARC64] IRQ: Use irq_desc->chip_data instead of irq_desc->handler_data [SPARC64]: Add obppath sysfs attribute for SBUS and PCI devices. [PARTITION]: Add whole_disk attribute. commit fdba0f2da4b1db682b829b76302b2f25c376051c Author: Al Viro Date: Sun Feb 11 18:20:38 2007 +0000 [PATCH] add missing io...._rep() on sparc32 same as on sparc64 Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 23db764d3db5a4bb1e104ad9310e5dc18e4ffa1b Author: Al Viro Date: Sun Feb 11 18:15:29 2007 +0000 [PATCH] Switch s390 to NO_IOMEM Martin Schwidefsky wrote: "s390 does not even need (in|out)b(_p|). I wondered what else from io.h do we not need. The answer is: almost nothing. With the devres patch from Al and the dma-mapping patch from Heiko we can get rid of iomem and all associated definitions." So we'll just need to replace NO_IOPORT with NO_IOMEM in Kconfig and kill arch/s390/mm/ioremap.c. BTW, there's an annoying bit of junk in there - IO_SPACE_LIMIT. We only need it for /proc/ioports, which AFAICS shouldn't even be there on s390 (or uml). OTOH, removing that thing would mean a user-visible change - we go from "empty file in /proc" to "no such file in /proc"... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5ea8176994003483a18c8fed580901e2125f8a83 Author: Al Viro Date: Sun Feb 11 15:41:31 2007 +0000 [PATCH] sort the devres mess out * Split the implementation-agnostic stuff in separate files. * Make sure that targets using non-default request_irq() pull kernel/irq/devres.o * Introduce new symbols (HAS_IOPORT and HAS_IOMEM) defaulting to positive; allow architectures to turn them off (we needed these symbols anyway for dependencies of quite a few drivers). * protect the ioport-related parts of lib/devres.o with CONFIG_HAS_IOPORT. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 2835fdfa4a7f1400986d76d054237809a9392406 Author: Al Viro Date: Fri Feb 9 18:13:37 2007 +0000 [PATCH] FRA_{DST,SRC} are le16 for decnet Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d88e661fb9d28f1de799d524a8625b35eee94bbb Author: Al Viro Date: Fri Feb 9 18:13:42 2007 +0000 [PATCH] fix misannotation of linkinfo_dn Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c67687f36acd5e9f387474547143c12fc9ec2737 Author: Don Mullis Date: Sat Feb 10 01:46:51 2007 -0800 [PATCH] fix DocBook build Fix DocBook build. Regression was introduced by gregkh-usb-usb-linux-usb_ch9h-becomes-linux-usb-ch9h.patch Tested by `make htmldocs`. Signed-off-by: Don Mullis Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 249b061a9aab247d4daf3a2f28e8836e722c3d99 Author: Andrew Morton Date: Sat Feb 10 01:46:49 2007 -0800 [PATCH] fix gregkh-usb-usbcore-remove-unused-bandwith-related-code drivers/isdn/gigaset/bas-gigaset.c: In function 'dump_urb': drivers/isdn/gigaset/bas-gigaset.c:258: error: 'struct urb' has no member named 'bandwidth' Cc: Alan Stern Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3abf3beda75a10988eab4c1deab893e2d38e643e Author: Jiri Kosina Date: Sat Feb 10 01:46:48 2007 -0800 [PATCH] CHAR-Amiserial: turn local_save_flags() + local_irq_disable() into local_irq_save() drivers/char/amiserial.c::rs_write() contains local_irq_disable() after local_save_flags(). Turn it into local_irq_save(). Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c70555b051f2a32bf94a7e1c75b6b6759031b989 Author: Alexandre Bounine Date: Sat Feb 10 01:46:47 2007 -0800 [PATCH] rapidio: fix multi-switch enumeration This patch contains two fixes for RapisIO enumeration logic: 1. Fix enumeration in configurations with multiple switches. The patch adds: a. Enumeration of an empty switch. Empty switch is a switch that does not have any endpoint devices attached to it (except host device or previous switch in a chain). New code assigns a phony destination ID associated with the switch and sets up corresponding routes. b. Adds a second pass to the enumeration to setup routes to devices discovered after switch was scanned. 2. Fix enumeration failure when riohdid parameter has non-zero value. Current version fails to setup response path to the host when it has destination ID other that 0. Signed-off-by: Alexandre Bounine Acked-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5698c28b6e4711e4747bf155f69936208d60e28 Author: Christoph Hellwig Date: Sat Feb 10 01:46:46 2007 -0800 [PATCH] tty: cleanup release_mem release_mem contains two copies of exactly the same code. Refactor these into a new helper, release_tty. The only change in behaviour is that the driver reference count is now decremented after the master tty has been freed instead of before. [penberg@cs.helsinki.fi: fix use-after-free in release_tty.] Cc: Alan Cox Signed-off-by: Christoph Hellwig Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b98d11b40f03382918796f3c5c936d5495d20a4 Author: Alexey Dobriyan Date: Sat Feb 10 01:46:45 2007 -0800 [PATCH] ifdef ->rchar, ->wchar, ->syscr, ->syscw from task_struct They are fat: 4x8 bytes in task_struct. They are uncoditionally updated in every fork, read, write and sendfile. They are used only if you have some "extended acct fields feature". And please, please, please, read(2) knows about bytes, not characters, why it is called "rchar"? Signed-off-by: Alexey Dobriyan Cc: Jay Lan Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18f705f49a5b19206233f7cef8f869ce7291f8c8 Author: Alexey Dobriyan Date: Sat Feb 10 01:46:44 2007 -0800 [PATCH] Move TASK_XACCT, TASK_IO_ACCOUNTING up in menus Since they depends on TASKSTATS, it would be nice to move them closer to another options depending on TASKSTATS. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d06087714b78e8921bd30b5c64202fe80c47339 Author: Oleg Nesterov Date: Sat Feb 10 01:46:38 2007 -0800 [PATCH] _proc_do_string(): fix short reads If you try to read things like /proc/sys/kernel/osrelease with single-byte reads, you get just one byte and then EOF. This is because _proc_do_string() assumes that the caller is read()ing into a buffer which is large enough to fit the whole string in a single hit. Fix. Cc: "Eric W. Biederman" Cc: Michael Tokarev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c75fb88dbcc470e6041a20b1457b4835b9a0a48a Author: Pavel Roskin Date: Sat Feb 10 01:46:37 2007 -0800 [PATCH] Fix sparse annotation of spin unlock macros in one case SMP systems without premption and spinlock debugging enabled use unlock macros that don't tell sparse that the lock is being released. Add sparse annotations in this case. Signed-off-by: Pavel Roskin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0f030374228407bc4e3f5482eeab787ba53c8a Author: Paul E. McKenney Date: Sat Feb 10 01:46:37 2007 -0800 [PATCH] Change constant zero to NOTIFY_DONE in ratelimit_handler() Change a hard-coded constant 0 to the symbolic equivalent NOTIFY_DONE in the ratelimit_handler() CPU notifier handler function. Signed-off-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 656dad312fb41ed95ef08325e9df9bece3aacbbb Author: Ingo Molnar Date: Sat Feb 10 01:46:36 2007 -0800 [PATCH] highmem: catch illegal nesting Catch illegally nested kmap_atomic()s even if the page that is mapped by the 'inner' instance is from lowmem. This avoids spuriously zapped kmap-atomic ptes and turns hard to find crashes into clear asserts at the bug site. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e4fdaf8aebe489e8e59826fdf78cb64356d2ad0 Author: Dmitriy Monakhov Date: Sat Feb 10 01:46:35 2007 -0800 [PATCH] jbd layer function called instead of fs specific one jbd function called instead of fs specific one. Signed-off-by: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 501b9ebf43f9973c3e246c8fbd17144d81a989ef Author: Robert P. J. Day Date: Sat Feb 10 01:46:34 2007 -0800 [PATCH] Fix apparent typo CONFIG_LOCKDEP_DEBUG Replace the apparent typo CONFIG_LOCKDEP_DEBUG with the correct CONFIG_DEBUG_LOCKDEP. Signed-off-by: Robert P. J. Day Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cddd7076ab440906dcf2831e37a147484af80fc Author: Cedric Le Goater Date: Sat Feb 10 01:46:33 2007 -0800 [PATCH] mxser: remove useless fields the session and pgrp fields in mxser_struct are unused. Signed-off-by: Cedric Le Goater Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87d156bfd50ac6e66db981989948b7311a25b6ae Author: Richard Knutsson Date: Sat Feb 10 01:46:31 2007 -0800 [PATCH] drivers/block/DAC960: convert 'boolean' to 'bool' Converts 'boolean' to 'bool' and removes the 'boolean' typedef. Signed-off-by: Richard Knutsson Cc: Jens Axboe Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b1cd4c43b90059b54baa8d9113365984113c631 Author: Mike Frysinger Date: Sat Feb 10 01:46:30 2007 -0800 [PATCH] some rtc documentation updates Fix typo when describing RTC_WKALM. Add some helpful pointers to people developing their own RTC driver. Change a bunch of the error messages in the test program to be a bit more helpful. Signed-off-by: Mike Frysinger Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1efc5da3cf567d2f6b795f9d2112ed97fec4ee7c Author: Mathieu Desnoyers Date: Sat Feb 10 01:46:29 2007 -0800 [PATCH] order of lockdep off/on in vprintk() should be changed The order of locking between lockdep_off/on() and local_irq_save/restore() in vprintk() should be changed. * In kernel/printk.c : vprintk() does : preempt_disable() local_irq_save() lockdep_off() spin_lock(&logbuf_lock) spin_unlock(&logbuf_lock) if(!down_trylock(&console_sem)) up(&console_sem) lockdep_on() local_irq_restore() preempt_enable() The goals here is to make sure we do not call printk() recursively from kernel/lockdep.c:__lock_acquire() (called from spin_* and down/up) nor from kernel/lockdep.c:trace_hardirqs_on/off() (called from local_irq_restore/save). It can then potentially call printk() through mark_held_locks/mark_lock. It correctly protects against the spin_lock call and the up/down call, but it does not protect against local_irq_restore. It could cause infinite recursive printk/trace_hardirqs_on() calls when printk() is called from the mark_lock() error handing path. We should change the locking so it becomes correct : preempt_disable() lockdep_off() local_irq_save() spin_lock(&logbuf_lock) spin_unlock(&logbuf_lock) if(!down_trylock(&console_sem)) up(&console_sem) local_irq_restore() lockdep_on() preempt_enable() Signed-off-by: Mathieu Desnoyers Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 482a579b370a0bf924b577efd6c750284a95e0fb Author: Robert P. J. Day Date: Sat Feb 10 01:46:28 2007 -0800 [PATCH] Remove unused kernel config option PARIDE_PARPORT Remove the unused kernel config option PARIDE_PARPORT. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 730c385bc58802b51812bfcd13ae3578d16c1dfd Author: Robert P. J. Day Date: Sat Feb 10 01:46:28 2007 -0800 [PATCH] Remove unused kernel config option ZISOFS_FS Remove the kernel config option ZISOFS_FS, since it appears that the actual option is simply ZISOFS. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9b2a700378016cead20f34232be87eea45087d2 Author: Robert P. J. Day Date: Sat Feb 10 01:46:27 2007 -0800 [PATCH] Remove references to obsolete kernel config option DEBUG_RWSEMS Remove the few references to the obsolete kernel config option DEBUG_RWSEMS. Signed-off-by: Robert P. J. Day Cc: Ingo Molnar Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c6ae7ecd21fbb655ea96a7e9798bedb2917ef91 Author: Robert P. J. Day Date: Sat Feb 10 01:46:26 2007 -0800 [PATCH] Remove dead kernel config option AEDSP16_MPU401. Remove the dead kernel config option AEDSP16_MPU401. Signed-off-by: Robert P. J. Day Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b385a144ee790f00e8559bcb8024d042863f9be1 Author: Robert P. J. Day Date: Sat Feb 10 01:46:25 2007 -0800 [PATCH] Replace regular code with appropriate calls to container_of() Replace a small number of expressions with a call to the "container_of()" macro. Signed-off-by: Robert P. J. Day Acked-by: Paul Mackerras Cc: "David S. Miller" Cc: Martin Schwidefsky Cc: Stephen Smalley Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 521dae191e5ba9362152da9fd3a12203e087df83 Author: Adrian Bunk Date: Sat Feb 10 01:46:24 2007 -0800 [PATCH] cleanup include/linux/reiserfs_xattr.h - #ifdef guard this header for multiple inclusion - adjust the #include's to what is actually required by this header - remove an unneeded #ifdef - #endif comments Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b0a2075adb04846870a7fc1e62b08a532054ba6 Author: Adrian Bunk Date: Sat Feb 10 01:46:24 2007 -0800 [PATCH] cleanup include/linux/xattr.h - reduce the userspace visible part - fix the in-kernel compilation Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 842f968f3fcdc475c95ec76a03b29c5147e87b54 Author: Robert P. J. Day Date: Sat Feb 10 01:46:23 2007 -0800 [PATCH] Remove final reference to superfluous smp_commence() Remove the last (and commented out) invocation of the obsolete smp_commence() call. Signed-off-by: Robert P. J. Day Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72ed3d035855841ad611ee48b20909e9619d4a79 Author: Nick Piggin Date: Sat Feb 10 01:46:22 2007 -0800 [PATCH] buffer: memorder fix unlock_buffer(), like unlock_page(), must not clear the lock without ensuring that the critical section is closed. Mingming later sent the same patch, saying: We are running SDET benchmark and saw double free issue for ext3 extended attributes block, which complains the same xattr block already being freed (in ext3_xattr_release_block()). The problem could also been triggered by multiple threads loop untar/rm a kernel tree. The race is caused by missing a memory barrier at unlock_buffer() before the lock bit being cleared, resulting in possible concurrent h_refcounter update. That causes a reference counter leak, then later leads to the double free that we have seen. Inside unlock_buffer(), there is a memory barrier is placed *after* the lock bit is being cleared, however, there is no memory barrier *before* the bit is cleared. On some arch the h_refcount update instruction and the clear bit instruction could be reordered, thus leave the critical section re-entered. The race is like this: For example, if the h_refcount is initialized as 1, cpu 0: cpu1 -------------------------------------- ----------------------------------- lock_buffer() /* test_and_set_bit */ clear_buffer_locked(bh); lock_buffer() /* test_and_set_bit */ h_refcount = h_refcount+1; /* = 2*/ h_refcount = h_refcount + 1; /*= 2 */ clear_buffer_locked(bh); .... ...... We lost a h_refcount here. We need a memory barrier before the buffer head lock bit being cleared to force the order of the two writes. Please apply. Signed-off-by: Nick Piggin Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c742b53114f8d1535608dafb6a5690103a0748b5 Author: Rob Landley Date: Sat Feb 10 01:46:20 2007 -0800 [PATCH] Documentation/rbtree.txt Documentation for lib/rbtree.c. Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82ddcb040570411fc2d421d96b3e69711c670328 Author: Robert P. J. Day Date: Sat Feb 10 01:46:20 2007 -0800 [PATCH] extend the set of "__attribute__" shortcut macros Extend the set of "__attribute__" shortcut macros, and remove identical (and now superfluous) definitions from a couple of source files. based on a page at robert love's blog: http://rlove.org/log/2005102601 extend the set of shortcut macr