commit cc016448b0bf0764928275d034e367753bde8162 Author: Linus Torvalds Date: Wed Dec 13 17:14:23 2006 -0800 Linux v2.6.20-rc1 .. and so the stabilization phase starts. Signed-off-by: Linus Torvalds commit 2bf540b73ed5b304e84bb4d4c390d49d1cfa0ef8 Author: Patrick McHardy Date: Wed Dec 13 16:54:25 2006 -0800 [NETFILTER]: bridge-netfilter: remove deferred hooks Remove the deferred hooks and all related code as scheduled in feature-removal-schedule. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8bce65b95ac167693ae2d706b5341409dca0062d Author: Kim Nordlund Date: Wed Dec 13 16:38:29 2006 -0800 [IPV6]: Make fib6_node subtree depend on IPV6_SUBTREES Make fib6_node 'subtree' depend on IPV6_SUBTREES. Signed-off-by: Kim Nordlund Signed-off-by: David S. Miller commit 6ab792f577012312a760a3a1e679ae8fae012442 Author: Ivan Skytte Jorgensen Date: Wed Dec 13 16:34:22 2006 -0800 [SCTP]: Add support for SCTP_CONTEXT socket option. Signed-off-by: Ivan Skytte Jorgensen Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 882a382c3e0b432fa91672e1c2754cac3f5a6b4f Author: Sridhar Samudrala Date: Wed Dec 13 16:33:35 2006 -0800 [SCTP]: Enable auto loading of SCTP when creating an ipv6 SCTP socket. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 29c7cf96186ac14ce7380633f690fc39732ff03a Author: Sridhar Samudrala Date: Wed Dec 13 16:26:26 2006 -0800 [SCTP]: Handle address add/delete events in a more efficient way. Currently in SCTP, we maintain a local address list by rebuilding the whole list from the device list whenever we get a address add/delete event. This patch fixes it by only adding/deleting the address for which we receive the event. Also removed the sctp_local_addr_lock() which is no longer needed as we now use list_for_each_safe() to traverse this list. This fixes the bugs in sctp_copy_laddrs_xxx() routines where we do copy_to_user() while holding this lock. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 6931ba7cef3991fbb970997d33e24139ccdc3c2c Author: David S. Miller Date: Wed Dec 13 16:25:44 2006 -0800 [TCP]: Fix oops caused by __tcp_put_md5sig_pool() It should call tcp_free_md5sig_pool() not __tcp_free_md5sig_pool() so that it does proper refcounting. Signed-off-by: David S. Miller commit befffe901649e2cc421d0d150c4379d01658cf6b Author: Brian Haley Date: Tue Dec 12 17:09:49 2006 -0800 [IPV6]: Fix IPV6_UNICAST_HOPS getsockopt(). > Relevant standard (RFC 3493) notes: > > The IPV6_UNICAST_HOPS option may be used with getsockopt() to > determine the hop limit value that the system will use for subsequent > unicast packets sent via that socket. > > I don't reckon -1 could be the hop limit value. -1 means un-initialized. > IMHO, the value from > case 1 (if socket is connected to some destination), otherwise case 2 > (if bound to a scope interface) or ultimately the default hop limit > ought to be returned instead, as it will be most often correct, while > the current behavior is always wrong, unless setsockopt() has been used > first. I don't if some people may think doing a route lookup in > getsockopt might be overly expensive, but at least the two other cases > should be ok, particularly the last one. The following patch seems to work for me, but this code has behaved this way for a while, so don't know if it will break any existing apps. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 832e3ca62d6ee1893db05f5202c24ae5331e19ba Author: Ian McDonald Date: Tue Dec 12 00:47:59 2006 -0200 [DCCP] ccid3: return value in ccid3_hc_rx_calc_first_li In a recent patch we introduced invalid return codes which will result in the opposite of what is intended (i.e. send more packets in face of peculiar network conditions). This fixes it by returning ~0 which means not calculated as per dccp_li_hist_calc_i_mean. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e1b4b9f3986b80d5785d91dbd8d72cfaf9fd1117 Author: Al Viro Date: Tue Dec 12 00:29:52 2006 -0800 [NETFILTER]: {ip,ip6,arp}_tables: fix exponential worst-case search for loops If we come to node we'd already marked as seen and it's not a part of path (i.e. we don't have a loop right there), we already know that it isn't a part of any loop, so we don't need to revisit it. That speeds the things up if some chain is refered to from several places and kills O(exp(table size)) worst-case behaviour (without sleeping, at that, so if you manage to self-LART that way, you are SOL for a long time)... Signed-off-by: Al Viro Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a96be24679198469df28976c809575423e70d843 Author: Dmitry Mishin Date: Tue Dec 12 00:29:26 2006 -0800 [NETFILTER]: ip_tables: ipt and ipt_compat checks unification Matches and targets verification is duplicated in normal and compat processing ways. This patch refactors code in order to remove this. Signed-off-by: Dmitry Mishin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 11078c371e2ecfce011d1dffb67888c6fed1b664 Author: Yasuyuki Kozakai Date: Tue Dec 12 00:29:02 2006 -0800 [NETFILTER]: x_tables: add missing try to load conntrack from match/targets CLUSTERIP, CONNMARK, CONNSECMARK, and connbytes need ip_conntrack or layer 3 protocol module of nf_conntrack. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fe0b9294c9f951a64c768f8a5879154235efe63f Author: Yasuyuki Kozakai Date: Tue Dec 12 00:28:40 2006 -0800 [NETFILTER]: x_tables: error if ip_conntrack is asked to handle IPv6 packets To do that, this makes nf_ct_l3proto_try_module_{get,put} compatible functions. As a result we can remove '#ifdef' surrounds and direct call of need_conntrack(). Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 083e69e99e1c728d360c6346456daa4d4c19e25c Author: Yasuyuki Kozakai Date: Tue Dec 12 00:28:09 2006 -0800 [NETFILTER]: nf_nat: fix NF_NAT dependency NF_NAT depends on NF_CONNTRACK_IPV4, not NF_CONNTRACK. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3a411355bcf4bf714022420badfec1cd1e2fbd9a Author: Patrick McHardy Date: Tue Dec 12 00:27:46 2006 -0800 [NETFILTER]: Fix INET=n linking error Building with INET=n results in WARNING: "ip_route_output_key" [net/netfilter/nf_conntrack_h323.ko] undefined! The entire code in net/netfilter is only used for IPv4/IPv6 currently, so let it depend on INET. Noticed by Toralf Förster . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f89bce3d9afc6b1fb898ae176df4962c1303ee86 Author: David Brownell Date: Tue Dec 5 03:07:38 2006 -0800 Driver core: deprecate PM_LEGACY, default it to N Deprecate the old "legacy" PM API, and more importantly default it to "n". Virtually nothing in-tree uses it any more. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6eefd34fdcbd34e2cddb8b7da26d838367591954 Author: Scott Wood Date: Mon Dec 4 14:57:19 2006 -0800 Driver core: Make platform_device_add_data accept a const pointer platform_device_add_data() makes a copy of the data that is given to it, and thus the parameter can be const. This removes a warning when data from get_property() on powerpc is handed to platform_device_add_data(), as get_property() returns a const pointer. Signed-off-by: Scott Wood Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c63e07834bb12910bea41da15b8902150f5217c2 Author: Andrew Morton Date: Mon Dec 4 14:56:36 2006 -0800 Driver core: "platform_driver_probe() can save codespace": save codespace This function can be __init Cc: David Brownell Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 29a7f3ada7fea5510504c5359c3f70d109aeb055 Author: Mathieu Desnoyers Date: Fri Nov 24 13:51:14 2006 -0500 DebugFS : file/directory removal fix Fix file and directory removal in debugfs. Add inotify support for file removal. The following scenario : create dir a create dir a/b cd a/b (some process goes in cwd a/b) rmdir a/b rmdir a fails due to the fact that "a" appears to be non empty. It is because the "b" dentry is not deleted from "a" and still in use. The same problem happens if "b" is a file. d_delete is nice enough to know when it needs to unhash and free the dentry if nothing else is using it or, if someone is using it, to remove it from the hash queues and wait for it to be deleted when it has no users. The nice side-effect of this fix is that it calls the file removal notification. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 65c333367b1aea57d58168ad3dc1df27b0227401 Author: Mathieu Desnoyers Date: Fri Nov 24 13:50:09 2006 -0500 DebugFS : more file/directory creation error handling Correct dentry count to handle creation errors. This patch puts a dput at the file creation instead of the file removal : lookup_one_len already returns a dentry with reference count of 1. Then, the dget() in simple_mknod increments it when the dentry is associated with a file. In a scenario where simple_create or simple_mkdir returns an error, this would lead to an unwanted increment of the reference counter, therefore making file removal impossible. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 63223a0654c2a473ae64835819b87826cb7415ee Author: Mathieu Desnoyers Date: Fri Nov 24 13:48:19 2006 -0500 DebugFS : file/directory creation error handling Fix error handling of file and directory creation in DebugFS. The error path should release the file system because no _remove will be called for this erroneous creation. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit bafb232ec42aa6862798236009e8e5233d05ab36 Author: Mathieu Desnoyers Date: Fri Nov 24 13:46:30 2006 -0500 DebugFS : coding style fixes Minor coding style fixes along the way : 80 cols and a white space. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 4f36557fbe4ab59feb2783cdb5d049cb8c3f34f3 Author: Mathieu Desnoyers Date: Fri Nov 24 13:45:37 2006 -0500 DebugFS : inotify create/mkdir support Add inotify create and mkdir events to DebugFS. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 44c53c4ff01a3551e9d73604eba42e372e9d0c1a Author: Akinobu Mita Date: Tue Nov 21 04:53:18 2006 +0900 driver core: delete virtual directory on class_unregister() Class virtual directory is created as the need arises. But it is not deleted when the class is unregistered. Signed-off-by: Akinobu Mita Signed-off-by: Greg Kroah-Hartman commit 1f71740ab9714bf5ae9ee04c724ff0d5c67ca3dc Author: Kay Sievers Date: Fri Nov 24 12:15:25 2006 +0100 Driver core: show "initstate" of module Show the initialization state(live, coming, going) of the module: $ cat /sys/module/usbcore/initstate live Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 408966b85e47859a488f0f6e8c83f09beb563081 Author: Kristoffer Ericson Date: Wed Dec 13 21:32:08 2006 +0100 [ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c * HP Jornada 720 uses epson 1356 chip for graphics. This chip is compatible with s1d13xxxfb driver. * HP Jornada 720 uses a Microprocessor Control Unit to talk to various hardware. We add it as a platform device in jornada720_init() * We provide pm_suspend() to avoid unresolved symbols in apm.o. We are unable to truly suspend now, hence the stub. * Speaker/microphone enabling got removed because it will be placed in the alsa driver. Signed-off-by: Filip Zyzniewski <(address hidden)> Signed-off-by: Kristoffer Ericson <(address hidden)> Signed-off-by: Russell King commit 7806ca89bc0437d9952c6337d3bbddf1ea3591ff Author: Tony Luck Date: Wed Dec 13 13:15:10 2006 -0800 [IA64] Move sg_dma_{len,address} from pci.h to scatterlist.h IA64 is in a tiny minority providing these defines in pci.h. Almost everyone else has them in scatterlist.h Signed-off-by: Tony Luck commit 3c8cd0cce9ab8a25dbcf519cb0de00d2716f8379 Author: Pavel Pisa Date: Wed Dec 6 17:25:04 2006 +0100 [ARM] 3992/1: i.MX/MX1 CPU Frequency scaling support Support to change MX1 CPU frequency at runtime. Tested on PiKRON's PiMX1 board and seems to be fully stable up to 200 MHz end even as low as 8 MHz. Signed-off-by: Pavel Pisa Signed-off-by: Russell King commit 47fd705287e9377acd2a4cee9aeeea02867d2e54 Author: Russell King Date: Wed Dec 13 18:33:53 2006 +0000 [ARM] Provide a method to alter the control register i.MX needs to tweak the control register to support CPU frequency scaling. Rather than have folk blindly try and change the control register by writing to it and then wondering why it doesn't work, provide a method (which is safe for UP only, and therefore only available for UP) to achieve this. Signed-off-by: Russell King commit 02828845dda5ccf921ab2557c6ca17b6e7fc70e2 Author: Nicolas Pitre Date: Wed Dec 13 18:39:26 2006 +0100 [ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks" optimization The gcc manual says: |`-fdelete-null-pointer-checks' | Use global dataflow analysis to identify and eliminate useless | checks for null pointers. The compiler assumes that dereferencing | a null pointer would have halted the program. If a pointer is | checked after it has already been dereferenced, it cannot be null. | Enabled at levels `-O2', `-O3', `-Os'. Now the problem can be seen with this test case: #include extern void bar(char *x); void foo(char *x) { prefetch(x); if (x) bar(x); } Because the constraint to the inline asm used in the prefetch() macro is a memory operand, gcc assumes that the asm code does dereference the pointer and the delete-null-pointer-checks optimization kicks in. Inspection of generated assembly for the above example shows that bar() is indeed called unconditionally without any test on the value of x. Of course in the prefetch case there is no real dereference and it cannot be assumed that a null pointer would have been caught at that point. This causes kernel oopses with constructs like hlist_for_each_entry() where the list's 'next' content is prefetched before the pointer is tested against NULL, and only when gcc feels like applying this optimization which doesn't happen all the time with more complex code. It appears that the way to prevent delete-null-pointer-checks optimization to occur in this case is to make prefetch() into a static inline function instead of a macro. At least this is what is done on x86_64 where a similar inline asm memory operand is used (I presume they would have seen the same problem if it didn't work) and resulting code for the above example confirms that. An alternative would consist of replacing the memory operand by a register operand containing the pointer, and use the addressing mode explicitly in the asm template. But that would be less optimal than an offsettable memory reference. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit aef6fba4f97bbec1dc5a253f388be9a4c7a30e41 Author: Russell King Date: Wed Dec 13 17:56:11 2006 +0000 [PATCH] Add missing KORENIX PCI ID's Oops, sorry about that. Signed-off-by: Linus Torvalds commit ec8c0446b6e2b67b5c8813eb517f4bf00efa99a9 Author: Ralf Baechle Date: Tue Dec 12 17:14:57 2006 +0000 [PATCH] Optimize D-cache alias handling on fork Virtually index, physically tagged cache architectures can get away without cache flushing when forking. This patch adds a new cache flushing function flush_cache_dup_mm(struct mm_struct *) which for the moment I've implemented to do the same thing on all architectures except on MIPS where it's a no-op. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit bcd022801ee514e28c32837f0b3ce18c775f1a7b Author: Atsushi Nemoto Date: Tue Dec 12 17:14:56 2006 +0000 [PATCH] MIPS: Fix COW D-cache aliasing on fork Provide a custom copy_user_highpage() to deal with aliasing issues on MIPS. It uses kmap_coherent() to map an user page for kernel with same color. Rewrite copy_to_user_page() and copy_from_user_page() with the new interfaces to avoid extra cache flushing. The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 9de455b20705f36384a711d4a20bcf7ba1ab180b Author: Atsushi Nemoto Date: Tue Dec 12 17:14:55 2006 +0000 [PATCH] Pass vma argument to copy_user_highpage(). To allow a more effective copy_user_highpage() on certain architectures, a vma argument is added to the function and cow_user_page() allowing the implementation of these functions to check for the VM_EXEC bit. The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 77fff4ae2b7bba6d66a8287d9ab948e2b6c16145 Author: Atsushi Nemoto Date: Tue Dec 12 17:14:54 2006 +0000 [PATCH] Fix COW D-cache aliasing on fork Problem: 1. There is a process containing two thread (T1 and T2). The thread T1 calls fork(). Then dup_mmap() function called on T1 context. static inline int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) ... flush_cache_mm(current->mm); ... /* A */ (write-protect all Copy-On-Write pages) ... /* B */ flush_tlb_mm(current->mm); ... 2. When preemption happens between A and B (or on SMP kernel), the thread T2 can run and modify data on COW pages without page fault (modified data will stay in cache). 3. Some time after fork() completed, the thread T2 may cause a page fault by write-protect on a COW page. 4. Then data of the COW page will be copied to newly allocated physical page (copy_cow_page()). It reads data via kernel mapping. The kernel mapping can have different 'color' with user space mapping of the thread T2 (dcache aliasing). Therefore copy_cow_page() will copy stale data. Then the modified data in cache will be lost. In order to allow architecture code to deal with this problem allow architecture code to override copy_user_highpage() by defining __HAVE_ARCH_COPY_USER_HIGHPAGE in . The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 1fb8cacc19dfe408a5dd758235561c58cadea174 Author: Russell King Date: Wed Dec 13 14:45:46 2006 +0000 [PATCH] Add support for Korenix 16C950-based PCI cards This adds initial support to 8250-pci for the Korenix Jetcard PCI serial cards. The JC12xx cards are standard RS232-based serial cards utilising the Oxford 16C950 device. The JC14xx are RS422/RS485-based cards, but in order for these to be supported natively, we will need additional tweaks to the 8250 layers so we can specify some values for the 950's registers. Hence, these two entries are commented out. Signed-off-by: Russell King Signed-off-by: Linus Torvalds commit 5cbded585d129d0226cb48ac4202b253c781be26 Author: Robert P. J. Day Date: Wed Dec 13 00:35:56 2006 -0800 [PATCH] getting rid of all casts of k[cmz]alloc() calls Run this: #!/bin/sh for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do echo "De-casting $f..." perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f done And then go through and reinstate those cases where code is casting pointers to non-pointers. And then drop a few hunks which conflicted with outstanding work. Cc: Russell King , Ian Molton Cc: Mikael Starvik Cc: Yoshinori Sato Cc: Roman Zippel Cc: Geert Uytterhoeven Cc: Ralf Baechle Cc: Paul Mackerras Cc: Kyle McMartin Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: "David S. Miller" Cc: Jeff Dike Cc: Greg KH Cc: Jens Axboe Cc: Paul Fulghum Cc: Alan Cox Cc: Karsten Keil Cc: Mauro Carvalho Chehab Cc: Jeff Garzik Cc: James Bottomley Cc: Ian Kent Cc: Steven French Cc: David Woodhouse Cc: Neil Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0743b86800cf1dfbf96df4a438938127bbe4476c Author: Helge Deller Date: Wed Dec 13 00:35:55 2006 -0800 [PATCH] sstfb: add sysfs interface Modify the sstfb (Voodoo1/2) driver: - fix a memleak when removing the sstfb module - fix sstfb to use the fbdev default videomode database - add module option "mode_option" to set initial screen mode - add sysfs-interface to turn VGA-passthrough on/off via /sys/class/graphics/fbX/vgapass - remove old debug functions from ioctl interface Signed-off-by: Helge Deller Acked-By: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3161986224a3faa8ccca3e665b7404d81e7ee3cf Author: Geert Uytterhoeven Date: Wed Dec 13 00:35:54 2006 -0800 [PATCH] fbdev: remove references to non-existent fbmon_valid_timings() Remove references to non-existent fbmon_valid_timings() Signed-off-by: Geert Uytterhoeven Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f13c152684a7f99ead26525270ed3e28a1d2467f Author: Sergei Shtylyov Date: Wed Dec 13 00:35:53 2006 -0800 [PATCH] HPT37x: read f_CNT saved by BIOS from port The undocumented register BIOS uses for saving f_CNT seems to only be mapped to I/O space while all the other HPT3xx regs are dual-mapped. Looks like another HighPoint's dirty trick. With this patch, the deadly kernel oops on the cards having the modern HighPoint BIOSes is now at last gone! Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26c068daf089aa21844236c97d05049b9497cc0a Author: Sergei Shtylyov Date: Wed Dec 13 00:35:52 2006 -0800 [PATCH] ide: HPT3xx: fix PCI clock detection Use the f_CNT value saved by the HighPoint BIOS if available as reading it directly would give us a wrong PCI frequency after DPLL has already been calibrated by BIOS. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d1dd93c462b52512685fe118159eafc7eb9f7e Author: Sergei Shtylyov Date: Wed Dec 13 00:35:51 2006 -0800 [PATCH] ide: fix the case of multiple HPT3xx chips present init_chipset_hpt366() modifies some fields of the ide_pci_device_t structure depending on the chip's revision, so pass it a copy of the structure to avoid issues when multiple different chips are present. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33b18a602525198ab8892789dab6839f325407f8 Author: Sergei Shtylyov Date: Wed Dec 13 00:35:50 2006 -0800 [PATCH] ide: fix HPT3xx hotswap support Fix the broken hotswap code: on HPT37x it caused RESET- to glitch when tristating the bus (the MISC control 3/6 and soft control 2 need to be written to in the certain order), and for HPT36x the obsolete HDIO_TRISTATE_HWIF ioctl() handler was called instead which treated the state argument wrong. Also, get rid of the soft control reg. 1 wtite to enable IDE interrupt -- this is done in init_hpt37x() already... Have been tested on HPT370 and 371N. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 471a0bda5a2de5b0fd3b58255791eb831517a52c Author: Sergei Shtylyov Date: Wed Dec 13 00:35:49 2006 -0800 [PATCH] ide: optimize HPT37x timing tables Save some space on the timing tables by introducing the separate transfer mode table in which the mode lookup is done to get the index into the timing table itself. Get rid of the rest of the obsolete/duplicate tables and use one set of tables for the whole HPT37x chip family like the HighPoint open-source drivers do. Documnent the different timing register layout for the HPT36x chip family (this is my guesswork based on the timing values). Have been tested and works fine on HPT370/302/371N. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9448732f6c9ef4932b226056338d1084f3669752 Author: Sergei Shtylyov Date: Wed Dec 13 00:35:49 2006 -0800 [PATCH] ide: fix HPT37x timing tables Fix/remove bad/unused timing tables: HPT370/A 66 MHz tables weren't really needed (the chips are not UltraATA/133 capable and shouldn't support 66 MHz PCI) and had many modes over- and underclocked, HPT372 33 MHz table was in fact for 66 MHz and 50 MHz table missed UltraDMA mode 6, HPT374 33 MHz table was really for 50 MHz... (Actually, HPT370/A 33 MHz tables also have issues. e.g. HPT370 has PIO modes 0/1 overlocked.) There's also no need in the separate HPT374 tables because HPT372 timings should be the same (and those tables has UltraDMA mode 6 which HPT374 supports depending on HPT374_ALLOW_ATA133_6 #define)... Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 836c0063c74cc088ffe370d007e1c6cac95e7caa Author: Sergei Shtylyov Date: Wed Dec 13 00:35:47 2006 -0800 [PATCH] ide: HPT3xxN clocking fixes Fix serious problems with the HPT372N clock turnaround code: - the wrong ports were written to when called for the secondary channel; - it didn't serialize access to the channels; - turnaround shou;dn't be done on 66 MHz PCI; - caching the clock mode per-channel caused it to get out of sync with the actual register value. Additionally, avoid calibrating PLL twice (for each channel) as the second try results in a wrong PCI frequency and thus in the wrong timings. Make the driver deal with HPT302N and HPT371N correctly -- the clocking and (seemingly) a need for clock tunaround is the same as for HPT372N. HPT371/N chips have only one, secondary channel, so avoid touching their "pure virtual" primary channel, and disable it if the BIOS haven't done this already. Also, while at it, disable UltraATA/133 for HPT372 by default -- 50 MHz DPLL clock don't allow for this speed anyway. And remove the traces of the former bad patch that wasn't even applicable to this version of driver. Has been tested on HPT370/371N, unfortunately I don't have an instant access to the other chips... Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd7175edf963a92b2c3cd491d3e34afd357e7284 Author: Eric Dumazet Date: Wed Dec 13 00:35:45 2006 -0800 [PATCH] Optimize calc_load() calc_load() is called by timer interrupt to update avenrun[]. It currently calls nr_active() at each timer tick (HZ per second), while the update of avenrun[] is done only once every 5 seconds. (LOAD_FREQ=5 Hz) nr_active() is quite expensive on SMP machines, since it has to sum up nr_running and nr_uninterruptible of all online CPUS, bringing foreign dirty cache lines. This patch is an optimization of calc_load() so that nr_active() is called only if we need it. The use of unlikely() is welcome since the condition is true only once every 5*HZ time. Signed-off-by: Eric Dumazet Cc: Ingo Molnar Acked-by: "Siddha, Suresh B" Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f988443a84528bd30c2f474efa5e2c511959f19b Author: NeilBrown Date: Wed Dec 13 00:35:45 2006 -0800 [PATCH] knfsd: Fix up some bit-rot in exp_export The nfsservctl system call isn't used but recent nfs-utils releases for exporting filesystems, and consequently the code that is uses - exp_export - has suffered some bitrot. Particular: - some newly added fields in 'struct svc_export' are being initialised properly. - the return value is now always -ENOMEM ... This patch fixes both these problems. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd08d6ea443abafe9455997d2889719364b8794b Author: NeilBrown Date: Wed Dec 13 00:35:44 2006 -0800 [PATCH] knfsd: Don't ignore kstrdup failure in rpc caches Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27d630ece08ae15e35d54201665c247a9fae584c Author: J.Bruce Fields Date: Wed Dec 13 00:35:43 2006 -0800 [PATCH] knfsd: nfsd4: simplify filehandle check Kill another big "if" clause. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eeac294ebd9254a937d90b00c48863e3af229047 Author: J.Bruce Fields Date: Wed Dec 13 00:35:39 2006 -0800 [PATCH] knfsd: nfsd4: simplify migration op check I'm not too fond of these big if conditions. Replace them by checks of a flag in the operation descriptor. To my eye this makes the code a bit more self-documenting, and makes the complicated part of the code (proc_compound) a little more compact. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b591480bbe1a7f0e90533bce8ea86efecc84648e Author: J.Bruce Fields Date: Wed Dec 13 00:35:38 2006 -0800 [PATCH] knfsd: nfsd4: reorganize compound ops Define an op descriptor struct, use it to simplify nfsd4_proc_compound(). Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c954e2a5d1c9662991a41282297ddebcadee0578 Author: J.Bruce Fields Date: Wed Dec 13 00:35:31 2006 -0800 [PATCH] knfsd: nfsd4: make verify and nverify wrappers Make wrappers for verify and nverify, for consistency with other ops. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7191155bd3abbbf62368a0528f7610741d007a58 Author: J.Bruce Fields Date: Wed Dec 13 00:35:29 2006 -0800 [PATCH] knfsd: nfsd4: don't inline nfsd4 compound op functions The inlining contributes to bloating the stack of nfsd4_compound, and I want to change the compound op functions to function pointers anyway. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4f1706a9bd94d0e33e853a7e9f40b2650d54fbf Author: J.Bruce Fields Date: Wed Dec 13 00:35:28 2006 -0800 [PATCH] knfsd: nfsd4: move replay_owner to cstate Tuck away the replay_owner in the cstate while we're at it. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9e626f1e23358487595c2d3901126d00f9de7e0 Author: J.Bruce Fields Date: Wed Dec 13 00:35:28 2006 -0800 [PATCH] knfsd: nfsd4: remove spurious replay_owner check OK, this is embarassing--I've even looked back at the history, and cannot for the life of me figure out why I added this check. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca3643171bc6e08b7c4d1f9a2ce659541a01a7fe Author: J.Bruce Fields Date: Wed Dec 13 00:35:27 2006 -0800 [PATCH] knfsd: nfsd4: pass saved and current fh together into nfsd4 operations Pass the saved and current filehandles together into all the nfsd4 compound operations. I want a unified interface to these operations so we can just call them by pointer and throw out the huge switch statement. Also I'll eventually want a structure like this--that holds the state used during compound processing--for deferral. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01f3bd1f03599470e4695392b6ae055ed8506978 Author: J.Bruce Fields Date: Wed Dec 13 00:35:26 2006 -0800 [PATCH] knfsd: svcrpc: remove another silent drop from deferral code There's no point deferring something just to immediately fail the deferral, especially now that we can do something more useful in the failure case by returning an error. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0bb89ef031f76dcb9c9d920d18b13948f1418da Author: J.Bruce Fields Date: Wed Dec 13 00:35:25 2006 -0800 [PATCH] knfsd: nfsd: don't drop silently on upcall deferral To avoid tying up server threads when nfsd makes an upcall (to mountd, to get export options, to idmapd, for nfsv4 name<->id mapping, etc.), we temporarily "drop" the request and save enough information so that we can revisit it later. Certain failures during the deferral process can cause us to really drop the request and never revisit it. This is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530 forbids the server from dropping a request without also closing the connection. As a first step, we modify the deferral code to return -ETIMEDOUT (which is translated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the v2 case). Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 021d3a72459191a76e8e482ee4937ba6bc9fd712 Author: J.Bruce Fields Date: Wed Dec 13 00:35:24 2006 -0800 [PATCH] knfsd: nfsd4: handling more nfsd_cross_mnt errors in nfsd4 readdir This patch on its own causes no change in behavior, since nfsd_cross_mnt() only returns -EAGAIN; but in the future I'd like it to also be able to return -ETIMEDOUT, so we may as well handle any possible error here. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6899320c2cefe5ae6b606f820ba8b762ba21f34a Author: J.Bruce Fields Date: Wed Dec 13 00:35:23 2006 -0800 [PATCH] knfsd: nfsd: simplify exp_pseudoroot Note there's no need for special handling of -EAGAIN here; nfserrno() does what we want already. So this is a pure cleanup with no change in functionality. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b41bd85d5f93af37c2730df172aeb54280be7c3 Author: J.Bruce Fields Date: Wed Dec 13 00:35:21 2006 -0800 [PATCH] knfsd: nfsd: make exp_rootfh handle exp_parent errors Since exp_parent can fail by returning an error (-EAGAIN) in addition to by returning NULL, we should check for that case in exp_rootfh. (TODO: we should check that userland handles these errors too.) Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e57101991156aaba97c630f38e880f0d4012edcd Author: J.Bruce Fields Date: Wed Dec 13 00:35:20 2006 -0800 [PATCH] knfsd: nfsd4: clarify units of COMPOUND_SLACK_SPACE A comment here incorrectly states that "slack_space" is measured in words, not bytes. Remove the comment, and adjust a variable name and a few comments to clarify the situation. This is pure cleanup; there should be no change in functionality. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b797b5beac966df5c5d96c0d39fe366f57135343 Author: J.Bruce Fields Date: Wed Dec 13 00:35:19 2006 -0800 [PATCH] knfsd: svcrpc: fix gss krb5i memory leak The memory leak here is embarassingly obvious. This fixes a problem that causes the kernel to leak a small amount of memory every time it receives a integrity-protected request. Thanks to Aim Le Rouzic for the bug report. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 451c11a161168fbdbba17573d4b062fdd2a4c2c4 Author: J.Bruce Fields Date: Wed Dec 13 00:35:18 2006 -0800 [PATCH] knfsd: nfsd4: remove a dprink from nfsd4_lock This dprintk is printing the wrong error now, but it's probably an unnecessary dprintk anyway; just remove it. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b21a323710e77a27b2f66af901bd3640c30aba6e Author: Adrian Bunk Date: Wed Dec 13 00:35:17 2006 -0800 [PATCH] remove the broken BLK_DEV_SWIM_IOP driver The BLK_DEV_SWIM_IOP driver has: - already been marked as BROKEN in 2.6.0 three years ago 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 Cc: Jens Axboe Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029530f810dd5147f7e59b939eb22cfbe0beea12 Author: Adrian Bunk Date: Wed Dec 13 00:35:16 2006 -0800 [PATCH] one more EXPORT_UNUSED_SYMBOL removal Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69688262fb94e92a32f188b79c02dc32016d4927 Author: Tigran Aivazian Date: Wed Dec 13 00:35:14 2006 -0800 [PATCH] update Tigran's email addresses As Adrian pointed out recently, there were still a couple of places where I should have fixed my email address. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1de241268d7b6bea05d64f9269bf9aa90be49ff1 Author: Eric W. Biederman Date: Wed Dec 13 00:35:13 2006 -0800 [PATCH] ncpfs: ensure we free wdog_pid on parse_option or fill_inode failure This took a little refactoring but now errors are handled cleanly. When this code used pid_t values this wasn't necessary because you can't leak a pid_t. Thanks to Peter Vandrovec for spotting this. Signed-off-by: Eric W. Biederman Cc: Peter Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2154227a2c6cf04e28576b59c684123eb0e81958 Author: Eric W. Biederman Date: Wed Dec 13 00:35:11 2006 -0800 [PATCH] ncpfs: Use struct pid to track the userspace watchdog process This patch converts the tracking of the user space watchdog process from using a pid_t to use struct pid. This makes us safe from pid wrap around issues and prepares the way for the pid namespace. Signed-off-by: Eric W. Biederman Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71113da44063b587b5a4c2fc94c948a14f2bb43 Author: Eric W. Biederman Date: Wed Dec 13 00:35:10 2006 -0800 [PATCH] smbfs: Make conn_pid a struct pid smbfs keeps track of the user space server process in conn_pid. This converts that track to use a struct pid instead of pid_t. This keeps us safe from pid wrap around issues and prepares the way for the pid namespace. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cec556a84be02bcd8755422eec61f1b9bee4e2f Author: Eric W. Biederman Date: Wed Dec 13 00:35:10 2006 -0800 [PATCH] n_r3964: Use struct pid to track user space clients Currently this driver tracks user space clients it should send signals to. In the presenct of file descriptor passing this is appears susceptible to confusion from pid wrap around issues. Replacing this with a struct pid prevents us from getting confused, and prepares for a pid namespace implementation. Signed-off-by: Eric W. Biederman Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3f13debd593dbd7242a4ecf6c9b4d529805e5a0 Author: Dan Carpenter Date: Wed Dec 13 00:35:09 2006 -0800 [PATCH] tty_io.c balance tty_ldisc_ref() tty_ldisc_deref() should only be called when tty_ldisc_ref() succeeds otherwise it triggers a BUG(). There's already a function tty_ldisc_flush() that flushes properly. Signed-off-by: Dan Carpenter Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2db8dfce8d94fecae50128d912fec7980687a51 Author: David Brownell Date: Wed Dec 13 00:35:08 2006 -0800 [PATCH] rtc framewok: rtc_wkalrm.enabled reporting updates Fix a glitch in the procfs dumping of whether the alarm IRQ is enabled: use the traditional name (from drivers/char/rtc.c and many other places) of "alarm_IRQ", not "alrm_wakeup" (which didn't even match the efirtc code, which originated that reporting API). Also, update a few of the RTC drivers to stop providing that duplicate status, and/or to expose it properly when reporting the alarm state. We really don't want every RTC driver doing their own thing here... Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a6534e4cf53e16a6ea92f033f89d6575b3d7422 Author: David Brownell Date: Wed Dec 13 00:35:06 2006 -0800 [PATCH] rtc: remove syslog spam on registration This removes some syslog spam as RTC drivers register; debug messages shouldn't come out at "info" level. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cef779ec3643e6c846f86a32d8c44daff16a336 Author: Jan Beulich Date: Wed Dec 13 00:35:05 2006 -0800 [PATCH] RTC driver init adjustment - conditionalizes procfs code upon CONFIG_PROC_FS (to reduce code size when that option is not enabled) - make initialization no longer fail when the procfs entry can't be allocated (namely would initialization always have failed when CONFIG_PROC_FS was not set) - move the formerly file-scope static variable rtc_int_handler_ptr into the only function using it, and makes it automatic. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3e92d355e1251fb6d1a15508f2a5448d2354727 Author: Jan Beulich Date: Wed Dec 13 00:35:04 2006 -0800 [PATCH] rtc: fx error case Ensure RTC driver doesn't use its timer when it doesn't get to set it up (as it cannot currently prevent other of its functions to be called from outside when not built as a module - probably this should also be addressed). Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8c5c045d790e7018c56f1a998a2d240b732ea3c Author: Al Viro Date: Wed Dec 13 00:35:03 2006 -0800 [PATCH] lockd endianness annotations Annotated, all places switched to keeping status net-endian. Signed-off-by: Al Viro Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 905f3ed62515f233fea09dc5ad68bbcff4903520 Author: Al Viro Date: Wed Dec 13 00:35:01 2006 -0800 [PATCH] hci endianness annotations Signed-off-by: Al Viro Acked-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db71b7f19c3ddc8897437e655130f9010f9a9b72 Author: Al Viro Date: Wed Dec 13 00:35:01 2006 -0800 [PATCH] missing includes in hilkbd Now that it's built on m68k too... Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee36c2bf8edb1c3e3855a928b348d29c6359093d Author: Al Viro Date: Wed Dec 13 00:35:00 2006 -0800 [PATCH] uml problems with linux/io.h Remove useless includes of linux/io.h, don't even try to build iomap_copy on uml (it doesn't have readb() et.al., so...) Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62fb2ba3d870305e246c6cb317609c1dc2c9dd0b Author: Al Viro Date: Wed Dec 13 00:34:59 2006 -0800 [PATCH] appldata_mem dependes on vm counters Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b4709a6cd0578d129d032a5dec9dc2684b71b3a Author: Al Viro Date: Wed Dec 13 00:34:58 2006 -0800 [PATCH] CONFIG_COMPUTONE should depend on ISA|EISA|PCI Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34f8f0a5e953d3e40c4419e5e5c4b6fd14f7ebf2 Author: Ralf Baechle Date: Wed Dec 13 00:34:57 2006 -0800 [PATCH] tty: remove useless memory barrier I don't see why there is a memory barrier in copy_from_read_buf() at all. Even if it was useful spin_unlock_irqrestore implies a barrier. Signed-off-by: Ralf Baechle Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd86128088554d64fea1679191509f00e6353c5b Author: Robert P. J. Day Date: Wed Dec 13 00:34:52 2006 -0800 [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() All kcalloc() calls of the form "kcalloc(1,...)" are converted to the equivalent kzalloc() calls, and a few kcalloc() calls with the incorrect ordering of the first two arguments are fixed. Signed-off-by: Robert P. J. Day Cc: Jeff Garzik Cc: Alan Cox Cc: Dominik Brodowski Cc: Adam Belay Cc: James Bottomley Cc: Greg KH Cc: Mark Fasheh Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90aef12e6dd609e1ad7fb70044eedc78ca55ee5e Author: Jeremy Fitzhardinge Date: Wed Dec 13 00:34:49 2006 -0800 [PATCH] Use activate_mm() in fs/aio.c:use_mm() activate_mm() is not the right thing to be using in use_mm(). It should be switch_mm(). On normal x86, they're synonymous, but for the Xen patches I'm adding a hook which assumes that activate_mm is only used the first time a new mm is used after creation (I have another hook for dealing with dup_mm). I think this use of activate_mm() is the only place where it could be used a second time on an mm. >From a quick look at the other architectures I think this is OK (most simply implement one in terms of the other), but some are doing some subtly different stuff between the two. Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74c383f1400f559562aa517d6d62f77245bddf52 Author: Ingo Molnar Date: Wed Dec 13 00:34:43 2006 -0800 [PATCH] lockdep: fix possible races while disabling lock-debugging Jarek Poplawski noticed that lockdep global state could be accessed in a racy way if one CPU did a lockdep assert (shutting lockdep down), while the other CPU would try to do something that changes its global state. This patch fixes those races and cleans up lockdep's internal locking by adding a graph_lock()/graph_unlock()/debug_locks_off_graph_unlock helpers. (Also note that as we all know the Linux kernel is, by definition, bug-free and perfect, so this code never triggers, so these fixes are highly theoretical. I wrote this patch for aesthetic reasons alone.) [akpm@osdl.org: build fix] [jarkao2@o2.pl: build fix's refix] Signed-off-by: Ingo Molnar Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3117df0453828bd045c16244e6f50e5714667a8a Author: Ingo Molnar Date: Wed Dec 13 00:34:43 2006 -0800 [PATCH] lockdep: print irq-trace info on asserts When we print an assert due to scheduling-in-atomic bugs, and if lockdep is enabled, then the IRQ tracing information of lockdep can be printed to pinpoint the code location that disabled interrupts. This saved me quite a bit of debugging time in cases where the backtrace did not identify the irq-disabling site well enough. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27c3b23226fc649de47e4886ccbf994482f388ba Author: Ingo Molnar Date: Wed Dec 13 00:34:42 2006 -0800 [PATCH] lockdep: use chain hash on CONFIG_DEBUG_LOCKDEP too CONFIG_DEBUG_LOCKDEP is unacceptably slow because it does not utilize the chain-hash. Turn the chain-hash back on in this case too. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e94e960b57497fe7fd9493080210b6d87e88e6 Author: Ingo Molnar Date: Wed Dec 13 00:34:41 2006 -0800 [PATCH] lockdep: clean up VERY_VERBOSE define Cleanup: the VERY_VERBOSE define was unnecessarily dependent on #ifdef VERBOSE - while the VERBOSE switch is 0 or 1 (always defined). Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d95a03d63eff25118b50737006ce6e7c1b8def Author: Ingo Molnar Date: Wed Dec 13 00:34:40 2006 -0800 [PATCH] lockdep: improve lockdep_reset() Clear all the chains during lockdep_reset(). This fixes some locking-selftest false positives i saw on -rt. (never saw those on mainline though, but it could happen.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fc685a898f84d0787eeebb1c118de0bd3484a0 Author: Ingo Molnar Date: Wed Dec 13 00:34:40 2006 -0800 [PATCH] lockdep: improve verbose messages Make verbose lockdep messages (off by default) more informative by printing out the hash chain key. (this patch was what helped me catch the earlier lockdep hash-collision bug) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a664089741aa9010333ecbdadbf5d9de62bafa2d Author: Ingo Molnar Date: Wed Dec 13 00:34:39 2006 -0800 [PATCH] lockdep: filter off by default Fix typo in the class_filter() function. (filtering is not used by default so this only affects lockdep-internal debugging cases) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d6f647fc6bb57377c9f417c4752e43189f56bb1 Author: Ingo Molnar Date: Wed Dec 13 00:34:36 2006 -0800 [PATCH] debug: add sysrq_always_enabled boot option Most distributions enable sysrq support but set it to 0 by default. Add a sysrq_always_enabled boot option to always-enable sysrq keys. Useful for debugging - without having to modify the disribution's config files (which might not be possible if the kernel is on a live CD, etc.). Also, while at it, clean up the sysrq interfaces. [bunk@stusta.de: make sysrq_always_enabled_setup() static] Signed-off-by: Ingo Molnar Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e61c90188b9956edae1105eef361d8981a352fcd Author: Chen, Kenneth W Date: Wed Dec 13 00:34:36 2006 -0800 [PATCH] optimize o_direct on block devices Implement block device specific .direct_IO method instead of going through generic direct_io_worker for block device. direct_io_worker() is fairly complex because it needs to handle O_DIRECT on file system, where it needs to perform block allocation, hole detection, extents file on write, and tons of other corner cases. The end result is that it takes tons of CPU time to submit an I/O. For block device, the block allocation is much simpler and a tight triple loop can be written to iterate each iovec and each page within the iovec in order to construct/prepare bio structure and then subsequently submit it to the block layer. This significantly speeds up O_D on block device. [akpm@osdl.org: small speedup] Signed-off-by: Ken Chen Cc: Christoph Hellwig Cc: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e913c53609d5e8374f55d6f29c0bcd6650a2362 Author: Mark Fasheh Date: Wed Dec 13 00:34:35 2006 -0800 [PATCH] ocfs2: relative atime support Update ocfs2_should_update_atime() to understand the MNT_RELATIME flag and to test against mtime / ctime accordingly. [akpm@osdl.org: cleanups] Signed-off-by: Mark Fasheh Cc: Valerie Henson Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47ae32d6a54955a041cdc30b06d0bb16e75f68d5 Author: Valerie Henson Date: Wed Dec 13 00:34:34 2006 -0800 [PATCH] relative atime Add "relatime" (relative atime) support. Relative atime only updates the atime if the previous atime is older than the mtime or ctime. Like noatime, but useful for applications like mutt that need to know when a file has been read since it was last modified. A corresponding patch against mount(8) is available at http://userweb.kernel.org/~akpm/mount-relative-atime.txt Signed-off-by: Valerie Henson Cc: Mark Fasheh Cc: Al Viro Cc: Christoph Hellwig Cc: Karel Zak Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b227613841d4d211a10c5860acc73e133b613bc0 Author: Andrew Morton Date: Wed Dec 13 00:34:33 2006 -0800 [PATCH] touch_atime() cleanup Simplify touch_atime() layout. Cc: Valerie Henson Cc: Mark Fasheh Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0350bd0c9b59957760e67516973db35bafa050 Author: Chris Zankel Date: Wed Dec 13 00:34:32 2006 -0800 [PATCH] Xtensa: Add ktermios and minor filename fix The kernel termios (ktermios) changes were somehow missed for Xtensa. This patch adds the ktermios structure and also includes some minor file name fix that was missed in the syscall patch. Signed-off-by: Chris Zankel Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a102eed9c4e1d21bad07a8fd97bd4fbf125d966 Author: Rafael J. Wysocki Date: Wed Dec 13 00:34:30 2006 -0800 [PATCH] PM: Fix SMP races in the freezer Currently, to tell a task that it should go to the refrigerator, we set the PF_FREEZE flag for it and send a fake signal to it. Unfortunately there are two SMP-related problems with this approach. First, a task running on another CPU may be updating its flags while the freezer attempts to set PF_FREEZE for it and this may leave the task's flags in an inconsistent state. Second, there is a potential race between freeze_process() and refrigerator() in which freeze_process() running on one CPU is reading a task's PF_FREEZE flag while refrigerator() running on another CPU has just set PF_FROZEN for the same task and attempts to reset PF_FREEZE for it. If the refrigerator wins the race, freeze_process() will state that PF_FREEZE hasn't been set for the task and will set it unnecessarily, so the task will go to the refrigerator once again after it's been thawed. To solve first of these problems we need to stop using PF_FREEZE to tell tasks that they should go to the refrigerator. Instead, we can introduce a special TIF_*** flag and use it for this purpose, since it is allowed to change the other tasks' TIF_*** flags and there are special calls for it. To avoid the freeze_process()-refrigerator() race we can make freeze_process() to always check the task's PF_FROZEN flag after it's read its "freeze" flag. We should also make sure that refrigerator() will always reset the task's "freeze" flag after it's set PF_FROZEN for it. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Russell King Cc: David Howells Cc: Andi Kleen Cc: "Luck, Tony" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3df494a32b936aef76d893f5065f962ebd9b9437 Author: Rafael J. Wysocki Date: Wed Dec 13 00:34:28 2006 -0800 [PATCH] PM: Fix freezing of stopped tasks Currently, if a task is stopped (ie. it's in the TASK_STOPPED state), it is considered by the freezer as unfreezeable. However, there may be a race between the freezer and the delivery of the continuation signal to the task resulting in the task running after we have finished freezing the other tasks. This, in turn, may lead to undesirable effects up to and including data corruption. To prevent this from happening we first need to make the freezer consider stopped tasks as freezeable. For this purpose we need to make freezeable() stop returning 0 for these tasks and we need to force them to enter the refrigerator. However, if there's no continuation signal in the meantime, the stopped tasks should remain stopped after all processes have been thawed, so we need to send an additional SIGSTOP to each of them before waking it up. Also, a stopped task that has just been woken up should first check if there's a freezing request for it and go to the refrigerator if that's the case. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a2d7a955d8de6cb19ed9cd194b3c83008a22c32 Author: Eric Dumazet Date: Wed Dec 13 00:34:27 2006 -0800 [PATCH] SLAB: use a multiply instead of a divide in obj_to_index() When some objects are allocated by one CPU but freed by another CPU we can consume lot of cycles doing divides in obj_to_index(). (Typical load on a dual processor machine where network interrupts are handled by one particular CPU (allocating skbufs), and the other CPU is running the application (consuming and freeing skbufs)) Here on one production server (dual-core AMD Opteron 285), I noticed this divide took 1.20 % of CPU_CLK_UNHALTED events in kernel. But Opteron are quite modern cpus and the divide is much more expensive on oldest architectures : On a 200 MHz sparcv9 machine, the division takes 64 cycles instead of 1 cycle for a multiply. Doing some math, we can use a reciprocal multiplication instead of a divide. If we want to compute V = (A / B) (A and B being u32 quantities) we can instead use : V = ((u64)A * RECIPROCAL(B)) >> 32 ; where RECIPROCAL(B) is precalculated to ((1LL << 32) + (B - 1)) / B Note : I wrote pure C code for clarity. gcc output for i386 is not optimal but acceptable : mull 0x14(%ebx) mov %edx,%eax // part of the >> 32 xor %edx,%edx // useless mov %eax,(%esp) // could be avoided mov %edx,0x4(%esp) // useless mov (%esp),%ebx [akpm@osdl.org: small cleanups] Signed-off-by: Eric Dumazet Cc: Christoph Lameter Cc: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a0e53d8227aff5e62e0433f82c12c1c2805fd6 Author: Paul Jackson Date: Wed Dec 13 00:34:25 2006 -0800 [PATCH] cpuset: rework cpuset_zone_allowed api Elaborate the API for calling cpuset_zone_allowed(), so that users have to explicitly choose between the two variants: cpuset_zone_allowed_hardwall() cpuset_zone_allowed_softwall() Until now, whether or not you got the hardwall flavor depended solely on whether or not you or'd in the __GFP_HARDWALL gfp flag to the gfp_mask argument. If you didn't specify __GFP_HARDWALL, you implicitly got the softwall version. Unfortunately, this meant that users would end up with the softwall version without thinking about it. Since only the softwall version might sleep, this led to bugs with possible sleeping in interrupt context on more than one occassion. The hardwall version requires that the current tasks mems_allowed allows the node of the specified zone (or that you're in interrupt or that __GFP_THISNODE is set or that you're on a one cpuset system.) The softwall version, depending on the gfp_mask, might allow a node if it was allowed in the nearest enclusing cpuset marked mem_exclusive (which requires taking the cpuset lock 'callback_mutex' to evaluate.) This patch removes the cpuset_zone_allowed() call, and forces the caller to explicitly choose between the hardwall and the softwall case. If the caller wants the gfp_mask to determine this choice, they should (1) be sure they can sleep or that __GFP_HARDWALL is set, and (2) invoke the cpuset_zone_allowed_softwall() routine. This adds another 100 or 200 bytes to the kernel text space, due to the few lines of nearly duplicate code at the top of both cpuset_zone_allowed_* routines. It should save a few instructions executed for the calls that turned into calls of cpuset_zone_allowed_hardwall, thanks to not having to set (before the call) then check (within the call) the __GFP_HARDWALL flag. For the most critical call, from get_page_from_freelist(), the same instructions are executed as before -- the old cpuset_zone_allowed() routine it used to call is the same code as the cpuset_zone_allowed_softwall() routine that it calls now. Not a perfect win, but seems worth it, to reduce this chance of hitting a sleeping with irq off complaint again. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55935a34a428a1497e3b37982e2782c09c6f914d Author: Christoph Lameter Date: Wed Dec 13 00:34:24 2006 -0800 [PATCH] More slab.h cleanups More cleanups for slab.h 1. Remove tabs from weird locations as suggested by Pekka 2. Drop the check for NUMA and SLAB_DEBUG from the fallback section as suggested by Pekka. 3. Uses static inline for the fallback defs as also suggested by Pekka. 4. Make kmem_ptr_valid take a const * argument. 5. Separate the NUMA fallback definitions from the kmalloc_track fallback definitions. Signed-off-by: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e892f43ccb602e8ffad73396a1000f2040c9e0b Author: Christoph Lameter Date: Wed Dec 13 00:34:23 2006 -0800 [PATCH] Cleanup slab headers / API to allow easy addition of new slab allocators This is a response to an earlier discussion on linux-mm about splitting slab.h components per allocator. Patch is against 2.6.19-git11. See http://marc.theaimsgroup.com/?l=linux-mm&m=116469577431008&w=2 This patch cleans up the slab header definitions. We define the common functions of slob and slab in slab.h and put the extra definitions needed for slab's kmalloc implementations in . In order to get a greater set of common functions we add several empty functions to slob.c and also rename slob's kmalloc to __kmalloc. Slob does not need any special definitions since we introduce a fallback case. If there is no need for a slab implementation to provide its own kmalloc mess^H^H^Hacros then we simply fall back to __kmalloc functions. That is sufficient for SLOB. Sort the function in slab.h according to their functionality. First the functions operating on struct kmem_cache * then the kmalloc related functions followed by special debug and fallback definitions. Also redo a lot of comments. Signed-off-by: Christoph Lameter ? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 872225ca77519a243d7e19270b062b0ac53418d8 Author: Mike Miller Date: Wed Dec 13 00:34:22 2006 -0800 [PATCH] cciss: remove calls to pci_disable_device Remove calls to pci_disable_device except in fail_all_cmds. The pci_disable_device function does something nasty to Smart Array controllers that pci_enable_device does not undo. So if the driver is unloaded it cannot be reloaded. Also, customers can disable any pci device via the ROM Based Setup Utility (RBSU). If the customer has disabled the controller we should not try to blindly enable the card from the driver. Please consider this for inclusion. Signed-off-by: Mike Miller Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5b92873a87cc579f6399693e2c9ae6b43932ddf Author: Mike Miller Date: Wed Dec 13 00:34:21 2006 -0800 [PATCH] cciss: map out more memory for config table Map out more memory for our config table. It's required to reach offset 0x214 to disable DMA on the P600. I'm not sure how I lost this hunk. Please consider this for inclusion. Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3468a33e98524a7661a158251b10cea7c9fafece Author: Jiri Slaby Date: Wed Dec 13 00:34:20 2006 -0800 [PATCH] sx: fix non-PCI build When CONFIG_PCI is not defined (i.e. PCI bus is disabled), the sx driver fails to link, since some pci functions are not available. Fix this behaviour to be able to compile this driver on machines with no PCI bus (but with ISA bus support). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb0c9295b81f5c7f51058aabfadd13d8e70b48f4 Author: Jiri Slaby Date: Wed Dec 13 00:34:19 2006 -0800 [PATCH] mxser_new: fix non-PCI build When CONFIG_PCI is not defined (i.e. PCI bus is disabled), the mxser_new driver fails to link, since some pci functions are not available. Fix this behaviour to be able to compile this driver on machines with no PCI bus (but with ISA bus support). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3808ac156f503dd2a00a059d9ff4677ce75244f Author: Randy Dunlap Date: Wed Dec 13 00:34:18 2006 -0800 [PATCH] isicom: fix build with PCI disabled With CONFIG_PCI=n: drivers/char/isicom.c: In function 'isicom_probe': drivers/char/isicom.c:1793: warning: implicit declaration of function 'pci_request_region' drivers/char/isicom.c:1827: warning: implicit declaration of function 'pci_release_region' Let's CONFIG_ISI depend on CONFIG_PCI. Signed-off-by: Randy Dunlap Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89040b21e7e2205985feb77f9a83138ab9cb0dfd Author: Evgeniy Polyakov Date: Wed Dec 13 00:34:16 2006 -0800 [PATCH] w1: Fix for kconfig entry typo Based on patch from Alexander Rigbo Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfdc0c280a497575670e87efa89e78a88438483b Author: Avi Kivity Date: Wed Dec 13 00:34:16 2006 -0800 [PATCH] KVM: Fix vmx hardware_enable() on macbooks It seems macbooks set bit 2 but not bit 0, which is an "enabled but vmxon will fault" setting. Signed-off-by: Avi Kivity Tested-by: Alex Larsson (sometimes testing helps) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b99ab242145c99ec8781dc267ec100e7f23ef9d Author: Michael Riepe Date: Wed Dec 13 00:34:15 2006 -0800 [PATCH] KVM: Don't touch the virtual apic vt registers on 32-bit Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 873a7c423bf8f12bff48a4b8963b32be568b4fcf Author: Avi Kivity Date: Wed Dec 13 00:34:14 2006 -0800 [PATCH] KVM: Disallow the kvm-amd module on intel hardware, and vice versa They're not on speaking terms. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 802ba064c49f655d20fed563f2a4924c8256ea10 Author: NeilBrown Date: Wed Dec 13 00:34:13 2006 -0800 [PATCH] md: Don't assume that READ==0 and WRITE==1 - use the names explicitly Thanks Jens for alerting me to this. Cc: Jens Axboe Cc: Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 011e3a9ad4891ba1b27e281e085228189c56b137 Author: Jeff Dike Date: Wed Dec 13 00:34:12 2006 -0800 [PATCH] Fix crossbuilding checkstack The previous checkstack fix for UML, which needs to use the host's tools, was wrong in the crossbuilding case. It would use the build host's, rather than the target's, toolchain. This patch removes the old fix and adds an explicit special case for UML, leaving everyone else alone. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd47ea755693228bf842c779e8afdfa47efb20a3 Author: Christoph Lameter Date: Wed Dec 13 00:34:11 2006 -0800 [PATCH] slab: fix sleeping in atomic bug Fallback_alloc() does not do the check for GFP_WAIT as done in cache_grow(). Thus interrupts are disabled when we call kmem_getpages() which results in the failure. Duplicate the handling of GFP_WAIT in cache_grow(). Signed-off-by: Christoph Lameter Cc: Jay Cliburn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a8ba9d12150461acc91bd3c9124eac19e853218 Author: Eric Dumazet Date: Wed Dec 13 00:34:10 2006 -0800 [PATCH] reorder struct pipe_buf_operations Fields of struct pipe_buf_operations have not a precise layout (ie not optimized to fit cache lines nor reduce cache line ping pongs) The bufs[] array is *large* and is placed near the beginning of the structure, so all following fields have a large offset. This is unfortunate because many archs have smaller instructions when using small offsets relative to a base register. On x86 for example, 7 bits offsets have smaller instruction lengths. Moving bufs[] at the end of pipe_buf_operations permits all fields to have small offsets, and reduce text size, and icache pressure. # size vmlinux.pre vmlinux text data bss dec hex filename 3268989 664356 492196 4425541 438745 vmlinux.pre 3268765 664356 492196 4425317 438665 vmlinux So this patch reduces text size by 224 bytes on my x86_64 machine. Similar results on ia32. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a0c502c94af0491ab454ad6d216c7a6fda8362b Author: Karsten Wiese Date: Wed Dec 13 00:34:09 2006 -0800 [PATCH] kconfig: set gconf's save-widget's sensitivity according to .config's changed state Clean up a little. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b354c557c7a6fcac099b3a20b308853fe596183 Author: Karsten Wiese Date: Wed Dec 13 00:34:08 2006 -0800 [PATCH] kconfig: add "void conf_set_changed_callback(void (*fn)(void))", use it in qconf.cc Added function sets "void (*conf_changed_callback)(void)". Call it, if .config's changed state changes. Use above in qconf.cc to set gui's save-widget's sensitvity. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc10001b11e51b59ac901d17c5f05361bd2351d Author: Karsten Wiese Date: Wed Dec 13 00:34:07 2006 -0800 [PATCH] kconfig: make sym_change_count static, let it be altered by 2 functions only Those two functions are void sym_set_change_count(int count) and void sym_add_change_count(int count) All write accesses to sym_change_count are replaced by calls to above functions. Variable and changer-functions are moved to confdata.c. IMO thats ok, as sym_change_count is an attribute of the .config's change state. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b321429325e4c911c379a5bf4156c9fc9713e425 Author: Karsten Wiese Date: Wed Dec 13 00:34:06 2006 -0800 [PATCH] kconfig: new function "bool conf_get_changed(void)" Run "make xconfig" on a freshly untarred kernel-tree. Look at the floppy disk icon of the qt application, that has just started: Its in a normal, active state. Mouse click on it: .config is being saved. This patch series changes things so taht after the mouse click on the floppy disk icon, the icon is greyed out. If you mouse click on it now, nothing happens. If you change some CONFIG_*, the floppy disk icon returns to "active state", that is, if you mouse click it now, .config is written. This patch: Returns sym_change_count to reflect the .config's change state. All read only accesses of sym_change_count are replaced by calls to conf_get_changed() . mconfig.c is manipulated to ask for saving only when conf_get_changed() returned true. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dfcaf16135150d0f025047a7525664a41bb2adf Author: Eric W. Biederman Date: Wed Dec 13 00:34:05 2006 -0800 [PATCH] vt: fix comments to not refer to kill_proc The code has been fixed to use kill_pid instead of kill_proc fix the comments as well. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f8442edfb214908e9c6ca1142bf882c9bc364e5 Author: Eric W. Biederman Date: Wed Dec 13 00:34:04 2006 -0800 [PATCH] Revert "[PATCH] identifier to nsproxy" This reverts commit 373beb35cd6b625e0ba4ad98baace12310a26aa8. No one is using this identifier yet. The purpose of this identifier is to export nsproxy to user space which is wrong. nsproxy is an internal implementation optimization, which should keep our fork times from getting slower as we increase the number of global namespaces you don't have to share. Adding a global identifier like this is inappropriate because it makes namespaces inherently non-recursive, greatly limiting what we can do with them in the future. Signed-off-by: Eric W. Biederman Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c3cca941b64a938eaa9734585a93547c6be323 Author: Eric Dumazet Date: Wed Dec 13 00:34:04 2006 -0800 [PATCH] constify pipe_buf_operations - pipe/splice should use const pipe_buf_operations and file_operations - struct pipe_inode_info has an unused field "start" : get rid of it. Signed-off-by: Eric Dumazet Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 426d62e2158c2fd3aa1ed1fd62122afd2ccb89ae Author: Avi Kivity Date: Wed Dec 13 00:34:03 2006 -0800 [PATCH] KVM: Add MAINTAINERS entry Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c7bb723b4e36dbd4b144176116d126104dc65e0 Author: Avi Kivity Date: Wed Dec 13 00:34:02 2006 -0800 [PATCH] KVM: MMU: Ignore pcd, pwt, and pat bits on ptes The pcd, pwt, and pat bits on page table entries affect the cpu cache. Since the cache is a host resource, the guest should not be able to control it. Moreover, the meaning of these bits changes depending on whether pat is enabled or not. So, force these bits to zero on shadow page table entries at all times. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0770b19b94ed8fc97e1fcac91c320ec738919628 Author: Avi Kivity Date: Wed Dec 13 00:34:01 2006 -0800 [PATCH] KVM: Remove extranous put_cpu() from vcpu_put() The arch splitting patchset left an extra put_cpu() in core code, where it can cause trouble for CONFIG_PREEMPT kernels. Reported-by: Huihong Luo Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7725f0badd6682e5bcc06f38eedf0123712a3f60 Author: Avi Kivity Date: Wed Dec 13 00:34:01 2006 -0800 [PATCH] KVM: Move find_vmx_entry() to vmx.c Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7fbf1fdf0d79241f5cc95310b96f0c52452ab39 Author: Uri Lublin Date: Wed Dec 13 00:34:00 2006 -0800 [PATCH] KVM: Make the GET_SREGS and SET_SREGS ioctls symmetric This makes the SET_SREGS ioctl behave symmetrically to the GET_SREGS ioctl wrt the segment access rights flag. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acd19499e9724615d720b29c74be6b218ce765c6 Author: Randy Dunlap Date: Wed Dec 13 00:33:57 2006 -0800 [PATCH] Fix section mismatch in parainstructions Section .parainstructions should not warn about section mismatches. WARNING: drivers/net/hamradio/scc.o - Section mismatch: reference to .exit.text: from .parainstructions after '' (at offset 0x0) WARNING: drivers/net/hamradio/scc.o - Section mismatch: reference to .exit.text: from .parainstructions after '' (at offset 0x8) Signed-off-by: Randy Dunlap Cc: Andi Kleen Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d78437245aa3842e8eeaef2709753ac485465652 Author: Ralf Baechle Date: Wed Dec 13 00:33:53 2006 -0800 [PATCH] i2o_exec_exit and i2o_driver_exit should not be __exit. i2o_exec_exit and i2o_driver_exit were marked as __exit which is a bug because both are invoked from __init and __exit functions. Signed-off-by: Ralf Baechle Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39f07223d400330b9e08aae4c77a391f2418023e Author: Tilman Schmidt Date: Wed Dec 13 00:33:52 2006 -0800 [PATCH] isdn/gigaset: fix possible missing wakeup Eliminate some possibilities for user processes writing to the Gigaset character device to be left sleeping indefinitely, by adding wakeup calls to error paths and properly disposing of pending write requests when the device is disconnected. It also removes unnecessary NULL checks before usb_free_urb() and usb_kill_urb() calls. Signed-off-by: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eff3b634d9a0cccb6ca8b431819fa415f10804dc Author: Peter Zijlstra Date: Wed Dec 13 00:33:50 2006 -0800 [PATCH] uml: fix net_kern workqueue abuse Fix up the work on stack and exit scope trouble by placing the work_struct in the uml_net_private data. Signed-off-by: Peter Zijlstra Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffd22b8e08fb86692d316cdcc1a4da4d10a016c5 Author: David Brownell Date: Wed Dec 13 00:33:49 2006 -0800 [PATCH] another build fix, header rearrangements (OSK) Some of the header file rearrangements broke the build for board-osk. Signed-off-by: David Brownell Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c1bc04e793a7ff4004180aa42890c3d382ec87f Author: David Brownell Date: Wed Dec 13 00:33:46 2006 -0800 [PATCH] fix more workqueue build breakage (tps65010) More fixes to build breakage from the work_struct changes ... this updates the tps65010 driver. Plus, fix some dependencies related to the way it's used on the OMAP OSK: force static linking there, since the resulting kernel can't link. NOTE that until the i2c core gets fixed to work without SMBUS_QUICK, kernels needing this driver must still use "tps65010.force=0,0x48" on the command line. Signed-off-by: David Brownell Cc: Jean Delvare Cc: Russell King Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05b3e0c2c791a70bf0735aaec53cdf6d340eef85 Author: Avi Kivity Date: Wed Dec 13 00:33:45 2006 -0800 [PATCH] KVM: Replace __x86_64__ with CONFIG_X86_64 As per akpm's request. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aff458e9c90df55d6badabd89a1a063a80d9768 Author: Avi Kivity Date: Wed Dec 13 00:33:45 2006 -0800 [PATCH] KVM: Clean up AMD SVM debug registers load and unload By letting gcc choose the temporary register for us, we lose arch dependency and some ugliness. Conceivably gcc will also generate marginally better code. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd24dc4af6387d820159e3affdfb1e9d3bdce1f8 Author: Avi Kivity Date: Wed Dec 13 00:33:44 2006 -0800 [PATCH] KVM: Put KVM in a new Virtualization menu Instead of in the main drivers menu. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b3be0d1cc8a56468e0cb35ab3895f265d8e5cc6 Author: Anthony Liguori Date: Wed Dec 13 00:33:43 2006 -0800 [PATCH] KVM: Add missing include load_TR_desc() lives in asm/desc.h, so #include that file. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a311f74329ee15cfae9576a45feefc1e935ca0c5 Author: Heiko Carstens Date: Wed Dec 13 00:33:41 2006 -0800 [PATCH] tty: export get_current_tty 24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517 causes this: WARNING: "get_current_tty" [drivers/s390/char/fs3270.ko] undefined! Cc: Martin Schwidefsky Acked-by: Peter Zijlstra Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24d34dc56449a322d8140d497440d3c1bea49618 Author: Andrew Morton Date: Wed Dec 13 00:33:40 2006 -0800 [PATCH] arch/i386/kernel/smpboot.c: remove unneeded ifdef #ifdef CONFIG_SMP in a file which isn't compiled in non-SMP kernels. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 386b0ce25ae16eb1d25db6a004c959e3a9003ce3 Author: Russell King Date: Wed Dec 13 14:48:36 2006 +0000 [ARM] Remove empty fixup function Empty fixup functions are just a waste of code, and are not necessary. Remote them. Signed-off-by: Russell King commit 2fc2c60df3d2b3a557eb8d750779def9d51934b1 Author: Jens Axboe Date: Wed Dec 13 15:44:27 2006 +0100 [PATCH] Fixup cciss error handling The previous cciss commit removed the err_out_disable_pdev label, but there was still a user of that. Fix that up. Signed-off-by: Jens Axboe commit c2dade510128fc6ac73eeb322742f4e90f600837 Author: Sascha Hauer Date: Tue Dec 12 10:32:42 2006 +0100 [ARM] 4014/1: include drivers/hid/Kconfig HID drivers are in their own directory now, so we have to include the Kconfig file for arm. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 1a815aed1e03c73fcd0390109c7da9c69dc97490 Author: Sascha Hauer Date: Tue Dec 12 09:23:45 2006 +0100 [ARM] 4013/1: clocksource driver for netx Add a clocksource driver for netx systems Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit c80204e5d67d1452ac0b761d980f1651dc2c66dc Author: Sascha Hauer Date: Tue Dec 12 09:21:50 2006 +0100 [ARM] 4012/1: Clocksource for pxa Add a clocksource driver for pxa2xx systems Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit da2c12a279ae225f3d4696f76cb3b32a5bec5bfb Author: Russell King Date: Wed Dec 13 14:35:58 2006 +0000 [ARM] Clean up ioremap code Since we're keeping the ioremap code, we might as well keep it as close to the standard kernel as possible. Signed-off-by: Russell King commit ad1ae2fe7fe68414ef29eab3c87b48841f8b72f2 Author: Russell King Date: Wed Dec 13 14:34:43 2006 +0000 [ARM] Unuse another Linux PTE bit L_PTE_ASID is not really required to be stored in every PTE, since we can identify it via the address passed to set_pte_at(). So, create set_pte_ext() which takes the address of the PTE to set, the Linux PTE value, and the additional CPU PTE bits which aren't encoded in the Linux PTE value. Signed-off-by: Russell King commit c65fb61b3c92ad8f99f16c7a2c11247bfaf0a1da Author: Jens Axboe Date: Wed Dec 13 13:25:18 2006 +0100 [PATCH] Allow as-iosched to be unloaded We implemented the missing bits to allow this some time ago, and they are integrated in AS. So remove the __module_get() to allow the module to be unloaded. Signed-off-by: Jens Axboe commit c4977f596c5bce4d20fbd22cdb03486112985622 Author: mike.miller@hp.com Date: Wed Dec 13 13:10:04 2006 +0100 [PATCH 2/2] cciss: remove calls to pci_disable_device This patch removes calls to pci_disable_device except in fail_all_cmds. The pci_disable_device function does something nasty to Smart Array controllers that pci_enable_device does not undo. So if the driver is unloaded it cannot be reloaded. Also, customers can disable any pci device via the ROM Based Setup Utility (RBSU). If the customer has disabled the controller we should not try to blindly enable the card from the driver. Please consider this for inclusion. Signed-off-by: Mike Miller Acked-by: Alan Cox Signed-off-by: Jens Axboe commit 98040015bc5d6cea3bd2dcb642fe1e8c4bded8e1 Author: mike.miller@hp.com Date: Wed Dec 13 13:08:56 2006 +0100 [PATCH 1/2] cciss: map out more memory for config table This patch maps out more memory for our config table. It's required to reach offset 0x214 to disable DMA on the P600. I'm not sure how I lost this hunk. Please consider this for inclusion. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit 7749a8d423c483a51983b666613acda1a4dd9c1b Author: Jens Axboe Date: Wed Dec 13 13:02:26 2006 +0100 [PATCH] Propagate down request sync flag We need to do this, otherwise the io schedulers don't get access to the sync flag. Then they cannot tell the difference between a regular write and an O_DIRECT write, which can cause a performance loss. Signed-off-by: Jens Axboe commit 0cfea5dd98205f2fa318836da664a7d7df1afbc1 Author: Matthew Wilcox Date: Mon Dec 4 03:43:14 2006 -0700 [AGPGART] VIA and SiS AGP chipsets are x86-only There's no point in troubling the Alpha, IA-64, PowerPC and PARISC people with SiS and VIA options. Andrew thinks it helps find bugs, but there's no evidence of that. Signed-off-by: Matthew Wilcox Signed-off-by: Dave Jones commit 0ac633b23db91e48210179e31dd88ad9e9a8aba9 Author: Randy Dunlap Date: Sun Nov 19 18:52:28 2006 -0800 [AGPGART] agp-amd64: section mismatches with HOTPLUG=n When CONFIG_HOTPLUG=n, agp_amd64_resume() calls nforce3_agp_init(), which is __devinit == __init, so has been discarded and is not usable for resume. WARNING: drivers/char/agp/amd64-agp.o - Section mismatch: reference to .init.text: from .text between 'agp_amd64_resume' (at offset 0x249) and 'amd64_tlbflush' Signed-off-by: Randy Dunlap Signed-off-by: Dave Jones commit 82b399133b6ebf667ee635fc69ef26b61eede4bc Author: Roland Dreier Date: Tue Dec 12 14:48:18 2006 -0800 IPoIB: Make sure struct ipoib_neigh.queue is always initialized Move the initialization of ipoib_neigh's skb_queue into ipoib_neigh_alloc(), since commit 2745b5b7 ("IPoIB: Fix skb leak when freeing neighbour") will make iterate over the skb_queue to free any packets left over when freeing the ipoib_neigh structure. This fixes a crash when freeing ipoib_neigh structures allocated in ipoib_mcast_send(), which otherwise don't have their skb_queue initialized. Signed-off-by: Roland Dreier commit d4b87598e940053fa22020dcdc6384827b4fc58d Author: Wim Van Sebroeck Date: Tue Dec 12 23:46:47 2006 +0100 [WATCHDOG] pcwd_usb.c generic HID include file Now that the generic HID layer created include/linux/hid.h we can use the HID_REQ_SET_REPORT and HID_DT_REPORT defines directly from that include file. Signed-off-by: Wim Van Sebroeck commit db2fb9db5735cc532fd4fc55e94b9a3c3750378e Author: Rafa³ Bilski Date: Thu Nov 30 03:47:41 2006 +0100 [CPUFREQ] Longhaul - Add support for CN400 Support for CN400 northbridge when ACPI C3 isn't available. Tested on Epia SP13000. Thanks to Robert for testing it. Signed-off-by: Rafa³ Bilski Signed-off-by: Dave Jones commit 3f4a25f17e1073b5af36678b69755af6e56780c3 Author: Rafa³ Bilski Date: Thu Nov 30 03:36:44 2006 +0100 [CPUFREQ] Longhaul - fix 200MHz FSB On board of Epia SP13000 is 10x133Mhz VIA Nehemiah. It is reported as 10x200MHz. This patch is fixing this issue. Signed-off-by: Rafa³ Bilski Signed-off-by: Dave Jones commit 5180311fe93842e9e16eb7297cfc4aded752ab33 Author: Ralph Campbell Date: Tue Dec 12 14:31:00 2006 -0800 IB/iser: Use the new verbs DMA mapping functions Convert iSER to use the new verbs DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 85507bcce0cd6ec859943da4e07227c124a18f3f Author: Ralph Campbell Date: Tue Dec 12 14:30:55 2006 -0800 IB/srp: Use new verbs IB DMA mapping functions Convert SRP to use the new verbs DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 37ccf9df974f55e99bf21278133b065cbbcf3f79 Author: Ralph Campbell Date: Tue Dec 12 14:30:48 2006 -0800 IPoIB: Use the new verbs DMA mapping functions Convert IPoIB to use the new DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e11952b971ee729a8fdc2bfb1252f5760c0287b0 Author: Dominik Brodowski Date: Mon Dec 4 20:39:16 2006 -0500 [CPUFREQ] p4-clockmod: fix support for Core Support for Core CPUs was broken in two ways in speedstep-lib: for x86_64, we missed a MSR definition; for both x86_64 and i386, the FSB calculation was wrong by four (it's a quad-pumped bus). Also increase the accuracy of the calculation. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 1527106ff8cf6afb15f68c8820605a0d32263173 Author: Ralph Campbell Date: Tue Dec 12 14:28:30 2006 -0800 IB/core: Use the new verbs DMA mapping functions Convert code in core/ to use the new DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f2cbb660ed37294e3eeb98c045de6890079ccb01 Author: Ralph Campbell Date: Tue Dec 12 14:28:28 2006 -0800 IB/ipath: Implement new verbs DMA mapping functions This patch implements the interposing DMA mapping functions to allow support for IOMMUs and remove the dependence on phys_to_virt() and bus_to_virt(). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9b513090a3c5e4964f9ac09016c1586988abb3d5 Author: Ralph Campbell Date: Tue Dec 12 14:27:41 2006 -0800 IB: Add DMA mapping functions to allow device drivers to interpose The QLogic InfiniPath HCAs use programmed I/O instead of HW DMA. This patch allows a verbs device driver to interpose on DMA mapping function calls in order to avoid relying on bus_to_virt() and phys_to_virt() to undo the mappings created by dma_map_single(), dma_map_sg(), etc. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 7531a0b56f6211a5407c8cda4968c3b7ca9496ab Author: Dave Jones Date: Tue Dec 12 17:26:35 2006 -0500 [CPUFREQ] Fix git URL. Signed-off-by: Dave Jones commit 3d4a7ef3d3f0c9f3cf8da724d5935253a713d8b6 Author: Venkatesh Pallipadi Date: Mon Nov 13 17:47:44 2006 -0800 [CPUFREQ] Fix the bug in duplicate freq elimination code in acpi-cpufreq Fix the bug in duplicate states elimination in acpi-cpufreq. Bug: Due to duplicate state elimiation in the loop earlier, the number of valid_states can be less than perf->state_count, in which case freq_table was ending up with some garbage/uninitialized entries in the table. Signed-off-by: Venkatesh Pallipadi From: Alexey Starikovskiy Signed-off-by: Dave Jones commit 8b9c6671f8dbedbd071a9a6c787d4086a8990db4 Author: Gary Hade Date: Fri Nov 10 11:20:47 2006 -0800 [CPUFREQ] speedstep-centrino should ignore upper performance control bits On some systems there could be bits set in the upper half of the control value provided by the _PSS object. These bits are only relevant for cpufreq drivers that use IO ports which are not currently supported by the speedstep-centrino driver. The current MSR oriented code assumes that upper bits are not set and thus fails to work correctly when they are. e.g. the control and status value equality check failed on the IBM x3650 even though the ACPI spec allows inequality. Signed-off-by: Gary Hade Signed-off-by: Dave Jones commit 55e337345df892d592bbd9050cbd1fc0c6feb069 Author: Jean Delvare Date: Thu Nov 9 18:29:35 2006 +0100 [CPUFREQ] Optimize gx-suspmod revision ID fetching We don't need a temporary variable to get the PCI revision ID. Signed-off-by: Jean Delvare Signed-off-by: Dave Jones commit df3e0d1c69c097f54588d720d39efdcdf31e3c24 Author: bibo,mao Date: Tue Dec 12 12:04:42 2006 -0800 [IA64] kprobe clears qp bits for special instructions On IA64 there exists some special instructions which always need to be executed regradless of qp bits, such as com.crel.unc, tbit.trel.unc etc. This patch clears qp bits when inserting kprobe trap code and disables probepoint on slot 1 for these special instructions. Signed-off-by: bibo,mao Signed-off-by: Tony Luck commit 08ed38b68099f2a492196414b08a7f5dd8dc3537 Author: Tony Luck Date: Tue Nov 14 09:33:38 2006 -0800 [IA64] enable trap code on slot 1 Because slot 1 of one instr bundle crosses border of two consecutive 8-bytes, kprobe on slot 1 is disabled. This patch enables kprobe on slot1, it only replaces higher 8-bytes of the instruction bundle and changes the exception code to ignore the low 12 bits of the break number (which is across the border in the lower 8-bytes of the bundle). For those instructions which must execute regardless qp bits, kprobe on slot 1 is still disabled. Signed-off-by: bibo,mao Signed-off-by: Tony Luck commit 75f6a1de41f90543792403bf0ffb3ead59d0d8cc Author: Tony Luck Date: Tue Dec 12 11:56:36 2006 -0800 [IA64] Take defensive stance on ia64_pal_get_brand_info() Stephane thought he saw a problem here (but was just confused by the return value from ia64_pal_get_brand_info()). But we should be more defensive here in case an prototype PAL for a future processor doesn't implement this PAL call. Signed-off-by: Tony Luck commit 75216638572f53612304c05a374f0246fe1d16da Author: Sean Hefty Date: Thu Nov 30 16:53:41 2006 -0800 RDMA/cma: Export rdma cm interface to userspace Export the rdma cm interfaces to userspace via a misc device. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 628e5f6d39d5a6be96c1272a6709f2dd3ec8b7ce Author: Sean Hefty Date: Thu Nov 30 16:44:16 2006 -0800 RDMA/cma: Add support for RDMA_PS_UDP Allow the use of UD QPs through the rdma_cm, in order to provide address translation services for resolving IB addresses for datagram messages using SIDR. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 0fe313b000b6a699afbbb59ef9c47a2b22146f1e Author: Sean Hefty Date: Thu Nov 30 16:37:15 2006 -0800 RDMA/cma: Allow early transition to RTS to handle lost CM messages During connection establishment, the passive side of a connection can receive messages from the active side before the connection event has been delivered to the user. Allow the passive side to send messages in response to received data before the event is delivered. To handle the case where the connection messages are lost, a new rdma_notify() function is added that users may invoke to force a connection into the established state. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit a1b1b61f80aba49f1e0f32b0e4b1c35be91c57fa Author: Sean Hefty Date: Thu Nov 30 16:33:14 2006 -0800 RDMA/cma: Report connect info with connect events Connection information was never given to the recipient of a connection request or reply message. Only the event was delivered. Report the connection data with the event to allows user to reject the connection based on the requested parameters, or adjust their resources to match the request. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 9b2e9c0c241e532d923fff23d9a7c0bd31bd96b1 Author: Sean Hefty Date: Thu Nov 30 16:30:47 2006 -0800 RDMA/cma: Remove unneeded qp_type parameter from rdma_cm The qp_type parameter into the rdma_cm is unneeded, and can be misleading. The QP type should be determined from the port space. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 0a1336c8c93530b93c8ecd8c9882f5e528673cab Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/ipath: Fix IRQ for PCI Express HCAs Commit 51f65ebc ("IB/ipath - program intconfig register using new HT irq hook"), which fixed interrupts for HyperTransport HCAs, broke PCI Express HCAs, because for those HCAs, the driver uses the value of pdev->irq before pci_enable_msi() and ends up getting a totally bogus IRQ number. Fix this by using the value of pdev->irq after pci_enable_msi(). Signed-off-by: Roland Dreier commit ad1f9791e91511fcff21730e55ad8dbc375c79bb Author: Krishna Kumar Date: Mon Dec 4 09:14:57 2006 +0530 RDMA/amso1100: Fix memory leak in c2_qp_modify() vq_req is leaked in error cases. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit dee234f48aa6b5ee6041d33c4fd59d2f1176e9a1 Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/iser: Remove unused "write-only" variables Remove variables that are set but then never looked at in the iSER initiator. These cleanups came from David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit 44f8e3f3f7d8e61b4aafced278403955fe18ad88 Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/ipath: Remove unused "write-only" variables Remove variables that are set but then never looked at in the ipath driver. These cleanups came from David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit f47e22c6e4225f40e0dd662398e2cb204f6ec8ed Author: Roland Dreier Date: Tue Dec 12 11:50:19 2006 -0800 IB/fmr: ib_flush_fmr_pool() may wait too long ib_flush_fmr_pool() stashes away the request generation number properly, but then goes ahead and rereads it every time it tests whether the flush generation number has caught up. This means that there is a theoretical possibility of livelock, if the request generation number keeps getting bumped and the flush generation number never catches up. The fix is simple: use the request generation number read at the beginning of the function. Also, atomic_inc() followed by atomic_read() can be replaced with atomic_int_return(). There's no real requirement for atomicity here but we might as well shrink the code. This bug was discovered using David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit a460ef8d0a98ac9ef6b829ae292c9b6c13bc0120 Author: Dean Nelson Date: Wed Nov 22 08:25:00 2006 -0600 [IA64] fix possible XPC deadlock when disconnecting This patch eliminates a potential deadlock that is possible when XPC disconnects a channel to a partition that has gone down. This deadlock will occur if at least one of the kthreads created by XPC for the purpose of making callouts to the channel's registerer is detained in the registerer and will not be returning back to XPC until some registerer request occurs on the now downed partition. The potential for a deadlock is removed by ensuring that there always is a kthread available to make the channel disconnecting callout to the registerer. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 1cf24bdbbbd2eb5439796dc399ab1649d150ed1d Author: Jack Steiner Date: Wed Nov 22 09:55:08 2006 -0600 [IA64] - Reduce overhead of FP exception logging messages Improve the scalability of the fpswa code that rate-limits logging of messages. There are 2 distinctly different problems in this code. 1) If prctl is used to disable logging, last_time is never updated. The result is that fpu_swa_count is zeroed out on EVERY fp fault. This causes a very very hot cache line. The fix reduces the wallclock time of a 1024p FP exception test from 28734 sec to 19 sec!!! 2) On VERY large systems, excessive messages are logged because multiple cpus can each reset or increment fpu_swa_count at about the same time. The result is that hundreds of messages are logged each second. The fixes reduces the logging rate to ~1 per second. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 8b9c106856d92c8266697328b148d115538b59ce Author: Tony Luck Date: Tue Dec 12 11:18:55 2006 -0800 [IA64] fix arch/ia64/mm/contig.c:235: warning: unused variable `nid' This warning only shows up with CONFIG_VIRTUAL_MEM_MAP=y and CONFIG_FLATMEM=y. There is only one caller left for register_active_ranges() from the contig.c code ... so it doesn't need to pick up the node number, the node number is always zero. Signed-off-by: Tony Luck commit 18b36c7119aa868fdfae6855b86824db238e5ebc Author: Cal Peake Date: Tue Dec 12 20:18:16 2006 +0100 Fix inotify maintainers entry Update the inotify entry in MAINTAINERS to be consistent with the rest of the file. Signed-off-by: Cal Peake Signed-off-by: Adrian Bunk commit 86327d19f7d91270b0bbd06ad4581e2f6fa3bec0 Author: Dave Jones Date: Tue Dec 12 20:16:36 2006 +0100 Fix typo in new debug options. Signed-off-by: Dave Jones Signed-off-by: Adrian Bunk commit 5e614475decfcc852d2c8c50702f81ee34901fe2 Author: Dave Jones Date: Tue Dec 12 20:15:40 2006 +0100 Jon needs a new shift key. Signed-off-by: Dave Jones Signed-off-by: Adrian Bunk commit b87576d59b5e8bd235e8579fd33b5d5af528b210 Author: Robert P. J. Day Date: Tue Dec 12 20:07:35 2006 +0100 fs: Convert kmalloc() + memset() to kzalloc() in fs/. Convert the single available instance of kmalloc() + memset() to kzalloc() in the fs/ directory. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit df4365ce8829e84e8e6fe7d2371ea8f40630e865 Author: Robert P. J. Day Date: Tue Dec 12 20:05:50 2006 +0100 configfs.h: Remove dead macro definitions. Delete the __ATTR-related macro definitions since these are now defined in include/linux/sysfs.h. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit bef1f40261c8bc5ad2ca70a5a1760b0eb79b6812 Author: Robert P. J. Day Date: Tue Dec 12 20:04:19 2006 +0100 kconfig: Standardize "depends" -> "depends on" in Kconfig files Standardize the miniscule percentage of occurrences of "depends" in Kconfig files to "depends on", and update kconfig-language.txt to reflect that. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit c48e3fca3f063edb0c8c4d163e880b94c1d9f93d Author: Yan Burman Date: Tue Dec 12 20:03:10 2006 +0100 e100: replace kmalloc with kcalloc Replace kmalloc+memset with kcalloc Signed-off-by: Yan Burman Acked-By: Auke Kok Signed-off-by: Adrian Bunk commit 0268bd0a807fc5cc41ced9cce95efe1b43e8fa52 Author: Yan Burman Date: Tue Dec 12 19:54:52 2006 +0100 um: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Adrian Bunk commit 47c6bf7760bb8021bf7782f05bcd3b9f73ed2c2e Author: Peter Zijlstra Date: Tue Dec 12 19:48:59 2006 +0100 fix typo in net/ipv4/ip_fragment.c Signed-off-by: Adrian Bunk commit f889a26a703b03c774849685583cec7746738f3c Author: Tony Luck Date: Tue Dec 12 10:47:36 2006 -0800 [IA64] s/termios/ktermios/ in simserial.c This got missed in 606d099cdd1080bbb50ea50dc52d98252f8f10a1 Signed-off-by: Tony Luck commit e1036502e5263851259d147771226161e5ccc85a Author: Nicolas Pitre Date: Tue Dec 12 13:32:29 2006 -0500 [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem Commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 introduced a dependency that was never meant to exist when the ac97_bus.c module was created. Move ac97_bus.c up the directory hierarchy to make sure it is built when selected even if sound is configured out so things work as originally intended. Signed-off-by: Nicolas Pitre Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 53569ab7851fd564427f7529b17162cba9a28407 Author: Alistair John Strachan Date: Tue Dec 12 19:28:50 2006 +0100 include/linux/compiler.h: reject gcc 3 < gcc 3.2 The kernel doesn't compile with GCC <3.2, do not allow it to succeed if GCC 3.0.x or 3.1.x are used. Signed-off-by: Alistair John Strachan Signed-off-by: Adrian Bunk commit 979c6a1e49875e9277b5113295a48d5641f02465 Author: Jesper Juhl Date: Tue Dec 12 19:25:11 2006 +0100 Kconfig: fix spelling error in config KALLSYMS help text Signed-off-by: Jesper Juhl Acked-By: Randy Dunlap Signed-off-by: Adrian Bunk commit 93aec204002b6ccd4daf0d02363a8227f21bf70f Author: Rolf Eike Beer Date: Tue Dec 12 19:23:02 2006 +0100 Remove duplicate "have to" in comment Introduced in commit 7cc13edc139108bb527b692f0548dce6bc648572. Signed-off-by: Rolf Eike Beer Acked-by: Eric W. Biederman Signed-off-by: Adrian Bunk commit 87c18aa95199b4b7dd9510b2b927a5e30083da01 Author: Thomas Hisch Date: Tue Dec 12 19:20:35 2006 +0100 Fix small typo in drivers/serial/icom.c Signed-off-by: Thomas Hisch Signed-off-by: Adrian Bunk commit 53da5763bf129def6fe69ea5301d625ce9a86edf Author: Horms Date: Tue Dec 12 18:06:13 2006 +0900 [IA64] kexec/kdump: tidy up declaration of relocate_new_kernel_t * Make NORET_TYPE and ATTRIB_NORET in line with the declaration for other architectures * Add parameter names Signed-Off-By: Simon Horman Signed-off-by: Tony Luck commit ad1c3ba7e54fc38b119c1a7d5c98f9ffb8227fdb Author: Horms Date: Tue Dec 12 18:08:10 2006 +0900 [IA64] Kexec/Kdump: honour non-zero crashkernel offset. There seems to be a value in both allowing the kernel to determine the base offset of the crashkernel automatically and allowing users's to sepcify it. The old behaviour on ia64, which is still the current behaviour on most architectures is for the user to always specify the address. Recently ia64 was changed so that it is always automatically determined. With this patch the kernel automatically determines the offset if the supplied value is 0, otherwise it uses the value provided. This should probably be backed by a documentation change. Signed-Off-By: Simon Horman Signed-off-by: Tony Luck commit 45a98fc622ae700eed34eb2be00743910d50dbe1 Author: Horms Date: Tue Dec 12 17:49:03 2006 +0900 [IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations Actually, on reflection I think that there is a good case for keeping the options separate. I am thinking particularly of people who want a very small crashdump kernel and thus don't want to compile in kexec. The patch below should fix things up so that all valid combinations of KEXEC, CRASH_DUMP and VMCORE compile cleanly - VMCORE depends on CRASH_DUMP which is why I said valid combinations. In a nutshell it just untangles unrelated code and switches around a few defines. Please note that it creats a new file, arch/ia64/kernel/crash_dump.c This is in keeping with the i386 implementation. Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 5ea084ef9c7d0086e9902118c276d3a1187ba535 Author: Samuel Tardieu Date: Tue Dec 12 19:09:40 2006 +0100 Use consistent casing in help message Signed-off-by: Samuel Tardieu Signed-off-by: Adrian Bunk commit adf142e379bd20ad906a7e36f722eaabb3b44b0c Author: Jay Lan Date: Mon Dec 11 15:39:23 2006 -0800 [IA64] Do not call SN_SAL_SET_CPU_NUMBER twice on cpu 0 This is an SN specific patch. Architectually, cpu_init is always called twice on cpu 0 and thus resulted in two SN_SAL_SET_CPU_NUMBER calls. This was harmless in production kernel; however, it can cause problem on booting up a crashdump kernel at Altix. Here is the patch that detects the second sn_cpu_init call and skips the second call to SN_SAL_SET_CPU_NUMBER. Signed-Off-By: Jay Lan Signed-off-by: Tony Luck commit d23edbd3d596553db4ffac71a6e3745e85aee7cc Author: Jan Engelhardt Date: Tue Dec 12 19:07:45 2006 +0100 EXT{2,3,4}_FS: remove outdated part of the help text Signed-off-by: Jan Engelhardt Acked-by: Dave Kleikamp Signed-off-by: Adrian Bunk commit 284f42b627c070a2dd07b5c072cbd75d7fbb7c96 Author: Stelian Pop Date: Tue Dec 12 18:18:31 2006 +0100 hwmon: Add MAINTAINERS entry for new ams driver Signed-off-by: Stelian Pop Acked-by: Michael Hanselmann Signed-off-by: Jean Delvare commit dcb69dd010c182507a8db8940618f6413f65e0af Author: Stelian Pop Date: Tue Dec 12 18:18:30 2006 +0100 hwmon: New AMS hardware monitoring driver This driver adds support for the Apple Motion Sensor (AMS) as found in 2005 revisions of Apple PowerBooks and iBooks. It implements both the PMU and I2C variants. The I2C driver and mouse emulation is based on code by Stelian Pop, while the PMU driver has been developped by Michael Hanselmann. HD parking support will be added later. Various people contributed fixes to this driver, including Aristeu Sergio Rozanski Filho and Jean Delvare. Signed-off-by: Stelian Pop Acked-by: Dmitry Torokhov Acked-by: Robert Love Signed-off-by: Jean Delvare commit 61db011d403388b2dd342489d7110cf13cb99025 Author: Rudolf Marek Date: Tue Dec 12 18:18:30 2006 +0100 hwmon/w83793: Add documentation and maintainer Documentation for the new w83793 hardware monitoring driver, originally provided by Yuan My from Winbond. Also add myself as the maintainer of this driver. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 6800c3d027b4458a6fb5ab78064c2e3b7da2f94f Author: Rudolf Marek Date: Tue Dec 12 18:18:30 2006 +0100 hwmon: New Winbond W83793 hardware monitoring driver Add support for the W83793 hardware monitoring chip. This driver was originally contributed by Yuan Mu of Winbond Electronics Corp. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 7188cc66b4facf749e4fc0a44165b06716e1b621 Author: Jean Delvare Date: Tue Dec 12 18:18:30 2006 +0100 hwmon: Update Rudolf Marek's e-mail address The Silicon Hill club is not what it used to be. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 75c990291dd7af84ea68f3c3ead934b51d0b81ad Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon/f71805f: Fix the device address decoding The lowest 3 bits are ignored, and the chip decodes all 8 addresses, not only the 2 it needs. Signed-off-by: Jean Delvare commit c7176cb515edbc937006fd05fa391b0d926a337a Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon/f71805f: Always create all fan inputs Fans can be hotplugged, so we should create sysfs file even for fans which are disabled at driver load time. Signed-off-by: Jean Delvare commit 51c997d80e1f625aea3426a8a9087f5830ac6db3 Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon/f71805f: Add support for the Fintek F71872F/FG chip Add support for the Fintek F71872F/FG Super-I/O chip. It is basically the same as the Fintek F71805F/FG as far as hardware monitoring is concerned, with two additional internal voltages monitored (VSB and battery), and 6 VID inputs (not yet supported.) To make things a bit more confusing, two of the voltage input pins (in4 and in8) can be used for other functions. The driver reads the pin configuration from the Super-I/O configuration space to decide whether it must create interface files for these inputs or not. Many thanks to Nikolay Derkach for testing the early iterations of this code and reporting bugs. Signed-off-by: Jean Delvare commit ba224e2c4f0a706714ccb483b0c21d32f5994f67 Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon: New PC87427 hardware monitoring driver This is a new hardware monitoring driver for the National Semiconductor PC87427 Super-I/O chip. It only supports fan speed monitoring for now, while the chip can do much more. Thanks to Amir Habibi at Candelis for setting up a test system, and to Michael Kress for testing several iterations of this driver. Signed-off-by: Jean Delvare commit 8e9afcbbdef71aeeb510732f4f8d5ac3de863df0 Author: Jean Delvare Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/it87: Remove the SMBus interface support This interface was useless as the LPC ISA-like interface is always available, is faster, and is more reliable. This cuts the driver size by some 20%. This change is also required to later convert the it87 driver to a platform driver, so that we can get rid of i2c-isa in a near future. Signed-off-by: Jean Delvare commit 0f23e50aa5fc578e1c50e873858e6ab7a1e32f0e Author: Stephan Berberig Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/hdaps: Update the list of supported devices Remove the strange DMI for the R52 (1846AQG) and add a note to update to latest BIOS in the Kconfig and source code. Signed-off-by: Stephan Berberig Signed-off-by: Robert Love Signed-off-by: Jean Delvare commit 509a5e85c3a8f0a81c916fac4579b6d1b5ea58da Author: Jean Delvare Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/hdaps: Move the DMI detection data to .data Move the DMI detection data from .text to .data. We really don't want that amount of data on the stack. Also refactor the macros used to generate the detection data, the vendor becomes a parameter. Signed-off-by: Jean Delvare Signed-off-by: Robert Love commit 3d7f9a8697ffe76e9edaf6b1751f2a2db660e4d5 Author: Jim Cromie Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/pc87360: Autodetect the VRM version pc87360 currently hardcodes vrm = 90 (2.4 vintage). Update it to use newer code in hwmon-vid which reads cpuid to determine the correct vid. Signed-off-by: Jim Cromie Signed-off-by: Jean Delvare commit e9cea646014e25aa96eefa1b41d373a6ad95c189 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Document the fan control features Document the different fan control methods, list their options, and give some hints for best results. Signed-off-by: Jean Delvare commit 315c7113b5580a5f88169b62f597aacd64ef3717 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Add support for "speed mode" fan speed control In "speed mode", the user specifies a target fan speed (in RPM) and the chip automatically adjusts the PWM duty cycle (or DC output level) to reach this target. Signed-off-by: Jean Delvare commit e196783d54a75bea05580ce692126532ac54ee24 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Support DC fan speed control mode In DC mode, the pwmN_freq files are not created. Signed-off-by: Jean Delvare commit 6e2bc17b0793297b38aef1bba39f2cb634d66208 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Let the user adjust the PWM base frequency Different frequencies can give better results depending on the exact fan model used. Signed-off-by: Jean Delvare commit 95e353127dfcd86df56a742a96ccf56369929b95 Author: Jean Delvare Date: Tue Dec 12 18:18:26 2006 +0100 hwmon/f71805f: Add manual fan speed control pwmN files are writable only in manual fan speed control mode. In automatic fan speed control modes, they are read-only and report the duty cycle chosen by the chip. Signed-off-by: Jean Delvare commit 6b14a546a5a7fde46d20d3c14a4e91a24a3f1be0 Author: Jean Delvare Date: Tue Dec 12 18:18:26 2006 +0100 hwmon/f71805f: Store the fan control registers So far we were only extracting the fan skip bit from the fan control registers, but we'll soon need more bits so better store the whole register values. Signed-off-by: Jean Delvare commit 3640543df26fd38f31f0c6decc35c07be2a6307c Author: Ingo Molnar Date: Tue Dec 12 17:20:42 2006 +0100 [PATCH] netpoll: fix netpoll lockup current -git doesnt boot on my laptop due to netpoll not unlocking the tx lock in the else branch. booted this up on my laptop with lockdep enabled and there are no locking complaints and it works fine. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit b57bd06655a028aba7b92e1c19c2093e7fcfb341 Author: Ingo Molnar Date: Tue Dec 12 13:49:35 2006 +0100 [PATCH] net, 8139too.c: fix netpoll deadlock fix deadlock in the 8139too driver: poll handlers should never forcibly enable local interrupts, because they might be used by netpoll/printk from IRQ context. ================================= [ INFO: inconsistent lock state ] 2.6.19 #11 --------------------------------- inconsistent {softirq-on-W} -> {in-softirq-W} usage. swapper/1 [HC0[0]:SC1[1]:HE1:SE0] takes: (&npinfo->poll_lock){-+..}, at: [] net_rx_action+0x64/0x1de {softirq-on-W} state was registered at: [] mark_lock+0x5b/0x39c [] mark_held_locks+0x4b/0x68 [] trace_hardirqs_on+0x115/0x139 [] rtl8139_poll+0x3d7/0x3f4 [] netpoll_poll+0x82/0x32f [] netpoll_send_skb+0xc9/0x12f [] netpoll_send_udp+0x253/0x25b [] write_msg+0x40/0x65 [] __call_console_drivers+0x45/0x51 [] _call_console_drivers+0x5d/0x61 [] release_console_sem+0x11f/0x1d8 [] register_console+0x1ac/0x1b3 [] init_netconsole+0x55/0x67 [] init+0x9a/0x24e [] kernel_thread_helper+0x7/0x10 [] 0xffffffff irq event stamp: 819992 hardirqs last enabled at (819992): [] net_rx_action+0x39/0x1de hardirqs last disabled at (819991): [] net_rx_action+0x141/0x1de softirqs last enabled at (817552): [] __do_softirq+0xa3/0xa8 softirqs last disabled at (819987): [] do_softirq+0x5b/0xc9 other info that might help us debug this: no locks held by swapper/1. stack backtrace: [] dump_trace+0x63/0x1e8 [] show_trace_log_lvl+0x19/0x2e [] show_trace+0x12/0x14 [] dump_stack+0x14/0x16 [] print_usage_bug+0x23c/0x246 [] mark_lock+0x108/0x39c [] __lock_acquire+0x361/0x9ed [] lock_acquire+0x56/0x72 [] _spin_lock+0x35/0x42 [] net_rx_action+0x64/0x1de [] __do_softirq+0x52/0xa8 [] do_softirq+0x5b/0xc9 [] irq_exit+0x3c/0x48 [] do_IRQ+0xa4/0xbd [] common_interrupt+0x2e/0x34 [] vprintk+0x2c0/0x309 [] printk+0x1b/0x1d [] init+0x80/0x24e [] kernel_thread_helper+0x7/0x10 ======================= Signed-off-by: Ingo Molnar Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 99a3eb3845f034eb55640a3da73e5e28349678c6 Author: Ingo Molnar Date: Tue Dec 12 12:10:28 2006 +0100 [PATCH] lockdep: fix seqlock_init() seqlock_init() needs to use spin_lock_init() for dynamic locks, so that lockdep is notified about the presence of a new lock. (this is a fallout of the recent networking merge, which started using the so-far unused seqlock_init() API.) This fix solves the following lockdep-internal warning on current -git: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. __lock_acquire+0x10c/0x9f9 lock_acquire+0x56/0x72 _spin_lock+0x35/0x42 neigh_destroy+0x9d/0x12e neigh_periodic_timer+0x10a/0x15c run_timer_softirq+0x126/0x18e __do_softirq+0x6b/0xe6 do_softirq+0x64/0xd2 ksoftirqd+0x82/0x138 Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 2a7e9a260ede3b17b5bc25c540a033a45bbf0461 Author: Mauro Carvalho Chehab Date: Mon Dec 11 05:37:14 2006 -0300 V4L/DVB (4954): Fix: On ia64, i2c adap->inb/adap->outb are wrongly evaluated i2c defines two callbacks (inb/outb). On ia64, since it defines also two macros with those names, it causes the following errors: drivers/media/video/usbvision/usbvision-i2c.c:64:39: macro "outb" passed 4 arguments, but takes just 2 drivers/media/video/usbvision/usbvision-i2c.c: In function `try_write_address': drivers/media/video/usbvision/usbvision-i2c.c:64: warning: assignment makes integer from pointer without a cast drivers/media/video/usbvision/usbvision-i2c.c:89:38: macro "inb" passed 4 arguments, but takes just 1 drivers/media/video/usbvision/usbvision-i2c.c: In function `try_read_address': drivers/media/video/usbvision/usbvision-i2c.c:89: warning: assignment makes integer from pointer without a cast drivers/media/video/usbvision/usbvision-i2c.c:85: warning: unused variable `buf' drivers/media/video/usbvision/usbvision-i2c.c:173:53: macro "inb" passed 4 arguments, but takes just 1 drivers/media/video/usbvision/usbvision-i2c.c: In function `usb_xfer': drivers/media/video/usbvision/usbvision-i2c.c:173: warning: assignment makes integer from pointer without a cast drivers/media/video/usbvision/usbvision-i2c.c:179:54: macro "outb" passed 4 arguments, but takes just 2 drivers/media/video/usbvision/usbvision-i2c.c:179: warning: assignment makes integer from pointer without a cast thanks to Andrew Morton for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 335302618f47b43e1204d24a3edb65a3e5bc8c03 Author: FUJITA Tomonori Date: Tue Dec 12 10:26:55 2006 +0100 [PATCH] remove unnecessary blk_queue_bounce in SG_IO When I converted the original patch, I left unnecessary blk_queue_bounce in SG_IO. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: Jens Axboe commit 77d172ce2719b5ad2dc0637452c8871d9cba344c Author: FUJITA Tomonori Date: Mon Dec 11 10:01:34 2006 +0100 [PATCH] fix SG_IO bio leak This patch fixes bio leaks in SG_IO. rq->bio can be changed after io completion, so we need to reset rq->bio before calling blk_rq_unmap_user() http://marc.theaimsgroup.com/?l=linux-kernel&m=116570666807983&w=2 Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2b02a1792000900ead4638f4d42fcdd742062cfa Author: Boaz Harrosh Date: Tue Dec 5 10:19:14 2006 +0100 [PATCH] remove blk_queue_activity_fn While working on bidi support at struct request level I have found that blk_queue_activity_fn is actually never used. The only user is in ide-probe.c with this code: /* enable led activity for disk drives only */ if (drive->media == ide_disk && hwif->led_act) blk_queue_activity_fn(q, hwif->led_act, drive); And led_act is never initialized anywhere. (Looking back at older kernels it was used in the PPC arch, but was removed around 2.6.18) Unless it is all for future use off course. (this patch is against linux-2.6-block.git as off 2006/12/4) Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit cbb8fc07974073543fdc61da23713ab49ddd3ced Author: Franck Bui-Huu Date: Wed Dec 6 16:48:28 2006 +0100 [MIPS] paging_init(): use highend_pfn/highstart_pfn This patch makes paging_init() use highend_pfn/highstart_pfn globals. It removes the need of 'high' local which was needed only by HIGHMEM config. More important perhaps, it fixes a bug when HIGHMEM is set but there's actually no physical highmem (highend_pfn = 0) Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit b228f4c54df37b53c6f364aa7f3efa4280bcc4f0 Author: Ralf Baechle Date: Mon Dec 11 15:33:30 2006 +0000 [MIPS] Malta: Resurrect MTD support for onboard flash. Signed-off-by: Ralf Baechle commit 2efac77e82a36bf616d474f2eb721d95543cfae9 Author: Ralf Baechle Date: Mon Dec 11 11:54:52 2006 +0000 [MIPS] Discard .exit.text and .exit.data at runtime. While the recent cset 86384d544157db23879064cde36061cdcafc6794 did improve things it didn't resolve all the problems. So bite the bullet and discard .exit.text and .exit.data at runtime. Which of course sucks because it bloats binaries with code that will never ever be used but it's the only thing that will work reliable as demonstrated by the function sd_major() in drivers/scsi/sd.c. Gcc may compile sd_major() using a jump table which it will put into .rodata. If it also inlines sd_major's function body into exit_sd() which gcc > 3.4.x does. If CONFIG_BLK_DEV_SD has been set to y we would like ld to discard exit_sd's code at link time. However sd_major happens to contain a switch statement which gcc will compile using a jump table in .rodata on the architectures I checked. So, when ld later discards .exit.text only the jump table in .rodata with its stale references to the discard .exit.text will be left which any no antique ld will honor with a link error. Signed-off-by: Ralf Baechle commit 8b2f35504d81422beb9e3562ee3dd99e8567cc80 Author: Ralf Baechle Date: Mon Dec 11 04:17:30 2006 +0000 [MIPS] IP27: Don't drag into topology.h. Another way that old SGI types were getting dragged into generic code. Signed-off-by: Ralf Baechle commit 2bbc5bdfb165521b28ca1825ea482557bffd3918 Author: Ralf Baechle Date: Mon Dec 11 04:07:40 2006 +0000 [MIPS] IP27: Move definition of nic_t to its sole user. This also fixes the duplicate definition of nic_t in the s2io driver. Signed-off-by: Ralf Baechle commit 2f3643aecd1e4e6a4c34cb32eb0410340f34e97f Author: Ralf Baechle Date: Mon Dec 11 04:00:37 2006 +0000 [MIPS] IP27: Don't include . Nothing defines is used. Signed-off-by: Ralf Baechle commit b723782587067d0d76344e9bdc934ca495aa8f0f Author: Ralf Baechle Date: Mon Dec 11 00:43:58 2006 +0000 [MIPS] compat.h uses struct pt_regs so needs to include ptrace.h. Signed-off-by: Ralf Baechle commit a49f99ffca57a2eada23b1ac908a405c17859e35 Author: Andrew Morton Date: Mon Dec 11 17:24:46 2006 -0800 [NETPOLL]: Fix local_bh_enable() warning. During boot we get: netconsole: device eth0 not up yet, forcing it e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex WARNING (!__warned) at kernel/softirq.c:137 local_bh_enable() Call Trace: [] local_bh_enable+0x41/0xa3 [] netpoll_send_skb+0x116/0x144 [] netpoll_send_udp+0x263/0x271 [] write_msg+0x42/0x5e [] __call_console_drivers+0x5f/0x70 [] _call_console_drivers+0x6d/0x71 [] release_console_sem+0x148/0x1ec [] register_console+0x1b1/0x1ba [] init_netconsole+0x54/0x68 [] init+0x152/0x308 [] _spin_unlock_irq+0x14/0x30 [] schedule_tail+0x43/0x9f [] child_rip+0xa/0x12 Herbert sayeth: Normally networking isn't invoked with interrupts turned off, but I suppose we don't have a choice here. This is unique being a place where you can get called with BH on, off, or IRQs off. Given that this is only used for printk, the easiest solution is probably just to disable local IRQs instead of BH. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit e9cfc147df99790a7d260e9d20b865fa31ec56da Author: Yoshinori Sato Date: Tue Dec 12 09:11:45 2006 +0900 sh: Fixup SH-2 BUG() trap handling. This adds in support for the BUG() trap on SH-2. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit b641fe016a29fe2c0c7b0d717a5918e3f067a44f Author: Paul Mundt Date: Tue Dec 12 09:00:47 2006 +0900 sh: Use early_param() for earlyprintk parsing. Signed-off-by: Paul Mundt commit e2dfb912d3cea97d8b1d6750abbe9c942b6f73f5 Author: Paul Mundt Date: Tue Dec 12 08:53:29 2006 +0900 sh: Fix .empty_zero_page alignment for PAGE_SIZE > 4096. Signed-off-by: Paul Mundt commit f668f55c3941faacc6f298f434b1af3d5142eed7 Author: Paul Mundt Date: Tue Dec 12 08:50:36 2006 +0900 sh: Fixup .data.page_aligned. This had a bogus .data.idt reference, fix it up.. Signed-off-by: Paul Mundt commit 05c8690d95967ad50dda3c9d552a0c342dde801b Author: Paul Mundt Date: Tue Dec 12 08:49:06 2006 +0900 sh: Hook up SH7722 scif ipr interrupts. Add the SCIF IRQs to the IPR table for SH7722. Signed-off-by: Paul Mundt commit 1dc417d0390b4897dc1d9bbf335e325baecae2c3 Author: Paul Mundt Date: Mon Dec 11 20:29:28 2006 +0900 sh: Fixup sh_bios() trap handling. This was inadvertently broken when the entry.S code split up, restore the missing branch and get subsequent traps working under debug again. This manifested itself as a lockup when attempting to reload the VBR base. Signed-off-by: Paul Mundt commit 41504c39726a7099e5a42508dd57fe561c8b4129 Author: Paul Mundt Date: Mon Dec 11 20:28:03 2006 +0900 sh: SH-MobileR SH7722 CPU support. This adds CPU support for the SH7722. Signed-off-by: Paul Mundt commit 5432143464ee7f5cb8b0b015a0fd1c3279af10ae Author: Paul Mundt Date: Sat Dec 9 09:17:01 2006 +0900 sh: Fixup dma_cache_sync() callers. This now takes a struct device, update all of the callers. Signed-off-by: Paul Mundt commit 37bda1da4570c2e9c6dd34e77d2120218e384950 Author: Paul Mundt Date: Sat Dec 9 09:16:12 2006 +0900 sh: Convert remaining remap_area_pages() users to ioremap_page_range(). A couple of these were missed. Signed-off-by: Paul Mundt commit 79890c512444aa55a7a42ac5e7d29d7a4edba11b Author: Paul Mundt Date: Sat Dec 9 09:14:35 2006 +0900 sh: Fixup kernel_execve() for syscall cleanups. SH-2 and SH-2A need to use a different syscall base for the trapa vector than the other parts, so fixup the logic in the kernel_execve() case. Signed-off-by: Paul Mundt commit b652c23cb0f7808bedb5442c416d91705a465c67 Author: Paul Mundt Date: Fri Dec 8 17:46:29 2006 +0900 sh: Fix get_wchan(). Some time ago the schedule frame size changed and we failed to reflect this in get_wchan() at the time. This first popped up as a problem on SH7751R where schedule_frame ended up being unaligned and generating an unaligned trap. This fixes it up again.. Signed-off-by: Paul Mundt commit dc34d312c7b25d5d0f54c16d143a9526936e5d38 Author: Paul Mundt Date: Fri Dec 8 17:41:43 2006 +0900 sh: BUG() handling through trapa vector. Previously we haven't been doing anything with verbose BUG() reporting, and we've been relying on the oops path for handling BUG()'s, which is rather sub-optimal. This switches BUG handling to use a fixed trapa vector (#0x3e) where we construct a small bug frame post trapa instruction to get the context right. This also makes it trivial to wire up a DIE_BUG for the atomic die chain, which we couldn't really do before. Signed-off-by: Paul Mundt commit 1b73e6ae45d0353a062d7bea707757a235473cf9 Author: Jamie Lenehan Date: Fri Dec 8 15:26:15 2006 +0900 rtc: rtc-sh: alarm support. This adds alarm support for the RTC_ALM_SET, RTC_ALM_READ, RTC_WKALM_SET and RTC_WKALM_RD operations to rtc-sh. The only unusual part is the handling of the alarm interrupt. If you clear the alarm flag (AF) while the time in the RTC still matches the time in the alarm registers than AF is immediately re-set, and if the alarm interrupt (AIE) is still enabled then it re-triggers. I was originally getting around 20k+ interrupts generated during the second when the RTC and alarm registers matches. The solution I've used is to clear AIE when the alarm goes off and then use the carry interrupt to re-enabled it. The carry interrupt will check AF and re-enabled AIE if it's clear. If AF is not clear it'll clear it and then the check will be repeated next carry interrupt. This a bit in rtc structure that indicates that it's waiting to have AIE re-enabled so it doesn't turn it on when it wasn't enabled anyway. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit a16147965ca7a84dc08c4457961782e06ac7cd0d Author: Jamie Lenehan Date: Fri Dec 8 14:49:30 2006 +0900 rtc: rtc-sh: fix rtc for out-by-one for the month. The RMONCNT register, which holds the month in the RTC, takes a value between 1 and 12 while the tm_mon field in the time structures takes a value between 0 and 11. This wasn't being taken into account in rtc-sh resulting in the month being out by one. eg, on my board during boot the RTC is set to: RTC is set to Thu Jul 01 09:00:00 1999 but "hwclock -r" immediately after logging in was showing: Sun Aug 1 09:01:43 1999 0.000000 seconds Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit 55eec11a50f4c5f53421f49e407e2c92cf25c3ca Author: Yoshinori Sato Date: Fri Dec 8 14:47:02 2006 +0900 sh: Kill off unused SE7619 I/O ops. This can use the generic routines, so kill off the board-specific ones. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 313887507f8ab9240d7b409c9e5ef2c75ac8e1fc Author: Paul Mundt Date: Fri Dec 8 14:26:19 2006 +0900 serial: sh-sci: Shut up various sci_rxd_in() gcc4 warnings. Signed-off-by: Paul Mundt commit ec723fbe7e19f5a66cea183bca7ca20675631a7a Author: Paul Mundt Date: Thu Dec 7 20:33:38 2006 +0900 sh: Split out atomic ops logically. We have a few different ways to do the atomic operations, so split them out in to different headers rather than bloating atomic.h. Kernelspace gUSA will take this up to a third implementation. Signed-off-by: Paul Mundt commit a45e724ba07c02bcf3da96ddc4efefbfe10957f5 Author: Yoshinori Sato Date: Thu Dec 7 19:59:35 2006 +0900 sh: Fix Solution Engine 7619 build. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 11cbb70ea326e8ec78b2beb2b0c85c9ec71c279b Author: Yoshinori Sato Date: Thu Dec 7 18:07:27 2006 +0900 sh: Trivial build fixes for SH-2 support. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 780a1568886a2f5df9bf11b72ba0624c80db5b3b Author: Yoshinori Sato Date: Thu Dec 7 18:01:23 2006 +0900 sh: IPR IRQ updates for SH7619/SH7206. This updates the SH7619 and SH7206 code for the IPR IRQ changes. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit ff4e2ca7c64cd87ec72fa0d238c1b34493133910 Author: Stuart Menefy Date: Thu Dec 7 17:48:52 2006 +0900 sh: gcc4 symbol export fixups. gcc 4 for sh changes the names of some compiler intrinsic functions and adds some additional ones. This patch adds the new ones, and fixes up various module symbol resolution issues. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit b6250e37292b9679b82a3edc28f330a32eed9ae4 Author: Paul Mundt Date: Thu Dec 7 17:27:18 2006 +0900 sh: landisk board build fixes. Get the landisk board building again.. Signed-off-by: Paul Mundt commit 31ccb081ec6c7eedfd7e88a48365c67ce44ecb92 Author: Jamie Lenehan Date: Thu Dec 7 17:23:50 2006 +0900 rtc: rtc-sh: fix for period rtc interrupts. When testing the per second interrupt support (RTC_UIE_ON/RTC_UIE_OFF) of the new RTC system it would die in sh_rtc_interrupt due to a null ptr dereference. The following gets it working correctly. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit 417d6b9edb5958c2cc76e8ef701ebe09a3152deb Author: Jamie Lenehan Date: Thu Dec 7 17:23:07 2006 +0900 sh: register rtc resources for sh775x. Register the RTC resources for the sh775x subtype so that the new generic RTC support in drivers/rtc/rtc-sh.c will work. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit d79b8741f212a9da38f1648d9242041db074216f Author: Yoshinori Sato Date: Thu Dec 7 17:09:46 2006 +0900 sh: SH-2 defconfig updates. This adds a new defconfig for SE7619 and updates SE7206. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit cf00e20444fc39fe37691ca32919061bf65527b0 Author: Paul Mundt Date: Thu Dec 7 17:00:32 2006 +0900 sh: Add uImage and S-rec generation support. Add a couple of new targets, both for uImage and S-rec generation. Signed-off-by: Paul Mundt commit fce3a24e7087ba1f56eea5ec14fec592e677e672 Author: Paul Mundt Date: Thu Dec 7 13:20:58 2006 +0900 sh: push-switch fixups for work_struct API damage. INIT_WORK() dropped the data arg, so now we have to stash an extra pointer and backpedal instead. Signed-off-by: Paul Mundt commit b482ad5daef786962279ae03090970b0ee8b8d1c Author: Paul Mundt Date: Thu Dec 7 12:43:52 2006 +0900 sh: Shut up csum_ipv6_magic() warnings. Signed-off-by: Paul Mundt commit b9b382dabba1e4a106093557933ec4411ebcbe0f Author: Paul Mundt Date: Thu Dec 7 12:43:06 2006 +0900 sh: Reworked swap cache entry encoding for SH-X2 MMU. In the 64-bit PTE case there's no point in restricting the encoding to the low bits of the PTE, we can instead bump all of this up to the high 32 bits and extend PTE_FILE_MAX_BITS to 32, adopting the same convention used by x86 PAE. There's a minor discrepency between the number of bits used for the swap type encoding between 32 and 64-bit PTEs, but this is unlikely to cause any problem given the extended offset. Signed-off-by: Paul Mundt commit 37004af3aaf28f39981754a05cf74361c0834a7a Author: Simon Horman Date: Sun Dec 10 22:36:18 2006 -0800 [IPVS]: Make ip_vs_sync.c <= 80col wide. Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit 89eaeb09ba01632511f69ce8e14c8d2abd2dbe9e Author: Simon Horman Date: Sun Dec 10 22:35:24 2006 -0800 [IPVS]: Use msleep_interruptable() instead of ssleep() aka msleep() Dean Manners notices that when an IPVS synchonisation daemons are started the system load slowly climbs up to 1. This seems to be related to the call to ssleep(1) (aka msleep(1000) in the main loop. Replacing this with a call to msleep_interruptable() seems to make the problem go away. Though I'm not sure that it is correct. This is the second edition of this patch, which replaces ssleep() in the main loop for both the master and backup threads, as well as some thread synchronisation code. The latter is just for thorougness as it shouldn't be causing any problems. Signed-Off-By: Simon Horman Signed-off-by: David S. Miller commit f654c854d1d4e0aca5389ace541647237eb7f753 Author: Ralf Baechle Date: Sun Dec 10 13:46:45 2006 -0800 [HAMRADIO]: Fix baycom_epp.c compile failure. Fix foobar in 15b1c0e822f578306332d4f4c449250db5c5dceb and e8cc49bb0fdb9e18a99e6780073d1400ba2b0d1f patch series. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 8109b02b5397ed52a32c116163a62a34f4768b26 Author: Arnaldo Carvalho de Melo Date: Sun Dec 10 16:01:18 2006 -0200 [DCCP]: Whitespace cleanups That accumulated over the last months hackaton, shame on me for not using git-apply whitespace helping hand, will do that from now on. Signed-off-by: Arnaldo Carvalho de Melo commit 1fba78b6cba14bd37fdb12c5367f1e4d58ff2e0f Author: Arnaldo Carvalho de Melo Date: Sun Dec 10 15:39:29 2006 -0200 [DCCP] ccid3: Fixup some type conversions related to rtts Spotted by David Miller when compiling on sparc64, I reproduced it here on parisc64, that are the only platforms to define __kernel_suseconds_t as an 'int', all the others, x86_64 and x86 included typedef it as a 'long', but from the definition of suseconds_t it should just be an 'int' on platforms where it is >= 32bits, it would not require all the castings from suseconds_t to (int) when printking variables of this type, that are not needed on parisc64 and sparc64. Signed-off-by: Arnaldo Carvalho de Melo commit 9e8efc824098c241a1cde81f5558d222cb6f9369 Author: Gerrit Renker Date: Sun Dec 10 00:24:57 2006 -0200 [DCCP] ccid3: BUG-FIX - conversion errors This fixes conversion errors which arose by not properly type-casting from u32 to __u64. Fixed by explicitly casting each type which is not __u64, or by performing operation after assignment. The patch further adds missing debug information to track the current value of X_recv. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 7af5af3013f84693a7af581e3c8b32f9db493cf5 Author: Gerrit Renker Date: Sun Dec 10 00:24:33 2006 -0200 [DCCP] ccid3: Reorder packet history source file No code change at all. This reorders the source file to follow the same order as the corresponding header file. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 85dcb1f78039cc55ccddd9622657a338b718aafe Author: Gerrit Renker Date: Sun Dec 10 00:24:11 2006 -0200 [DCCP] ccid3: Reorder packet history header file No code change at all. To make the header file easier to read, the following ordering is established among the declarations: * hist_new * hist_delete * hist_entry_new * hist_head * hist_find_entry * hist_add_entry * hist_entry_delete * hist_purge Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit a967241129f6dc1db92fee2c808f73a90f5f47a3 Author: Gerrit Renker Date: Sun Dec 10 00:14:12 2006 -0200 [DCCP] ccid3: Make debug output consistent This patch does not alter any algorithm, just the debug message format: * s#%s, sk=%p#%s(%p)#g * when a statename is present, it now uses %s(%p, state=%s) * when only function entry is debugged, it adds an `- entry' Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit c5a1ae9a4cc4aef1505fa0aba079f834c3ee1af1 Author: Gerrit Renker Date: Sun Dec 10 00:09:21 2006 -0200 [DCCP] ccid3: Perform history operations only after packet has been sent This migrates all packet history operations into the routine ccid3_hc_tx_packet_sent, thereby removing synchronization problems that occur when, as before, the operations are spread over multiple routines. The following minor simplifications are also applied: * several simplifications now follow from this change - several tests are now no longer required * removal of one unnecessary variable (dp) Justification: Currently packet history operations span two different routines, one of which is likely to pass through several iterations of sleeping and awakening. The first routine, ccid3_hc_tx_send_packet, allocates an entry and sets a few fields. The remaining fields are filled in when the second routine (which is not within a sleeping context), ccid3_hc_tx_packet_sent, is called. This has several strong drawbacks: * it is not necessary to split history operations - all fields can be filled in by the second routine * the first routine is called multiple times, until a packet can be sent, and sleeps meanwhile - this causes a lot of difficulties with regard to keeping the list consistent * since both routines do not have a producer-consumer like synchronization, it is very difficult to maintain data across calls to these routines * the fact that the routines are called in different contexts (sleeping, not sleeping) adds further problems Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e312d100f19fdfe1019512b07a9d15653f254abf Author: Gerrit Renker Date: Sun Dec 10 00:08:09 2006 -0200 [DCCP] ccid3: TX history - remove unused field This removes the `dccphtx_ccval' field since it is nowhere used in the code and in fact not necessary for the accounting. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 9f8681db961de6d75e43844e9664f1f81e05e1b7 Author: Gerrit Renker Date: Sun Dec 10 00:07:37 2006 -0200 [DCCP] ccid3: Shift window counter computation This puts the window counter computation [RFC 4342, 8.1] into a separate function which is called whenever a new packet is ready for immediate transmission in ccid3_hc_tx_send_packet. Justification: The window counter update was previously computed after the packet was sent. This has two drawbacks, both fixed by this patch: 1) re-compute another timestamp almost directly after the packet was sent (expensive), 2) the CCVal for the window counter is needed at the instant the packet is sent. Further details: The initialisation of the window counter is left in the state NO_SENT, as before. The algorithm will do nothing if either RTT is initialised to 0 (which is ok) or if the RTT value remains below 4 microseconds (which is almost pathological). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit de553c189e3faa0d0c38f366f73379b46587b80e Author: Gerrit Renker Date: Sun Dec 10 00:06:32 2006 -0200 [DCCP] ccid3: Sanity-check RTT samples CCID3 performance depends much on the accuracy of RTT samples. If RTT samples grow too large, performance can be catastrophically poor. To limit the amount of possible damage in such cases, the patch * introduces an upper limit which identifies a maximum `sane' RTT value; * uses a macro to enforce this upper limit. Using a macro was given preference, since it is necessary to identify the calling function in the warning message. Since exceeding this threshold identifies a critical condition, DCCP_CRIT is used and not DCCP_WARN. Many thanks to Ian McDonald for collaboration on this issue. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit fe0499ae95f5f636bda1f6e0bdba5b7b023ea827 Author: Gerrit Renker Date: Sun Dec 10 00:06:01 2006 -0200 [DCCP] ccid3: Initialise RTT values In both the sender and the receiver it is possible that the stored RTT value is accessed before an actual RTT estimate has been computed. This patch * initialises the sender RTT to 0 - the sender always accesses the RTT in ccid3_hc_tx_packet_sent - the RTT is further needed for the window counter algorithm * replaces the receiver initialisation of 5msec with 0 - which has the same effect and removes an `XXX' - the RTT value is needed in ccid3_hc_rx_packet_recv as rtt_prev Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 65d6c2b42ecc0ca77bb3c0fe27fcbdc84fc7a79a Author: Gerrit Renker Date: Sun Dec 10 00:05:38 2006 -0200 [DCCP] ccid: Deprecate ccid_hc_tx_insert_options The function ccid3_hc_tx_insert_options only does a redundant no-op, as the operation DCCP_SKB_CB(skb)->dccpd_ccval = hctx->ccid3hctx_last_win_count; is already performed _unconditionally_ in ccid3_hc_tx_send_packet. Since there is further no current need for this function, it is removed entirely. Since furthermore, there is actually no present need for the entire interface function ccid_hc_tx_insert_options, it was decided to remove it also, to clean up the interface. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit f6282f4da5eb67e08eff94d73a1911c3a008846a Author: Gerrit Renker Date: Sun Dec 10 00:05:12 2006 -0200 [DCCP]: Warn when discarding packet due to internal errors This adds a (debug) warning message which is triggered whenever a packet is discarded due to send failure. It also adds a conditional, so that an interruption during dccp_wait_for_ccid is not treated as a `BUG': the rationale is that interruptions are external, whereas bug warnings are concerned with the internals. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit bf58a381e8106fe73247c753e3da58fcb5eabd2e Author: Gerrit Renker Date: Sun Dec 10 00:04:43 2006 -0200 [DCCP]: Only deliver to the CCID rx side in charge This is an optimisation to reduce CPU load. The received feedback is now only directed to the active CCID component, without requiring processing also by the inactive one. As a consequence, a similar test in ccid3.c is now redundant and is also removed. Justification: Currently DCCP works as a unidirectional service, i.e. a listening server is not at the same time a connecting client. As far as I can see, several modifications are necessary until that becomes possible. At the present time, received feedback is both fed to the rx/tx CCID modules. In unidirectional service, only one of these is active at any one time. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit d63d8364cfe17fc9bb738f554f452595f76f21d2 Author: Gerrit Renker Date: Sun Dec 10 00:04:16 2006 -0200 [DCCP]: Simplify TFRC calculation In migrating towards using the newer functions scaled_div/scaled_div32 for TFRC computations mapped from floating-point onto integer arithmetic, this completes the last stage of modifications. In particular, the overflow case for computing X_calc is circumvented by * breaking the computation into two stages * the first stage, res = (s*1E6)/R, cannot overflow due to use of u64 * in the second stage, res = (res*1E6)/f, overflow on u32 is avoided due to (i) returning UINT_MAX in this case (which is logically appropriate) and (ii) issuing a warning message into the system log (since very likely there is a problem somewhere else with the parameters) Lastly, all such scaling operations are now exported into tfrc.h, since actually this form of scaled computation is specific to TFRC and not to CCID3. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 0f9e5b573f7249b0e04a03457b55081d1f60f2bf Author: Gerrit Renker Date: Sun Dec 10 00:03:51 2006 -0200 [DCCP]: Debug timeval operations Problem: Most target types in the CCID3 code are u32, so subtle conversion errors can occur if signed time calculations yield negative results: the original values are lost in the conversion to unsigned, calculation errors go undetected. This patch therefore * sets all critical time types from unsigned to suseconds_t * avoids comparison between signed/unsigned via type-casting * provides ample warning messages in case time calculations are negative These warning messages can be removed at a later stage when the code has undergone more testing. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit bfe24a6cc222d27e1491f850802fa6932232b8ef Author: Gerrit Renker Date: Sun Dec 10 00:03:30 2006 -0200 [DCCP] ccid3: Simplify calculation for reverse lookup of p This simplifies the calculation of a value p for a given fval when the first loss interval is computed (RFC 3448, 6.3.1). It makes use of the two new functions scaled_div/scaled_div32 to provide overflow protection. Additionally, protection against divide-by-zero is extended - in this case the function will return the maximally possible value of p=100%. Background: The maximum fval, f(100%), is approximately 244, i.e. the scaled value of fval should never exceed 244E6, which fits easily into u32. The problem is the scaling by 10^6, since additionally R(TT) is in microseconds. This is resolved by breaking the division into two stages: the first stage computes fval=(s*10^6)/R, stores that into u64; the second stage computes fval = (fval*10^6)/X_recv and complains if overflow is reached for u32. This case is safe since the TFRC reverse-lookup routine then returns p=100%. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit b9039a2a8df974d7702564318722434bb276a995 Author: Gerrit Renker Date: Sun Dec 10 00:02:51 2006 -0200 [DCCP] ccid3: Replace scaled division operations This replaces the remaining uses of usecs_div with scaled_div32, which internally uses 64bit division and produces a warning on overflow. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 1a21e49a8d60f588c1276f765198b14d5688a778 Author: Gerrit Renker Date: Sun Dec 10 00:02:12 2006 -0200 [DCCP] ccid3: Finer-grained resolution of sending rates This patch * resolves a bug where packets smaller than 32/64 bytes resulted in sending rates of 0 * supports all sending rates from 1/64 bytes/second up to 4Gbyte/second * simplifies the present overflow problems in calculations Current sending rate X and the cached value X_recv of the receiver-estimated sending rate are both scaled by 64 (2^6) in order to * cope with low sending rates (minimally 1 byte/second) * allow upgrading to use a packets-per-second implementation of CCID 3 * avoid calculation errors due to integer arithmetic cut-off The patch implements a revised strategy from http://www.mail-archive.com/dccp@vger.kernel.org/msg01040.html The only difference with regard to that strategy is that t_ipi is already used in the calculation of the nofeedback timeout, which saves one division. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 179ebc9f92da88e15ea86d7d27308c92712d8ee9 Author: Gerrit Renker Date: Sun Dec 10 00:01:22 2006 -0200 [DCCP] ccid3: Fix two bugs in sending rate computation This fixes 1) a bug in the recomputation of the sending rate by the nofeedback timer when no feedback at all has so far been sent by the receiver: min_t was used instead of max_t, which is wrong (cf. RFC 3448, p. 10); 2) an error in the computation of larger initial windows: instead of min(... max()) (cf. RFC 4342, 5.), the code had used max(... max()). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ff58629824c068e2a75402b5b83f12af0b36d394 Author: Gerrit Renker Date: Sun Dec 10 00:00:14 2006 -0200 [DCCP] ccid3: Two optimisations for sending rate recomputation This performs two optimisations for the recomputation of the sending rate. 1) Currently the target sending rate X_calc is recalculated whenever a) the nofeedback timer expires, or b) a feedback packet is received. In the (a) case, recomputing X_calc is redundant, since * the parameters p and RTT do not change in between the reception of feedback packets; * the parameter X_recv is either modified from received feedback or via the nofeedback timer; * a test (`p == 0') in the nofeedback timer avoids using a stale/undefined value of X_calc if p was previously 0. 2) The nofeedback timer now only recomputes a timestamp when p == 0. This is according to step (4) of [RFC 3448, 4.3] and avoids unnecessarily determining a timestamp. A debug statement about not updating X is also removed - it helps very little in debugging and just clutters the logs. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 45393a66a2c30fc8ed86e6c79a63a3cd5231c69f Author: Gerrit Renker Date: Sat Dec 9 23:59:14 2006 -0200 [DCCP] ccid3: Check against too large p This patch follows a suggestion by Ian McDonald and ensures that in the current code the value of p can not exceed 100%. Such a value is illegal and would consequently cause a bug condition in tfrc_calc_x(). The receiver case is also tested, and a warning message is added. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5fce9a2da8a3b4ed088d9c0ac7c938a638044fdb Author: Ian McDonald Date: Sat Dec 9 23:58:10 2006 -0200 [DCCP]: Update documentation As Eddie Kohler points out the RFC is Proposed Standard not experimental. Also removed documentation about deprecated socket option. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 5cc3741d6cc9f07d8ddd9c45cb5088460ce3364f Author: Ian McDonald Date: Sat Dec 9 23:56:09 2006 -0200 [DCCP]: Remove timeo from output.c It simplifies waiting for the CCID module to signal that a packet is ready to be sent. Other simplifications flow on from this such as removing constants. As a result of this EAGAIN is not returned any more by dccp_wait_for_ccid (which would otherwise lead to unnecessarily discarding the packet in dccp_write_xmit). Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit e37b8d931936f88e4b2af66304eb44e69510b86c Author: Andrew Morton Date: Sat Dec 9 14:01:49 2006 -0800 [NETPOLL]: Make sure TX lock is taken with BH disabled. Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 2653a47b8953f500be13207bdcbcfe803bc40c88 Author: Ralf Baechle Date: Sat Dec 9 13:59:25 2006 -0800 [ATM]: Ignore generated file pca200e_ecd.bin2 Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit ed407717852895e04f9e088e09a4f27bb56712b7 Author: Randy Dunlap Date: Sat Dec 9 13:58:42 2006 -0800 [NET]: Fix WAN routers kconfig dependency. Currently WAN router drivers can be built in-kernel while the register/unregister_wan_device interfaces are built as modules. This causes: drivers/built-in.o: In function `cycx_init': cycx_main.c:(.init.text+0x5c4b): undefined reference to `register_wan_device' drivers/built-in.o: In function `cycx_exit': cycx_main.c:(.exit.text+0x560): undefined reference to `unregister_wan_device' make: *** [.tmp_vmlinux1] Error 1 The problem is caused by tristate -> bool conversion (y or m => y), so convert WAN_ROUTER_DRIVERS to a tristate so that the correct dependency is preserved. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 686106ff5ed2cbcd3fc12a22e53c880cf0943eff Author: Herbert Xu Date: Fri Dec 8 13:59:52 2006 +1100 [CRYPTO] sha512: Fix sha384 block size The SHA384 block size should be 128 bytes, not 96 bytes. This was spotted by Andrew Donofrio. Fortunately the block size isn't actually used anywhere so this typo has had no real impact. Signed-off-by: Herbert Xu commit f06b97ffd1ed7a96d5022d52f795fba8483afb75 Author: Russell King Date: Mon Dec 11 22:29:16 2006 +0000 [ARM] Clean up KERNEL_RAM_ADDR Clean up the KERNEL_RAM_ADDR stuff in arch/arm/kernel/head.S to make it clearer what's referring to what. In doing so, remove the usage of __virt_to_phys(), which is not guaranteed to be something that the assembler can parse. Signed-off-by: Russell King commit 828ae6afbef03bfe107a4a8cc38798419d6a2765 Author: Andrew Beekhof Date: Mon Dec 4 14:04:55 2006 +0100 [patch 3/3] OCFS2 Configurable timeouts - Protocol changes Modify the OCFS2 handshake to ensure essential timeouts are configured identically on all nodes. Only allow changes when there are no connected peers Improves the logic in o2net_advance_rx() which broke now that sizeof(struct o2net_handshake) is greater than sizeof(struct o2net_msg) Included is the field for userspace-heartbeat timeout to avoid the need for further protocol changes. Uses a global spinlock to ensure the decisions to update configfs entries are made on the correct value. The region covered by the spinlock when incrementing the counter is much larger as this is the more critical case. Small cleanup contributed by Adrian Bunk Signed-off-by: Andrew Beekhof Signed-off-by: Mark Fasheh commit e45116b8d71ece9dbe41b114368ff7aebe3ae41a Author: Brice Goglin Date: Mon Dec 11 20:14:15 2006 +0100 [PATCH] Fix typo in 'EXPERIMENTAL' in CC_STACKPROTECTOR on x86_64 Fix typo in 'EXPERIMENTAL' in config CC_STACKPROTECTOR in arch/x86_64/Kconfig. Signed-off-by: Brice Goglin Signed-off-by: Linus Torvalds commit 022416967a814aa1b3a9476a842c0947a1a9d784 Author: David Howells Date: Mon Dec 11 13:16:05 2006 +0000 [PATCH] LOG2: Make powerpc's __ilog2_u64() take a 64-bit argument Make powerpc's __ilog2_u64() take a 64-bit argument. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 8d610dd52dd1da696e199e4b4545f33a2a5de5c6 Author: Linus Torvalds Date: Mon Dec 11 12:12:04 2006 -0800 Make sure we populate the initroot filesystem late enough We should not initialize rootfs before all the core initializers have run. So do it as a separate stage just before starting the regular driver initializers. Signed-off-by: Linus Torvalds commit 8993780a6e44fb4e7ed34e33458506a775356c6e Author: Linus Torvalds Date: Mon Dec 11 09:28:46 2006 -0800 Make SLES9 "get_kernel_version" work on the kernel binary again As reported by Andy Whitcroft, at least the SLES9 initrd build process depends on getting the kernel version from the kernel binary. It does that by simply trawling the binary and looking for the signature of the "linux_banner" string (the string "Linux version " to be exact. Which is really broken in itself, but whatever..) That got broken when the string was changed to allow /proc/version to change the UTS release information dynamically, and "get_kernel_version" thus returned "%s" (see commit a2ee8649ba6d71416712e798276bf7c40b64e6e5: "[PATCH] Fix linux banner utsname information"). This just restores "linux_banner" as a static string, which should fix the version finding. And /proc/version simply uses a different string. To avoid wasting even that miniscule amount of memory, the early boot string should really be marked __initdata, but that just causes the same bug in SLES9 to re-appear, since it will then find other occurrences of "Linux version " first. Cc: Andy Whitcroft Acked-by: Herbert Poetzl Cc: Andi Kleen Cc: Andrew Morton Cc: Steve Fox Acked-by: Olaf Hering Signed-off-by: Linus Torvalds commit 8af905b4a403ce74b8d907b50bccc453a58834bc Author: Paul Mundt Date: Mon Dec 11 19:30:06 2006 +0900 [PATCH] smc91x: Kill off excessive versatile hooks. This looks like a result of too many auto-merges. The CONFIG_ARCH_VERSATILE case was handled a total of 6 times. This kills 5 of them. Signed-off-by: Paul Mundt -- drivers/net/smc91x.h | 90 --------------------------------------------------- 1 file changed, 90 deletions(-) Signed-off-by: Jeff Garzik commit 5796df19824bef34aabf5656f447b3b170d34c3b Author: Brice Goglin Date: Mon Dec 11 11:27:55 2006 +0100 [PATCH] myri10ge: update driver version to 1.1.0 Update driver version to 1.1.0. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 13348beee529cd1200deeac161e1b2de0705b495 Author: Brice Goglin Date: Mon Dec 11 11:27:19 2006 +0100 [PATCH] myri10ge: fix big_bytes in case of vlan frames Fix sizing of big_bytes in the case of vlan frames. The 4 VLAN_HLEN bytes were omitted, leading to sizing the big buffer 4 bytes smaller than it should be. Due to how rx buffers are carved from pages, this was harmless for the common (9000, 1500) byte MTUs, but could lead to data corruption for some MTUs. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit de3c4507047f2457359551c49b093669acb4f190 Author: Brice Goglin Date: Mon Dec 11 11:26:38 2006 +0100 [PATCH] myri10ge: Full vlan frame in small_bytes Receive full vlan frames into smalls when running with a jumbo MTU. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 52ea6fb39b6fd08ec8718b92cddb3fed2165a921 Author: Brice Goglin Date: Mon Dec 11 11:26:12 2006 +0100 [PATCH] myri10ge: drop contiguous skb routines Drop the old routines that used the physically contigous skb now that we use the physical pages. And rename myri10ge_page_rx_done() to myri10ge_rx_done() as it was previously. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit c7dab99b080accb2751c96bf66cd5ab12c78f8e4 Author: Brice Goglin Date: Mon Dec 11 11:25:42 2006 +0100 [PATCH] myri10ge: switch to page-based skb Switch to physical page skb, by calling the new page-based allocation routines and using myri10ge_page_rx_done(). Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit dd50f3361f9f0bb407658e9087947c9bdcdefffc Author: Brice Goglin Date: Mon Dec 11 11:25:09 2006 +0100 [PATCH] myri10ge: add page-based skb routines Add physical page skb allocation routines and page based rx_done, to be used by upcoming patches. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 6250223e055764efcaef3809a9f2350edfc82bbc Author: Brice Goglin Date: Mon Dec 11 11:24:37 2006 +0100 [PATCH] myri10ge: indentation cleanups Indentation cleanups to synchronize to our tree which is automatically indent'ed. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 7fe26a60e08f38c797851fb3b444d753af616112 Author: Stephen Hemminger Date: Fri Dec 8 11:08:33 2006 -0800 [PATCH] chelsio: working NAPI This driver tries to enable/disable NAPI at runtime, but does so in an unsafe manner, and the NAPI interrupt handling is a mess. Replace it with a compile time selected NAPI implementation. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 0f0d84e52cb2a6e0b1d101484a92121410135da1 Author: Haavard Skinnemoen Date: Fri Dec 8 14:38:30 2006 +0100 [PATCH] MACB: Use __raw register access Since macb is a chip-internal device, use __raw_readl and __raw_writel instead of readl/writel. This will perform native-endian accesses, which is the right thing to do on both AVR32 and ARM devices. Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit d836cae4f683211f14c1fd8184f478622b185164 Author: Haavard Skinnemoen Date: Fri Dec 8 14:37:35 2006 +0100 [PATCH] MACB: Use struct delayed_work instead of struct work_struct The macb driver calls schedule_delayed_work() and friends, so we need to use a struct delayed_work along with it. The conversion was explained by David Howells on lkml Dec 5 2006: http://lkml.org/lkml/2006/12/5/269 Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 68dc44af632944dff6c8b36013d32a254fe62de4 Author: Scott Wood Date: Thu Dec 7 13:31:26 2006 -0600 [PATCH] ucc_geth: Initialize mdio_lock. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 1083cfe11285816fb2e2e36aad097f1c3b6db915 Author: Scott Wood Date: Thu Dec 7 13:31:07 2006 -0600 [PATCH] ucc_geth: compilation error fixes Fix compilation failures when building the ucc_geth driver with spinlock debugging. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 99eeb8dfb1ce3df744e2e0d00dd627d7a8199ef0 Author: Andrew Victor Date: Mon Dec 11 12:40:23 2006 +0100 AT91 MMC update for 2.6.19 The driver is usable on the newer SAM9 processors so replace all text references to AT91RM9200 with just AT91. The controller bug where all the words are byte-swapped is fixed on the AT91SAM9 processors. The byte-swapping work-around therefore only needs to be done if cpu_is_at91rm9200(). [Original patch from Wojtek Kaniewski] The AT91RM9200 and AT91SAM9260 processors support two MMC/SD slots - the slot which is connected is now passed via the platform_data and the correct slot selected in the AT91_MCI_SDCR register. The driver should not be calling at91_set_gpio_output() since the VCC pin should have already been configured as an output in the processor/board setup code. The driver should call at91_set_gpio_value(). Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit a98087cf81e91999a91ceedb2d2e3a95827c651f Author: Pierre Ossman Date: Thu Dec 7 19:17:20 2006 +0100 mmc: Change SDHCI iomem error to a warning Some controllers report an invalid iomem size, but seem to work correctly anyway. Change our current error to just a warning and hope it doesn't cause too much problems. Signed-off-by: Pierre Ossman commit 7b30d281b9c115890c75d11eaf06881261c256da Author: Vitaly Wool Date: Thu Dec 7 20:08:02 2006 +0100 mmc: fix "prev->state: 2 != TASK_RUNNING??" problem on SD/MMC card removal Currently on SD/MMC card removal the system exhibits the following message (the platform is ARM Versatile): prev->state: 2 != TASK_RUNNING?? mmcqd/762[CPU#0]: BUG in __schedule at linux-2.6/kernel/sched.c:3826 (akpm: someone tried to fix this, but it's still wrong) Signed-off-by: Vitaly Wool Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit f3a8efa90b1aab16ead76ad7e22d9c5fc2045400 Author: Andrew Victor Date: Mon Oct 23 14:53:20 2006 +0200 AT91 MMC 5 : Minor cleanups A number of small cleanups to the AT91RM9200 MMC driver: - fix warnings generated by pr_debug(). - prepend "AT91 MMC:" to printk() messages. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit df05a303e3b8a0c32764941200bec76d729126bc Author: Andrew Victor Date: Mon Oct 23 14:50:09 2006 +0200 AT91 MMC 4 : Interrupt handler cleanup This patch simplifies the AT91RM9200 MMC interrupt handler code so that it doesn't re-read the Interrupt Status and Interrupt Mask registers multiple times. Also defined AT91_MCI_ERRORS instead of using the hard-coded 0xffff0000. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit 3dd3b039d489dfbc907c64a161fd2231ddcdea48 Author: Andrew Victor Date: Mon Oct 23 14:46:54 2006 +0200 AT91 MMC 3 : Move global mci_clk variable Move the global 'mci_clk' variable into the local 'at91mci_host' structure. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit 17ea0595f4e89932ac9297a3850fba8b4ecb461e Author: Andrew Victor Date: Mon Oct 23 14:44:40 2006 +0200 AT91 MMC 2 : Use platform resources Use the I/O base-address and IRQ passed to the driver via the platform_device resources instead of using hardcoded values. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit e0b19b83656731fc93f9a82592ebcad82c3e0944 Author: Andrew Victor Date: Wed Oct 25 19:42:38 2006 +0200 AT91 MMC 1: Pass host structure. The I/O base address is now stored in the 'at91mci_host' structure. We therefore have to pass this structure to at91_mci_read() and at91_mci_write(). Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit 73c9ceab40b1269d6195e556773167c078ac8311 Author: Jeremy Fitzhardinge Date: Fri Dec 8 03:30:41 2006 -0800 [POWERPC] Generic BUG for powerpc This makes powerpc use the generic BUG machinery. The biggest reports the function name, since it is redundant with kallsyms, and not needed in general. There is an overall reduction of code, since module_32/64 duplicated several functions. Unfortunately there's no way to tell gcc that BUG won't return, so the BUG macro includes a goto loop. This will generate a real jmp instruction, which is never used. [akpm@osdl.org: build fix] [paulus@samba.org: remove infinite loop in BUG_ON] Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d10f73480b991da2aa1c000ed38eda3e4a987292 Author: Kumar Gala Date: Sun Dec 10 23:26:16 2006 -0600 [PPC] Fix compile failure do to introduction of PHY_POLL PHY_POLL is defined in include it in so board code will have it defined. Signed-off-by: Kumar Gala commit 45d8e7aaf47668550fdb6c2d3abbe42f48a76df2 Author: Kumar Gala Date: Sun Dec 10 23:15:47 2006 -0600 [POWERPC] Only export __mtdcr/__mfdcr if CONFIG_PPC_DCR is set On 85xx we don't build in dcr support because the core doesn't implement the instructions. This caused problems when building an 85xx kernel. Additionally made it so we only build __mtdcr/__mfdcr if we are CONFIG_PPC_DCR_NATIVE. The 85xx build issue wasPointed out by Dai Haruki. Signed-off-by: Kumar Gala commit 4383162c8f2fa75d916c4901b0d1ebcac7aeaf74 Author: Benjamin Herrenschmidt Date: Mon Dec 11 15:08:40 2006 +1100 [POWERPC] Remove old dcr.S When I renamed dcr.S to dcr_low.S (and added dcr.c) it looks like the old dcr.S file didn't properly get removed. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 39f44be375d07a977ba68f900c87cea97cb05f4a Author: Paul Mackerras Date: Mon Dec 11 15:13:37 2006 +1100 [POWERPC] Fix SPU coredump code for max_fdset removal Commit bbea9f69668a3d0cf9feba15a724cd02896f8675 removed the max_fdset element of struct fdtable. It appears that checking max_fds is sufficient now. Signed-off-by: Paul Mackerras commit dae4828d66ac6db353dee213c594257929a310cb Author: Benjamin Herrenschmidt Date: Mon Dec 11 14:09:07 2006 +1100 [POWERPC] Fix irq routing on some 32-bit PowerMacs The changes to use pci_read_irq_line() broke interrupt parsing on some 32-bit powermacs (oops). The reason is a bit obscure. The code to parse interrupts happens earlier now, during pcibios_fixup() as the PCI bus is being probed. However, the current implementation pci_device_to_OF_node() for 32-bit powerpc relies, on machines like PowerMac which renumber PCI buses, on a table called pci_OF_bus_map containing a map of bus numbers between the kernel and the firmware which is setup only later. Thus, it fails to match the device node. In addition, some of Apple internal PCI devices lack a proper PCI_INTERRUPT_PIN, thus preventing the fallback mapping code to work. This patch fixes it by making pci_device_to_OF_node() 32-bit implementation use a different algorithm that works without using the pci_OF_bus_map thing (which I intend to deprecate anyway). It's a bit slower but that function isn't called in any hot path hopefully. Signed-off-by: Benjamin Herrenschmidt commit 74e95d5de9d8eb243cda68b546bdb29f6ef0f01c Author: Geoff Levand Date: Fri Dec 8 18:27:47 2006 -0800 [POWERPC] ps3: Add vuart support Adds support for the PS3 virtual UART (vuart). The vuart provides a bi-directional byte stream data link between logical partitions. This is needed for the ps3 graphics driver and the ps3 power control support to be able to communicate with the lv1 policy module. Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0204568a088fecd5478153504f9476ee2c46d5bf Author: Paul Mackerras Date: Wed Nov 29 22:27:42 2006 +1100 [POWERPC] Support ibm,dynamic-reconfiguration-memory nodes For PAPR partitions with large amounts of memory, the firmware has an alternative, more compact representation for the information about the memory in the partition and its NUMA associativity information. This adds the code to the kernel to parse this alternative representation. The other part of this patch is telling the firmware that we can handle the alternative representation. There is however a subtlety here, because the firmware will invoke a reboot if the memory representation we request is different from the representation that firmware is currently using. This is because firmware can't change the representation on the fly. Further, some firmware versions used on POWER5+ machines have a bug where this reboot leaves the machine with an altered value of load-base, which will prevent any kernel booting until it is reset to the normal value (0x4000). Because of this bug, we do NOT set fake_elf.rpanote.new_mem_def = 1, and thus we do not request the new representation on POWER5+ and earlier machines. We do request the new representation on POWER6, which uses the ibm,client-architecture-support call. Signed-off-by: Paul Mackerras commit 9202f32558601c2c99ddc438eb3218131d00d413 Author: Ralf Baechle Date: Sun Dec 10 18:43:59 2006 +0000 [MIPS] Export local_flush_data_cache_page for sake of IDE. On a CPU with aliases the IDE core needs to flush caches in the special IDE variants of insw, insl etc. If IDE support is built as a module this will only work if local_flush_data_cache_page happens is exported as a module. As per policy export local_flush_data_cache_page as GPL symbol only. Signed-off-by: Ralf Baechle commit f8bf35a9145b0831d7d110402662d9cff2d90bd9 Author: Ralf Baechle Date: Sun Dec 10 15:09:38 2006 +0000 [MIPS] Export pm_power_off This is required for ipmi_poweroff.c to work as a module. Signed-off-by: Ralf Baechle commit ae32ffd65bbcc32795bb9b58ed12941efeb03dff Author: Ralf Baechle Date: Sun Dec 10 15:05:11 2006 +0000 [MIPS] Export csum_partial_copy_nocheck. ibmtr.c and typhoon.c use it. Signed-off-by: Ralf Baechle commit 2d911e9a4e74ddbd059f9dabea402a119ef22e3d Author: Ralf Baechle Date: Sun Dec 10 15:02:17 2006 +0000 [MIPS] Move die and die_if_kernel() from system.h to ptrace.h This eleminates the need to include ptrace.h into system.h and fixes a harmless namespace conflict on the PC symbol in bpck.c. Signed-off-by: Ralf Baechle commit 86384d544157db23879064cde36061cdcafc6794 Author: Ralf Baechle Date: Sun Dec 10 14:57:28 2006 +0000 [MIPS] Discard .exit.text at linktime. This fixes fairly unobvious breakage of various drivers. Signed-off-by: Ralf Baechle commit 5b1d221e6292f9fcf9f12d6c9e94ee9470ee2a24 Author: Ralf Baechle Date: Sat Dec 9 16:12:18 2006 +0000 [MIPS] Fix build of several IDE drivers by providing pci_get_legacy_ide_irq Signed-off-by: Ralf Baechle commit d7aef138f3c08c5bbab567bc9a84e43a88f50395 Author: Jean Delvare Date: Sun Dec 10 21:21:34 2006 +0100 i2c: Fix OMAP clock prescaler to match the comment Signed-off-by: Jean Delvare Signed-off-by: Tony Lindgren commit 07125ab2c2641e976bbaf3b89a735ad5a99e25d3 Author: Jean Delvare Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Refactor a kfree in i2c-dev Refactor kfree(i2c_dev) into return_i2c_dev(). This saves some code and makes more sense, as the memory is allocated in get_free_i2c_dev(). Signed-off-by: Jean Delvare Cc: Greg Kroah-Hartman commit 3bacb36db01c7541ffea21d4ff39219e8b211a5c Author: Akinobu Mita Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Fix return value check in i2c-dev device_create() returns error code as pointer on failures. This patch checks the return value of device_create() by using IS_ERR(). Signed-off-by: Akinobu Mita Cc: Greg Kroah-Hartman Signed-off-by: Jean Delvare commit 250d1bd3f4ed0b50d79b3ec81ccefbabb203f916 Author: Jean Delvare Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Enable PEC on more i2c-i801 devices Enable PEC on recent Intel SMBus controllers (ICH6, ICH7, ICH8, ICH9 and ESB2.) Signed-off-by: Jean Delvare Acked-by: Jason Gaston commit 3269711b76ba27b78862c48398b0d313ccaa99c2 Author: Jean Delvare Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Discard the i2c algo del_bus wrappers They are all only calling i2c_del_adapter, so we may as well do it directly. Signed-off-by: Jean Delvare commit 6b65cd742823f78a6538491982159098ab5fcae1 Author: Russell King Date: Sun Dec 10 21:21:32 2006 +0100 i2c: New ARM Versatile/Realview bus driver Add support for the I2C bus found on the ARM Versatile and Realview platforms. The I2C bus has a RTC and optionally some EEPROMs attached. Signed-off-by: Russell King Signed-off-by: Jean Delvare commit 763d9c046a2e511ec090a8986d3f85edf7448e7e Author: Dirk Eibach Date: Sun Dec 10 21:21:31 2006 +0100 i2c: fix broken ds1337 initialization On a custom board with ds1337 RTC I found that upgrade from 2.6.15 to 2.6.18 broke RTC support. The main problem are changes to ds1337_init_client(). When a ds1337 recognizes a problem (e.g. power or clock failure) bit 7 in status register is set. This has to be reset by writing 0 to status register. But since there are only 16 byte written to the chip and the first byte is interpreted as an address, the status register (which is the 16th) is never written. The other problem is, that initializing all registers to zero is not valid for day, date and month register. Funny enough this is checked by ds1337_detect(), which depends on this values not being zero. So then treated by ds1337_init_client() the ds1337 is not detected anymore, whereas the failure bit in the status register is still set. Signed-off-by: Dirk Stieler Signed-off-by: Dirk Eibach Signed-off-by: Jean Delvare commit a980a99ae5ada5260ddae15da45582dad32dbb93 Author: Jason Gaston Date: Sun Dec 10 21:21:31 2006 +0100 i2c: i2c-i801 documentation update Add the Intel ICH9/ICH8/ESB2 SMBus Controller text to i2c-i801 documentation. Signed-off-by: Jason Gaston Signed-off-by: Jean Delvare commit 7b77d065d1e79a9c0b1b114d059b3bc3d8206c4d Author: Jean Delvare Date: Sun Dec 10 21:21:31 2006 +0100 i2c: Use the __ATTR macro where possible Signed-off-by: Jean Delvare commit 438d6c2c015cf63bf7e9bdc2033d435433ac8455 Author: David Brownell Date: Sun Dec 10 21:21:31 2006 +0100 i2c: Whitespace cleanups Remove extraneous whitespace from various i2c headers and core files, like space-before-tab and whitespace at end of line. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 2c003e8e1c0c241aec162ba9ec781089c5b2ff3f Author: Jean Delvare Date: Sun Dec 10 21:21:30 2006 +0100 i2c: Use put_user instead of copy_to_user where possible This speeds up the I2C_FUNCS ioctl by 5 to 8% in my tests. Signed-off-by: Jean Delvare Laughed-at-by: Mark M. Hoffman commit 813e30e9ab917f5493147451cfdbf6356a3dcee0 Author: Andrew Victor Date: Sun Dec 10 21:21:30 2006 +0100 i2c: New Atmel AT91 bus driver Add support for the I2C (Two-wire interface) controller integrated in the Atmel AT91RM9200 processor. This driver should also be usable on the Atmel AT91SAM9261 and AT91SAM9260 processors. Signed-off-by: Andrew Victor Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit 6ea23039cb1cc7c379eb5fba0ed2c53291e9bea7 Author: Jiri Kosina Date: Sun Dec 10 21:21:30 2006 +0100 i2c: Add support for nested i2c bus locking This patch adds the 'level' field into the i2c_adapter structure, which is used to represent the 'logical' level of nesting for the purposes of lockdep. This field is then used in the i2c_transfer() function, to acquire the per-adapter bus_lock with correct nesting level. Signed-off-by: Jiri Kosina Signed-off-by: Jean Delvare commit ad04d5c3879dcf79ba0fa1826eab991f7b7a2de8 Author: Hans-Frieder Vogt Date: Sun Dec 10 21:21:29 2006 +0100 i2c: Cleanups to the i2c-nforce2 bus driver Summary of changes: - fixes: o legacy I/O region size is 64 bytes, not 8 bytes - general cleanup: o removed code for the unsupported I2C block data, block data, proc call and block proc call transfer modes o removed detail warnings about unsupported modes that are covered in a general warning (unsupported transaction...) anyway o removed necessity of a definition of struct i2c_adapter o moved definition of struct i2c_algorithm, making forward declarations of nforce2_access and nforce2_func unnecessary - minor changes: o in the description mention the nForce 5xx chipsets o changes my e-mail address in MODULE_AUTHOR Theses cleanups shrink the driver binary size from 4.0 kB to 2.7 kB on i386. Signed-off-by: Hans-Frieder Vogt Signed-off-by: Jean Delvare commit 31c095b09ea2fe6a4c752fccaabd9025e1c6e7c7 Author: Jean-Baptiste Maneyrol Date: Sun Dec 10 21:21:29 2006 +0100 i2c: Add request/release_mem_region to i2c-ibm_iic bus driver Reserving I/O memory for a driver with request_mem_region is necessary to avoid memory access conflicts. Even if it's never going to happen, it is cleaner and it allows to monitor I/O memory used in /proc/iomem. Signed-off-by: Jean-Baptiste Maneyrol Signed-off-by: Jean Delvare commit 41561f28e76a47dc6de0a954da85d0b5c42874eb Author: Vitaly Wool Date: Sun Dec 10 21:21:29 2006 +0100 i2c: New Philips PNX bus driver New I2C bus driver for Philips ARM boards (Philips IP3204 I2C IP block). This I2C controller can be found on (at least) PNX010x, PNX52xx and PNX4008 Philips boards. Signed-off-by: Vitaly Wool Signed-off-by: Jean Delvare commit 51fd554b6547b74c7e6d1f52885ba8532b531023 Author: Jean Delvare Date: Sun Dec 10 21:21:29 2006 +0100 i2c: Delete the broken i2c-ite bus driver The rest of the ITE8172 support was already removed from MIPS tree. Signed-off-by: Jean Delvare Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle commit 36cfb5ccfa39ddd030926d08fcf80ba553c88737 Author: Jean Delvare Date: Sun Dec 10 21:21:28 2006 +0100 i2c: Update the list of driver IDs * A chip driver ID was assigned to the Radeon, while it is an adapter so it needs an i2c adapter ID. * The SAA7191 is a video decoder, not encoder. * The icspll driver is dead, and will never be ported to Linux 2.6. Signed-off-by: Jean Delvare commit 26f95c4ae2b1fd1b03531b3d662fc21beedce955 Author: Jean Delvare Date: Sun Dec 10 21:21:28 2006 +0100 i2c: Fix documentation typos Fix typos in i2c bus drivers documentation. Signed-off-by: Jean Delvare commit 3263263f7091eccab6fdc23f28f09b17c0466629 Author: Herbert Xu Date: Sun Dec 10 09:50:36 2006 +1100 [CRYPTO] dm-crypt: Select CRYPTO_CBC As CBC is the default chaining method for cryptoloop, we should select it from cryptoloop to ease the transition. Spotted by Rene Herman. Signed-off-by: Herbert Xu Signed-off-by: Linus Torvalds commit 0258736a0a2cde8ab30725b601aeca4cf8bc93ab Author: Cal Peake Date: Sun Dec 10 06:22:05 2006 -0500 [PATCH] add MODULE_* attributes to bit reversal library Add MODULE_* attributes to the new bit reversal library. Most notably MODULE_LICENSE which prevents superfluous kernel tainting. Signed-off-by: Cal Peake Signed-off-by: Linus Torvalds commit 6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7 Author: Avi Kivity Date: Sun Dec 10 02:21:36 2006 -0800 [PATCH] kvm: userspace interface web site: http://kvm.sourceforge.net mailing list: kvm-devel@lists.sourceforge.net (http://lists.sourceforge.net/lists/listinfo/kvm-devel) The following patchset adds a driver for Intel's hardware virtualization extensions to the x86 architecture. The driver adds a character device (/dev/kvm) that exposes the virtualization capabilities to userspace. Using this driver, a process can run a virtual machine (a "guest") in a fully virtualized PC containing its own virtual hard disks, network adapters, and display. Using this driver, one can start multiple virtual machines on a host. Each virtual machine is a process on the host; a virtual cpu is a thread in that process. kill(1), nice(1), top(1) work as expected. In effect, the driver adds a third execution mode to the existing two: we now have kernel mode, user mode, and guest mode. Guest mode has its own address space mapping guest physical memory (which is accessible to user mode by mmap()ing /dev/kvm). Guest mode has no access to any I/O devices; any such access is intercepted and directed to user mode for emulation. The driver supports i386 and x86_64 hosts and guests. All combinations are allowed except x86_64 guest on i386 host. For i386 guests and hosts, both pae and non-pae paging modes are supported. SMP hosts and UP guests are supported. At the moment only Intel hardware is supported, but AMD virtualization support is being worked on. Performance currently is non-stellar due to the naive implementation of the mmu virtualization, which throws away most of the shadow page table entries every context switch. We plan to address this in two ways: - cache shadow page tables across tlb flushes - wait until AMD and Intel release processors with nested page tables Currently a virtual desktop is responsive but consumes a lot of CPU. Under Windows I tried playing pinball and watching a few flash movies; with a recent CPU one can hardly feel the virtualization. Linux/X is slower, probably due to X being in a separate process. In addition to the driver, you need a slightly modified qemu to provide I/O device emulation and the BIOS. Caveats (akpm: might no longer be true): - The Windows install currently bluescreens due to a problem with the virtual APIC. We are working on a fix. A temporary workaround is to use an existing image or install through qemu - Windows 64-bit does not work. That's also true for qemu, so it's probably a problem with the device model. [bero@arklinux.org: build fix] [simon.kagstrom@bth.se: build fix, other fixes] [uril@qumranet.com: KVM: Expose interrupt bitmap] [akpm@osdl.org: i386 build fix] [mingo@elte.hu: i386 fixes] [rdreier@cisco.com: add log levels to all printks] [randy.dunlap@oracle.com: Fix sparse NULL and C99 struct init warnings] [anthony@codemonkey.ws: KVM: AMD SVM: 32-bit host support] Signed-off-by: Yaniv Kamay Signed-off-by: Avi Kivity Cc: Simon Kagstrom Cc: Bernhard Rosenkraenzer Signed-off-by: Uri Lublin Cc: Ingo Molnar Cc: Roland Dreier Signed-off-by: Randy Dunlap Signed-off-by: Anthony Liguori Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f1a24a2caa299bb7d294aee92d7dd3410d9ed7 Author: Daniel Walker Date: Sun Dec 10 02:21:33 2006 -0800 [PATCH] clocksource: small cleanup Mostly changing alignment. Just some general cleanup. [akpm@osdl.org: build fix] Signed-off-by: Daniel Walker Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b0137001de68153203dd3bc20e6d27eb7c9719c Author: Daniel Walker Date: Sun Dec 10 02:21:30 2006 -0800 [PATCH] clocksource: add usage of CONFIG_SYSFS Simply adds some ifdefs to remove clocksoure sysfs code when CONFIG_SYSFS isn't turn on. Signed-off-by: Daniel Walker Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b2842146cb4105877c2be51d3857ec61ebd4ff9 Author: Arjan van de Ven Date: Sun Dec 10 02:21:28 2006 -0800 [PATCH] user of the jiffies rounding patch: Slab This patch introduces users of the round_jiffies() function in the slab code. The slab code has a few "run every second" timers for background work; these are obviously not timing critical as long as they happen roughly at the right frequency. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44d306e1508fef6fa7a6eb15a1aba86ef68389a6 Author: Arjan van de Ven Date: Sun Dec 10 02:21:26 2006 -0800 [PATCH] user of the jiffies rounding code: JBD This patch introduces a user: of the round_jiffies() function; the "5 second" ext3/jbd wakeup. While "every 5 seconds" doesn't sound as a problem, there can be many of these (and these timers do add up over all the kernel). The "5 second" wakeup isn't really timing sensitive; in addition even with rounding it'll still happen every 5 seconds (with the exception of the very first time, which is likely to be rounded up to somewhere closer to 6 seconds) Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c36a5dec25fb344ad76b11860da3a8b50bd1248 Author: Arjan van de Ven Date: Sun Dec 10 02:21:24 2006 -0800 [PATCH] round_jiffies infrastructure Introduce a round_jiffies() function as well as a round_jiffies_relative() function. These functions round a jiffies value to the next whole second. The primary purpose of this rounding is to cause all "we don't care exactly when" timers to happen at the same jiffy. This avoids multiple timers firing within the second for no real reason; with dynamic ticks these extra timers cause wakeups from deep sleep CPU sleep states and thus waste power. The exact wakeup moment is skewed by the cpu number, to avoid all cpus from waking up at the exact same time (and hitting the same lock/cachelines there) [akpm@osdl.org: fix variable type] Signed-off-by: Arjan van de Ven Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5466b456ed6748e0bfe02831e570004d4c04c1d7 Author: Vadim Lobanov Date: Sun Dec 10 02:21:22 2006 -0800 [PATCH] fdtable: Implement new pagesize-based fdtable allocator This patch provides an improved fdtable allocation scheme, useful for expanding fdtable file descriptor entries. The main focus is on the fdarray, as its memory usage grows 128 times faster than that of an fdset. The allocation algorithm sizes the fdarray in such a way that its memory usage increases in easy page-sized chunks. The overall algorithm expands the allowed size in powers of two, in order to amortize the cost of invoking vmalloc() for larger allocation sizes. Namely, the following sizes for the fdarray are considered, and the smallest that accommodates the requested fd count is chosen: pagesize / 4 pagesize / 2 pagesize <- memory allocator switch point pagesize * 2 pagesize * 4 ...etc... Unlike the current implementation, this allocation scheme does not require a loop to compute the optimal fdarray size, and can be done in efficient straightline code. Furthermore, since the fdarray overflows the pagesize boundary long before any of the fdsets do, it makes sense to optimize run-time by allocating both fdsets in a single swoop. Even together, they will still be, by far, smaller than the fdarray. The fdtable->open_fds is now used as the anchor for the fdset memory allocation. Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd45812cbe875a620c86a096a5d46c742694b7e Author: Vadim Lobanov Date: Sun Dec 10 02:21:17 2006 -0800 [PATCH] fdtable: Remove the free_files field An fdtable can either be embedded inside a files_struct or standalone (after being expanded). When an fdtable is being discarded after all RCU references to it have expired, we must either free it directly, in the standalone case, or free the files_struct it is contained within, in the embedded case. Currently the free_files field controls this behavior, but we can get rid of it entirely, as all the necessary information is already recorded. We can distinguish embedded and standalone fdtables using max_fds, and if it is embedded we can divine the relevant files_struct using container_of(). Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbea9f69668a3d0cf9feba15a724cd02896f8675 Author: Vadim Lobanov Date: Sun Dec 10 02:21:12 2006 -0800 [PATCH] fdtable: Make fdarray and fdsets equal in size Currently, each fdtable supports three dynamically-sized arrays of data: the fdarray and two fdsets. The code allows the number of fds supported by the fdarray (fdtable->max_fds) to differ from the number of fds supported by each of the fdsets (fdtable->max_fdset). In practice, it is wasteful for these two sizes to differ: whenever we hit a limit on the smaller-capacity structure, we will reallocate the entire fdtable and all the dynamic arrays within it, so any delta in the memory used by the larger-capacity structure will never be touched at all. Rather than hogging this excess, we shouldn't even allocate it in the first place, and keep the capacities of the fdarray and the fdsets equal. This patch removes fdtable->max_fdset. As an added bonus, most of the supporting code becomes simpler. Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d19c90fb117a5f080310a4592929aa8e1ad8e9 Author: Vadim Lobanov Date: Sun Dec 10 02:21:09 2006 -0800 [PATCH] fdtable: Delete pointless code in dup_fd() The dup_fd() function creates a new files_struct and fdtable embedded inside that files_struct, and then possibly expands the fdtable using expand_files(). The out_release error path is invoked when expand_files() returns an error code. However, when this attempt to expand fails, the fdtable is left in its original embedded form, so it is pointless to try to free the associated fdarray and fdsets. Signed-off-by: Vadim Lobanov Cc: Dipankar Sarma Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5eb6c7a2ab413dea1ee6c08dd58263a1c2c2efa3 Author: Zach Brown Date: Sun Dec 10 02:21:07 2006 -0800 [PATCH] dio: lock refcount operations The wait_for_more_bios() function name was poorly chosen. While looking to clean it up it I noticed that the dio struct refcounting between the bio completion and dio submission paths was racey. The bio submission path was simply freeing the dio struct if atomic_dec_and_test() indicated that it dropped the final reference. The aio bio completion path was dereferencing its dio struct pointer *after dropping its reference* based on the remaining number of references. These two paths could race and result in the aio bio completion path dereferencing a freed dio, though this was not observed in the wild. This moves the refcount under the bio lock so that bio completion can drop its reference and decide to wake all in one atomic step. Once testing and waking is locked dio_await_one() can test its sleeping condition and mark itself uninterruptible under the lock. It gets simpler and wait_for_more_bios() disappears. The addition of the interrupt masking spin lock acquiry in dio_bio_submit() looks alarming. This lock acquiry existed in that path before the recent dio completion patch set. We shouldn't expect significant performance regression from returning to the behaviour that existed before the completion clean up work. This passed 4k block ext3 O_DIRECT fsx and aio-stress on an SMP machine. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Cc: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8459d86aff04fa53c2ab6a6b9f355b3063cc8014 Author: Zach Brown Date: Sun Dec 10 02:21:05 2006 -0800 [PATCH] dio: only call aio_complete() after returning -EIOCBQUEUED The only time it is safe to call aio_complete() is when the ->ki_retry function returns -EIOCBQUEUED to the AIO core. direct_io_worker() has historically done this by relying on its caller to translate positive return codes into -EIOCBQUEUED for the aio case. It did this by trying to keep conditionals in sync. direct_io_worker() knew when finished_one_bio() was going to call aio_complete(). It would reverse the test and wait and free the dio in the cases it thought that finished_one_bio() wasn't going to. Not surprisingly, it ended up getting it wrong. 'ret' could be a negative errno from the submission path but it failed to communicate this to finished_one_bio(). direct_io_worker() would return < 0, it's callers wouldn't raise -EIOCBQUEUED, and aio_complete() would be called. In the future finished_one_bio()'s tests wouldn't reflect this and aio_complete() would be called for a second time which can manifest as an oops. The previous cleanups have whittled the sync and async completion paths down to the point where we can collapse them and clearly reassert the invariant that we must only call aio_complete() after returning -EIOCBQUEUED. direct_io_worker() will only return -EIOCBQUEUED when it is not the last to drop the dio refcount and the aio bio completion path will only call aio_complete() when it is the last to drop the dio refcount. direct_io_worker() can ensure that it is the last to drop the reference count by waiting for bios to drain. It does this for sync ops, of course, and for partial dio writes that must fall back to buffered and for aio ops that saw errors during submission. This means that operations that end up waiting, even if they were issued as aio ops, will not call aio_complete() from dio. Instead we return the return code of the operation and let the aio core call aio_complete(). This is purposely done to fix a bug where AIO DIO file extensions would call aio_complete() before their callers have a chance to update i_size. Now that direct_io_worker() is explicitly returning -EIOCBQUEUED its callers no longer have to translate for it. XFS needs to be careful not to free resources that will be used during AIO completion if -EIOCBQUEUED is returned. We maintain the previous behaviour of trying to write fs metadata for O_SYNC aio+dio writes. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20258b2b397031649e4a41922fe803d57017df84 Author: Zach Brown Date: Sun Dec 10 02:21:01 2006 -0800 [PATCH] dio: remove duplicate bio wait code Now that we have a single refcount and waiting path we can reuse it in the async 'should_wait' path. It continues to rely on the fragile link between the conditional in dio_complete_aio() which decides to complete the AIO and the conditional in direct_io_worker() which decides to wait and free. By waiting before dropping the reference we stop dio_bio_end_aio() from calling dio_complete_aio() which used to wake up the waiter after seeing the reference count drop to 0. We hoist this wake up into dio_bio_end_aio() which now notices when it's left a single remaining reference that is held by the waiter. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0273201e693fd62381f6b1e85b15ffc117d8a46e Author: Zach Brown Date: Sun Dec 10 02:20:59 2006 -0800 [PATCH] dio: formalize bio counters as a dio reference count Previously we had two confusing counts of bio progress. 'bio_count' was decremented as bios were processed and freed by the dio core. It was used to indicate final completion of the dio operation. 'bios_in_flight' reflected how many bios were between submit_bio() and bio->end_io. It was used by the sync path to decide when to wake up and finish completing bios and was ignored by the async path. This patch collapses the two notions into one notion of a dio reference count. bios hold a dio reference when they're between submit_bio and bio->end_io. Since bios_in_flight was only used in the sync path it is now equivalent to dio->refcount - 1 which accounts for direct_io_worker() holding a reference for the duration of the operation. dio_bio_complete() -> finished_one_bio() was called from the sync path after finding bios on the list that the bio->end_io function had deposited. finished_one_bio() can not drop the dio reference on behalf of these bios now because bio->end_io already has. The is_async test in finished_one_bio() meant that it never actually did anything other than drop the bio_count for sync callers. So we remove its refcount decrement, don't call it from dio_bio_complete(), and hoist its call up into the async dio_bio_complete() caller after an explicit refcount decrement. It is renamed dio_complete_aio() to reflect the remaining work it actually does. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17a7b1d74b1207f8f1af40b5d184989076d08f8b Author: Zach Brown Date: Sun Dec 10 02:20:56 2006 -0800 [PATCH] dio: call blk_run_address_space() once per op We only need to call blk_run_address_space() once after all the bios for the direct IO op have been submitted. This removes the chance of calling blk_run_address_space() after spurious wake ups as the sync path waits for bios to drain. It's also one less difference betwen the sync and async paths. In the process we remove a redundant dio_bio_submit() that its caller had already performed. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d544bb4d9019c3a0d7ee4af1e4bbbd61a6e16dc Author: Zach Brown Date: Sun Dec 10 02:20:54 2006 -0800 [PATCH] dio: centralize completion in dio_complete() There have been a lot of bugs recently due to the way direct_io_worker() tries to decide how to finish direct IO operations. In the worst examples it has failed to call aio_complete() at all (hang) or called it too many times (oops). This set of patches cleans up the completion phase with the goal of removing the complexity that lead to these bugs. We end up with one path that calculates the result of the operation after all off the bios have completed. We decide when to generate a result of the operation using that path based on the final release of a refcount on the dio structure. I tried to progress towards the final state in steps that were relatively easy to understand. Each step should compile but I only tested the final result of having all the patches applied. I've tested these on low end PC drives with aio-stress, the direct IO tests I could manage to get running in LTP, orasim, and some home-brew functional tests. In http://lkml.org/lkml/2006/9/21/103 IBM reports success with ext2 and ext3 running DIO LTP tests. They found that XFS bug which has since been addressed in the patch series. This patch: The mechanics which decide the result of a direct IO operation were duplicated in the sync and async paths. The async path didn't check page_errors which can manifest as silently returning success when the final pointer in an operation faults and its matching file region is filled with zeros. The sync path and async path differed in whether they passed errors to the caller's dio->end_io operation. The async path was passing errors to it which trips an assertion in XFS, though it is apparently harmless. This centralizes the completion phase of dio ops in one place. AIO will now return EFAULT consistently and all paths fall back to the previously sync behaviour of passing the number of bytes 'transferred' to the dio->end_io callback, regardless of errors. dio_await_completion() doesn't have to propogate EIO from non-uptodate bios now that it's being propogated through dio_complete() via dio->io_error. This lets it return void which simplifies its sole caller. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1757128438d41670ded8bc3bc735325cc07dc8f9 Author: NeilBrown Date: Sun Dec 10 02:20:52 2006 -0800 [PATCH] md: assorted md and raid1 one-liners Fix few bugs that meant that: - superblocks weren't alway written at exactly the right time (this could show up if the array was not written to - writting to the array causes lots of superblock updates and so hides these errors). - restarting device recovery after a clean shutdown (version-1 metadata only) didn't work as intended (or at all). 1/ Ensure superblock is updated when a new device is added. 2/ Remove an inappropriate test on MD_RECOVERY_SYNC in md_do_sync. The body of this if takes one of two branches depending on whether MD_RECOVERY_SYNC is set, so testing it in the clause of the if is wrong. 3/ Flag superblock for updating after a resync/recovery finishes. 4/ If we find the neeed to restart a recovery in the middle (version-1 metadata only) make sure a full recovery (not just as guided by bitmaps) does get done. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2b00852fbae4f8c45c2651530ded3bd01bde814 Author: NeilBrown Date: Sun Dec 10 02:20:51 2006 -0800 [PATCH] md: return a non-zero error to bi_end_io as appropriate in raid5 Currently raid5 depends on clearing the BIO_UPTODATE flag to signal an error to higher levels. While this should be sufficient, it is safer to explicitly set the error code as well - less room for confusion. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8c6b645563d641df91fdcfd84a9c73c91d75b61 Author: NeilBrown Date: Sun Dec 10 02:20:50 2006 -0800 [PATCH] md: remove some old ifdefed-out code from raid5.c There are some vestiges of old code that was used for bypassing the stripe cache on reads in raid5.c. This was never updated after the change from buffer_heads to bios, but was left as a reminder. That functionality has nowe been implemented in a completely different way, so the old code can go. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdee8ae4498c48b44c0eac592f9c6ed24c4517c1 Author: Jeff Garzik Date: Sun Dec 10 02:20:50 2006 -0800 [PATCH] MD: conditionalize some code The autorun code is only used if this module is built into the static kernel image. Adjust #ifdefs accordingly. Signed-off-by: Jeff Garzik Acked-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b875e531fc82db592d6093594593d5cafde0a1cd Author: NeilBrown Date: Sun Dec 10 02:20:49 2006 -0800 [PATCH] md: fix innocuous bug in raid6 stripe_to_pdidx stripe_to_pdidx finds the index of the parity disk for a given stripe. It assumes raid5 in that it uses "disks-1" to determine the number of data disks. This is incorrect for raid6 but fortunately the two usages cancel each other out. The only way that 'data_disks' affects the calculation of pd_idx in raid5_compute_sector is when it is divided into the sector number. But as that sector number is calculated by multiplying in the wrong value of 'data_disks' the division produces the right value. So it is innocuous but needs to be fixed. Also change the calculation of raid_disks in compute_blocknr to make it more obviously correct (it seems at first to always use disks-1 too). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5248861511d6aae4997a5aa7152824d87587b0b6 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:48 2006 -0800 [PATCH] md: enable bypassing cache for reads Call the chunk_aligned_read where appropriate. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46031f9a38a9773021f1872abc713d62467ac22e Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:47 2006 -0800 [PATCH] md: allow reads that have bypassed the cache to be retried on failure If a bypass-the-cache read fails, we simply try again through the cache. If it fails again it will trigger normal recovery precedures. update 1: From: NeilBrown 1/ chunk_aligned_read and retry_aligned_read assume that data_disks == raid_disks - 1 which is not true for raid6. So when an aligned read request bypasses the cache, we can get the wrong data. 2/ The cloned bio is being used-after-free in raid5_align_endio (to test BIO_UPTODATE). 3/ We forgot to add rdev->data_offset when submitting a bio for aligned-read 4/ clone_bio calls blk_recount_segments and then we change bi_bdev, so we need to invalidate the segment counts. 5/ We don't de-reference the rdev when the read completes. This means we need to record the rdev to so it is still available in the end_io routine. Fortunately bi_next in the original bio is unused at this point so we can stuff it in there. 6/ We leak a cloned bio if the target rdev is not usable. From: NeilBrown update 2: 1/ When aligned requests fail (read error) they need to be retried via the normal method (stripe cache). As we cannot be sure that we can process a single read in one go (we may not be able to allocate all the stripes needed) we store a bio-being-retried and a list of bioes-that-still-need-to-be-retried. When find a bio that needs to be retried, we should add it to the list, not to single-bio... 2/ We were never incrementing 'scnt' when resubmitting failed aligned requests. [akpm@osdl.org: build fix] Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f679623f50545bc0577caf2d0f8675b61162f059 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:46 2006 -0800 [PATCH] md: handle bypassing the read cache (assuming nothing fails) Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23032a0eb97c8eaae8ac9d17373b53b19d0f5413 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:45 2006 -0800 [PATCH] md: define raid5_mergeable_bvec This will encourage read request to be on only one device, so we will often be able to bypass the cache for read requests. Signed-off-by: Neil Brown Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d4ca600fcf5c5f3a0c195ccf37e989b83451dd4 Author: NeilBrown Date: Sun Dec 10 02:20:44 2006 -0800 [PATCH] md: tidy up device-change notification when an md array is stopped An md array can be stopped leaving all the setting still in place, or it can torn down and destroyed. set_capacity and other change notifications only happen in the latter case, but should happen in both. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d899839064b6924c3d8a6404dae14c79f657fd Author: Paul Mackerras Date: Sun Dec 10 02:20:42 2006 -0800 [PATCH] Fbdev driver for IBM GXT4500P videocards This is an fbdev driver for the IBM GXT4500P display card found in some IBM System P (pSeries) machines. These cards have hardware 2D and 3D capabilities, but the driver does not use them; it just exports a dumb framebuffer. Signed-off-by: Paul Mackerras Acked-by: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee2f344b33b507af23610c8fdfdde38d7c10fb33 Author: Alan Cox Date: Sun Dec 10 02:20:39 2006 -0800 [PATCH] ide-cd: Handle strange interrupt on the Intel ESB2 The ESB2 appears to emit spurious DMA interrupts when configured for native mode and handling ATAPI devices. Stratus were able to pin this bug down and produce a patch. This is a rework which applies the fixup only to the ESB2 (for now). We can apply it to other chips later if the same problem is found. This code has been tested and confirmed to fix the problem on the tested systems. Signed-off-by: Alan Cox (Most of the hard work done by Stratus however) Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33859f7f9788da2ac9aa23be4dc8e948112809ca Author: Miguel Ojeda Sandonis Date: Sun Dec 10 02:20:38 2006 -0800 [PATCH] kernel/sched.c: whitespace cleanups [akpm@osdl.org: additional cleanups] Signed-off-by: Miguel Ojeda Sandonis Acked-by: Ingo Molnar Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62ab616d54371a65f595c199aad1e1755b837d25 Author: Chen, Kenneth W Date: Sun Dec 10 02:20:36 2006 -0800 [PATCH] sched: optimize activate_task for RT task RT task does not participate in interactiveness priority and thus shouldn't be bothered with timestamp and p->sleep_type manipulation when task is being put on run queue. Bypass all of the them with a single if (rt_task) test. Signed-off-by: Ken Chen Acked-by: Ingo Molnar Cc: Nick Piggin Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06066714f6016cffcb249f6ab21b7919de1bc859 Author: Chen, Kenneth W Date: Sun Dec 10 02:20:35 2006 -0800 [PATCH] sched: remove lb_stopbalance counter Remove scheduler stats lb_stopbalance counter. This counter can be calculated by: lb_balanced - lb_nobusyg - lb_nobusyq. There is no need to create gazillion counters while we can derive the value. Signed-off-by: Ken Chen Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 783609c6cb4eaa23f2ac5c968a44483584ec133f Author: Siddha, Suresh B Date: Sun Dec 10 02:20:33 2006 -0800 [PATCH] sched: decrease number of load balances Currently at a particular domain, each cpu in the sched group will do a load balance at the frequency of balance_interval. More the cores and threads, more the cpus will be in each sched group at SMP and NUMA domain. And we endup spending quite a bit of time doing load balancing in those domains. Fix this by making only one cpu(first idle cpu or first cpu in the group if all the cpus are busy) in the sched group do the load balance at that particular sched domain and this load will slowly percolate down to the other cpus with in that group(when they do load balancing at lower domains). Signed-off-by: Suresh Siddha Cc: Christoph Lameter Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b18ec80396834497933d77b81ec0918519f4e2a7 Author: Mike Galbraith Date: Sun Dec 10 02:20:31 2006 -0800 [PATCH] sched: improve migration accuracy Co-opt rq->timestamp_last_tick to maintain a cache_hot_time evaluation reference timestamp at both tick and sched times to prevent said reference, formerly rq->timestamp_last_tick, from being behind task->last_ran at evaluation time, and to move said reference closer to current time on the remote processor, intent being to improve cache hot evaluation and timestamp adjustment accuracy for task migration. Fix minor sched_time double accounting error which occurs when a task passing through schedule() does not schedule off, and takes the next timer tick. [kenneth.w.chen@intel.com: cleanup] Signed-off-by: Mike Galbraith Acked-by: Ingo Molnar Acked-by: Ken Chen Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08c183f31bdbb709f177f6d3110d5f288ea33933 Author: Christoph Lameter Date: Sun Dec 10 02:20:29 2006 -0800 [PATCH] sched: add option to serialize load balancing Large sched domains can be very expensive to scan. Add an option SD_SERIALIZE to the sched domain flags. If that flag is set then we make sure that no other such domain is being balanced. [akpm@osdl.org: build fix] Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bd77f2da58e9cdd1f159217887343dadd9af417 Author: Christoph Lameter Date: Sun Dec 10 02:20:27 2006 -0800 [PATCH] sched: call tasklet less frequently Trigger softirq less frequently We trigger the softirq before this patch using offset of sd->interval. However, if the queue is busy then it is sufficient to schedule the softirq with sd->interval * busy_factor. So we modify the calculation of the next time to balance by taking the interval added to last_balance again. This is only the right value if the idle/busy situation continues as is. There are two potential trouble spots: - If the queue was idle and now gets busy then we call rebalance early. However, that is not a problem because we will then use the longer interval for the next period. - If the queue was busy and becomes idle then we potentially wait too long before rebalancing. However, when the task goes idle then idle_balance is called. We add another calculation of the next balance time based on sd->interval in idle_balance so that we will rebalance soon. V2->V3: - Calculate rebalance time based on current jiffies and not based on the jiffies at the last time we load balanced. We no longer rely on staggering and therefore we can affort to do this now. V3->V4: - Use functions to do jiffy comparisons. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9819f4593e8d052b41a89f47140f5c5e7e30582 Author: Christoph Lameter Date: Sun Dec 10 02:20:25 2006 -0800 [PATCH] sched: use softirq for load balancing Call rebalance_tick (renamed to run_rebalance_domains) from a newly introduced softirq. We calculate the earliest time for each layer of sched domains to be rescanned (this is the rescan time for idle) and use the earliest of those to schedule the softirq via a new field "next_balance" added to struct rq. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e418e1c2bf1a253916b569370653414eb28597b6 Author: Christoph Lameter Date: Sun Dec 10 02:20:23 2006 -0800 [PATCH] sched: move idle status calculation into rebalance_tick() Perform the idle state determination in rebalance_tick. If we separate balancing from sched_tick then we also need to determine the idle state in rebalance_tick. V2->V3 Remove useless idlle != 0 check. Checking nr_running seems to be sufficient. Thanks Suresh. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7835b98bc6de2ca10afa45572d272304b000b048 Author: Christoph Lameter Date: Sun Dec 10 02:20:22 2006 -0800 [PATCH] sched: extract load calculation from rebalance_tick A load calculation is always done in rebalance_tick() in addition to the real load balancing activities that only take place when certain jiffie counts have been reached. Move that processing into a separate function and call it directly from scheduler_tick(). Also extract the time slice handling from scheduler_tick and put it into a separate function. Then we can clean up scheduler_tick significantly. It will no longer have any gotos. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe2eea3fafb3df2f5b8a55a48bcbb0d23b3b5618 Author: Christoph Lameter Date: Sun Dec 10 02:20:21 2006 -0800 [PATCH] sched: disable interrupts for locking in load_balance() Interrupts must be disabled for request queue locks if we want to run load_balance() with interrupts enabled. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4211a9a2e94a34df8c02bc39b7ec10678ad5c2ab Author: Christoph Lameter Date: Sun Dec 10 02:20:19 2006 -0800 [PATCH] sched: remove staggering of load balancing Timer interrupts already are staggered. We do not need an additional layer of time staggering for short load balancing actions that take a reasonably small portion of the time slice. For load balancing on large sched_domains we will add a serialization later that avoids concurrent load balance operations and thus has the same effect as load staggering. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 571f6d2fb0b1c04798df783db2ba85e96bcce43d Author: Christoph Lameter Date: Sun Dec 10 02:20:13 2006 -0800 [PATCH] sched: avoid taking rq lock in wake_priority_sleeper Avoid taking the request queue lock in wake_priority_sleeper if there are no running processes. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Cc: KAMEZAWA Hiroyuki Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac7d550499e225efb51a53d0b00667f26b93bdff Author: Siddha, Suresh B Date: Sun Dec 10 02:20:12 2006 -0800 [PATCH] sched domain: increase the SMT busy rebalance interval With SMT, if the logical processor is busy, load balance happens for every 8msec(min)-16msec(max). There is no need to do this often, as this is just for fairness(to maintain uniform runqueue lengths) and default time slice anyhow is 100msec. Appended patch increases this interval to 64msec(min)-128msec(max) when the logical processor is busy. Signed-off-by: Suresh Siddha Cc: Nick Piggin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054b9108e01ef27e2e6b32b4226abb6024626f06 Author: Kirill Korotaev Date: Sun Dec 10 02:20:11 2006 -0800 [PATCH] move_task_off_dead_cpu() should be called with disabled ints move_task_off_dead_cpu() requires interrupts to be disabled, while migrate_dead() calls it with enabled interrupts. Added appropriate comments to functions and added BUG_ON(!irqs_disabled()) into double_rq_lock() and double_lock_balance() which are the origin sources of such bugs. Signed-off-by: Kirill Korotaev Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6711cab43ed5e60bf51e3dbbce6395e87d4e9805 Author: Siddha, Suresh B Date: Sun Dec 10 02:20:07 2006 -0800 [PATCH] ched domain: move sched group allocations to percpu area Move the sched group allocations to percpu area. This will minimize cross node memory references and also cleans up the sched groups allocation for allnodes sched domain. Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2a73b5caf065f8612fcb5df5bd2f5e25881d99 Author: Robert P. J. Day Date: Sun Dec 10 02:20:00 2006 -0800 [PATCH] sched.c: correct comment for this_rq_lock() Acked-by: Ingo Molnar Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596afa41b21a414e523936b27100456f0f85e411 Author: Ralf Baechle Date: Sun Dec 10 02:19:58 2006 -0800 [PATCH] Don't build some broken ISDN drivers on big endian MIPS Signed-off-by: Ralf Baechle Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf709844d8a8fa21c59772d1a069ae0efa15e981 Author: Andrew Morton Date: Sun Dec 10 02:19:56 2006 -0800 [PATCH] io-accounting: add to getdelays Wire up the IO accounting into getdelays.c. Usage: To display I/O stats for each exitting task: vmm:/home/akpm> ./getdelays -m0,1,2,3 -i -l cpumask 0 maskset 1 printing IO accounting listen forever rm: read=8192, write=0, cancelled_write=0 cvs: read=733184, write=4255744, cancelled_write=4096 make: read=217088, write=0, cancelled_write=0 cc1: read=4263936, write=12288, cancelled_write=0 as: read=811008, write=8192, cancelled_write=0 gcc: read=323584, write=0, cancelled_write=12288 cc1: read=0, write=8192, cancelled_write=0 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=4096 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=8192 ld: read=1011712, write=16384, cancelled_write=0 collect2: read=626688, write=0, cancelled_write=0 gcc: read=204800, write=0, cancelled_write=0 cc1: read=0, write=8192, cancelled_write=0 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=8192 ld: read=8192, write=16384, cancelled_write=0 collect2: read=49152, write=0, cancelled_write=0 gcc: read=0, write=0, cancelled_write=0 cc1: read=0, write=4096, cancelled_write=0 ld: read=4096, write=12288, cancelled_write=0 collect2: read=49152, write=0, cancelled_write=0 gcc: read=0, write=0, cancelled_write=0 To display I/O stats for a particular presently-running task: vmm:/home/akpm> ./getdelays -i -p $(pidof crond) printing IO accounting crond: read=61440, write=0, cancelled_write=0 Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2f7bf13461e8ead863126ee1e8ba92105959ecc Author: Andrew Morton Date: Sun Dec 10 02:19:55 2006 -0800 [PATCH] getdelays: various fixes - Various cleanups - Report errors to stderr, not stdout - A printf was missing a \n and was hiding from me. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7864ca638e0a38307962ee8ef122822a351b65 Author: Andrew Morton Date: Sun Dec 10 02:19:53 2006 -0800 [PATCH] io-accounting: via taskstats Deliver IO accounting via taskstats. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2f1f8a3b86ccc5e998dc70a3ba35af199fdbc58 Author: Andrew Morton Date: Sun Dec 10 02:19:50 2006 -0800 [PATCH] cleanup taskstats.h Fix weird whitespace mangling in taskstats.h Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aba76fdb8a5fefba73d3490563bf7c4da37b1a34 Author: Andrew Morton Date: Sun Dec 10 02:19:48 2006 -0800 [PATCH] io-accounting: report in procfs Add a simple /proc/pid/io to show the IO accounting fields. Maybe this shouldn't be merged in mainline - the preferred reporting channel is taskstats. But given the poor state of our userspace support for taskstats, this is useful for developer-testing, at least. And it improves the changes that the procps developers will wire it up into top(1). Opinions are sought. The patch also wires up the existing IO-accounting fields. It's a bit racy on 32-bit machines: if process A reads process B's /proc/pid/io while process B is updating one of those 64-bit counters, process A could see an intermediate result. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98c4d57decf97bf8ddfe948a3266aa56b38b1a51 Author: Andrew Morton Date: Sun Dec 10 02:19:47 2006 -0800 [PATCH] io-accounting: direct-io Account for direct-io. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f88cc2e9c29c181557b477ee396375906acbc90 Author: Andrew Morton Date: Sun Dec 10 02:19:44 2006 -0800 [PATCH] io-accounting-read-accounting cifs fix CIFS implements ->readpages and doesn't use read_cache_pages(). So wire the read IO accounting up within CIFS. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: Steven French Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bde37f08fe3340435f4320b5a092eeb55acebfd Author: Andrew Morton Date: Sun Dec 10 02:19:40 2006 -0800 [PATCH] io-accounting-read-accounting nfs fix nfs's ->readpages uses read_cache_pages(). Wire it up there. [wfg@mail.ustc.edu.cn: account only successful nfs/fuse reads] Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faccbd4b26df7bd977cee33d4145155d0ef95c87 Author: Andrew Morton Date: Sun Dec 10 02:19:35 2006 -0800 [PATCH] io-accounting: read accounting Wire up read accounting for block devices, within submit_bio(). Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e08748ce01e02f0ec154b141f392ccb9555333f4 Author: Andrew Morton Date: Sun Dec 10 02:19:31 2006 -0800 [PATCH] io-accounting: write-cancel accounting Account for the number of byte writes which this process caused to not happen after all. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e829af06681e5d731c03ba04febbd1c76ca293 Author: Andrew Morton Date: Sun Dec 10 02:19:27 2006 -0800 [PATCH] io-accounting: write accounting Accounting writes is fairly simple: whenever a process flips a page from clean to dirty, we accuse it of having caused a write to underlying storage of PAGE_CACHE_SIZE bytes. This may overestimate the amount of writing: the page-dirtying may cause only one buffer_head's worth of writeout. Fixing that is possible, but probably a bit messy and isn't obviously important. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c08540f8755c451d8b96ea14cfe796bc3cd712d Author: Andrew Morton Date: Sun Dec 10 02:19:24 2006 -0800 [PATCH] clean up __set_page_dirty_nobuffers() Save a tabstop in __set_page_dirty_nobuffers() and __set_page_dirty_buffers() and a few other places. No functional changes. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2 Author: Andrew Morton Date: Sun Dec 10 02:19:19 2006 -0800 [PATCH] io-accounting: core statistics The present per-task IO accounting isn't very useful. It simply counts the number of bytes passed into read() and write(). So if a process reads 1MB from an already-cached file, it is accused of having performed 1MB of I/O, which is wrong. (David Wright had some comments on the applicability of the present logical IO accounting: For billing purposes it is useless but for workload analysis it is very useful read_bytes/read_calls average read request size write_bytes/write_calls average write request size read_bytes/read_blocks ie logical/physical can indicate hit rate or thrashing write_bytes/write_blocks ie logical/physical guess since pdflush writes can be missed I often look for logical larger than physical to see filesystem cache problems. And the bytes/cpusec can help find applications that are dominating the cache and causing slow interactive response from page cache contention. I want to find the IO intensive applications and make sure they are doing efficient IO. Thus the acctcms(sysV) or csacms command would give the high IO commands). This patchset adds new accounting which tries to be more accurate. We account for three things: reads: attempt to count the number of bytes which this process really did cause to be fetched from the storage layer. Done at the submit_bio() level, so it is accurate for block-backed filesystems. I also attempt to wire up NFS and CIFS. writes: attempt to count the number of bytes which this process caused to be sent to the storage layer. This is done at page-dirtying time. The big inaccuracy here is truncate. If a process writes 1MB to a file and then deletes the file, it will in fact perform no writeout. But it will have been accounted as having caused 1MB of write. So... cancelled_writes: account the number of bytes which this process caused to not happen, by truncating pagecache. We _could_ just subtract this from the process's `write' accounting. But that means that some processes would be reported to have done negative amounts of write IO, which is silly. So we just report the raw number and punt this decision up to userspace. Now, we _could_ account for writes at the physical I/O level. But - This would require that we track memory-dirtying tasks at the per-page level (would require a new pointer in struct page). - It would mean that IO statistics for a process are usually only available long after that process has exitted. Which means that we probably cannot communicate this info via taskstats. This patch: Wire up the kernel-private data structures and the accessor functions to manipulate them. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47694bb86af3648d4ec34c7afd46653cefc9b359 Author: Sergei Shtylyov Date: Sun Dec 10 02:19:13 2006 -0800 [PATCH] pdc202xx_new: fix PLL/timing issues Fix the CRC errors in the higher UltraDMA modes with the Promise PDC20268 and newer chips that always occur on non-x86 machines and when there are more than 2 adapters on x86 machines. Fix the overclocking issue for PDC20269 and newer chips that occurs when an UltraDMA/133 capable drive is connected. Here's the summary of changes: - add code to detect the PLL input clock detection and setup it output clock, remove the PowerMac hacks; - replace the macros accessing the indexed regiters with functions, switch to using them where appropriate, gather the PIO/MWDMA/UDMA timings into tables; - rewrite the speedproc() handler to set the drive's transfer mode first, and then override the timing registers set by hardware on UltraDMA/133 chips; - use better criterion for determining higher UltraDMA modes, and add comment concerning the doubtful value of the code enabling IORDY/prefetch; - replace the stupid 'pdcnew_new_' prefixes with mere 'pdcnew_'; - get rid of unneded spaces, parens and type casts, clean up some printk's, add some new lines here and there... This work is loosely based on these former patches by Albert Lee: [1] http://marc.theaimsgroup.com/?l=linux-ide&m=110992442032300 [2] http://marc.theaimsgroup.com/?l=linux-ide&m=110992457729382 [3] http://marc.theaimsgroup.com/?l=linux-ide&m=110992474205555 [4] http://marc.theaimsgroup.com/?l=linux-ide&m=111019224802939 Some PLL clock detection code was backported from his pata_pdc2027x driver... This code has been successfully tested by me on PDC2026[89] chips. I tried to keep this rework as several patches but it made no sense: [2] was largely a modification of the non-working timing override code, [3] by itself extended the overclocking issue to the case of non-UltraDMA/133 drives, and finally, the cleanup patch based on [1] ended up rejected... Signed-off-by: Sergei Shtylyov Cc: Albert Lee Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58f64d83c37f5073a01573d27043c9c0ccc764f1 Author: David Woodhouse Date: Sun Dec 10 02:19:11 2006 -0800 [PATCH] Fix noise in futex.h There are some kernel-only bits in the middle of which should be removed in what we export to userspace. Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f29bcd739972f71f2fd5d5d265daf3e1208fa5e Author: Alexey Dobriyan Date: Sun Dec 10 02:19:10 2006 -0800 [PATCH] sysctl: remove unused "context" param Signed-off-by: Alexey Dobriyan Cc: Andi Kleen Cc: "David S. Miller" Cc: David Howells Cc: Ralf Baechle Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98d7340c360993fdd703609ff7462051e03cc2fb Author: Alexey Dobriyan Date: Sun Dec 10 02:19:09 2006 -0800 [PATCH] sysctl: remove some OPs kernel.cap-bound uses only OP_SET and OP_AND Signed-off-by: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d5636cc078d3750b7f590a20f748aeaa26e2daf Author: Corey Minyard Date: Sun Dec 10 02:19:08 2006 -0800 [PATCH] IPMI: misc fixes Fix various problems pointed out by Andrew Morton and others: * platform_device_unregister checks for NULL, no need to check here. * Formatting fixes. * Remove big macro and convert to a function. * Use strcmp instead of defining a broken case-insensitive comparison, and make the output parameter info match the case of the input one (change "I/O" to "i/o"). * Return the length instead of 0 from the hotmod parameter handler. * Remove some unused cruft. * The trydefaults parameter only has to do with scanning the "standard" addresses, don't check for that on ACPI. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c8204b380f92a6a8533d228c50f0b681daf6121 Author: Randy Dunlap Date: Sun Dec 10 02:19:06 2006 -0800 [PATCH] IPMI: remove zero inits Remove all =0 and =NULL from static initializers. They are not needed and removing them saves space in the object files. Signed-off-by: Randy Dunlap Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76465493eeadb1662d65aa96477d6fc093da9966 Author: Alessandro Zummo Date: Sun Dec 10 02:19:06 2006 -0800 [PATCH] update MAINTAINERS with rtc-linux mailing list info Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc39f6d616a852750ddaac86f5e4c3fad804ef8 Author: Andrew Victor Date: Sun Dec 10 02:19:03 2006 -0800 [PATCH] AT91RM9200 RTC The new Atmel AT91SAM9261 and AT91SAM9260 processors do not have the internal RTC peripheral. This RTC driver is therefore AT91RM9200-specific. This patch renames rtc-at91.c to rtc-at91rm9200.c, and changes the name of the configuration option. Signed-off-by: Andrew Victor Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a14e18935076ce084c4edbc57883f38e642c8e5d Author: David Brownell Date: Sun Dec 10 02:19:02 2006 -0800 [PATCH] RTCs don't use i2c_adapter.dev Update more I2C drivers that live outside drivers/i2c to understand that using adapter->dev is not The Way. When actually referring to the adapter hardware, adapter->class_dev.dev is the answer. When referring to a device connected to it, client->dev.dev is the answer. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 884b4aaaa242a2db8c8252796f0118164a680ab5 Author: Scott Wood Date: Sun Dec 10 02:19:00 2006 -0800 [PATCH] rtc: Add rtc_merge_alarm() Add rtc_merge_alarm(), which can be used by rtc drivers to turn a partially specified alarm expiry (i.e. most significant fields set to -1, as with the RTC_ALM_SET ioctl()) into a fully specified expiry. If the most significant specified field is earlier than the current time, the least significant unspecified field is incremented. Signed-off-by: Scott Wood Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9080d0ae0fd16628d688ce7d03d02ccf7011c6f0 Author: Randy Dunlap Date: Sun Dec 10 02:19:00 2006 -0800 [PATCH] geode crypto is PCI device This driver seems to be for a PCI device. drivers/crypto/geode-aes.c:384: warning: implicit declaration of function 'pci_release_regions' drivers/crypto/geode-aes.c:397: warning: implicit declaration of function 'pci_request_regions' Signed-off-by: Randy Dunlap Acked-by: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c543eff6cc658f46241f1ccb77436d65abbf445 Author: Randy Dunlap Date: Sun Dec 10 02:18:58 2006 -0800 [PATCH] freezer.h uses task_struct fields freezer.h uses task_struct fields so it should include sched.h. CC [M] fs/jfs/jfs_txnmgr.o In file included from fs/jfs/jfs_txnmgr.c:49: include/linux/freezer.h: In function 'frozen': include/linux/freezer.h:9: error: dereferencing pointer to incomplete type include/linux/freezer.h:9: error: 'PF_FROZEN' undeclared (first use in this function) include/linux/freezer.h:9: error: (Each undeclared identifier is reported only once include/linux/freezer.h:9: error: for each function it appears in.) include/linux/freezer.h: In function 'freezing': include/linux/freezer.h:17: error: dereferencing pointer to incomplete type include/linux/freezer.h:17: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'freeze': include/linux/freezer.h:26: error: dereferencing pointer to incomplete type include/linux/freezer.h:26: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'do_not_freeze': include/linux/freezer.h:34: error: dereferencing pointer to incomplete type include/linux/freezer.h:34: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'thaw_process': include/linux/freezer.h:43: error: dereferencing pointer to incomplete type include/linux/freezer.h:43: error: 'PF_FROZEN' undeclared (first use in this function) include/linux/freezer.h:44: warning: implicit declaration of function 'wake_up_process' include/linux/freezer.h: In function 'frozen_process': include/linux/freezer.h:55: error: dereferencing pointer to incomplete type include/linux/freezer.h:55: error: dereferencing pointer to incomplete type include/linux/freezer.h:55: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h:55: error: 'PF_FROZEN' undeclared (first use in this function) fs/jfs/jfs_txnmgr.c: In function 'freezing': include/linux/freezer.h:18: warning: control reaches end of non-void function make[2]: *** [fs/jfs/jfs_txnmgr.o] Error 1 Signed-off-by: Randy Dunlap Acked-by: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf1b939e41c28a31f2052e5c0a6619b5711ad7d0 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Sun Dec 10 02:18:57 2006 -0800 [PATCH] Document how to decode an IOCTL number Document how to decode a binary IOCTL number. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dd4e5b8e197f9d10e171e9f4aa9ed72e4a6d00c Author: Andrew Morton Date: Sun Dec 10 02:18:56 2006 -0800 [PATCH] submit checklist update Mention the new fault-injection test framework. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3fc9941fbc6efe5cb77728adb0fb12be363e73e Author: Randy Dunlap Date: Sun Dec 10 02:18:56 2006 -0800 [PATCH] CodingStyle updates Add some kernel coding style comments, mostly pulled from emails by Andrew Morton, Jesper Juhl, and Randy Dunlap. - add paragraph on switch/case indentation (with fixes) - add paragraph on multiple-assignments - add more on Braces - add section on Spaces; add typeof, alignof, & __attribute__ with sizeof; add more on postfix/prefix increment/decrement operators - add paragraph on function breaks in source files; add info on function prototype parameter names - add paragraph on EXPORT_SYMBOL placement - add section on /*-comment style, long-comment style, and data declarations and comments - correct some chapter number references that were missed when chapters were renumbered Signed-off-by: Randy Dunlap Acked-by: Jesper Juhl Acked-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d94cc50aa4f1448a6483975097805eb8d6be0e0 Author: Stephen Street Date: Sun Dec 10 02:18:54 2006 -0800 [PATCH] spi: stabilize PIO mode transfers on PXA2xx systems Stabilize PIO mode transfers against a range of word sizes and FIFO thresholds and fixes word size setup/override issues. 1) 16 and 32 bit DMA/PIO transfers broken due to timing differences. 2) Potential for bad transfer counts due to transfer size assumptions. 3) Setup function broken is multiple ways. 4) Per transfer bit_per_word changes break DMA setup in pump_tranfers. 5) False positive timeout are not errors. 6) Changes in pxa2xx_spi_chip not effective in calls to setup. 7) Timeout scaling wrong for PXA255 NSSP. 8) Driver leaks memory while busy during unloading. Known issues: SPI_CS_HIGH and SPI_LSB_FIRST settings in struct spi_device are not handled. Testing: This patch has been test against the "random length, random bits/word, random data (verified on loopback) and stepped baud rate by octaves (3.6MHz to 115kHz)" test. It is robust in PIO mode, using any combination of tx and rx thresholds, and also in DMA mode (which internally computes the thresholds). Much thanks to Ned Forrester for exhaustive reviews, fixes and testing. The driver is substantially better for his efforts. Signed-off-by: Stephen Street Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6451956a24963d3eb1655fd039762ae42ac48da7 Author: Alan Cox Date: Sun Dec 10 02:18:53 2006 -0800 [PATCH] ide: complete switch to pci_get The reverse get function allows the final piece of the switching for the old IDE layer Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc4fb2adf944d45a7f3d4d38df991c79ffdb6a43 Author: Chris Zankel Date: Sun Dec 10 02:18:52 2006 -0800 [PATCH] xtensa: fix system call interface This is a long outstanding patch to finally fix the syscall interface. The constants used for the system calls are those we have provided in our libc patches. This patch also fixes the shmbuf and stat structure, and fcntl definitions. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 173d6681380aa1d60dfc35ed7178bd7811ba2784 Author: Chris Zankel Date: Sun Dec 10 02:18:48 2006 -0800 [PATCH] xtensa: remove extra header files The Xtensa port contained many header files that were never needed. This rather lengthy patch removes all those files. Unfortunately, there were many dependencies that needed to be updated, so this patch touches quite a few source files. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd43fe19b830d6cd0eba08a6c6a5f71a6bd9c1b0 Author: Chris Zankel Date: Sun Dec 10 02:18:47 2006 -0800 [PATCH] xtensa: fix irq and misc fixes Update the architecture specific interrupt handling code for Xtensa to support the new API. Use generic BUG macros in bug.h, and some minor fixes. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fcf7bb73f66cc1c4ad90788b0f367c4d6852b75 Author: Hugh Dickins Date: Sun Dec 10 02:18:43 2006 -0800 [PATCH] read_zero_pagealigned() locking fix Ramiro Voicu hits the BUG_ON(!pte_none(*pte)) in zeromap_pte_range: kernel bugzilla 7645. Right: read_zero_pagealigned uses down_read of mmap_sem, but another thread's racing read of /dev/zero, or a normal fault, can easily set that pte again, in between zap_page_range and zeromap_page_range getting there. It's been wrong ever since 2.4.3. The simple fix is to use down_write instead, but that would serialize reads of /dev/zero more than at present: perhaps some app would be badly affected. So instead let zeromap_page_range return the error instead of BUG_ON, and read_zero_pagealigned break to the slower clear_user loop in that case - there's no need to optimize for it. Use -EEXIST for when a pte is found: BUG_ON in mmap_zero (the other user of zeromap_page_range), though it really isn't interesting there. And since mmap_zero wants -EAGAIN for out-of-memory, the zeromaps better return that than -ENOMEM. Signed-off-by: Hugh Dickins Cc: Ramiro Voicu: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 347a00fb4ad2200f8f8331f8b366b1d84eff577d Author: Roman Zippel Date: Sun Dec 10 02:18:41 2006 -0800 [PATCH] kbuild: don't put temp files in source The as-instr/ld-option need to create temporary files, but create them in the output directory, when compiling external modules. Reformat them a bit and use $(CC) instead of $(AS) as the former is used by kbuild to assemble files. Signed-off-by: Roman Zippel Cc: Andi Kleen Cc: Jan Beulich Cc: Sam Ravnborg Cc: Cc: Horst Schirmeier Cc: Daniel Drake Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15964864c051b31df7d2f9101fe8cc47854a0ab8 Author: Oleg Verych Date: Sun Dec 10 02:18:40 2006 -0800 [PATCH] kbuild: fix-rR-is-now-default `make -d help | grep Makefile` shows patterns, where make tries to rebuild included and top makefiles. While `make -rR is now default' commit should fix this, actually, it was just a little janitorial. This fix is aimed to complete cancelling implicit rules. Cc: Sam Ravnborg Signed-off-by: Oleg Verych Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf4735a46a6b8dfc1a951f05683e80374d8baa70 Author: Don Mullis Date: Sun Dec 10 02:18:37 2006 -0800 [PATCH] Kconfig refactoring for better menu nesting Refactor Kconfig content to maximize nesting of menus by menuconfig and xconfig. Tested by simultaneously running `make xconfig` with and without patch, and comparing displays. Signed-off-by: Don Mullis Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d53ef07ab45085c0b06b652d588aa49b8ba41458 Author: Randy Dunlap Date: Sun Dec 10 02:18:36 2006 -0800 [PATCH] ipc-procfs-sysctl mixups When CONFIG_PROC_FS=n and CONFIG_PROC_SYSCTL=n but CONFIG_SYSVIPC=y, we get this build error: kernel/built-in.o:(.data+0xc38): undefined reference to `proc_ipc_doulongvec_minmax' kernel/built-in.o:(.data+0xc88): undefined reference to `proc_ipc_doulongvec_minmax' kernel/built-in.o:(.data+0xcd8): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xd28): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xd78): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xdc8): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xe18): undefined reference to `proc_ipc_dointvec' make: *** [vmlinux] Error 1 Signed-off-by: Randy Dunlap Acked-by: Eric Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 Author: Randy Dunlap Date: Sun Dec 10 02:18:34 2006 -0800 [PATCH] ucb1400_ts depends SND_AC97_BUS This driver is an AC97 codec according to its help text. However, if SOUND is disabled, the "select SND_AC97_BUS" still inserts that into the .config file: # # Sound # # CONFIG_SOUND is not set CONFIG_SND_AC97_BUS=m Even if the config software followed dependency chains on selects, we should try to limit usage of "select" to library-type code that is needed (e.g., CRC functions) instead of bus-type support. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db9a758c3895ae99d647143d1f043938eb68521e Author: David Howells Date: Sun Dec 10 02:18:31 2006 -0800 [PATCH] workstruct: fix ieee80211-softmac compile problem Fix ieee80211-softmac compile problem where it's using schedule_work() on a delayed_work struct. Signed-off-by: David Howells Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1de1bf06330920802d3b7646a088965bdd918356 Author: Thierry MERLE Date: Sun Dec 10 13:31:04 2006 -0300 V4L/DVB 4949b: Fix container_of pointer retreival Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 67952e8cb111c5b2f9e675dba1bbde4876f9fcf3 Author: Mauro Carvalho Chehab Date: Sun Dec 10 00:14:21 2006 -0200 V4L/DVB (4949a): Fix INIT_WORK INIT_WORK syntax changed on kernel 2.6.19. Fixing it on usbvision and cx88-input. Signed-off-by: Mauro Carvalho Chehab commit f35db23c1b1c4da0642e932a7035b5c577377974 Author: Michael Krufky Date: Tue Dec 5 14:53:39 2006 -0300 V4L/DVB (4949): Cxusb: codingstyle cleanups Trivial whitespace / 80-column limit cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 79a54cbd73afe05d807b2128fa41a92cb4acd637 Author: Michael Krufky Date: Tue Dec 5 14:20:06 2006 -0300 V4L/DVB (4948): Cxusb: Convert tuner functions to use dvb_pll_attach Converted dee1601, lgz201 and dtt8579 to use dvb_pll_attach in dvb-usb-cxusb. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4a390558a691445e3d710998b850570fe8a20d31 Author: Michael Krufky Date: Tue Dec 5 02:00:53 2006 -0300 V4L/DVB (4947): Cx88: trivial cleanups - small whitespace cleanups - 80-column whitespace cleanups - remove unneeded brackets Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22f3f17dd705c476d2c8a2d879ddacaa8f9237e3 Author: Michael Krufky Date: Tue Dec 5 01:38:58 2006 -0300 V4L/DVB (4946): Cx88: Move cx88_dvb_bus_ctrl out of the card-specific area This function should not be in the card-specific area of the file. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ed35526027f3b45a7c799f73916166b1161bf082 Author: Michael Krufky Date: Tue Dec 5 01:34:56 2006 -0300 V4L/DVB (4945): Cx88: consolidate cx22702_config structs There are five cx22702_config structs used by cx88-dvb, only two of which are unique. This patch removes the duplicates and sets each card to use one of the two remaining config structs. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5786a34b439b660256e236f870c0418e39dd16d0 Author: Michael Krufky Date: Tue Dec 5 01:21:19 2006 -0300 V4L/DVB (4944): Cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attach Converted DViCO FusionHDTV Hybrid to use dvb_pll_attach, removing another static dependency of cx88-dvb on dvb-pll. Acked-by: Chris Pascoe Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1d4bb7d3c154167c8f0b80cfd72914d8732d3d01 Author: Michael Krufky Date: Tue Dec 5 01:01:39 2006 -0300 V4L/DVB (4943): Cx88: cleanup dvb_pll_attach for lgdt3302 tuners Since we're using dvb_pll_attach now, we dont have to populate dev->core->pll_addr or dev->core->pll_desc anymore. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c876a3468d0f136710af81595177889953d1ff71 Author: Thierry MERLE Date: Sat Dec 9 16:42:54 2006 -0300 V4L/DVB (4953): Usbvision minor fixes - fix debug outputs - fix returned parameters on VIDIOC_G_FMT, VIDIOC_S_FMT and VIDIOC_TRY_FMT and mmap size setting Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f30ebd43597e9b2bbbc8b0eb650f5aad545e255b Author: Mauro Carvalho Chehab Date: Sat Dec 9 12:32:18 2006 -0300 V4L/DVB (4951): Add version.h, since it is required for VIDIOC_QUERYCAP Signed-off-by: Mauro Carvalho Chehab commit 1444e5f591b8c68d7a326f5b0ad6c63a984d56dd Author: Rusty Scott Date: Mon Dec 4 18:04:16 2006 -0300 V4L/DVB (4940): Or51211: Changed SNR and signal strength calculations Removes embedded log functions and makes use of the DVB math functions to provide SNR in dB. The changes are modeled after recent changes made to the LGDT330x frontends in lgdt330x.c Signed-off-by: Rusty Scott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b2fb7f55a1837e39a9f74e2fd7be990ccba90eb4 Author: Rusty Scott Date: Mon Dec 4 18:04:15 2006 -0300 V4L/DVB (4939): Or51132: Changed SNR and signal strength reporting Removes embedded log functions and makes use of the DVB math functions to provide SNR in dB. The changes are modeled after recent changes made to the LGDT330x frontends in lgdt330x.c Signed-off-by: Rusty Scott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 1c5ee876d697a9d1b70117e4277eaa445d14a728 Author: Trent Piepho Date: Mon Dec 4 18:04:11 2006 -0300 V4L/DVB (4938): Cx88: Convert lgdt3302 tuning function to use dvb_pll_attach There was a still a pre-dvb-pll set_params function for the lgdt3302 in the cx88-dvb driver. This patch removes that function and uses dvb_pll_attach() for the cards that were using it (Dvico FusionHDTV 3 GOLD {Q,T}). This way the set_params function from dvb-pll is used. dvb_attach() is in turn used on dvb_pll_attach(), eliminating some static dependencies on dvb-pll. There are still a couple static dependencies on dvb-pll remaining. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a1ed551cdb4f29157466340760fde68bcda704a9 Author: Mauro Carvalho Chehab Date: Sat Dec 9 11:41:59 2006 -0300 V4L/DVB (4941): Remove LINUX_VERSION_CODE and fix identations Signed-off-by: Mauro Carvalho Chehab commit 7ca659e3c1c3dd67073751385ae3bd25b27526bb Author: Mauro Carvalho Chehab Date: Sat Dec 9 11:43:31 2006 -0300 V4L/DVB (4942): Whitespace cleanups Signed-off-by: Mauro Carvalho Chehab commit 483dfdb64fd4a9f240c84e0e225a90c044d65402 Author: Thierry MERLE Date: Mon Dec 4 08:31:45 2006 -0300 V4L/DVB (4937): Usbvision cleanup and code reorganization - removal of overlay stuff - reorganization of functions in 3 files: * usbvision-i2c for I2C-related stuff * usbvision-video for v4l2 entry points * usbvision-core for all peripheral controls and utilities Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit d8159a3684007e0ded915cb7465c9534a2650c53 Author: Thierry MERLE Date: Mon Dec 4 08:31:42 2006 -0300 V4L/DVB (4936): Make MT4049FM5 tuner to set FM Gain to Normal - remove any specific TDA9887_SET_CONFIG of usbvision driver - add fm_gain_normal=1 to the MT4049FM5 tuner for radio functionality Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 483deb0f2b38060c1f2de216c09f05b1869b0d52 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:38 2006 -0300 V4L/DVB (4935): Added the capability of selecting fm gain by tuner Some tuners require using cGainNormal instead of cGainLow for high sensibility on FM reception. Signed-off-by: Mauro Carvalho Chehab commit cefccc8011c58b559498396f0ccefa0a0ffa3f53 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:35 2006 -0300 V4L/DVB (4934): Usbvision radio requires GainNormal at e register Adds an option to select GainNormal at tda9887 and make usbvision to use it. Signed-off-by: Mauro Carvalho Chehab commit 3086d6cb0a2ec93f17bc215af3113c54af6080c1 Author: Thierry MERLE Date: Mon Dec 4 08:31:32 2006 -0300 V4L/DVB (4933): Usbvision_v4l2: radio interface / tda9887 problem ? - implement the v4l2 radio interface Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 957883d0b56a649389d0652a727324dd8ba2e83c Author: Thierry MERLE Date: Mon Dec 4 08:31:30 2006 -0300 V4L/DVB (4932): Usbvision_v4l2: fix norm setting problems Patch contents: - fix i2c command broadcast (caused problems for SECAM norm setting) - default input selection at driver open Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit ee5407c5019eb720872abea2e0a1376c35e2304a Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:27 2006 -0300 V4L/DVB (4931): Removed usbvision_ioctl.h, since it isn't required anymore Signed-off-by: Mauro Carvalho Chehab commit 40bad67840aa6856cb39a431510a57d940017898 Author: Thierry MERLE Date: Mon Dec 4 08:31:24 2006 -0300 V4L/DVB (4930): Usbvision_v4l2 : mmap corrected to get all frames - private ioctls UVIOCSREG/UVIOCGREG translated to the VIDIOC_INT_G_REGISTER/VIDIOC_INT_S_REGISTER - lost frame bug corrected (mmap rework) - reset scratch buffer is no buffer is queued (prevents useless scratch overflow management) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 3084920b555b3ba73590430b2e03d9167db23e8e Author: Thierry MERLE Date: Mon Dec 4 08:31:21 2006 -0300 V4L/DVB (4929): Read() implementation + format set/get simplifications - implement read() entry point that works with linux list.h - rework of VIDIOC_ENUM_FMT/VIDIOC_S_FMT/VIDIOC_G_FMT - VIDIOC_STREAMON : allows streaming whereas there is no queued buffer (xdtv does VIDIOC_STREAMON before VIDIOC_QBUFs) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 5f7fb877be14da92803f0b5b60955e071ebe2d58 Author: Thierry Date: Mon Dec 4 08:31:17 2006 -0300 V4L/DVB (4928): Usbvision_v4l2 robustness on disconnect This patch corrects 2 bugs (causes kernel oops) that occur when unplugging the peripheral whereas nobody has opened it yet : - do not call usbvision_stop_isoc if usbvision_init_isoc has not been called - do not call wakeup_interruptible on waitqueues that did not have been initialized with init_waitqueue_head Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f2242ee5474f46d87a45cd4e214b5c3aa02ff293 Author: Thierry MERLE Date: Mon Dec 4 08:31:14 2006 -0300 V4L/DVB (4927): Enhancements on usbvision driver Enhance the buffer management of this driver + some corrections - linux list.h usage for buffer management - VIDIOC_ENUMSTD/VIDIOC_G_STD/VIDIOC_S_STD simplification (use of v4l2_video_std_construct) - create_sysfs : remove of warnings for video_device_create_file return code - make the driver compatible with 2.6.19 kernel version (remove slave_send and slave_recv in usbvision-i2c, change ctrlUrb_complete function prototype) - deactivated v4l2_read because this code was not the priority but working on it :) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 18d8a4540caddaa9a42fb4dbc04c75c4b806278b Author: Dwaine Garden Date: Mon Dec 4 08:31:11 2006 -0300 V4L/DVB (4926): Fix USBVision handling of VIDIOC_QUERYCTRL There's a better (and recommended) way for handling VIDIOC_QUERYCTRL. This patch will fix the issue where the hardware control values were invalid and stops the SAA7115 module from complaining about invalid values. saa7115 4-0024: invalid brightness setting 32768 saa7115 4-0024: invalid contrast setting 49152 saa7115 4-0024: invalid hue setting 32768 saa7115 4-0024: invalid saturation setting 32768 Signed-off-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit cc9e595a585a4f067dcfdc67e7c4432702ea28ac Author: Thierry MERLE Date: Mon Dec 4 08:31:07 2006 -0300 V4L/DVB (4925): Corrected and separated the Kconfig for usbvision Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit c8400c700723936d9333c977e51fa77062d26dd4 Author: Thierry MERLE Date: Mon Dec 4 08:31:04 2006 -0300 V4L/DVB (4924): Fix some bugs on usbvision due to the merge into one module Found the bug that prevented the driver from loading : a module param conflict between usbvision-i2c and usbvision-core (debug parameter). - correct the module param "debug" conflics in usbvision-i2c.c and usbvision-core.c - add some debug printouts in usbvision-core.c VDIOC_QBUF/VIDIOC_DQBUF - usbvision-core.c : add vb->field = V4L2_FIELD_NONE in VIDIOC_DQBUF Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 6714b01263b06b2e7d054625486451a9fd8e03f4 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:01 2006 -0300 V4L/DVB (4923): Splitted usbvision cards from usbvison.h Having the cards description into a separated file makes easier to maintain and follows the same standard as other drivers. Signed-off-by: Mauro Carvalho Chehab commit 781aa1d1ab7ba13314af0af6c5d70c0eb0e96bf4 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:30:53 2006 -0300 V4L/DVB (4922): Add usbvision driver This patch adds usbvision into V4L/DVB HG tree. Usbvision driver is a GPL driver, made by: Joerg Heckenbach and Dwaine Garden V4L2 migration made by: Thierry Merle Kconfig/Makefile scripts by: Mauro Carvalho Chehab Signed-off-by: Joerg Heckenbach Signed-off-by: Dwaine Garden Signed-off-by: Thierry Merle Signed-off-by: Mauro Carvalho Chehab commit 2a893dea0f186efc2eb4bcdaee145b20c87d239d Author: Hartmut Birr Date: Sun Dec 3 21:08:08 2006 -0300 V4L/DVB (4921): Budget-av, budget-ci: Fix MC1 register programming Remove bogus read during MC1 programming. A '1' bit could never be cleared using the old code. Use MASK_xx macros. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 97a2cf05c409f0f73346d3d258b643c782879c77 Author: Hartmut Birr Date: Sun Dec 3 10:49:47 2006 -0300 V4L/DVB (4919): Budget-ci: Use SAA7146_IER_ENABLE/DISABLE to enable or disable a hardware interrupt Use SAA7146_IER_ENABLE/DISABLE to enable or disable a hardware interrupt. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 740cf9e15e5b2274841ee9e6d6d717e37b3f31cf Author: Hartmut Birr Date: Fri Nov 3 15:34:18 2006 -0300 V4L/DVB (4918): Budget-av: Add delay for frontend power-on Added a delay to give the frontend a little bit time for power-on. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 4207700d9b238c2db1bcba47a23251c6024687b6 Author: Oliver Endriss Date: Fri Nov 3 15:13:52 2006 -0300 V4L/DVB (4917): Saa7146: Convert SAA7146_IER_{DIS,EN}ABLE macros to inline functions Convert SAA7146_IER_{DIS,EN}ABLE macros to inline functions. Fixes a problem with macro expansion (reported by C.Y.M). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 00c4cc67512ada1d195b8bf3ef1db1d6b3951605 Author: Oliver Endriss Date: Wed Nov 1 13:09:51 2006 -0300 V4L/DVB (4916): Av7110,budget,budget-ci,budget-av: Use interrupt mode for I2C transfers Use interrupt mode for I2C transfers. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 35e55255bbe1775c3cdb5d9cff494d72d5a49bf3 Author: Hartmut Birr Date: Wed Nov 1 13:01:42 2006 -0300 V4L/DVB (4915): Saa7146: Add timeout protection for I2C interrupt Add a timeout to the wait for the i2c-interrupt. The timeout prevents from endless waiting if the interrupt gets lost. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 88bbdf74fcfa7ed1fd1a3c825ee5575752344326 Author: Hartmut Birr Date: Wed Nov 1 12:46:32 2006 -0300 V4L/DVB (4914): Saa7146: Protect access to the IER register by a spinlock Protect the access to the IER register of the SAA7146 by the device spinlock. I2C transfers may use interrupt mode now. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 122b5dbea6fa3727fc99fbdc2cf5e4d9b8a5bb00 Author: Hans Verkuil Date: Sun Dec 3 06:45:07 2006 -0300 V4L/DVB (4913): Fix broken TUNER_LG_NTSC_TAPE radio support The TUNER_LG_NTSC_TAPE is identical in all respects to the TUNER_PHILIPS_FM1236_MK3. So use the params struct for the Philips tuner. Also add this LG_NTSC_TAPE tuner to the switches where radio specific parameters are set so it behaves like a TUNER_PHILIPS_FM1236_MK3. This change fixes the radio support for this tuner (the wrong bandswitch byte was used). Thanks to Andy Walls for finding this bug. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c8f5b2f5607e78c61df229259c539a5d9488a013 Author: Jonathan Corbet Date: Fri Dec 1 15:50:59 2006 -0300 V4L/DVB (4909): Add s/g_parm to cafe_ccic Add s/g_parm support allowing applications to tweak the frame rate. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit a66d23368068d6027feedc010304d510e6d1fe56 Author: Jonathan Corbet Date: Fri Dec 1 15:37:49 2006 -0300 V4L/DVB (4908): Remove the fake RGB32 format from cafe_ccic Remove RGB32, useful for debugging, but with no place in production. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit bf5dbed6b499787809c78710b209efc76939592b Author: Mauro Carvalho Chehab Date: Fri Dec 1 12:39:46 2006 -0300 V4L/DVB (4901): Improve debug msgs to show fourcc and buffer length on video_ioctl2 Signed-off-by: Mauro Carvalho Chehab commit 177aaaf826856cd8c82e790cf125186b5634f492 Author: Thomas Genty Date: Wed Nov 29 21:57:24 2006 -0300 V4L/DVB (4898): Saa7134: add support for remote control of Hauppauge HVR1110 This patch adds support for the remote control bundled with the Hauppauge HVR1110 Signed-off-by: Thomas Genty Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4be3276a66c09e68a539253ce660913bb2585984 Author: Michael Krufky Date: Fri Nov 24 17:04:24 2006 -0300 V4L/DVB (4896): Dvb-usb: fix vendor ID ordering The vendor IDs in this file were all in alphabetical order except for this one. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c28089a65ca03890db120ee2bf6a7eb0cf603817 Author: Michael Hunold Date: Tue Nov 28 08:14:44 2006 -0300 V4L/DVB (4895): Accept tuners on saa7146 i2c bus only on address 0x60. Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit a08cc44ec12e0a994ee85ba365315dbee982d6a7 Author: Michael Hunold Date: Tue Nov 28 08:13:58 2006 -0300 V4L/DVB (4894): Mxb: fix to load the proper i2c modules Change order of module requests, so that tuner module is loaded at the end, because the tuner module probes multiple i2c addresses and might grab an i2c address that is not a tuner but something else. Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit 036171e75ef866b4fd8650c5b890359482ba2a4c Author: Andrew Morton Date: Tue Nov 28 05:09:22 2006 -0300 V4L/DVB: Dvb-budget ci fix drivers/media/dvb/ttpci/budget-ci.c:220:6: warning: "LINUX_VERSION_CODE" is not defined drivers/media/dvb/ttpci/budget-ci.c:220:28: warning: "KERNEL_VERSION" is not defined drivers/media/dvb/ttpci/budget-ci.c:220:42: error: missing binary operator before token "(" Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0b6389ff16d57d8706bb516bde0211207aae73af Author: Michael Krufky Date: Tue Nov 28 02:35:02 2006 -0300 V4L/DVB (4891): Lgdt330x: fix broken whitespace Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1b5b32bf877d6f77d7eb6580d43623cc113a3b60 Author: Michael Krufky Date: Tue Nov 28 02:16:20 2006 -0300 V4L/DVB (4890): Lgdt330x: fix signal / lock status detection bug In some cases when using VSB, the AGC status register has been known to falsely report "no signal" when in fact there is a carrier lock. The datasheet labels these status flags as QAM only, yet the lgdt330x module is using these flags for both QAM and VSB. This patch allows for the carrier recovery lock status register to be tested, even if the agc signal status register falsely reports no signal. Thanks to jcrews from #linuxtv in irc, for initially reporting this bug. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit af249982dc385b18ea340323f50f585e989b76e5 Author: Adrian Bunk Date: Sun Nov 26 09:47:07 2006 -0300 V4L/DVB (4887): Remove the broken VIDEO_ZR36120 driver The VIDEO_ZR36120 driver has: - already been marked as BROKEN in 2.6.0 three years ago 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: Mauro Carvalho Chehab commit d0d30c03ed7d51bef6e40805988134bdd7042740 Author: Hans Verkuil Date: Sat Nov 25 09:45:50 2006 -0300 V4L/DVB (4886): Minor coding style improvements Remove coding style inconsistencies. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e457579079642924da621e92cb39d8fb90a4d5a7 Author: Andrew de Quincey Date: Fri Nov 24 12:58:42 2006 -0300 V4L/DVB (4884): Remove stray IR code left from patchset This caused compilation to fail - completely replaced by new style functions, so can be removed. Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 9abec6189aa8b6659222544bf893158fc96e8822 Author: Thomas Kaiser Date: Wed Nov 22 18:15:19 2006 -0300 V4L/DVB (4883): Fix TD1316 tuner for DVBC If your device is using the philips tda1316 tuner, i think there is a problem in setting the correct Band. 162 MHz and above should be band 2 (Mid-Band). But in dvbc_philips_tdm1316l_tuner_set_params band 1 is set for frequencies below 200 MHz. Signed-off-by: Thomas Kaiser Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 59236d46dab429646b023026ac92d9e8c732c18a Author: David Hardeman Date: Sat Dec 2 21:16:06 2006 -0200 V4L/DVB (4882): budget-ci IR: make debounce logic conditional Change the debounce logic so that it is not used at all unless the debounce parameter has been set. This makes for a much "snappier" remote for most users as there is no timeout to wait for (the debounce logic has a 350ms timer for the next repeat, but with the RC5 protocol, one event per ~110ms is possible) Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit b5471a27b48801507c5bd0eadd83730230515016 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4881): budget-ci IR: add IR debugging information This adds a ir_debug parameter which is useful in tracking down IR decoding problems. Based on Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 64741b70cf2030ffe017e5ed731620b4a4570f77 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4880): budget-ci IR: decode rc5 device byte Decode the RC5 device byte as well as the command byte. Introduce a parameter to set the device events to listen for. Default to try to auto-detect the proper device code, otherwise, listen to any device as the old code did. Based on Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 2520fffd8b7a312e77009414d3201c9751d6448c Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4879): budget-ci IR: integrate with ir-common This converts the budget-ci driver so that it uses ir-common for some of its IR processing. In particular, the keymap for the Nova-T (sub 13c2:1011) is switched to the Hauppauge grey/black keymap, of which the keys on the supplied R808 remote control form a subset. The old budget-ci keymap is moved to ir-keymaps.c and is used for other remotes. The debounce logic for buggy remotes (i.e. Zenith) is made conditional the new debounce parameter and defaults to off (so that repeat keypresses aren't ignored for all working remotes). Some parts are based on Darren Salt's dvb-ir patchset. Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit ee579bc9332ef8a67e20f512e7bc91e3efb92225 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4878): budget-ci IR: be more verbose in case of init failure Trivial change to help the user understand what went wrong. Taken from Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 8cc532ef5bf1230ed6345aebe5bd11ea8567ba52 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4877): budget-ci IR: improve error checking in init and deinit functions Improve the error checking in the IR init and deinit functions. Based on Darren Salt's dvb-ir patchset. Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 5cc8ae000233e8dad667edcdbb921668c317b627 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4876): budget-ci IR: support EVIOCGPHYS This patch adds a 'phys' string, of the same form as used by various other DVB cards' IR drivers, for access by any program which uses the EVIOCPHYS ioctl or may read /sys/class/input/*/phys (e.g. udev) to identify input device nodes. Taken from Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit dd2f398ccb73530a99582e972aa57e3ed2fd73c6 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4875): budget-ci IR: groundwork for following patches This patch lays down some groundwork for later budget-ci patches. The bulk of this consists of moving a few members into a new struct and renaming a few of them. It also allocates extra space for the device name (the "name" field in /proc/bus/input/devices and in the relevant sysfs dir) to avoid truncation and uses snprintf rather than sprintf in case the extra space shouldn't be enough. Taken from Darren Salt's dvb-ir patchset Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 5cfbacd0d3ee0c9f68e1ad3f24c4e1f879cc47a7 Author: Hartmut Hackmann Date: Tue Nov 21 19:59:27 2006 -0300 V4L/DVB (4872): Saa7134-alsa improvements The change does the following: - At device open, it sets the recording source to the current input instead of LINE2. So it is no longer necessary to set the recording source with a mixer application. - Connects the mixer volume control to the input sensitivity selection of the analog sound inputs. This allows only one 6db step. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 444dadc4391b978b43a778a5a56dfaed1c4ddc61 Author: Mauro Carvalho Chehab Date: Tue Nov 21 11:32:12 2006 -0300 V4L/DVB (4871): Fix i2c dependencies of VIDEO_TVEEPROM and VIDEO_TUNER Signed-off-by: Mauro Carvalho Chehab commit fd83e2487e9149d8cd7c8b1e7d6f0e5231b79f8a Author: Michael Krufky Date: Mon Nov 20 17:03:48 2006 -0300 V4L/DVB (4869): Lgh06xf: use return value of dvb_pll_configure() Use return value of dvb_pll_configure() to fill priv->frequency In lgh06xf_set_params: Rename int variable "err" to "result". Remove needless calculation of the set frequency, since this value is now being returned by dvb_pll_configure(). Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89faeefcf875c16d8923eaed50bd57731c221bcc Author: Michael Krufky Date: Mon Nov 20 16:45:29 2006 -0300 V4L/DVB (4868): Dvb-pll: return frequency set by dvb_pll_configure() This patch removes some duplicated code by returning the frequency set by dvb_pll_configure(), instead of recalculating it again in dvb_pll_set_params() and dvb_pll_calc_regs(). If the return value of dvb_pll_configure is less than zero, it is an error code. Otherwise, the return value is the frequency actually set by the function. Signed-off-by: Michael Krufky Acked-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 47ae9ae895a5228e7a3ca47b1c9ab00a3f641923 Author: Michael Krufky Date: Mon Nov 20 16:38:42 2006 -0300 V4L/DVB (4867): Whitespace cleanup - adhere to 80-column limit - replace some spaces with tabs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc2e3913c786d7387e21ee0818c1a3b66a571703 Author: Patrick Boettcher Date: Sat Dec 2 21:16:04 2006 -0200 V4L/DVB (4863): Adding support for Pinnacle PCTV 400e DVB-S Adding support for Pinnacle PCTV 400e DVB-S. The module name is called ttusb2, because it this device (and other Pinnacle devices) is using the USB-protocol originally used by Technotrend device. I'm suspecting Technotrend as the device-designer. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8949f1a2424a38a4080a2a3561a2698f215a7c4a Author: Patrick Boettcher Date: Tue Nov 21 05:35:10 2006 -0300 V4L/DVB (4864): TDA826x I2C read with 2 messages Added a dump I2C message to the TDA826x-driver to fix I2C read for identification with ttusb2-driver. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 499c18698990463b84c23ddc98104517fe759ee8 Author: audetto@tiscali.it Date: Mon Nov 20 18:27:44 2006 -0300 V4L/DVB (4862): Fixes uninitialized variables passed to VIDIOC_G_FBUF. Signed-off-by: Andrea A Odetti Signed-off-by: Mauro Carvalho Chehab commit e75f9cee32827853fc2f9d1ceb6352e3edc33e9d Author: Mauro Carvalho Chehab Date: Mon Nov 20 13:19:20 2006 -0300 V4L/DVB (4861): Remove the need of a STD array for drivers using video_ioctl2 video_ioctl2 will auto-generate standard entries at ENUM_FMT. Also, now, a driver may return a subset of the video array at the return, to be stored as the current_norm. For example, a driver may ask for V4L2_STD_PAL. At return, driver may change it to V4L2_STD_PAL_B. This way, a futher call to G_STD will return the exact detected video std. Signed-off-by: Mauro Carvalho Chehab commit 207705cd7f82b9f160c6ed552d5788a823701fd1 Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:13:25 2006 -0300 V4L/DVB (4860): Optimization of v4l1 handling Signed-off-by: Mauro Carvalho Chehab commit 7964b1b1c27dea88eb89b10f774893ec11cf973d Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:10:43 2006 -0300 V4L/DVB (4859): Fix initializations on some video_ioctl2 handlers Signed-off-by: Mauro Carvalho Chehab commit 2aa92ffd58493887adde850fe510031e48f12bac Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:10:04 2006 -0300 V4L/DVB (4858): Fix: implement missing VIDIOCSTUNER on v4l1-compat module Signed-off-by: Mauro Carvalho Chehab commit c6aeb11127a8a4266d613563f737a1d60cfae628 Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:06:54 2006 -0300 V4L/DVB (4857): Cleans some ioctl structs before calling V4L2 counterpart Signed-off-by: Mauro Carvalho Chehab commit 61cebe9db7992c2c6ccb91f179f56008e74c2de1 Author: Andrew de Quincey Date: Sun Nov 19 14:10:59 2006 -0300 V4L/DVB (4855): Support KNC1 DVBC cards with alternative tda10021 i2c address For some reason, some of these cards have the tda10021 configured to a different address. This adds support for such cards Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit b07b4783fb30dee8c542fc76ed8993108d46d6aa Author: Dmitry Torokhov Date: Mon Nov 20 10:23:04 2006 -0300 V4L/DVB (4854): Handle errors from input_register_device() Also sprinkled some input_sync() throughout the code. Acked-by: Ricardo Cerqueira Acked-by: Oliver Endriss Acked-by: Andrew de Quincey Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit ff67c614e23bf5a3c16968e2c42ab442121c4beb Author: Mike Isely Date: Sun Nov 19 20:50:31 2006 -0300 V4L/DVB (4852): Pvrusb2: Fix horizontal resolution setting problem for 24xxx devices Fix long-standing issue which prevented use of 24xxx devices at any horizontal resolution other an 720. The problem is in the cx25840 module, if no attempt is made to initialize VBI there. Such a thing should not be needed, but the pvrusb2 driver is updated now to deal with this. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fa4cdd0dc4c066a1a4df19005912bf453dc37b6d Author: Michael Krufky Date: Sun Nov 19 22:58:19 2006 -0300 V4L/DVB (4850): Lgh06xf: fix compiler error when not selected fix build error: lgh06xf.h:29: error: syntax error before '{' token Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2213918a99d6292767b6d4aae3e3f4b0520528a5 Author: Michael Krufky Date: Sun Nov 19 19:49:11 2006 -0300 V4L/DVB (4847): Drivers/media/dvb/frontends: kfree() cleanups We don't have to check for NULL before kfree() Acked-by: Andrew de Quincey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76db93d03f1e9a9a3371f787ae30780cdf10400c Author: Michael Krufky Date: Sun Nov 19 19:45:26 2006 -0300 V4L/DVB (4846): Create new lgh06xf atsc tuner module This patch creates a new atsc tuner module for the LG TDVS-H06xF ATSC tuners, called lgh06xf. The purpose of this change is to reduce some duplicated code, and to allow the lgh06xf tuner code to take advantage of dvb_attach(). As a side effect, the dependency of dvb-bt8xx on dvb-pll has been removed, since the lgh06xf module itself will use dvb-pll, while remaining optional for the dvb-bt8xx driver through the use of DVB_FE_CUSTOMISE Acked-by: Andrew de Quincey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9a7615686a854cb94b5252e66b836a0a539ad9e Author: Jonathan Corbet Date: Sun Nov 19 19:04:55 2006 -0300 V4L/DVB (4842): Updated camera driver A couple of Cafe driver fixes, and support for the hue and saturation controls. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 96389bf5153d19151edc565b397363e122cab4a7 Author: Mauro Carvalho Chehab Date: Sun Nov 19 05:45:52 2006 -0300 V4L/DVB (4841): Added a newer PCI ID to CARDLIST.cx88 Signed-off-by: Mauro Carvalho Chehab commit 2d90fa4412549faa3830789ca606b77827cde827 Author: Jelle Foks Date: Sat Nov 18 15:47:15 2006 -0300 V4L/DVB (4839): Add support ptv-305 Add subvendor/device of the ADSTech Instant TV Deluxe PTV-305 to the card list as card=45 (KWORLD_HARDWARE_MPEG_TV_XPERT). Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 49c6b46a05ade5e1c572431844b77755527a152c Author: Jelle Foks Date: Sat Nov 18 15:47:11 2006 -0300 V4L/DVB (4838): Fix cx88-blackbird null pointer Allows 'debug=1' for cx88-blackbird module (dev needs to be valid for dprintk). Fixes a null-pointer dereference when using debug=1. Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 1f683cd8bc8512c02a7d1b8358d71937d4c5134b Author: Nico Sabbi Date: Wed Nov 15 22:06:56 2006 -0300 V4L/DVB (4836): Added support for both DVB frontends of the Lifeview Trio This card (like some others) supports both, DVB-T and a DVB-S. The patch adds an insmod option to select the frontend: use_frontend=0 -> DVB-T use_frontend=1 -> DVB-S Signed-off-by: Nico Sabbi Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 550a9a5e5f8086ae410832f134a5d80b9bd7fdb6 Author: Hartmut Hackmann Date: Wed Nov 15 21:31:54 2006 -0300 V4L/DVB (4835): Added support for the Terratec Cinergy HT PCMCIA module This is a hybrid cardbus module. Besides the card support, i modified the definition names for AGC and GPIO of the tda10046. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit ab33668f8e1bd686ebc87d51be3a0cf99a267a9f Author: Adrian Bunk Date: Fri Nov 17 11:59:22 2006 -0300 V4L/DVB (4834): Cafe_ccic.c: make a function static This patch makes the needlessly global cafe_v4l_dev_release() static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit c01d1e486a0fc489a495ea304616484bcbcf0018 Author: Thomas Hamm Date: Fri Nov 17 07:12:58 2006 -0300 V4L/DVB (4833): Patch for SATELCO EasyWatch PCI (DVB-C) Add support for Satelco EasyWatch PCI DVBC cards Signed-off-by: Thomas Hamm Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit ed5801477addfbf5a40408866f5b2837e100451f Author: Mauro Carvalho Chehab Date: Thu Nov 16 11:02:28 2006 -0300 V4L/DVB (4829): v4l2_type_names table is incomplete Sliced VBI types are missing at the tables. Fixing it. Signed-off-by: Mauro Carvalho Chehab commit 5d9d171aaed2e0b1c5caac96efd4d4150eec97e1 Author: Mauro Carvalho Chehab Date: Tue Nov 14 12:40:07 2006 -0300 V4L/DVB (4825): FIX bug 5760: audio were not working on some bttv drivers This fixes a bug introduced by the -git commit: bbf7871e1cd58b89f77b1152f457250c6e94b614 It seems that some bttv apps can't work fine when audioset=0. Thanks to Christian Casteyde for pointing this. Signed-off-by: Mauro Carvalho Chehab commit ced8fecaecba6aa6b092abeb0c9e51deeeac9247 Author: Jose Carlos Garcia Sogo Date: Tue Nov 14 05:01:47 2006 -0300 V4L/DVB (4823): Add alternative device ID (0xb808) for AverMedia AverTV Volar dongles. Add alternative device ID (0xb808) for AverMedia AverTV Volar dongles. Signed-off-by: Jose Carlos Garcia Sogo Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f9aeba45000423cdf1211736592cb02c25f28437 Author: Stefan Traby Date: Sun Nov 12 13:02:51 2006 -0300 V4L/DVB (4819): Dib0700: Add support for new revision of Nova-T Stick Added support for Nova-T Stick with USB-pid: 0x7060 Signed-off-by: Stefan Traby Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9292e91b51dfd6238704519b2dc8097c7232941f Author: Paolo Ciarrocchi Date: Sun Nov 12 14:19:15 2006 -0300 V4L/DVB (4813): Added information about Technisat Sky2Pc cards Acked-by: Daniele Vallini Signed-off-by: Paolo Ciarrocchi Signed-off-by: Mauro Carvalho Chehab commit f2520106e78b250c2c4662608cb8db1169932a2d Author: Hans Verkuil Date: Sun Nov 12 09:28:46 2006 -0300 V4L/DVB (4812): Detect presence of IR receiver/IR transmitter in tveeprom Thanks to input from Steven Toth from Hauppauge the tveeprom module has been extended to detect the presence of an IR transmitter (aka IR-blaster). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c6e53daffc2c6e66069304b3970256744074abec Author: Thomas Genty Date: Sun Nov 5 14:17:30 2006 -0300 V4L/DVB (4806): Saa7134: add support for Hauppauge WinTV-HVR1110 DVB-T/Hybrid This patch adds support for the Hauppauge WinTV-HVR1110 DVB-T/Hybrid Signed-off-by: Thomas Genty Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8637a8759585b97ec1d54ff4a4f33f34be4f5b1c Author: Michael Krufky Date: Wed Nov 8 16:47:32 2006 -0300 V4L/DVB (4805): Dib0700: Add support for Leadtek Winfast DTV Dongle (STK7700P based) This patch adds support for the new, STK7700-based revision of the Leadtek Winfast DTV Dongle. Signed-off-by: Michal CIJOML Semler Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 111f33564e19b2b5f70e3df9a8f92c08c1c91fd9 Author: Jonathan Corbet Date: Sat Nov 4 09:26:00 2006 -0300 V4L/DVB (4798): OmniVision OV7670 driver This patch adds a V4L2 driver for the OmniVision OV7670 camera. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit d905b382d797a213e15868cbf3204f50ed52e30b Author: Jonathan Corbet Date: Sat Nov 4 09:25:53 2006 -0300 V4L/DVB (4797): Marvell 88ALP01 "cafe" driver A driver for the Marvell M88ALP01 "CAFE" CMOS integrated camera controller. This driver has been renamed "cafe_ccic" since my previous patch set. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 9c4dfadbde3cfa78b92c28597125b8c41d36ffd0 Author: Jonathan Corbet Date: Sat Nov 4 09:22:27 2006 -0300 V4L/DVB (4796): A couple of V4L2 defines needed by Cafe Camara driver Two defines for V4L2, needed by the Cafe camera driver: 1) Add the RGB444 image format 2) Add the "init" internal command which is separate from "reset". Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 589d069cfe7f2bb37c4836641ddffe9e2b51e74e Author: Andrew Morton Date: Thu Nov 2 19:45:13 2006 -0300 V4L/DVB (4794): Dvb: dibx000_common-fix Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit cbb94521cff24c98c2dbee28fb95e007c6bcaa43 Author: Hartmut Hackmann Date: Mon Oct 30 20:00:16 2006 -0300 V4L/DVB (4792): Add support for the Compro Videomate DVB-T200A This board has the same PCI ID as the T200, so the exact board type is determined from the eeprom. The original patch was provided by Francis Barber Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit a75ec3f033625fb02ccc855fcd2e322275633fc4 Author: Hartmut Hackmann Date: Mon Oct 30 19:56:59 2006 -0300 V4L/DVB (4791): Added autodetected flag to the saa7134_dev structure In case the exact board type needs to be determined by probing or evaluating the eeprom, this flag allows to still set the board type via the card=xx insmod option. This is an extract of a patch by Francis Barber. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 19be685a4a5475ecdbbbb579458eeda890d27a96 Author: Trent Piepho Date: Sun Oct 29 13:35:39 2006 -0300 V4L/DVB (4789): Lgdt330x: SNR and signal strength reporting Update the SNR calculations to use the new dvb_math log function, and add SNR calculations for all supported modulations for both lg dt3302 and dt3303. The QAM equations don't appear in the dt3302 datasheet, so the ones from the dt3303 datasheet were used. SNR returned is the actual value in dB as 8.8 fixed point. Reporting of real signal strength isn't supported, so rather than return 0, which confuses some software and users, a re-scaled SNR value is returned. Code originally by Rusty Scott. Signed-off-by: Trent Piepho Signed-off-by: Rusty Scott Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dbb2e6392b4fe350e549cdc2d42cebf3b3574a6a Author: Christoph Haubrich Date: Tue Oct 31 00:29:30 2006 -0300 V4L/DVB (4788): Tda8083: support for uncorrectable blocks and bit error rate Copied routines for uc blocks and BER from the removed tda80xx.c into tda8083.c. Signed-off-by: Christoph Haubrich Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit bf11f5e944b3bb7d310aff041a1664fb80a82078 Author: Patrick Boettcher Date: Thu Oct 19 08:17:43 2006 -0300 V4L/DVB (4778): Fixed device count Forgot to increase the device count for the STK7700P-devices Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0ce215e1f0d40702d6233029d234293754610fd7 Author: Henning Schroeer Date: Thu Oct 19 07:58:22 2006 -0300 V4L/DVB (4776): Adding USB IDs for Uniwill STK7700P-ref-design Adding USB IDs for Uniwill STK7700P-ref-design Signed-off-by: Henning Schroeer Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 49a1376cf47b644f31d0fb2532054183fcec6fc8 Author: Tomi Koivulahti Date: Thu Oct 19 07:27:19 2006 -0300 V4L/DVB (4775): [patch] Add Compro USB IDs This patch adds Compro Videomate U500 to supported devices. Signed-off-by: Tomi Koivulahti Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d92532d9860663cb39828e18a3e6aed27821f2bf Author: Patrick Boettcher Date: Wed Oct 18 08:35:16 2006 -0300 V4L/DVB (4773): Misc fixes for DiB3000 and DiB7000 This patch contains several fixes for the autosearch algorithm and other small ones. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a75763ffff4175bd8c115c217a39fbf445612aae Author: Patrick Boettcher Date: Wed Oct 18 08:34:16 2006 -0300 V4L/DVB (4772): Add support for DiBcom DiB7000PC This patch contains support for the DiB7000PC-driver. Signed-off-by: Francois KANOUNNIKOFF Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8364681766cc18b948cf9d7bd46d1b92f343743b Author: Hartmut Hackmann Date: Thu Oct 12 20:38:51 2006 -0300 V4L/DVB (4769): Added support for a ASUSTEK P7131 Dual DVB-T variant This card has no firmware eeprom. The old version still should not need a firmware file due to an undocumented feature of the TDA10046. The patch also includes Hermann Pitton's proposal for improved antenna switch handling Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7da6894a96ebbc1505763213c42b8fcf66aa3d90 Author: Hermann Pitton Date: Thu Oct 12 20:00:56 2006 -0300 V4L/DVB (4768): Add the Asus P7131 Dual hybrid to the new tda8290_i2c_gate_ctrl The gate control was moved to a separate function. Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit eb591af3a3703cb79e3efb5ad87b36dcd32b0712 Author: Hartmut Hackmann Date: Thu Oct 12 19:46:16 2006 -0300 V4L/DVB (4767): Make Remote control of the Pinnacle PCTV 310i work The remote control works, but we still need a better keymap. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 69ea31e7debdefcf1412e8d590ae9bd90cf9253f Author: Patrick Boettcher Date: Tue Oct 17 18:28:14 2006 -0300 V4L/DVB (4766): Add working dib7000m-module First working version of the dib7000m-driver. This commit also makes the Hauppauge NOVA-T Stick working. Signed-off-by: Francois Kanounnikoff Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3cc2e4c3a137075ee66e2d4ce95a95ba153bd7b9 Author: Luke Deller Date: Tue Oct 17 18:28:10 2006 -0300 V4L/DVB (4765): Dvb-usb/vp7045.c patch for extra key Add support for more keys on the remote control included with the DigitalNow tinyUSB2 DVB-T Receiver. Signed-off-by: Luke Deller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit cc75aede1b1ce29a478911ad7dadee94ecd45bbf Author: Mike Isely Date: Sun Oct 15 21:35:14 2006 -0300 V4L/DVB (4763): Pvrusb2: Implement IR reception for 24xxx devices Unlike 29xxx devices, the 24xxx model series does not have a dedicated I2C device for reception of IR codes. Instead IR is handled directly by the FX2 microcontroller and the results are communicated via commands to the FX2. Rather than implement a whole new IR reception pathway for 24xxx devices, this changeset instead emulates the presence of the 29xxx device's I2C based IR receiver by intercepting commands to that chip and issuing appropriate FX2 commands to do the needed action. This has the result of allowing all the usual IR frameworks (ir-kbd-i2c or lirc) to continue working unmodified for 24xxx devices. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c85f49d49f437605550322bd2739af18230cf85b Author: Amit Choudhary Date: Tue Oct 17 11:39:06 2006 -0300 V4L/DVB (4761): Stv680.c: check kmalloc() return value. Signed-off-by: Amit Choudhary Signed-off-by: Mauro Carvalho Chehab commit fe16af26c849eb75134855c7be22352f1a15844c Author: Michael Krufky Date: Mon Oct 16 20:47:14 2006 -0300 V4L/DVB (4759): Cx88: use external adc for rca audio inputs on the ASUS PVR-416 For the ASUS PVR-416, the external adc must be used for the rca audio inputs, but television / radio inputs use the internal adc. Thanks to Alex Deucher for lending his card to me. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cc0f3f51357f46c08e2f34a7a22df1100f082de5 Author: Michael Krufky Date: Mon Oct 16 16:53:01 2006 -0300 V4L/DVB (4758): Cx88: use external adc for svideo/composite For the KWorld HardwareMpegTV XPert, the external adc must be used for svideo / composite inputs, but television / radio inputs use the internal adc. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f24546a95ade39b9cd292f06f92232becbbf35ae Author: Michael Krufky Date: Mon Oct 16 16:51:11 2006 -0300 V4L/DVB (4757): Cx88: determine whether or not to use external adc Some cx88-blackbird boards use an external adc, but not necessarily for all inputs. Thus, this needs to be configurable on the card level for each input. This patch allows for the usage of the external adc to be determined by a bit setting in the cx88_input struct for cards based on the cx88 blackbird design. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5b26c82f959e72cbd642ef4039a356ff8385cd58 Author: Michael Krufky Date: Mon Oct 16 16:07:51 2006 -0300 V4L/DVB (4756): Cx88: cleanups - fixed whitespace, replaced leading spaces with tabs - moved .mpeg descriptor below input settings Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5b9ed286759eb1c805f344398ee2c57191d7e2bd Author: Michael Krufky Date: Sun Oct 15 14:51:08 2006 -0300 V4L/DVB (4754): Cxusb: update copyright and author email address Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f71a56c17225392c873225f2d567f5caddc6b963 Author: Michael Krufky Date: Fri Oct 13 21:55:57 2006 -0300 V4L/DVB (4753): Cxusb: rename cxusb_lgdt3303_tuner_attach cxusb_lgdt3303_tuner_attach were renamed to cxusb_lgh064f_tuner_attach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 01451e722793f191f6e13c5150dd8664f4439d17 Author: Patrick Boettcher Date: Fri Oct 13 11:34:46 2006 -0300 V4L/DVB (4749): Fixed DVB-USB-Adapter indention While converting everything to DVB-USB-Adapter, there was a wrong indention. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 019391e426266a346ac2f1b3d3c70c26b482ff31 Author: Steven Toth Date: Fri Oct 6 21:29:25 2006 -0300 V4L/DVB (4736): Cx88-blackbird module is rejected during probe. If the last cx88 board probed is not backbird based, and a previous board was, the entire module is unloaded leading to an oops during mpeg_open on the first /dev/videoN device. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3ac706d2f77fd7bbef037a6137d08a72d7dc8334 Author: Mikhail Fedotov Date: Fri Oct 6 20:23:47 2006 -0300 V4L/DVB (4728): Add support for AverMedia AverTV Studio 507 This is just an additional analog board configuration. Signed-off-by: Mikhail Fedotov Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 587d2fd7f296dfb5ccf348e48d6d751bcc6a423a Author: Hartmut Hackmann Date: Fri Oct 6 19:13:50 2006 -0300 V4L/DVB (4726): Add support for Pinnacle 310i The driver supports analog TV, radio and DVB-T. It is based on the preliminary patch by Pierluigi Rolando. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7343826370dd5fe14a2dcec20968f2d3a4431ce6 Author: Steven Toth Date: Thu Oct 5 21:28:24 2006 -0300 V4L/DVB (4723): Bugfix: Select the correct cx8802_dev when enumerating by CX88_MPEG_type A bug in cx8802_get_driver() meant that in multiboard environments, when testing frontends on the non primary board, the incorrect device was returned resulting in "Unsupported value in .mpeg.." messages. Depending on the electrical design of the hardware (serial, parallel, rising/falling edge detect), transport would still be delivered and the problem went unnoticed. This patch ensures the correct instance of cx8802_dev is returned. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6c5be74c86f102c2d4e123bc51d2fa93155fd794 Author: Steven Toth Date: Sat Dec 2 21:15:51 2006 -0200 V4L/DVB (4676): Dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support. A series of patches to change the cx88 framework to allow the PCI mpeg port to be shared dynamically between different types of drivers or applications. This patch changes the cx88-dvb and cx88-blackbird drivers to become 'sub drivers' of a higher single cx88-mpeg driver. The cx88-mpeg driver is a superset of the previous cx88-mpeg/blackbird drivers and now owns the IRQ. cx88-dvb/blackbird now become mini drivers, registering themselves with cx88-mpeg through a standard interface with callbacks. Sub drivers request access to hardware via the cx88-mpeg driver. In turn the cx88-mpeg driver determines whether the hardware is busy and accepts or refuses the request, grant access using callbacks into the sub drivers. The net effect is that you are no longer able to tamper with the mpeg port from multiple different applications at the same time, potentially breaking a live mpeg2 hardware encoding or dvb stream. The mechanism extends to enable multiple dvb frontends to be registered and share the single resource. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 91bb9be6ff4101652bb104f9f083f340e73ba6dd Author: Patrick Boettcher Date: Sat Dec 2 21:15:51 2006 -0200 V4L/DVB (4524): Initial commit for the DiB7000M-demod Initial commit for the driver for the DiB7000M COFDM demodulator. Signed-off-by: Francois KANOUNNIKOFF Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 902fc997adb7b917e1bd06ad6f2f0d38aa482578 Author: Trent Piepho Date: Wed Oct 4 20:33:51 2006 -0300 V4L/DVB (4722): Cx88: Add support for VIDIOC_INT_[SR]_REGISTER ioctls Add support for the advanced debugging ioctls, to allow access to the cx88 registers from userspace. Only i2c_id == 0 is supported, for access to the cx88 adapter itself. There isn't any support for access to I2C clients of the adapter. Most of them don't have R/W registers anyway, and its necessary to use i2c-dev to talk to them from userspace. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 45a9b83fe4cf91b13900dc665f526f7fd94d484c Author: Patrick Boettcher Date: Thu Oct 19 08:15:40 2006 -0300 V4L/DVB (4777): Correct AVerMedia Volar USB ID correct AVerMedia Volar USB ID Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f0882589666440d573f657cb3a1d5f66f3caa157 Author: David S. Miller Date: Sun Dec 10 02:42:03 2006 -0800 [SPARC64]: Fix several kprobes bugs. - relbranch_fixup(), for non-branches, would end up setting regs->tnpc incorrectly, in fact it would set it equal to regs->tpc which would cause that instruction to execute twice Also, if this is not a PC-relative branch, we should just leave regs->tnpc as-is. This covers cases like 'jmpl' which branch to absolute values. - To be absolutely %100 safe, we need to flush the instruction cache for all assignments to kprobe->ainsn.insn[], including cases like add_aggr_kprobe() - prev_kprobe's status field needs to be 'unsigned long' to match the type of the value it is saving - jprobes were totally broken: = jprobe_return() can run in the stack frame of the jprobe handler, or in an even deeper stack frame, thus we'll be in the wrong register window than the one from the original probe state. So unwind using 'restore' instructions, if necessary, right before we do the jprobe_return() breakpoint trap. = There is no reason to save/restore the register window saved at %sp at jprobe trigger time. Those registers cannot be modified by the jprobe handler. Also, this code was saving and restoring "sizeof (struct sparc_stackf)" bytes. Depending upon the caller, this could clobber unrelated stack frame pieces if there is only a basic 128-byte register window stored on the stack, without the argument save area. So just saving and restoring struct pt_regs is sufficient. = Kill the "jprobe_saved_esp", totally unused. Also, delete "jprobe_saved_regs_location", with the stack frame unwind now done explicitly by jprobe_return(), this check is superfluous. Signed-off-by: David S. Miller commit 2f149228bb30ea08bfde740178f832d5c9081005 Author: David S. Miller Date: Sat Dec 9 15:41:53 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 5ff42459af99427a393e3b576a77a900d43e730a Author: Mariusz Kozlowski Date: Fri Dec 1 20:19:59 2006 -0800 [SPARC64]: dma remove extra brackets Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 35bca36cf7b20a73a89f87aab34b1b4dfff6bf08 Author: Alexey Dobriyan Date: Fri Dec 1 20:18:40 2006 -0800 [SPARC{32,64}]: Propagate ptrace_traceme() return value. ptrace_traceme() consolidation made ret = ptrace_traceme(); dead write. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 982c2064d9a8b51404088d132489a25e2db807fd Author: Yan Burman Date: Thu Nov 30 17:13:09 2006 -0800 [SPARC64]: Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: David S. Miller commit d4accd60d23f3c8a576fd08b727f88096f42d445 Author: David S. Miller Date: Thu Nov 30 17:11:26 2006 -0800 [SPARC]: Check kzalloc() return value in SUN4D irq/iommu init. Signed-off-by: David S. Miller commit c80892d150a872b18cedfbf789211bfbebfc67ce Author: Yan Burman Date: Thu Nov 30 17:07:04 2006 -0800 [SPARC]: Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: David S. Miller commit a2c1e064c45f5126625121f58afa423e13c55efc Author: David S. Miller Date: Wed Nov 29 21:16:21 2006 -0800 [SPARC64]: Run ctrl-alt-del action for sun4v powerdown request. Signed-off-by: David S. Miller commit c449c38b5df1fad556ea210deb6cff3b27323e49 Author: David S. Miller Date: Tue Nov 28 20:18:05 2006 -0800 [SPARC64]: Unaligned accesses to userspace are hard errors. Userspace is forbidden from making unaligned loads and stores. So if we get an unaligned trap due to a {get,put}_user(), signal a fault and run the exception handler. Signed-off-by: David S. Miller commit 6e7726e16fb5e8f1169dbfcb75e321ac871af827 Author: David S. Miller Date: Sun Nov 19 14:38:25 2006 -0800 [SPARC64]: Call do_mathemu on illegal instruction traps too. To add this logic, put the VIS instruction check at the vis_emul() call site instead of inside of vis_emul(). Signed-off-by: David S. Miller commit 042cf50cfd0bc3e1769d8287465eb522e8a08ba6 Author: David S. Miller Date: Thu Nov 16 13:40:11 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 10e267234cc0133bc9ed26bc34eb09de90c248c0 Author: David S. Miller Date: Thu Nov 16 13:38:57 2006 -0800 [SPARC64]: Add irqtrace/stacktrace/lockdep support. Signed-off-by: David S. Miller commit f0f32fccbffaaba8596d5c671153aa37aea9d4f0 Author: Randy Dunlap Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] x86-64: no paravirt for X86_VOYAGER or X86_VISWS Since Voyager and Visual WS already define ARCH_SETUP, it looks like PARAVIRT shouldn't be offered for them. In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition Signed-off-by: Randy Dunlap commit 306a22c2a20edf3a440bfb4cf2b94c19dfd81a53 Author: Andi Kleen Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] i386: Fix io_apic.c warning gcc 4.2 warns linux/arch/i386/kernel/io_apic.c: In function ‘create_irq’: linux/arch/i386/kernel/io_apic.c:2488: warning: ‘vector’ may be used uninitialized in this function The warning is false, but somewhat legitimate so work around it. Signed-off-by: Andi Kleen commit 7e74437cf60cc84a655e301f1ee48027b3bcf96e Author: Randy Dunlap Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] i386: export smp_num_siblings for oprofile oprofile uses smp_num_siblings without testing for CONFIG_X86_HT. I looked at modifying oprofile, but this way is cleaner & simpler and I didn't see a good reason not to just export it when CONFIG_SMP. WARNING: "smp_num_siblings" [arch/i386/oprofile/oprofile.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen commit 1bac3b383a93a4a920ffc57441eb133c78567fbd Author: Andi Kleen Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] x86: Work around gcc 4.2 over aggressive optimizer The new PDA code uses a dummy _proxy_pda variable to describe memory references to the PDA. It is never referenced in inline assembly, but exists as input/output arguments. gcc 4.2 in some cases can CSE references to this which causes unresolved symbols. Define it to zero to avoid this. Signed-off-by: Andi Kleen commit 92715e282be7c7488f892703c8d39b08976a833b Author: Ravikiran G Thirumalai Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86: Fix boot hang due to nmi watchdog init code 2.6.19 stopped booting (or booted based on build/config) on our x86_64 systems due to a bug introduced in 2.6.19. check_nmi_watchdog schedules an IPI on all cpus to busy wait on a flag, but fails to set the busywait flag if NMI functionality is disabled. This causes the secondary cpus to spin in an endless loop, causing the kernel bootup to hang. Depending upon the build, the busywait flag got overwritten (stack variable) and caused the kernel to bootup on certain builds. Following patch fixes the bug by setting the busywait flag before returning from check_nmi_watchdog. I guess using a stack variable is not good here as the calling function could potentially return while the busy wait loop is still spinning on the flag. AK: I redid the patch significantly to be cleaner Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Signed-off-by: Andi Kleen commit 16d279d277aedd640d9dba5ddeb172b5e6bc7d75 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86: Fix verify_quirk_intel_irqbalance() Fix verify_quirk_intel_irqbalance(). genapic checks should really happen only on affected versions of the E7520/E7320/E7525 based platforms. AK: This should akpm's Coyote SDV Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen commit e0f27981f2d5fd93b2795e8348327b081c512f83 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 9f25441fe6a4d8fc080a1f814078ac5d67adeea4 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 4594bf159f1962cec3b727954b7c598b07e2e737 Author: David Howells Date: Thu Dec 7 11:33:26 2006 +0000 [PATCH] WorkStruct: Use direct assignment rather than cmpxchg() Use direct assignment rather than cmpxchg() as the latter is unavailable and unimplementable on some platforms and is actually unnecessary. The use of cmpxchg() was to guard against two possibilities, neither of which can actually occur: (1) The pending flag may have been unset or may be cleared. However, given where it's called, the pending flag is _always_ set. I don't think it can be unset whilst we're in set_wq_data(). Once the work is enqueued to be actually run, the only way off the queue is for it to be actually run. If it's a delayed work item, then the bit can't be cleared by the timer because we haven't started the timer yet. Also, the pending bit can't be cleared by cancelling the delayed work _until_ the work item has had its timer started. (2) The workqueue pointer might change. This can only happen in two cases: (a) The work item has just been queued to actually run, and so we're protected by the appropriate workqueue spinlock. (b) A delayed work item is being queued, and so the timer hasn't been started yet, and so no one else knows about the work item or can access it (the pending bit protects us). Besides, set_wq_data() _sets_ the workqueue pointer unconditionally, so it can be assigned instead. So, replacing the set_wq_data() with a straight assignment would be okay in most cases. The problem is where we end up tangling with test_and_set_bit() emulated using spinlocks, and even then it's not a problem _provided_ test_and_set_bit() doesn't attempt to modify the word if the bit was set. If that's a problem, then a bitops-proofed assignment will be required - equivalent to atomic_set() vs other atomic_xxx() ops. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d8a53b358257625778387925165eaa97839b2f52 Author: Kars de Jong Date: Sat Dec 9 10:51:03 2006 +0100 [PATCH] Amiga PCMCIA NE2000 Ethernet dev->irq init Amiga PCMCIA NE2000 Ethernet: Add missing initialization of dev->irq Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bf8af91bcd8aadad4933a51c1219ea35e1ae0d77 Author: Geert Uytterhoeven Date: Sat Dec 9 10:50:15 2006 +0100 [PATCH] m68k: EXPORT_SYMBOL(cache_{clear,push}) bogus comment Remove bogus comments about unexporting cache_{push,clear}(), as inline dma_cache_maintenance() (used by at least bionet and pamsnet) calls them. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3f922221bbeb1a61146126cdec3c7ccf81539463 Author: Michael Schmitz Date: Sat Dec 9 10:46:30 2006 +0100 [PATCH] m68k/Atari: 2.6.18 Atari IDE interrupt needs SA_SHIRQ Atari IDE: The interrupt needs SA_SHIRQ now to get registered. Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit c39e7eee149b4105fc49df27a2cb04fad880bb00 Author: Sam Creasey Date: Sat Dec 9 10:37:05 2006 +0100 [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again Make sun3 scsi drivers compile/work again (though with way too many warnings...) Tested on 3/50, 3/60. Signed-off-by: Sam Creasey Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a3a79bd7c75f0055df16540c7e9dbe270060ebe8 Author: Sam Creasey Date: Sat Dec 9 10:34:38 2006 +0100 [PATCH] Sun3: General updates General compile fixes for 2.6.16 for sun3, and some updates to make the new bootloader work correctly. Tested on 3/50, 3/60, 3/80. Signed-off-by: Sam Creasey Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8e8858e932a81d827e194abf82faf32d02396f55 Author: Kars de Jong Date: Sat Dec 9 10:29:58 2006 +0100 [PATCH] m68k/HP300: HP LANCE updates - 7990: request_irq() should have SA_SHIRQ flag set - hplance_init() printed dev->name before register_netdev() had filled it in Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bca0b8e75f6b7cf52cf52c967286b72d84f9b37e Author: Russell King Date: Sat Dec 9 16:41:55 2006 +0000 [ARM] Add sys_*at syscalls Later glibc requires the *at syscalls. Add them. Signed-off-by: Russell King commit d3dcc077bf88806201093f86325ec656e4dbfbce Author: David S. Miller Date: Fri Dec 8 17:05:13 2006 -0800 [NETLINK]: Put {IFA,IFLA}_{RTA,PAYLOAD} macros back for userspace. GLIBC uses them etc. They are guarded by ifndef __KERNEL__ so nobody will start accidently using them in the kernel again, it's just for userspace. Signed-off-by: David S. Miller commit 160d5e10f87b1dc88fd9b84b31b1718e0fd76398 Author: Jarek Poplawski Date: Fri Dec 8 00:26:56 2006 -0800 [NET_SCHED] sch_htb: turn intermediate classes into leaves - turn intermediate classes into leaves again when their last child is deleted (struct htb_class changed) Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit a37ef2e3258d65e43ec876233bba0b288a9d3260 Author: Jarek Poplawski Date: Fri Dec 8 00:25:55 2006 -0800 [NET_SCHED] sch_cbq: deactivating when grafting, purging etc. - deactivating of active classes when q.qlen drops to zero (cbq_drop) - a redundant instruction removed from cbq_deactivate_class PS: probably htb_deactivate in htb_delete and cbq_deactivate_class in cbq_delete are also redundant now. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 93366c537b3426261cac4db27acc10a99cd91b06 Author: J Hadi Salim Date: Fri Dec 8 00:12:15 2006 -0800 [XFRM]: Fix XFRMGRP_REPORT to use correct multicast group. XFRMGRP_REPORT uses 0x10 which is a group that belongs to events. The correct value is 0x20. We should really be using xfrm_nlgroups going forward; it was tempting to delete the definition of XFRMGRP_REPORT but it would break at least iproute2. Signed-off-by: J Hadi Salim Signed-off-by: David S. Miller commit f0490980a152958d25ce9762bfb296d8fd4c5512 Author: Eric Dumazet Date: Fri Dec 8 00:08:43 2006 -0800 [NET]: Force a cache line split in hh_cache in SMP. hh_lock was converted from rwlock to seqlock by Stephen. To have a 100% benefit of this change, I suggest to place read mostly fields of hh_cache in a separate cache line, because hh_refcnt may be changed quite frequently on some busy machines. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 47bbec0282cce900f16a8dd6397260e076400edb Author: Neil Horman Date: Fri Dec 8 00:05:55 2006 -0800 [NETPOLL]: make arp replies through netpoll use mac address of sender Back in 2.4 arp requests that were recevied by netpoll were processed in netconsole_receive_skb, where they were responded to using the src mac of the request sender. In the 2.6 kernel arp_reply is responsible for this function, but instead of using the src mac address of the incomming request, the stored mac address that was registered for the netconsole application is used. While this is usually ok, it can lead to failures in netpoll in some situations (specifically situations where a network may have two gateways, as arp requests from one may be responded to using the mac address of the other). This patch reverts the behavior to what we had in 2.4, in which all arp requests are sent back using the src address of the request sender. Signed-off-by: Neil Horman Acked-by: Chris Lalancette Signed-off-by: David S. Miller commit e07bca84cd9d31f76ed655d51e68b6a0ca15f162 Author: Thomas Graf Date: Thu Dec 7 23:49:45 2006 -0800 [NETLINK]: Restore API compatibility of address and neighbour bits Restore API compatibility due to bits moved from rtnetlink.h to separate headers. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 15b1c0e822f578306332d4f4c449250db5c5dceb Author: Ralf Baechle Date: Thu Dec 7 15:47:08 2006 -0800 [AX.25]: Fix default address and broadcast address initialization. Only the callsign but not the SSID part of an AX.25 address is ASCII based but Linux by initializes the SSID which should be just a 4-bit number from ASCII anyway. Fix that and convert the code to use a shared constant for both default addresses. While at it, use the same style for null_ax25_address also. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit e8cc49bb0fdb9e18a99e6780073d1400ba2b0d1f Author: Ralf Baechle Date: Thu Dec 7 15:43:13 2006 -0800 [AX.25]: Constify ax25 utility functions Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 6c1bbcc8836358294c431e0c09e85e3480895659 Author: Adrian Bunk Date: Thu Dec 7 15:10:06 2006 -0800 [BNX2]: Add an error check. This patch adds a missing error check spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Jeff Garzik Acked-by: Michael Chan Signed-off-by: David S. Miller commit 3644f0cee77494190452de132e82245107939284 Author: Stephen Hemminger Date: Thu Dec 7 15:08:17 2006 -0800 [NET]: Convert hh_lock to seqlock. The hard header cache is in the main output path, so using seqlock instead of reader/writer lock should reduce overhead. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f0647a52974daccbe20990fb6341f07792445fe0 Author: Vitaly Wool Date: Fri Dec 8 11:40:35 2006 +0300 [PATCH] add STB810 support (Philips PNX8550-based) Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit c25c79d80e02db1bd993426f979c5f1b42a0f132 Author: Ralf Baechle Date: Fri Dec 8 12:55:42 2006 +0000 [MIPS] Qemu now has an ELF loader. So nuke kludge for flat binaries. Signed-off-by: Ralf Baechle commit 9fd32cfbb602f3e5e898faa61d83c4a7897bd48a Author: Atsushi Nemoto Date: Fri Dec 8 01:55:07 2006 +0900 [MIPS] Add GENERIC_HARDIRQS_NO__DO_IRQ for i8259 users Now that i8259A_chip uses new irq flow handler select GENERIC_HARDIRQS_NO__DO_IRQ on some more platforms. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ed99e2bc1dc5dc54eb5a019f4975562dbef20103 Author: Atsushi Nemoto Date: Fri Dec 8 01:04:51 2006 +0900 [MIPS] Optimize csum_partial for 64bit kernel Make csum_partial 64-bit powered. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 773ff78838ca3c07245e45c06235e0baaa5f710a Author: Atsushi Nemoto Date: Fri Dec 8 01:04:45 2006 +0900 [MIPS] Optimize flow of csum_partial Delete dead codes at end of the function and move small_csumcopy there. This makes some labels (maybe_end_cruft, small_memcpy, end_bytes, out) needless and eliminates some branches. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 52ffe760ea9ec407292d093c3f06c1cda5187228 Author: Atsushi Nemoto Date: Fri Dec 8 01:04:31 2006 +0900 [MIPS] Make csum_partial more readable Use standard o32 register name instead of T0, T1, etc, like memcpy.S. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 14b36af46a1d3652aff6734ea24816995dff8123 Author: Thomas Bogendoerfer Date: Tue Dec 5 17:05:44 2006 +0100 [MIPS] Rename SNI_RM200_PCI to just SNI_RM preparing for more RM machines Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit a223535425eb28082a0925b0ce2f02f962936cf4 Author: Anton Blanchard Date: Fri Dec 8 18:22:09 2006 +1100 [POWERPC] dont allow pSeries_probe to succeed without initialising MMU pSeries_probe can decide that we are a pseries but then fail to initialise the MMU. If an rtas node doesnt exist, we continually fall out of pSeries_probe_hypertas early and never get to the MMU init code. While pseries without RTAS is an illegal combination, the way we currently fail is a pain to track down, and can happen if your flattened device tree code has issues (like mine did :). With the following patch we init the MMU, come up and print some warnings about RTAS not existing, instead of looping on 0x400 exceptions. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 5773bbcdec54b7258cb9e2aa6f3459b4cbfd9dc5 Author: Anton Blanchard Date: Fri Dec 8 18:08:37 2006 +1100 [POWERPC] micro optimise pSeries_probe We find the OF root the line before, we may as well use it. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit f050982a9b7c4edc414f0d5543c3cb24504223c6 Author: Anton Blanchard Date: Fri Dec 8 17:51:13 2006 +1100 [POWERPC] Add SPURR SPR to sysfs Now we have a SPURR cpu feature bit, we can export it to userspace in sysfs. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 4c198557c6b45956a6f54b958fb97a15b02a6a3b Author: Anton Blanchard Date: Fri Dec 8 17:46:58 2006 +1100 [POWERPC] Add DSCR SPR to sysfs POWER6 adds a new SPR, the data stream control register (DSCR). It can be used to adjust how agressive the prefetch mechanisms are. Its possible we may want to context switch this, but for now just export it to userspace via sysfs so we can adjust it. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 63f3861d2fbf8ccbad1386ac9ac8b822c036ea00 Author: Jiri Kosina Date: Fri Dec 8 18:41:30 2006 +0100 [PATCH] Generic HID layer - build This modifies Makefiles and Kconfigs to properly reflect the creation of generic HID layer. It also removes the dependency of BROKEN, which was introduced by the first patch in series (see the comment). Also updates credits. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 4c2ae844b5ef85fd4b571c9c91ac48afa6ef2dfc Author: Jiri Kosina Date: Fri Dec 8 18:41:22 2006 +0100 [PATCH] Generic HID layer - pb_fnmode pb_fnmode parameter has to be passed to usbhid, both for compatibility reasons and also because it logically belongs there. Also removes empty hid-input.c file in drivers/usb/input. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit aa8de2f038baec993f07ef66fb3e94481d1ec22b Author: Jiri Kosina Date: Fri Dec 8 18:41:17 2006 +0100 [PATCH] Generic HID layer - input and event reporting hid_input_report() was needlessly USB-specific in USB HID. This patch makes the function independent of HID implementation and fixes all the current users. Bluetooth patches comply with this prototype. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit aa938f7974b82cfd9ee955031987344f332b7c77 Author: Jiri Kosina Date: Fri Dec 8 18:41:10 2006 +0100 [PATCH] Generic HID layer - hiddev - hiddev is USB-only (agreed with Marcel Holtmann that Bluetooth currently doesn't need it, and future planned interface (rawhid) will be more flexible and usable) - both HID and USB-hid can be now compiled as modules (wasn't possible before hiddev was fully separated from generic HID layer) Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 4916b3a57fc94664677d439b911b8aaf86c7ec23 Author: Jiri Kosina Date: Fri Dec 8 18:41:03 2006 +0100 [PATCH] Generic HID layer - USB API - 'dev' in struct hid_device changed from struct usb_device to struct device and fixed all the users - renamed functions which are part of USB HID API from 'hid_*' to 'usbhid_*' - force feedback initialization moved from common part into USB-specific driver - added usbhid.h header for USB HID API users - removed USB-specific fields from struct hid_device and moved them to new usbhid_device, which is pointed to by hid_device->driver_data - fixed all USB users to use this new structure Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 229695e51efc4ed5e04ab471c82591d0f432909d Author: Jiri Kosina Date: Fri Dec 8 18:40:53 2006 +0100 [PATCH] Generic HID layer - API - fixed generic API (added neccessary EXPORT_SYMBOL, fixed hid.h to provide correct prototypes) - extended hid_device with open/close/event function pointers to driver-specific functions - added driver specific driver_data to hid_device Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit dde5845a529ff753364a6d1aea61180946270bfa Author: Jiri Kosina Date: Fri Dec 8 18:40:44 2006 +0100 [PATCH] Generic HID layer - code split The "big main" split of USB HID code into generic HID code and USB-transport specific HID handling. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 64bb67b1702958759f650adb64ab33496641e526 Author: Jiri Kosina Date: Fri Dec 8 18:40:37 2006 +0100 [PATCH] Generic HID layer - disable USB HID This patch is a part of generic HID layer introduction. USB HID is disabled, so that the code split and changes could be introduced in a way that is reviewable (i.e. separate patches), but not to break git bisect by uncompilable kernel throughout different stages of the code splitup and changes. The last patch of this series enables HID again. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 7bf65382caeecea4ae7206138e92e732b676d6e5 Author: Andrew Morton Date: Fri Dec 8 02:41:14 2006 -0800 [PATCH] proc_misc build fix fs/proc/proc_misc.c: In function `version_read_proc': fs/proc/proc_misc.c:256: warning: implicit declaration of function `utsname' Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b1bdf4e08d6a8d4fae5a30224ed2c55bf1e43fc Author: Shaohua Li Date: Fri Dec 8 02:41:13 2006 -0800 [PATCH] CPU hotplug broken with 2GB VMSPLIT In VMSPLIT mode, kernel PGD might have more entries than user space. Acked-by: Jens Axboe Signed-off-by: Shaohua Li Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c642f9e03b3ca04fc806ba5d8d34cc821382e525 Author: Adrian Bunk Date: Fri Dec 8 02:41:13 2006 -0800 [PATCH] make drivers/md/dm-snap.c:ksnapd static Signed-off-by: Adrian Bunk Acked-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88b20a1a71d98d6e0b8373fa68fb784340b3ee51 Author: Jonathan E Brassow Date: Fri Dec 8 02:41:12 2006 -0800 [PATCH] dm: raid1: reset sync_search on resume Reset sync_search on resume. The effect is to retry syncing all out-of-sync regions when a mirror is resumed, including ones that previously failed. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3ee6b2f621fec7bc8bfe43fb465e938c37c8d20 Author: Jonathan E Brassow Date: Fri Dec 8 02:41:11 2006 -0800 [PATCH] dm: log: rename complete_resync_work The complete_resync_work function only provides the ability to change an out-of-sync region to in-sync. This patch enhances the function to allow us to change the status from in-sync to out-of-sync as well, something that is needed when a mirror write to one of the devices or an initial resync on a given region fails. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31c93a0c29bf96efd806ccf4ee81cacf04f255de Author: Milan Broz Date: Fri Dec 8 02:41:11 2006 -0800 [PATCH] dm: snapshot: abstract memory release Move the code that releases memory used by a snapshot into a separate function. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e157206c732613d1c07e8ceeb1a3e497fb2abf Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:10 2006 -0800 [PATCH] dm: mpath: use noflush suspending Implement the pushback feature for the multipath target. The pushback request is used when: 1) there are no valid paths; 2) queue_if_no_path was set; 3) a suspend is being issued with the DMF_NOFLUSH_SUSPENDING flag. Otherwise bios are returned to applications with -EIO. To check whether queue_if_no_path is specified or not, you need to check both queue_if_no_path and saved_queue_if_no_path, because presuspend saves the original queue_if_no_path value to saved_queue_if_no_path. The check for 1 already exists in both map_io() and do_end_io(). So this patch adds __must_push_back() to check 2 and 3. Test results: See the test results in the preceding patch. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e93ccc1933d08d32d9bde3784c3823e67b9b030 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:09 2006 -0800 [PATCH] dm: suspend: add noflush pushback In device-mapper I/O is sometimes queued within targets for later processing. For example the multipath target can be configured to store I/O when no paths are available instead of returning it -EIO. This patch allows the device-mapper core to instruct a target to transfer the contents of any such in-target queue back into the core. This frees up the resources used by the target so the core can replace that target with an alternative one and then resend the I/O to it. Without this patch the only way to change the target in such circumstances involves returning the I/O with an error back to the filesystem/application. In the multipath case, this patch will let us add new paths for existing I/O to try after all the existing paths have failed. DMF_NOFLUSH_SUSPENDING ---------------------- If the DM_NOFLUSH_FLAG ioctl option is specified at suspend time, the DMF_NOFLUSH_SUSPENDING flag is set in md->flags during dm_suspend(). It is always cleared before dm_suspend() returns. The flag must be visible while the target is flushing pending I/Os so it is set before presuspend where the flush starts and unset after the wait for md->pending where the flush ends. Target drivers can check this flag by calling dm_noflush_suspending(). DM_MAPIO_REQUEUE / DM_ENDIO_REQUEUE ----------------------------------- A target's map() function can now return DM_MAPIO_REQUEUE to request the device mapper core queue the bio. Similarly, a target's end_io() function can return DM_ENDIO_REQUEUE to request the same. This has been labelled 'pushback'. The __map_bio() and clone_endio() functions in the core treat these return values as errors and call dec_pending() to end the I/O. dec_pending ----------- dec_pending() saves the pushback request in struct dm_io->error. Once all the split clones have ended, dec_pending() will put the original bio on the md->pushback list. Note that this supercedes any I/O errors. It is possible for the suspend with DM_NOFLUSH_FLAG to be aborted while in progress (e.g. by user interrupt). dec_pending() checks for this and returns -EIO if it happened. pushdback list and pushback_lock -------------------------------- The bio is queued on md->pushback temporarily in dec_pending(), and after all pending I/Os return, md->pushback is merged into md->deferred in dm_suspend() for re-issuing at resume time. md->pushback_lock protects md->pushback. The lock should be held with irq disabled because dec_pending() can be called from interrupt context. Queueing bios to md->pushback in dec_pending() must be done atomically with the check for DMF_NOFLUSH_SUSPENDING flag. So md->pushback_lock is held when checking the flag. Otherwise dec_pending() may queue a bio to md->pushback after the interrupted dm_suspend() flushes md->pushback. Then the bio would be left in md->pushback. Flag setting in dm_suspend() can be done without md->pushback_lock because the flag is checked only after presuspend and the set value is already made visible via the target's presuspend function. The flag can be checked without md->pushback_lock (e.g. the first part of the dec_pending() or target drivers), because the flag is checked again with md->pushback_lock held when the bio is really queued to md->pushback as described above. So even if the flag is cleared after the lockless checkings, the bio isn't left in md->pushback but returned to applications with -EIO. Other notes on the current patch -------------------------------- - md->pushback is added to the struct mapped_device instead of using md->deferred directly because md->io_lock which protects md->deferred is rw_semaphore and can't be used in interrupt context like dec_pending(), and md->io_lock protects the DMF_BLOCK_IO flag of md->flags too. - Don't issue lock_fs() in dm_suspend() if the DM_NOFLUSH_FLAG ioctl option is specified, because I/Os generated by lock_fs() would be pushed back and never return if there were no valid devices. - If an error occurs in dm_suspend() after the DMF_NOFLUSH_SUSPENDING flag is set, md->pushback must be flushed because I/Os may be queued to the list already. (flush_and_out label in dm_suspend()) Test results ------------ I have tested using multipath target with the next patch. The following tests are for regression/compatibility: - I/Os succeed when valid paths exist; - I/Os fail when there are no valid paths and queue_if_no_path is not set; - I/Os are queued in the multipath target when there are no valid paths and queue_if_no_path is set; - The queued I/Os above fail when suspend is issued without the DM_NOFLUSH_FLAG ioctl option. I/Os spanning 2 multipath targets also fail. The following tests are for the normal code path of new pushback feature: - Queued I/Os in the multipath target are flushed from the target but don't return when suspend is issued with the DM_NOFLUSH_FLAG ioctl option; - The I/Os above are queued in the multipath target again when resume is issued without path recovery; - The I/Os above succeed when resume is issued after path recovery or table load; - Queued I/Os in the multipath target succeed when resume is issued with the DM_NOFLUSH_FLAG ioctl option after table load. I/Os spanning 2 multipath targets also succeed. The following tests are for the error paths of the new pushback feature: - When the bdget_disk() fails in dm_suspend(), the DMF_NOFLUSH_SUSPENDING flag is cleared and I/Os already queued to the pushback list are flushed properly. - When suspend with the DM_NOFLUSH_FLAG ioctl option is interrupted, o I/Os which had already been queued to the pushback list at the time don't return, and are re-issued at resume time; o I/Os which hadn't been returned at the time return with EIO. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fdb096dbcedcc3b94c7e47b59362b5214891e2 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:07 2006 -0800 [PATCH] dm: ioctl: add noflush suspend Provide a dm ioctl option to request noflush suspending. (See next patch for what this is for.) As the interface is extended, the version number is incremented. Other than accepting the new option through the interface, There is no change to existing behaviour. Test results: Confirmed the option is given from user-space correctly. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2a7ad29a810441e9dacbaddcc2f0c6045390008 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:06 2006 -0800 [PATCH] dm: map and endio symbolic return codes Update existing targets to use the new symbols for return values from target map and end_io functions. There is no effect on behaviour. Test results: Done build test without errors. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45cbcd798354251b99694086af9d57c99e89bb43 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:05 2006 -0800 [PATCH] dm: map and endio return code clarification Tighten the use of return values from the target map and end_io functions. Values of 2 and above are now explictly reserved for future use. There are no existing targets using such values. The patch has no effect on existing behaviour. o Reserve return values of 2 and above from target map functions. Any positive value currently indicates "mapping complete", but all existing drivers use the value 1. We now make that a requirement so we can assign new meaning to higher values in future. The new definition of return values from target map functions is: < 0 : error = 0 : The target will handle the io (DM_MAPIO_SUBMITTED). = 1 : Mapping completed (DM_MAPIO_REMAPPED). > 1 : Reserved (undefined). Previously this was the same as '= 1'. o Reserve return values of 2 and above from target end_io functions for similar reasons. DM_ENDIO_INCOMPLETE is introduced for a return value of 1. Test results: I have tested by using the multipath target. I/Os succeed when valid paths exist. I/Os are queued in the multipath target when there are no valid paths and queue_if_no_path is set. I/Os fail when there are no valid paths and queue_if_no_path is not set. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d77d35be6f416a250c528c3ed5c70013a915e8 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:04 2006 -0800 [PATCH] dm: suspend: parameter change Change the interface of dm_suspend() so that we can pass several options without increasing the number of parameters. The existing 'do_lockfs' integer parameter is replaced by a flag DM_SUSPEND_LOCKFS_FLAG. There is no functional change to the code. Test results: I have tested 'dmsetup suspend' command with/without the '--nolockfs' option and confirmed the do_lockfs value is correctly set. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74859364633963cb660c4fa518adca9ab1ca4229 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:02 2006 -0800 [PATCH] dm: tidy core formatting Remove unnecessary spaces in dm.c. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f00b16ad665a9b489d46f612679181f3f914917b Author: Heinz Mauelshagen Date: Fri Dec 8 02:41:01 2006 -0800 [PATCH] dm io: fix bi_max_vecs The existing code allocates an extra slot in bi_io_vec[] and uses it to store the region number. This patch hides the extra slot from bio_add_page() so the region number can't get overwritten. Also remove a hard-coded SECTOR_SHIFT and fix a typo in a comment. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon Cc: Milan Broz Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cd307c5655c0b76d563b5f3f911742a32746841 Author: Randy Dunlap Date: Fri Dec 8 02:41:01 2006 -0800 [PATCH] linux-fbdev-devel is subscribers-only Update linux-fbdev mailing list to subscribers-only. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4b85dc0a1a6a6af9e67b7993fc833051222f40b Author: Mariusz Kozlowski Date: Fri Dec 8 02:41:00 2006 -0800 [PATCH] video: pm3fb macros fix Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4971bb70c0b0d0810e0c2b66927de2422ff82119 Author: Mariusz Kozlowski Date: Fri Dec 8 02:40:59 2006 -0800 [PATCH] video: neofb stray bracket fix This code is '#if 0'ed. Anyway if anyone wants to dump neo registers better to have it fixed. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a219a7e76b4db0c8e9ccb036e96a0a613d9fdfec Author: Mariusz Kozlowski Date: Fri Dec 8 02:40:58 2006 -0800 [PATCH] video: cyberfb broken macro removal Remove broken and unused macro. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9b2ec4d52275d20e6e2db80727d289b0bdd90b3 Author: James Simmons Date: Fri Dec 8 02:40:57 2006 -0800 [PATCH] Video Select set for VESA FB Automatically set VIDEO_SELECT when you select VESA FB. Currently if you select VESA FB with fbcon but don't select VGA console the box will not have its video mode set. Thus you get a blank screen. Signed-off-by: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58219896df521ddd749bee48a8465db69b6163f3 Author: Jordan Crouse Date: Fri Dec 8 02:40:56 2006 -0800 [PATCH] gxfb: Turn on the flatpanel power and data For Geode devices without a flatpanel aware BIOS, this enables the flatpanel power and data. Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53d53bd4ab3fd1498f728fa96635ab95d1ec8ba0 Author: Jordan Crouse Date: Fri Dec 8 02:40:55 2006 -0800 [PATCH] gxfb: Fixup flatpanel detection Use the right MSR and bits to detect if the GX is strapped for TFT or CRT Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16ef9870959621fa437d25ead28a7199acc6ce49 Author: Jordan Crouse Date: Fri Dec 8 02:40:54 2006 -0800 [PATCH] gxfb: Support command line options Add support for command line options for setting the mode and various settings. [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab1db0cfcf69f94a5c6831db230982cd6bbeb2e1 Author: Jordan Crouse Date: Fri Dec 8 02:40:54 2006 -0800 [PATCH] gxfb: Support flat panel timings Support TFT panels by correctly setting up the flat panel registers [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f378819a19e2b9639f17a1a82c5e12adc9512390 Author: Jordan Crouse Date: Fri Dec 8 02:40:53 2006 -0800 [PATCH] gxfb: Fixups for the AMD Geode GX framebuffer driver We cannot assume that the BIOS will be correctly setting up the hardware, so set some bits in various display registers to enable video output. Allow an advanced user to specify a frambuffer size, rather then probing the BIOS. All of these fixes were prompted by the OLPC effort. [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c1979c8963528cc6f52203ae62162ed22e171f4 Author: Jordan Crouse Date: Fri Dec 8 02:40:52 2006 -0800 [PATCH] FB: Get the Geode GX frambuffer size from the BIOS Use the Geode GX BIOS virtual registers to get the actual size of the framebuffer. Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4437cd1e98409e236a9d303fb742fdd53b3a20bb Author: Henrique de Moraes Holschuh Date: Fri Dec 8 02:40:49 2006 -0800 [PATCH] backlight: do not power off backlight when unregistering ACPI drivers like ibm-acpi are moving to the backlight sysfs infrastructure. During ibm-acpi testing, I have noticed that backlight_device_unregister() sets the display brightness and power to zero. This causes the display to be dimmed on ibm-acpi module removal. It will affect all other ACPI drivers that are being converted to use the backlight class, as well. It also affects a number of framebuffer devices that are used on desktops and laptops which might also not want such behaviour. Since working around this behaviour requires undesireable hacks, Richard Purdie decided that we would be better off reverting the changes in the sysfs class, and adding the code to dim and power off the backlight device to the drivers that want it. This patch is my attempt to do so. Patch against latest linux-2.6.git. Changes untested, as I lack the required hardware. Still, they are trivial enough that, apart from typos, there is little chance of getting them wrong. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Richard Purdie Acked-by: Pavel Machek Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 024cd7e08896884cfd58c78cd1f2103be12e3c09 Author: Franck Bui-Huu Date: Fri Dec 8 02:40:48 2006 -0800 [PATCH] softcursor.c: avoid unaligned accesses Fix some possible unaligned accesses when accessing fields of 'image' pointer. Indeed this pointer was obtained by allocating a block of memory that embeds a temporary array plus an image structure. The temporary buffer was located at the start of the allocated block and depending on its size, the image structure which comes right after can be unaligned. For example when using mini fonts (4x6) (cursor's width is 4 and its height is 6) the temporary buf size is 6 bytes. Therefore this patch moves the image structure to the start of the block and moves the temporary buffer right after. It makes 'image' pointer always aligned and since the tempo buf is a buffer of char, it's always correctly aligned as well. It also fixes the file header alignement. Signed-off-by: Franck Bui-Huu Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d5eeaddad9338f39d25ee0c6c2ab1eda1ed2ef6 Author: James Simmons Date: Fri Dec 8 02:40:47 2006 -0800 [PATCH] backlight: lcd: Remove dependenct from the framebuffer layer The backlight layer should be independent from the framebuffer layer. It can use the services offered by the framebuffer, but its absence should not prevent the backlight/lcd layer from functioning. [akpm@osdl.org: cleanups] Signed-off-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5bd1cec8999624fa2b32833ba9707eb4966df17 Author: Randy Dunlap Date: Fri Dec 8 02:40:46 2006 -0800 [PATCH] visws: sgivwfb as module needs exports With CONFIG_FB_SGIVW=m: WARNING: "sgivwfb_mem_size" [drivers/video/sgivwfb.ko] undefined! WARNING: "sgivwfb_mem_phys" [drivers/video/sgivwfb.ko] undefined! (or don't allow FB_SGIVW=m in Kconfig) Signed-off-by: Randy Dunlap Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfba7b3793f59adedfde5fb07dee565c5cc15ab8 Author: Alexey Dobriyan Date: Fri Dec 8 02:40:46 2006 -0800 [PATCH] drivers/video/*: use kmemdup() From: Eric Sesterhenn Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc08a75d3a2d449edab7d1bee312eaa591f7669 Author: Ville Syrjala Date: Fri Dec 8 02:40:45 2006 -0800 [PATCH] atyfb: Improve power management Some register were only set in aty_init() which is not called on resume. I added the aty_resume_chip() function to reset those registers on resume. Susped-to-ram now works on a HP Omnibook 6000 with acpi_sleep=s3_bios. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ec3fd71e4f5d1201cb7d2374ffdb4f328091fb4 Author: Ville Syrjala Date: Fri Dec 8 02:40:44 2006 -0800 [PATCH] atyfb: Improve atyfb_atari_probe() Improve atyfb_atari_probe(): * Call correct_chipset() so that more par members, par->features in particular, get initialized. * If probe fails iounmap() the mapped regions and continue probing for more adapters. Only verified to cross-compile due to lack of hardware. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cab5901e93bfe4f3cfd8cf9cda2558d22568f7a2 Author: Ville Syrjala Date: Fri Dec 8 02:40:43 2006 -0800 [PATCH] atyfb: Remove aty_cmap_regs Remove aty_cmap_regs. Access the LUT in the same way as other registers. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5850e0cf9a2345498fe2545c37118ef9405044eb Author: Ville Syrjala Date: Fri Dec 8 02:40:42 2006 -0800 [PATCH] atyfb: Fix __init and __devinit annotations Fix some __init and __devinit annotations. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 044aaa32e789492e638a229b5f1930bfb8bc75a1 Author: Ville Syrjala Date: Fri Dec 8 02:40:41 2006 -0800 [PATCH] atyfb: Remove pointless aty_init() argument The 'name' argument of aty_init() is pointless because the bus type can be queried from the hardware. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b6859799ea766281828588e1adb17751193075 Author: Ville Syrjala Date: Fri Dec 8 02:40:41 2006 -0800 [PATCH] atyfb: Fix blanking level transitions Fix a minor problem in blanking level transitions. Reducing the blanking level gradually was impossible. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b9817cc70709e10ffa9b27af35b2e8f1ef84798 Author: Ville Syrjala Date: Fri Dec 8 02:40:40 2006 -0800 [PATCH] atyfb: Fix sparse warnings Silence some sparse warnings: * Remove casts from atari out_le32() and friends. * Move accel functions' declarations to atyfb.h. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c98959f566e0c695b1b237ad8e0f8f825d31fa71 Author: Ville Syrjala Date: Fri Dec 8 02:40:39 2006 -0800 [PATCH] atyfb: Fix compiler warnings Fix some compiler warnings and remove an #ifdef. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05978501525802f00e9f458ce6bec9bdf886b2c0 Author: Ville Syrjala Date: Fri Dec 8 02:40:37 2006 -0800 [PATCH] atyfb: Remove FIXME atyfb has used the auxiliary register aperture for a long time. Remove a related FIXME which was accidentally left in. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ce4d39050017d368bb6bfa41d315bf62cb64773 Author: Raphael Assenat Date: Fri Dec 8 02:40:37 2006 -0800 [PATCH] mbxfb: Document the new ioctl This patch adds a new ioctl range for the mbxfb driver. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea465250d41c99b4ee7dac1e6eb87b7106f7b11e Author: Raphael Assenat Date: Fri Dec 8 02:40:36 2006 -0800 [PATCH] mbxfb: Add YUV video overlay support This patch adds a way to create and use the video plane (YUV overlay) and scaling video scaling features of the chip. The overlay is configured, resized and modified using a device specific ioctl. Also included in this patch: - If no platform data was passed, print an error and exit instead of crashing. - Added a write_reg(_dly) macro. This improves readability when manipulating chip registers. (no more udelay() after each write). - Comments about some issues. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 128806c3b3e263c579af12c061a9b04db3950016 Author: Raphael Assenat Date: Fri Dec 8 02:40:35 2006 -0800 [PATCH] mbxfb: add more registers to debugfs This patch fixes debugfs for mbxfb and adds some missing registers. The way registers were read was out of sync with the rest of the driver (direct access instead of using readl()) sdram controller registers are now accessible in the sdram/ subdirectory and some other registers are grouped in the misc/ subdirectory. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb137d5b7f2301f2717944322bba38039083c431 Author: Raphael Assenat Date: Fri Dec 8 02:40:34 2006 -0800 [PATCH] mbxfb: Add more registers bits access macros This patch adds register bits access macros for chip's Video Plane, Scaling and interrupt registers. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce7405fb380c097511d0a3d20db25bc167f3c5dc Author: Raphael Assenat Date: Fri Dec 8 02:40:33 2006 -0800 [PATCH] mbxfb: Fix HSCOEFF3 register address This patch corrects the address for register HSCOEFF3. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03ae4e0ccc10ad2d8b7f421fbbeac4fe44b806fb Author: Freddy Spierenburg Date: Fri Dec 8 02:40:31 2006 -0800 [PATCH] au11oofb: fix to remove flickering Currently a lot of flickering is seen on the VGA and LCD port when one starts a DBAu1100 board, with 'CONFIG_PRINTK=3Dy'. This patch removes the flickering and as a result all kernel messages come by in a nice steady fashion. Signed-off-by: Freddy Spierenburg Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec1a7b3d7b0c522742c2c4e6e50a5ee2230d4fc6 Author: Helge Deller Date: Fri Dec 8 02:40:31 2006 -0800 [PATCH] constify vga16fb.c - move some static data into the .rodata section - simplify source code for transl_l[] and transl_h[] which makes it more readable Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4670358a7b5ac1eeec00c1805213d346253b91f6 Author: Helge Deller Date: Fri Dec 8 02:40:30 2006 -0800 [PATCH] annotate some variables in vesafb driver as __read_mostly - annotate some variables in vesafb driver as __read_mostly Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0128beeee8749e3cb01c27ef9d1da217f5d7b3b8 Author: Helge Deller Date: Fri Dec 8 02:40:29 2006 -0800 [PATCH] constify and annotate __read_mostly in vgacon.c and fbmem.c - annotate some variables from vgacon.c and fbmem.c as __read_mostly - move the mask[] array in fb_set_logo_truepalette() into the .rodata section Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d95159cf1b12e8e4b169094b35cbd93b887cb939 Author: Helge Deller Date: Fri Dec 8 02:40:28 2006 -0800 [PATCH] various fbdev files: mark structs and array read-only - move some structs and arrays to the read-only (.rodata) section [akpm@osdl.org: build fix] Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adf6b206546414fd006098d027e81f2b576ea2aa Author: Helge Deller Date: Fri Dec 8 02:40:27 2006 -0800 [PATCH] fbcmap.c: mark structs const or __read_mostly - Mark the default colormaps read-only, as nobody should be allowed to modify them - Additionally mark color values as __read_mostly since they will only be modified (very seldom) by fb_invert_cmaps() - Add named C99-initializers in fb_cmap structs and use the ARRAY_SIZE() macro Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 357b819dda03e642f9c2d737596ad6cdc0022c00 Author: Arnaud Patard (Rtp Date: Fri Dec 8 02:40:23 2006 -0800 [PATCH] s3c2410fb: Add support for STN displays This patch adds support for stn displays on the s3c2410 arm SoC. The LCD type is choosen by a new field in the s3c2410fb_mach_info structure and its value is the value of the PNRMODE bits. This worth to be noted as a value of 0 means that you configure a 4 bit dual scan stn display. Signed-off-by: Arnaud Patard Cc: "Antonino A. Daplas" Cc: Russell King Cc: Ben Dooks Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c25623f5540694ba70af272170d67f1411be97b1 Author: Jordan Crouse Date: Fri Dec 8 02:40:21 2006 -0800 [PATCH] video: Get the default mode from the right database If no default mode is specified, it should be grabbed from the supplied database, not the default one. [teanropo@jyu.fi: fix it] [akpm@osdl.org: simplify it] [akpm@osdl.org: remove pointless DEFAULT_MODEDB_INDEX] Signed-off-by: Jordan Crouse Cc: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Tero Roponen Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 572c04b24bd7b7e4b6a684416325cc3751fa8f45 Author: Maciej W. Rozycki Date: Fri Dec 8 02:40:21 2006 -0800 [PATCH] pmagb-b-fb: Fix a default clock frequency Inspection of real hardware has revealed one of the clock frequencies known to be supported by PMAGB-B hardware is off by 3kHz. Following is a fix. Please apply. Signed-off-by: Maciej W. Rozycki Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b860e73a5488d9e75c2f2907174cb4277c2f9d21 Author: David Rientjes Date: Fri Dec 8 02:40:19 2006 -0800 [PATCH] video SiS: remove unnecessary variables in SiS_DDC2Delay Remove unnecesary iteration and accumulator variables from SiS_DDC2Delay. Originally spotted by Jesper Juhl . Cc: Jesper Juhl Cc: Thomas Winischhofer Signed-off-by: David Rientjes Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af342e939d3244624d3e03ece2e6b8e9056dfb72 Author: Alan Cox Date: Fri Dec 8 02:40:18 2006 -0800 [PATCH] igafb: switch to pci_get API Signed-off-by: Alan Cox Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd717689f46436fc212882ddc6e02a20be920634 Author: Jeff Garzik Date: Fri Dec 8 02:40:17 2006 -0800 [PATCH] atyfb, rivafb: minor fixes aty128fb: return an error in the unlikely event that we cannot calculate some key PLL info rivafb: * call CalcStateExt() directly, rather than via function pointers, since CalcStateExt() is the only value ever assigned to ->CalcStateExt(). * propagate error return back from CalcVClock() through callers Signed-off-by: Jeff Garzik Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 945f0ee257b4f91498b4061dc89b8a68c423ea6f Author: Amol Lad Date: Fri Dec 8 02:40:16 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/S3triofb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57354c42f177a2b58fb1f61125ad2cb2e8743a9b Author: Amol Lad Date: Fri Dec 8 02:40:16 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/amifb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6792951b6ad13d7b2fff71ae7d2982b2fa1d6788 Author: Amol Lad Date: Fri Dec 8 02:40:15 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/atafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2a85aebf9d6cb671085d58dfbbd7b11269d49eb Author: Amol Lad Date: Fri Dec 8 02:40:14 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/atyfb_base ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8b8c0a697d60c7d58a3dbda2d78553fd27727b3 Author: Amol Lad Date: Fri Dec 8 02:40:13 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/cirrusfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d02abed8aa6bd37abcd802de64a63ed2af5e18ff Author: Amol Lad Date: Fri Dec 8 02:40:12 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/cyberfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d4c767ef56473b68a601274612d604c8c334dc9 Author: Amol Lad Date: Fri Dec 8 02:40:12 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/ffb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b3349fa448ce41eda5ae0e6d4dc52837d14ad11 Author: Amol Lad Date: Fri Dec 8 02:40:11 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/fm2fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bedb0b2f60dd858fd12e5dd5681fa5da55175f5 Author: Amol Lad Date: Fri Dec 8 02:40:10 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/hpfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 164a765b9895f4f80f91cb7f1aab7539b3f8d335 Author: Amol Lad Date: Fri Dec 8 02:40:09 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/macfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f190017b889c45364576396a3bfa32acbb16bf2b Author: Amol Lad Date: Fri Dec 8 02:40:08 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/offb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b7574da255fef27cdb294e19bea26d911443511 Author: Amol Lad Date: Fri Dec 8 02:40:07 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/platinumfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 295a1b476749e8b6fa6c3c0978426360ac7dde4b Author: Amol Lad Date: Fri Dec 8 02:40:06 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/pvr2fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 027b53dd92e3d1a23c56d85e006a9bb5e63314f9 Author: Amol Lad Date: Fri Dec 8 02:40:06 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/retz3fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cf2014aad58076aa22faacf27742d9610dea05d Author: Amol Lad Date: Fri Dec 8 02:40:05 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/stifb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4bf051b4f3121c5abdde836b1429e4a4459adb4 Author: Amol Lad Date: Fri Dec 8 02:40:04 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/tgafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a02f6402d5a18f5a4fd35cb82887c1097d0f7792 Author: Amol Lad Date: Fri Dec 8 02:40:03 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/tridentfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Knut Petersen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b88a57cc645c59a3652f391f8069b15d42ac0762 Author: Amol Lad Date: Fri Dec 8 02:40:02 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/vesafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef26dd7ffa305382aabcd95fd574d01808a65c41 Author: Amol Lad Date: Fri Dec 8 02:40:02 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/virgefb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd607d23ff4cc004da2986d0b264a972c6a2da3e Author: Sergei Shtylyov Date: Fri Dec 8 02:40:01 2006 -0800 [PATCH] sl82c105: straighten up IDE control/status register caching Straighten up the IDE control/status register caching -- you *really* can't cache the shared register per-channel and hope that it won't get out ouf sync. Set the PIO fallback mode to PIO0 for the slave drive as well as master -- there was no point in having them different (most probably a resutl of typo). Do a bit of reformat and cleanup while at it... Signed-off-by: Sergei Shtylyov Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b10a06866600d1eda9e72ff328999e70f077fb3a Author: Sergei Shtylyov Date: Fri Dec 8 02:39:59 2006 -0800 [PATCH] pdc202xx_new: fix PIO mode setup Fix pdcnew_tune_drive() to always set the PIO mode requested, not pick the best possible one, change pdcnew_config_drive_xfer_rate() accordingly, and get rid of the duplicate tuneproc() call in config_chipset_for_dma(). Signed-off-by: Sergei Shtylyov Cc: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1489009963b8c5132f2ffe23483e811d9ae5607 Author: Alan Cox Date: Fri Dec 8 02:39:58 2006 -0800 [PATCH] ide: more conversion to pci_get APIs This completes IDE except for one use which requires a new core PCI function and will be polished up at the end Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b49a257850fb8ad91f4c76bb712e9213141a34a Author: Eric W. Biederman Date: Fri Dec 8 02:39:57 2006 -0800 [PATCH] sysctl: fix sys_sysctl interface of ipc sysctls Currently there is a regression and the ipc sysctls don't show up in the binary sysctl namespace. This patch adds sysctl_ipc_data to read data/write from the appropriate namespace and deliver it in the expected manner. [akpm@osdl.org: warning fix] Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bc9a6bd3cf559bffe962c51efb062e8b5270ca9 Author: Eric W. Biederman Date: Fri Dec 8 02:39:56 2006 -0800 [PATCH] sysctl: simplify ipc ns specific sysctls Refactor the ipc sysctl support so that it is simpler, more readable, and prepares for fixing the bug with the wrong values being returned in the sys_sysctl interface. The function proc_do_ipc_string() was misnamed as it never handled strings. It's magic of when to work with strings and when to work with longs belonged in the sysctl table. I couldn't tell if the code would work if you disabled the ipc namespace but it certainly looked like it would have problems. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4b8b769fa9051838d2772886ecd0ee2a926ddc3 Author: Eric W. Biederman Date: Fri Dec 8 02:39:55 2006 -0800 [PATCH] sysctl: implement sysctl_uts_string() The problem: When using sys_sysctl we don't read the proper values for the variables exported from the uts namespace, nor do we do the proper locking. This patch introduces sysctl_uts_string which properly fetches the values and does the proper locking. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf9f151c7257683f489df85f94baf408d1d5694a Author: Eric W. Biederman Date: Fri Dec 8 02:39:55 2006 -0800 [PATCH] sysctl: simplify sysctl_uts_string The binary interface to the namespace sysctls was never implemented resulting in some really weird things if you attempted to use sys_sysctl to read your hostname for example. This patch series simples the code a little and implements the binary sysctl interface. In testing this patch series I discovered that our 32bit compatibility for the binary sysctl interface is imperfect. In particular KERN_SHMMAX and KERN_SMMALL are size_t sized quantities and are returned as 8 bytes on to 32bit binaries using a x86_64 kernel. However this has existing for a long time so it is not a new regression with the namespace work. Gads the whole sysctl thing needs work before it stops being easy to shoot yourself in the foot. Looking forward a little bit we need a better way to handle sysctls and namespaces as our current technique will not work for the network namespace. I think something based on the current overlapping sysctl trees will work but the proc side needs to be redone before we can use it. This patch: Introduce get_uts() and put_uts() (used later) and remove most of the special cases for when UTS namespace is compiled in. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b1b60f41eef3ba7b188fd72f1d6de478aafd93c Author: Don Mullis Date: Fri Dec 8 02:39:53 2006 -0800 [PATCH] fault-injection: defaults likely to please a new user Assign defaults most likely to please a new user: 1) generate some logging output (verbose=2) 2) avoid injecting failures likely to lock up UI (ignore_gfp_wait=1, ignore_gfp_highmem=1) Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1729c28a37e4f11ea5d9f468ab26adadb1aadab Author: Don Mullis Date: Fri Dec 8 02:39:53 2006 -0800 [PATCH] fault-injection: optimize and simplify should_fail() Trivial optimization and simplification of should_fail(). Do cheaper disqualification tests first (performance gain not quantified). Simplify logic; eliminate goto. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a124c28ef85d9b780c418b2c5d8f01cd6a06ff3e Author: Don Mullis Date: Fri Dec 8 02:39:52 2006 -0800 [PATCH] fault-injection: Clamp debugfs stacktrace-depth to MAX_STACK_TRACE_DEPTH Clamp /debug/fail*/stacktrace-depth to MAX_STACK_TRACE_DEPTH. Ensures that a read of /debug/fail*/stacktrace-depth always returns a truthful answer. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08b3df2d16cbebf7d72c09dcbc071696c14d07e3 Author: Don Mullis Date: Fri Dec 8 02:39:51 2006 -0800 [PATCH] fault-injection: Use bool-true-false throughout Use bool-true-false throughout. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d0ffa2b84e6f0fdc5bf96c0de6178f3d2779544 Author: Don Mullis Date: Fri Dec 8 02:39:50 2006 -0800 [PATCH] fault-injection: Correct, disambiguate, and reformat documentation Correct, disambiguate, and reformat documentation. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83ba254688f0edd6fa29512e538c721f1f46a424 Author: Andrew Morton Date: Fri Dec 8 02:39:49 2006 -0800 [PATCH] fault-injection: stacktrace filtering kconfig fix `select' doesn't work very well. With alpha `make allmodconfig' we end up with CONFIG_STACKTRACE enabled, so we end up with undefined save_stacktrace() at link time. Cc: Akinobu Mita Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ab8509a31187998615e6dd7f53cc02db5be594c Author: Andrew Morton Date: Fri Dec 8 02:39:49 2006 -0800 [PATCH] fault-injection Kconfig cleanup - Fix some spelling and grammatical errors - Make the Kconfig menu more conventional. First you select fault-injection, then under that you select particular clients of it. Cc: Akinobu Mita Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 329409aeda064c4aff00c51f837fcd3bbdaeeba6 Author: Akinobu Mita Date: Fri Dec 8 02:39:48 2006 -0800 [PATCH] fault injection: stacktrace filtering This patch provides stacktrace filtering feature. The stacktrace filter allows failing only for the caller you are interested in. For example someone may want to inject kmalloc() failures into only e100 module. they want to inject not only direct kmalloc() call, but also indirect allocation, too. - e100_poll --> netif_receive_skb --> packet_rcv_spkt --> skb_clone --> kmem_cache_alloc This patch enables to detect function calls like this by stacktrace and inject failures. The script Documentaion/fault-injection/failmodule.sh helps it. The range of text section of loaded e100 is expected to be [/sys/module/e100/sections/.text, /sys/module/e100/sections/.exit.text) So failmodule.sh stores these values into /debug/failslab/address-start and /debug/failslab/address-end. The maximum stacktrace depth is specified by /debug/failslab/stacktrace-depth. Please see the example that demonstrates how to inject slab allocation failures only for a specific module in Documentation/fault-injection/fault-injection.txt [dwm@meer.net: reject failure if any caller lies within specified range] Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4f154fd920b2178382a6a24a236348e4429ebc1 Author: Akinobu Mita Date: Fri Dec 8 02:39:47 2006 -0800 [PATCH] fault injection: process filtering for fault-injection capabilities This patch provides process filtering feature. The process filter allows failing only permitted processes by /proc//make-it-fail Please see the example that demostrates how to inject slab allocation failures into module init/cleanup code in Documentation/fault-injection/fault-injection.txt Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6 Author: Akinobu Mita Date: Fri Dec 8 02:39:46 2006 -0800 [PATCH] fault-injection capability for disk IO This patch provides fault-injection capability for disk IO. Boot option: fail_make_request=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where disk IO can be issued safely in bytes. -- specifies how many times failures may happen at most. Debugfs: /debug/fail_make_request/interval /debug/fail_make_request/probability /debug/fail_make_request/specifies /debug/fail_make_request/times Example: fail_make_request=10,100,0,-1 echo 1 > /sys/blocks/hda/hda1/make-it-fail generic_make_request() on /dev/hda1 fails once per 10 times. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 933e312e73f8fc39652bd4d216a5393cc3a014b9 Author: Akinobu Mita Date: Fri Dec 8 02:39:45 2006 -0800 [PATCH] fault-injection capability for alloc_pages() This patch provides fault-injection capability for alloc_pages() Boot option: fail_page_alloc=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where memory can be allocated safely in pages. -- specifies how many times failures may happen at most. Debugfs: /debug/fail_page_alloc/interval /debug/fail_page_alloc/probability /debug/fail_page_alloc/specifies /debug/fail_page_alloc/times /debug/fail_page_alloc/ignore-gfp-highmem /debug/fail_page_alloc/ignore-gfp-wait Example: fail_page_alloc=10,100,0,-1 The page allocation (alloc_pages(), ...) fails once per 10 times. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a8b6502fb669c3a0638a08955442814cedc86b1 Author: Akinobu Mita Date: Fri Dec 8 02:39:44 2006 -0800 [PATCH] fault-injection capability for kmalloc This patch provides fault-injection capability for kmalloc. Boot option: failslab=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where memory can be allocated safely in bytes. -- specifies how many times failures may happen at most. Debugfs: /debug/failslab/interval /debug/failslab/probability /debug/failslab/specifies /debug/failslab/times /debug/failslab/ignore-gfp-highmem /debug/failslab/ignore-gfp-wait Example: failslab=10,100,0,-1 slab allocation (kmalloc(), kmem_cache_alloc(),..) fails once per 10 times. Cc: Pekka Enberg Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ff1cb355e628f8fc55fa2d01e269e5e1bbc2fe9 Author: Akinobu Mita Date: Fri Dec 8 02:39:43 2006 -0800 [PATCH] fault-injection capabilities infrastructure This patch provides base functions implement to fault-injection capabilities. - The function should_fail() is taken from failmalloc-1.0 (http://www.nongnu.org/failmalloc/) [akpm@osdl.org: cleanups, comments, add __init] Cc: Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de1ba09b214056365d9082982905b255caafb7a2 Author: Akinobu Mita Date: Fri Dec 8 02:39:42 2006 -0800 [PATCH] fault injection: documentation and scripts This patch set provides some fault-injection capabilities. - kmalloc() failures - alloc_pages() failures - disk IO errors We can see what really happens if those failures happen. In order to enable these fault-injection capabilities: 1. Enable relevant config options (CONFIG_FAILSLAB, CONFIG_PAGE_ALLOC, CONFIG_MAKE_REQUEST) and if you want to configure them via debugfs, enable CONFIG_FAULT_INJECTION_DEBUG_FS. 2. Build and boot with this kernel 3. Configure fault-injection capabilities behavior by boot option or debugfs - Boot option failslab= fail_page_alloc= fail_make_request= - Debugfs /debug/failslab/* /debug/fail_page_alloc/* /debug/fail_make_request/* Please refer to the Documentation/fault-injection/fault-injection.txt for details. 4. See what really happens. Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b3bb06bea649396490094780f90d315c152f6ab Author: Yan Burman Date: Fri Dec 8 02:39:41 2006 -0800 [PATCH] nfsd: replace kmalloc+memset with kcalloc + simplify NULL check Replace kmalloc+memset with kcalloc and simplify Signed-off-by: Yan Burman Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14d2b59e8c1634ceb995097b162592b0af139578 Author: Jesper Juhl Date: Fri Dec 8 02:39:40 2006 -0800 [PATCH] NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() This is a small performance optimization since we can return before needing 'w'. It also saves a few bytes of .text : Before: text data bss dec hex filename 1632 140 0 1772 6ec fs/nfsd/nfs3acl.o After: text data bss dec hex filename 1624 140 0 1764 6e4 fs/nfsd/nfs3acl.o Signed-off-by: Jesper Juhl Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb65a5ba3dcef3184ef1ba026b1e268bd1a9323f Author: Jesper Juhl Date: Fri Dec 8 02:39:39 2006 -0800 [PATCH] NFS2: Calculate 'w' a bit later in nfsaclsvc_encode_getaclres() NFS2: Calculate 'w' a bit later in nfsaclsvc_encode_getaclres() This is a small performance optimization since we can return before needing 'w'. It also saves a few bytes of .text : Before: text data bss dec hex filename 2406 212 0 2618 a3a fs/nfsd/nfs2acl.o After: text data bss dec hex filename 2400 212 0 2612 a34 fs/nfsd/nfs2acl.o Signed-off-by: Jesper Juhl Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b75f78edcab291eb29fe9a205cbf7b80c1c644f Author: Peter Zijlstra Date: Fri Dec 8 02:39:38 2006 -0800 [PATCH] lockdep: annotate nfsd4 recover code > ============================================= > [ INFO: possible recursive locking detected ] > 2.6.18-1.2724.lockdepPAE #1 > --------------------------------------------- > nfsd/6884 is trying to acquire lock: > (&inode->i_mutex){--..}, at: [] vfs_rmdir+0x73/0xf4 > > but task is already holding lock: > (&inode->i_mutex){--..}, at: [] > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd] > > other info that might help us debug this: > 3 locks held by nfsd/6884: > #0: (hash_sem){----}, at: [] nfsd+0x181/0x2ea [nfsd] > #1: (client_mutex){--..}, at: [] > nfsd4_setclientid_confirm+0x3b/0x2cf [nfsd] > #2: (&inode->i_mutex){--..}, at: [] > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd] > > stack backtrace: > [] dump_trace+0x69/0x1af > [] show_trace_log_lvl+0x18/0x2c > [] show_trace+0xf/0x11 > [] dump_stack+0x15/0x17 > [] __lock_acquire+0x110/0x9b6 > [] lock_acquire+0x5c/0x7a > [] __mutex_lock_slowpath+0xde/0x234 > [] vfs_rmdir+0x73/0xf4 > [] nfsd4_clear_clid_dir+0x29/0x3d [nfsd] > [] nfsd4_remove_clid_dir+0xb8/0xf8 [nfsd] > [] nfsd4_setclientid_confirm+0x1b2/0x2cf [nfsd] > [] nfsd4_proc_compound+0x137a/0x166c [nfsd] > [] nfsd_dispatch+0xc5/0x180 [nfsd] > [] svc_process+0x3bd/0x631 [sunrpc] > [] nfsd+0x19a/0x2ea [nfsd] > [] kernel_thread_helper+0x7/0x10 > DWARF2 unwinder stuck at kernel_thread_helper+0x7/0x10 > Leftover inexact backtrace: > ======================= Some nesting annotation to the nfsd4 recovery code. The vfs operations called will take dentry->d_inode->i_mutex. Signed-off-by: Peter Zijlstra Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df61bec3ae8983984070db24ae481fe7297a6dff Author: Jeff Garzik Date: Fri Dec 8 02:39:37 2006 -0800 [PATCH] ISDN: fix warnings * diva, sedlbauer: the 'ready' label is only used in certain configurations * hfc_pci: - cast 'arg' to proper size for testing and printing - print out 'void __iomem *' variables with %p, rather than using incorrect casts that throw warnings Signed-off-by: Jeff Garzik Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 281f15e6d9bfe18f200119bf8ffcbc67e8a33718 Author: Adrian Bunk Date: Fri Dec 8 02:39:36 2006 -0800 [PATCH] i4l: remove the broken HISAX_AMD7930 option HISAX_AMD7930 was never anywhere near to being working, and this doesn't seem to change in the forseeable future. Signed-off-by: Adrian Bunk Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41f96935b4c41daea2c4dbbf137960375cf764c1 Author: Burman Yan Date: Fri Dec 8 02:39:35 2006 -0800 [PATCH] isdn: replace kmalloc+memset with kzalloc Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b2dd130a5a8774a30de1f94266f6b9a9892153c Author: Alexey Dobriyan Date: Fri Dec 8 02:39:34 2006 -0800 [PATCH] drivers/isdn/*: trivial vsnprintf() conversion Signed-off-by: Alexey Dobriyan Acked-by: Alan Cox Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6e2cdc8aa395ea813603bfd81b70b5c461a8ebf Author: Jesper Juhl Date: Fri Dec 8 02:39:34 2006 -0800 [PATCH] ISDN: Avoid a potential NULL ptr deref in ippp There's a potential problem in isdn_ppp.c::isdn_ppp_decompress(). dev_alloc_skb() may fail and return NULL. If it does we will be passing a NULL skb_out to ipc->decompress() and may also end up dereferencing a NULL pointer at *proto = isdn_ppp_strip_proto(skb_out); Correct this by testing 'skb_out' against NULL early and bail out. Signed-off-by: Jesper Juhl Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba6d14aff4112b9518856d2d3979a386cb3a2945 Author: Akinobu Mita Date: Fri Dec 8 02:39:33 2006 -0800 [PATCH] isdn: fix missing unregister_capi_driver unregister_capi_driver() needs to be called in module cleanup. (It fixes data corruption by reloading t1isa driver) Cc: Kai Germaschewski Acked-by: Karsten Keil Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2de257cf15d0508d29fa8a54a0dad78de4e75eb Author: Amol Lad Date: Fri Dec 8 02:39:32 2006 -0800 [PATCH] drivers/isdn: Handcrafted MIN/MAX Macro removal Cleanups done to use min/max macros from kernel.h. Handcrafted MIN/MAX macros are changed to use macros in kernel.h [akpm@osdl.org: warning fix] Signed-off-by: Amol Lad Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90cc301859ea8840634324a7f5b9680312377667 Author: Jiri Slaby Date: Fri Dec 8 02:39:31 2006 -0800 [PATCH] Char: cyclades, fix warnings fix gcc signed/unsigned warnings Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 096dcfce39f952292b019a2c42c241782c9ca226 Author: Jiri Slaby Date: Fri Dec 8 02:39:30 2006 -0800 [PATCH] Char: cyclades, cleanup - remove cvs rcsid and alter code that uses it. - allow a semicolon after use of macro to not confuse parsers (e.g. indent) by do {} while (0) - JIFFIES_DIFF is simple subtraction, subtract directly - returns cleanup -- do not put values in parenthesis and do not return nothing at the end of void functions - comments are /* */ in C (not //) Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02f1175c8737802b5609aa2c0b1fb3ca2c23069f Author: Jiri Slaby Date: Fri Dec 8 02:39:28 2006 -0800 [PATCH] Char: cyclades, Lindent the code make the code indented by tabs. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e941027f53648ac3384057032be1ac64da3e8cd0 Author: Jiri Slaby Date: Fri Dec 8 02:39:28 2006 -0800 [PATCH] Char: cyclades, save indent levels Save 3 indent levels in interrupt routine by moving the code to a separate function. This needs to be done to allow Lindent do its work, since only 4 columns are used for indenting now and hence Lindent makes a big mess in the code, when moves it 4*5 columns to the right. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff8efe978d18e2479f998c4722c1eaafd7cd2dd9 Author: Jiri Slaby Date: Fri Dec 8 02:39:27 2006 -0800 [PATCH] Char: istallion, use mod_timer Do not set expires by hand, use kernel helper, which also calls add_timer. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec3dde578a969ea4b0a8c3d45e02d73abab1b2d3 Author: Jiri Slaby Date: Fri Dec 8 02:39:26 2006 -0800 [PATCH] Char: istallion, dynamic tty device register tty device dynamically according to the count of board ports. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2362c9411e914642ffe216e10987bb9aae2a480 Author: Jiri Slaby Date: Fri Dec 8 02:39:25 2006 -0800 [PATCH] Char: istallion, change init sequence Reorganizate module init and exit and implement logic, when something fails in these functions. The former is needed for proper handling dynamic tty_register_device. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1cc54f8c6ad76cf41e21cbb4620b9549b882a01 Author: Jiri Slaby Date: Fri Dec 8 02:39:24 2006 -0800 [PATCH] Char: istallion, move init and exit code Let's have these function at the end of the driver and expand stli_init directly into module_init fucntion, since there is nothing other to have there. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3 Author: Jiri Slaby Date: Fri Dec 8 02:39:24 2006 -0800 [PATCH] Char: istallion, fix enabling Enable ISA cards before pci_register_driver and then, enable each PCI card in probe function. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8f5a5808ffc322c9c59e44fc3c0306d4f92ea4 Author: Jiri Slaby Date: Fri Dec 8 02:39:23 2006 -0800 [PATCH] Char: istallion, correct fail paths Check more retvals and react somehow. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 390141728f2165889a8154bfb3ddddf6d95d9b8d Author: Jiri Slaby Date: Fri Dec 8 02:39:22 2006 -0800 [PATCH] Char: istallion, free only isa Only ISA cards should be freed in module exit. Pci probed are freed in pci_remove. Define a flag, where we store this info a what to check against. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b103b5cfcb8e6703b40124da631adfdd1470d878 Author: Jiri Slaby Date: Fri Dec 8 02:39:21 2006 -0800 [PATCH] Char: istallion, brdnr locking Kill possible race when getting brdnr by locking. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a00f33f3ab6385ef24f6e88bf970e8ac32b24099 Author: Jiri Slaby Date: Fri Dec 8 02:39:20 2006 -0800 [PATCH] Char: istallion, ifdef eisa code Disable compiling eisa stuff if STLI_EISAPROBE == 0. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1328d737f510e9933a621f66aa8de81c02b647a7 Author: Jiri Slaby Date: Fri Dec 8 02:39:19 2006 -0800 [PATCH] Char: istallion, variables cleanup - wipe gcc -W warnings by int -> uint conversion - move 2 global variables into their local place Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f8ec435e3516eb831bb98110cc2b2b28057154b Author: Jiri Slaby Date: Fri Dec 8 02:39:18 2006 -0800 [PATCH] Char: istallion, eliminate typedefs Use only struct instead of defining a new type . Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3f8d9d5e1e00e5953d7727f0b8426224af2ca15 Author: Jiri Slaby Date: Fri Dec 8 02:39:18 2006 -0800 [PATCH] Char: istallion, remove the mess - remove unneeded license text - remove functions, that are implemented in kernel -- call them (strtoul, min, tolower) - do not cast NULL - there is no static table, throw away code, which takes care of it -- find module param cards in that place instead. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 845bead4c3f2a65d2c25f0cb2fe82444b9057cbc Author: Jiri Slaby Date: Fri Dec 8 02:39:17 2006 -0800 [PATCH] Char: istallion, convert to pci probing Use probing for pci devices. Change some __inits to __devinits to use these functions in probe function. Create stli_cleanup_ports and move there cleanup code from module_exit() code to not have duplicite cleanup code. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aeaccfe42510d2c009a2c36452d220a5f4a0363e Author: Jiri Slaby Date: Fri Dec 8 02:39:16 2006 -0800 [PATCH] Char: stallion, use dynamic dev Use dynamic tty device registering depending on board's port count. (i -> retval change is relevant, since gcc complains about signedness of i) Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b2c9457bb377bf843f0a3ca2f4eb2ef69c67985 Author: Jiri Slaby Date: Fri Dec 8 02:39:15 2006 -0800 [PATCH] Char: stallion, variables cleanup - fix `gcc -W' un/signed warnings by converting some ints -> uints. - move 3 global variables into functions, where are they used. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c62429d93e003043109a0af86cb6bf1da45a1b71 Author: Jiri Slaby Date: Fri Dec 8 02:39:14 2006 -0800 [PATCH] Char: stallion, remove syntactic sugar Remove useless parenthesis and brackets. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79cfe7ab54dbf2784159f5be6b665153cafcee3c Author: Jiri Slaby Date: Fri Dec 8 02:39:14 2006 -0800 [PATCH] Char: stallion, brd struct locking Since assigning of stl_brds[brdnr] is racy, add locking to this critical section. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc06b5cf858787934110b9398d2d5a0c0493c1dd Author: Jiri Slaby Date: Fri Dec 8 02:39:13 2006 -0800 [PATCH] Char: stallion, fix fail paths Release everything what was allocated and check return value of isa probing. Release only ISA boards in module exit, since pci have their own pci-probing-remove. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 843b568cf0c800b87e48fcfb171a7a83318db39c Author: Jiri Slaby Date: Fri Dec 8 02:39:12 2006 -0800 [PATCH] Char: stallion, functions cleanup Delete macros and functions, that are implemented in kernel yet (strtoul, min, tolower). Expand one function body in place, where it is called from. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 705c186241844ba2103d15fc210dbf1def9bc3f0 Author: Jiri Slaby Date: Fri Dec 8 02:39:11 2006 -0800 [PATCH] Char: stallion, correct __init macros Some functions are now called from pci probing functiuon which is __devinit, not __init, correct this to not free functions after init if hotplug enabled. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b85b3413df1feb2b4ef17d829c1ee895fc64075 Author: Jiri Slaby Date: Fri Dec 8 02:39:10 2006 -0800 [PATCH] Char: stallion, implement fail paths This driver expect everything to work. Implement fail paths logic to release regions, irq hangler, memory... if something is in bad state. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fefaf9a789607d3a997d3d05bd2a72586ae0c901 Author: Jiri Slaby Date: Fri Dec 8 02:39:09 2006 -0800 [PATCH] Char: stallion, prints cleanup Too many information is printed out (they may be easily obtained through sysfs), wipe them out in probe function. Convert rest of them to dev_ variants. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1b84fe0d76b89534da706372ef719bbaa9fef0a Author: Jiri Slaby Date: Fri Dec 8 02:39:09 2006 -0800 [PATCH] Char: stallion, convert to pci probing Convert stallion driver to pci probing instead of pci_dev_get iteration. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30f4218ffc5500e6a622a680f01133f9af65f07d Author: Jiri Slaby Date: Fri Dec 8 02:39:08 2006 -0800 [PATCH] Char: sx, request regions Check regions if they are free before we touch them. Release them in failpaths. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39103494fd0c5325763edd06c88b121a5c21516e Author: Jiri Slaby Date: Fri Dec 8 02:39:07 2006 -0800 [PATCH] Char: sx, use pci_iomap Use pci_ friends for memory remapping of pci devices. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eb9976f10354f0e3bc1a52b66b9cf857ff41088 Author: Jiri Slaby Date: Fri Dec 8 02:39:06 2006 -0800 [PATCH] Char: sx, fix return in module init If pci_register_driver fails, but eisa_driver_register doesn't, we don't call misc_deregister, but returns error. Return OK in such cases. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9594643c095da0a0ad4d5f0a1ff357a84e91524 Author: Jiri Slaby Date: Fri Dec 8 02:39:05 2006 -0800 [PATCH] Char: sx, simplify timer logic Use kernel helpers for changing timer internals. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15b611f63f0fb8709a5fae498c2d688b5d05edc9 Author: Jiri Slaby Date: Fri Dec 8 02:39:04 2006 -0800 [PATCH] Char: sx, whitespace cleanup Use Lindent to cleanup whitespace. Wrap long lines by hand. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e7071a3c6cdb65fb5ce3ea9c692a8d78ed0844 Author: Jiri Slaby Date: Fri Dec 8 02:39:03 2006 -0800 [PATCH] Char: sx, remove duplicite code sx_remove_code contents were used twice. Call this function instead. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42f6384fe4747f65dc27e8a5f96502204558203b Author: Jiri Slaby Date: Fri Dec 8 02:39:03 2006 -0800 [PATCH] Char: sx, lock boards struct Fix race condition which may occurs when multiple cards are probed at the same time. Add mutex to critical sections to avoid this situation. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 927a6f9dd0d0b5f70cb2e0799ce7a3844f43d42f Author: Jiri Slaby Date: Fri Dec 8 02:39:02 2006 -0800 [PATCH] Char: sx, ifdef ISA code Most users won't need old probe code -- make it depndent on CONFIG_(E)ISA. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18f813ee693eaf51ad313020b725b118a891c3ee Author: Jiri Slaby Date: Fri Dec 8 02:39:01 2006 -0800 [PATCH] Char: sx, use eisa probing Instead of finding eisa directly, use eisa probing. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda5265e7c5ba5f23c83f2f0693fef392b39e7e5 Author: Jiri Slaby Date: Fri Dec 8 02:39:00 2006 -0800 [PATCH] Char: sx, mark functions as devinit Mark as much as possible functions as __devinit to free them after driver initialization (if no hotplug). Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7cb69badb4ca11fe0ba09aafac5c284922fc8f Author: Jiri Slaby Date: Fri Dec 8 02:38:59 2006 -0800 [PATCH] Char: sx, use kcalloc Convert self-implemented kzalloc to kernel kcalloc. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5572e10323a7d3cdccf639225553a6e2542049bd Author: Jiri Slaby Date: Fri Dec 8 02:38:58 2006 -0800 [PATCH] Char: sx, convert to pci probing Convert old pci code to pci probing. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17c4edf0c8ee670de7b33d2a24eddd7c6b7edcf6 Author: Jiri Slaby Date: Fri Dec 8 02:38:57 2006 -0800 [PATCH] Char: isicom, fix tty index check Since tty->index is signed and may be < 0, we should assign this to int not uint. There is already a check to ensure if it is not negative, but gcc complains with -W flag enabled and it is perfectly correct: drivers/char/isicom.c:953: warning: comparison of unsigned expression < 0 is always false Fix this issue by converting `line' variable from uint to int. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11c838772d58d9807b1cb7fa4e0bec1b0302e318 Author: Jiri Slaby Date: Fri Dec 8 02:38:56 2006 -0800 [PATCH] Char: isicom, remove cvs stuff We don't need RCS_ID & co. Extract them from the code and define only one macro -- SX_VERSION. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34b55b865ed12494e23b09b5d2e8da22047fd6a7 Author: Jiri Slaby Date: Fri Dec 8 02:38:55 2006 -0800 [PATCH] Char: isicom, simplify timer Don't init timer in such complicated way. Use DEFINE_TIMER and then only mod_timer to reset the expiration. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 906cdecbedae93e3f63651000f620acddf4debe9 Author: Jiri Slaby Date: Fri Dec 8 02:38:55 2006 -0800 [PATCH] Char: isicom, use completion Use wait_for_completion+complete instead of variables+msleep hack. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0671378426d9768bf20d5e0f8389374dcdc2abf Author: Jiri Slaby Date: Fri Dec 8 02:38:54 2006 -0800 [PATCH] Char: isicom, check kmalloc retval Value returned from kamlloc may be NULL, we should check if ENOMEM occured. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78028da91e05146c9ce0c9db2fea53e0cded1e81 Author: Jiri Slaby Date: Fri Dec 8 02:38:53 2006 -0800 [PATCH] Char: isicom, use pci_request_region Use pci_request_region in pci probing function instead of request_region. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 938a7023bbbc626b0ab7ece13fe8cb26cfcc486b Author: Jiri Slaby Date: Fri Dec 8 02:38:52 2006 -0800 [PATCH] Char: isicom, move to tty_register_device Instead of registering all devices in register_tty_driver, register devices in probe function and register only port_count devices. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8acef8fcab2d824c1c445857f457fb04facc765d Author: Jiri Slaby Date: Fri Dec 8 02:38:51 2006 -0800 [PATCH] Char: isicom, remove unneeded memset Memsetting of global static variables is not needed in the init code. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18234f88bc27473f15293a03c83bcb53da9018b4 Author: Jiri Slaby Date: Fri Dec 8 02:38:51 2006 -0800 [PATCH] Char: isicom, remove isa code ISA is not supported by this driver, remove parts, that take care of this. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca26200511776a0b54c5c832efde48ee6445a738 Author: Jiri Slaby Date: Fri Dec 8 02:38:50 2006 -0800 [PATCH] Char: isicom, rename init function Rename init function from setup to init and mark it as __init, not __devinit. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a4a112559f4e93bb07d9683972e9064ae0418f Author: Jiri Slaby Date: Fri Dec 8 02:38:49 2006 -0800 [PATCH] Char: isicom, expand function Simple functions (those, that calls reuest_irq, request_region et al) may be expanded directly in code. It makes probe function more readable and transparent. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 592ee3a5e5e2a981ef2829a0380093006d045661 Author: Alan Cox Date: Fri Dec 8 02:38:48 2006 -0800 [PATCH] termios: Enable new style termios ioctls on x86-64 This turns on the split input/output speed features and arbitary baud rate handling for the x86-64 platform. Nothing should break if you use existing standard speeds. If you use the new speed stuff then you may see some drivers failing to report the speed changes properly in error cases. This will be worked on further. For the working cases this all seems happy. I'll post a test suite used to test the basic stuff as well. Patches for i386 will follow when I get a moment but are basically the same. If people could patch/test-suite other architectures and submit them that would be great. Signed-off-by: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64bb6c5e1ddcd47c951740485026ef08975ee2e6 Author: Alan Cox Date: Fri Dec 8 02:38:47 2006 -0800 [PATCH] tty_ioctl: use termios for the old structure and termios2 for the new Having split out the user and kernel structures it turns out that some non glibc C libraries pull their termios struct from the kernel headers directly or indirectly. This means we must keep "struct termios" as the library sees it correct for the old ioctls. Not a big problem just shuffle the names and ifdef around a bit [akpm@osdl.org: build fix] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 606d099cdd1080bbb50ea50dc52d98252f8f10a1 Author: Alan Cox Date: Fri Dec 8 02:38:45 2006 -0800 [PATCH] tty: switch to ktermios This is the grungy swap all the occurrences in the right places patch that goes with the updates. At this point we have the same functionality as before (except that sgttyb() returns speeds not zero) and are ready to begin turning new stuff on providing nobody reports lots of bugs If you are a tty driver author converting an out of tree driver the only impact should be termios->ktermios name changes for the speed/property setting functions from your upper layers. If you are implementing your own TCGETS function before then your driver was broken already and its about to get a whole lot more painful for you so please fix it 8) Also fill in c_ispeed/ospeed on init for most devices, although the current code will do this for you anyway but I'd like eventually to lose that extra paranoia [akpm@osdl.org: bluetooth fix] [mp3@de.ibm.com: sclp fix] [mp3@de.ibm.com: warning fix for tty3270] [hugh@veritas.com: fix tty_ioctl powerpc build] [jdike@addtoit.com: uml: fix ->set_termios declaration] Signed-off-by: Alan Cox Signed-off-by: Martin Peschke Acked-by: Peter Oberparleiter Cc: Cornelia Huck Signed-off-by: Hugh Dickins Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edc6afc5496875a640bef0913604be7550c1795d Author: Alan Cox Date: Fri Dec 8 02:38:44 2006 -0800 [PATCH] tty: switch to ktermios and new framework This is the core of the switch to the new framework. I've split it from the driver patches which are mostly search/replace and would encourage people to give this one a good hard stare. The references to BOTHER and ISHIFT are the termios values that must be defined by a platform once it wants to turn on "new style" ioctl support. The code patches here ensure that providing 1. The termios overlays the ktermios in memory 2. The only new kernel only fields are c_ispeed/c_ospeed (or none) the existing behaviour is retained. This is true for the patches at this point in time. Future patches will define BOTHER, ISHIFT and enable newer termios structures for each architecture, and once they are all done some of the ifdefs also vanish. [akpm@osdl.org: warning fix] [akpm@osdl.org: IRDA fix] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be90038a24c814dc98bc5a813f41855779000018 Author: Alan Cox Date: Fri Dec 8 02:38:43 2006 -0800 [PATCH] tty: preparatory structures for termios revamp In order to sort out our struct termios and add proper speed control we need to separate the kernel and user termios structures. Glibc is fine but the other libraries rely on the kernel exported struct termios and we need to extend this without breaking the ABI/API To do so we add a struct ktermios which is the kernel view of a termios structure and overlaps the struct termios with extra fields on the end for now. (That limitation will go away in later patches). Some platforms (eg alpha) planned ahead and thus use the same struct for both, others did not. This just adds the structures but does not use them, it seems a sensible splitting point for bisect if there are compile failures (not that I expect them) Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96b066b85c8e5b28fa7f25a7f0644f70f46b8881 Author: Jiri Slaby Date: Fri Dec 8 02:38:42 2006 -0800 [PATCH] Char: stallion, remove many prototypes Many prototypes are useless, since functions are declared before they are called. Also some code was easy to move to resolve this dependency and delete prototypes. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40e82652128f67ffc2d8117e186736a92a15d64c Author: Jiri Slaby Date: Fri Dec 8 02:38:41 2006 -0800 [PATCH] Char: stallion, mark functions as init Use __init macro for functions, that may be freed after initialization. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60be481089524b88fc777433494c6842f1f652a4 Author: Jiri Slaby Date: Fri Dec 8 02:38:40 2006 -0800 [PATCH] Char: stallion, uninline functions - Do not inline such long functions, it won't speed up anything. - Remove prototypes of these functions. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23b85a152b4598ae007db7d5a5318458ea2fd647 Author: Jiri Slaby Date: Fri Dec 8 02:38:40 2006 -0800 [PATCH] Char: stallion, move init/deinit - Move code from stl_init into module init function, because calling it was the only one thing, that it did. - Move this code to the end of the driver (usual place for this) to resolve dependencies simply -- without prototypes. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca7ed0f22f4876986b2eb1