commit 6246b6128bbe34d0752f119cf7c5111c85fe481d Author: Linus Torvalds Date: Sun Apr 2 20:22:10 2006 -0700 Linux v2.6.17-rc1 Close of the merge window.. commit 6fdb94bd95dc7a2effcbffa7a1d9e792cade57b6 Author: Linus Torvalds Date: Sun Apr 2 14:37:36 2006 -0700 Update dummy snd_power_wait() function for new calling convention Apparently nobody had tried to compile the ALSA CVS tree without power management enabled. Signed-off-by: Linus Torvalds commit 3e7ee3e7b36fa4e2d88d8fb0a2577be95fc4636d Author: Jens Axboe Date: Sun Apr 2 23:11:04 2006 +0200 [PATCH] splice: fix page stealing LRU handling. Originally from Nick Piggin, just adapted to the newer branch. You can't check PageLRU without holding zone->lru_lock. The page release code can get away with it only because the page refcount is 0 at that point. Also, you can't reliably remove pages from the LRU unless the refcount is 0. Ever. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit ad8d6f0a783ffa2ff9b0cf09910b889715772201 Author: Jens Axboe Date: Sun Apr 2 23:10:32 2006 +0200 [PATCH] splice: page stealing needs to wait_on_page_writeback() Thanks to Andrew for the good explanation of why this is so. akpm writes: If a page is under writeback and we remove it from pagecache, it's still going to get written to disk. But the VFS no longer knows about that page, nor that this page is about to modify disk blocks. So there might be scenarios in which those blocks-which-are-about-to-be-written-to get reused for something else. When writeback completes, it'll scribble on those blocks. This won't happen in ext2/ext3-style filesystems in normal mode because the page has buffers and try_to_release_page() will fail. But ext2 in nobh mode doesn't attach buffers at all - it just sticks the page in a BIO, finds some new blocks, points the BIO at those blocks and lets it rip. While that write IO's in flight, someone could truncate the file. Truncate won't block on the writeout because the page isn't in pagecache any more. So truncate will the free the blocks from the file under the page's feet. Then something else can reallocate those blocks. Then write data to them. Now, the original write completes, corrupting the filesystem. Signed-off-by: Jens Axboe commit 059a8f3734a66cb2c41731083b0cbf836721485b Author: Jens Axboe Date: Sun Apr 2 23:06:05 2006 +0200 [PATCH] splice: export generic_splice_sendpage Forgot that one, thanks Jeff. Also move the other EXPORT_SYMBOL to right below the functions. Signed-off-by: Jens Axboe commit b2b39fa478db6db89b7ccafb0649973845b0eb75 Author: Jens Axboe Date: Sun Apr 2 23:05:41 2006 +0200 [PATCH] splice: add a SPLICE_F_MORE flag This lets userspace indicate whether more data will be coming in a subsequent splice call. Signed-off-by: Jens Axboe commit 83f9135bddffded9f1716519b6c147bcf046c87e Author: Jens Axboe Date: Sun Apr 2 23:05:09 2006 +0200 [PATCH] splice: add comments documenting more of the code Hopefully this will make Andrew a little more happy. Signed-off-by: Jens Axboe commit 4f6f0bd2ffa4e31c3524f5e65c84a29b6ab73307 Author: Jens Axboe Date: Sun Apr 2 23:04:46 2006 +0200 [PATCH] splice: improve writeback and clean up page stealing By cleaning up the writeback logic (killing write_one_page() and the manual set_page_dirty()), we can get rid of ->stolen inside the pipe_buffer and just keep it local in pipe_to_file(). This also adds dirty page balancing logic and O_SYNC handling. Signed-off-by: Jens Axboe commit 53cd9ae886273d6c2b8ba4aa63d6cd6b1217b57f Author: Jens Axboe Date: Sun Apr 2 23:04:21 2006 +0200 [PATCH] splice: fix shadow[] filling logic Clear the entire range, and don't increment pidx or we keep filling the same position again and again. Thanks to KAMEZAWA Hiroyuki. Signed-off-by: Jens Axboe commit 6e0dd741a89be35defa05bd79f4211c5a2762825 Author: Greg Kroah-Hartman Date: Fri Mar 31 15:37:06 2006 -0800 [PATCH] sysfs: zero terminate sysfs write buffers No one should be writing a PAGE_SIZE worth of data to a normal sysfs file, so properly terminate the buffer. Thanks to Al Viro for pointing out my supidity here. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 597a7679dd83691be2f3a53e1f3f915b4a7f6eba Author: Arjan van de Ven Date: Sun Apr 2 19:24:57 2006 +0200 [PATCH] revert incorrect mutex conversion in hdaps driver This reverts the mutex conversion that was recently done to the hdaps driver; this coversion was buggy because the hdaps driver started using this semaphore in IRQ context, which mutexes do not allow. Easiest solution for now is to just revert the patch (the patch was part of a bigger GIT commit, 9a61bf6300533d3b64d7ff29adfec00e596de67d but this only reverts this one file) Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 24c7cd0630f76f0eb081d539c53893d9f15787e8 Author: Stefan Richter Date: Sat Apr 1 21:11:41 2006 +0200 [PATCH] sbp2: fix spinlock recursion sbp2util_mark_command_completed takes a lock which was already taken by sbp2scsi_complete_all_commands. This is a regression in Linux 2.6.15. Reported by Kristian Harms at https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=187394 [ More complete commentary, as response to questions by Andrew: ] > This changes the call environment for all implementations of > ->Current_done(). Are they all safe to call under this lock? Short answer: Yes, trust me. ;-) Long answer: The done() callbacks are passed on to sbp2 from the SCSI stack along with each SCSI command via the queuecommand hook. The done() callback is safe to call in atomic context. So does Documentation/scsi/scsi_mid_low_api.txt say, and many if not all SCSI low-level handlers rely on this fact. So whatever this callback does, it is "self-contained" and it won't conflict with sbp2's internal ORB list handling. In particular, it won't race with the sbp2_command_orb_lock. Moreover, sbp2 already calls the done() handler with sbp2_command_orb_lock taken in sbp2scsi_complete_all_commands(). I admit this is ultimately no proof of correctness, especially since this portion of code introduced the spinlock recursion in the first place and we didn't realize it since this code's submission before 2.6.15 until now. (I have learned a lesson from this.) I stress-tested my patch on x86 uniprocessor with a preemptible SMP kernel (alas I have no SMP machine yet) and made sure that all code paths which involve the sbp2_command_orb_lock were gone through multiple times. Signed-off-by: Stefan Richter Signed-off-by: Linus Torvalds commit 29e350944fdc2dfca102500790d8ad6d6ff4f69d Author: Linus Torvalds Date: Sun Apr 2 12:46:35 2006 -0700 splice: add SPLICE_F_NONBLOCK flag It doesn't make the splice itself necessarily nonblocking (because the actual file descriptors that are spliced from/to may block unless they have the O_NONBLOCK flag set), but it makes the splice pipe operations nonblocking. Signed-off-by: Linus Torvalds commit 56ca904053ab14ba4067a72b69a5edf246771209 Author: Pavel Pisa Date: Sun Apr 2 19:27:07 2006 +0100 [ARM] 3457/1: i.MX: SD/MMC support for i.MX/MX1 Patch from Pavel Pisa This patch adds support of i.MX/MX1 SD/MMC controller. It has been significantly redesigned from the original Sascha Hauer's version to support scatter-gather DMA, to conform to latest Pierre Ossman's and Russell King's MMC-SD Linux 2.6.x infrastructure. The handling of all events has been moved to the softirq context and is designed with no busy-looping in mind. Unfortunately some controller bugs has to be overcome by limited looping about 2-20 usec but these are observed only for initial card recognition phase. There are still some missing/missed IRQs problems under heavy load. Help of somebody with access to the full SDHC design information is probably necessary. Regenerated against 2.6.16-git-060402 to solve clash with other patches. Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 65dbf34393f7b3d20e993d9651a825df0fa5376b Author: Andrew Victor Date: Sun Apr 2 19:18:51 2006 +0100 [ARM] 3456/1: AT91RM9200 support for 2.6 (MMC/SD driver) Patch from Andrew Victor This patch adds support for the MMC/SD card interface on the Atmel AT91RM9200 processor. Original driver was by Nick Randell, but a number of people have subsequently worked on it. It's currently maintained by Malcolm Noyes. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b45e516f701e0fc81fb3dbd1ba9db35f991a4465 Author: Linus Torvalds Date: Sun Apr 2 10:44:36 2006 -0700 ppc64: actually add sys_splice() to the system call table (We'd only added the number, which meant that actually trying to use splice just went off into la-la-land) Signed-off-by: Linus Torvalds commit 853807fb500a9442d88646b7be92bfa51334f8e8 Author: Andrew Victor Date: Tue Mar 14 11:11:04 2006 +0200 [WATCHDOG] at91_wdt.c - Atmel AT91RM9200 watchdog driver Watchdog driver for the Atmel AT91RM9200 processor. Signed-off-by: Andrew Victor Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit c9d1a0b8d52e7539e22f3c3190f8b6e0c80b6cfe Author: Adrian Bunk Date: Fri Mar 10 19:04:38 2006 +0100 [WATCHDOG] pcwd_usb.c: fix a NULL pointer dereference The Coverity checker noted that this resulted in a NULL pointer reference if we were coming from if (usb_pcwd == NULL) { printk(KERN_ERR PFX "Out of memory\n"); goto error; } Signed-off-by: Adrian Bunk Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 6bbc20bc0b5d9c5a351fb3a027e60e396c1329a6 Author: Wim Van Sebroeck Date: Thu Mar 2 20:05:16 2006 +0100 [WATCHDOG] pcwd.c sprintf/strcpy fix change sprintf(pcwd_private.fw_ver_str, "ERROR"); to strcpy... as pointed out by Andrew Morton. Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 369fa25294b8225cb3a7fefabf047a2676bf6abd Author: Wim Van Sebroeck Date: Sun Feb 12 17:44:57 2006 +0100 [WATCHDOG] pcwd.c general clean-up after patches removal of includes (since we don't use kmalloc and TASK_INTERRUPTABLE anymore). Addition of missing commands. Printk that lets the user know when the module was unloaded. Signed-off-by: Wim Van Sebroeck commit c324ab4281d6b7a3130e9291d74b5c2361a16d56 Author: Wim Van Sebroeck Date: Sun Feb 12 17:12:55 2006 +0100 [WATCHDOG] pcwd.c add debug info Add debugging info for the pcwd.c module. Signed-off-by: Wim Van Sebroeck commit 69f83d5216e4bfffd51bb5729be2df38df0aeaf2 Author: Wim Van Sebroeck Date: Sun Feb 12 16:51:34 2006 +0100 [WATCHDOG] pcwd.c pcwd_cleanup_module patch static void pcwd_cleanup_module doesn't need a return; Signed-off-by: Wim Van Sebroeck commit 9b6553cd01ce3ea7a6a532f7b7e62e3535d6b102 Author: Tony Lindgren Date: Sun Apr 2 17:46:30 2006 +0100 [ARM] 3433/1: ARM: OMAP: 8/8 Update board files Patch from Tony Lindgren This patch syncs OMAP board support with linux-omap tree. The highlights of the patch are: - Add support for Nokia 770 by Juha Yrjola - Add support for Samsung Apollon by Kyungmin Park - Add support for Amstrad E3 videophone by Jonathan McDowell - Remove board-netstar.c board support as requested by Ladislav Michl - Do platform_device registration in board files by Komal Shah et al. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 120db2cba8e40c562e5a4aea44ede2f360a5de75 Author: Tony Lindgren Date: Sun Apr 2 17:46:27 2006 +0100 [ARM] 3455/1: ARM: OMAP: 7/8 Misc updates, take 2 Patch from Tony Lindgren Update misc OMAP core code from linux-omap tree: - McBSP updates by Samuel Ortiz, Andrzej Zaborowski - Whitespace cleanups by Ladislav Michl - Other fixes by various linux-omap developers Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 0dc5e77c46c6b02e8286f17544d93d614c0cb892 Author: Tony Lindgren Date: Sun Apr 2 17:46:26 2006 +0100 [ARM] 3454/1: ARM: OMAP: 6/8 Update framebuffer low-level init code, take 2 Patch from Tony Lindgren Update OMAP framebuffer low-level init code from linux-omap tree by Imre Deak. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 670c104ae8e7bcc28be0289a16dac2ddfb88b285 Author: Tony Lindgren Date: Sun Apr 2 17:46:25 2006 +0100 [ARM] 3430/1: ARM: OMAP: 5/8 Update PM Patch from Tony Lindgren Update OMAP PM code from linux-omap tree: - Move PM code from plat-omap to mach-omap1 and mach-omap2 by Tony Lindgren - Add minimal PM support for omap24xx by Tony Lindgren and Richard Woodruff - Misc updates to omap1 PM code by Tuukka Tikkanen et al - Updates to the SRAM code needed for PM and FB by Imre Deak Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 6e60e79a1d46eaa3369febc2f6c31e0acfaaae3f Author: Tony Lindgren Date: Sun Apr 2 17:46:23 2006 +0100 [ARM] 3429/1: ARM: OMAP: 4/8 Update GPIO Patch from Tony Lindgren Update OMAP GPIO code from linux-omap tree: - Fix omap16xx edge control by Juha Yrjola - Support for additional omap16xx trigger modes by Dirk Behme - Fix edge detection by Tony Lindgren et al. - Better support for omap15xx and omap310 by Andrej Zaborowski - Fix omap15xx interrupt bug by Petukhov Nikolay Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 8d7f9f5037a09b8570d0c9e60a924ad2ba6fa7dd Author: Tony Lindgren Date: Sun Apr 2 17:46:22 2006 +0100 [ARM] 3428/1: ARM: OMAP: 3/8 Update pin multiplexing Patch from Tony Lindgren Update OMAP pin multiplexing code from linux-omap tree. This patch adds new pin configurations by various OMAP developers, and suport for omap730 by Brian Swetland. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit a569c6ec37e78eef4299d0a60ae4028459b27117 Author: Tony Lindgren Date: Sun Apr 2 17:46:21 2006 +0100 [ARM] 3427/1: ARM: OMAP: 2/8 Update timers Patch from Tony Lindgren Update OMAP timers from linux-omap tree. The highlights of the patch are: - Move timer32k code from mach-omap1 to plat-omap and make it work also on omap24xx by Tony Lindgren - Add support for dmtimer idle check for PM by Tuukka Tikkanen Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit b824efae120b656fef562b2e81e1ed6aa88f8d24 Author: Tony Lindgren Date: Sun Apr 2 17:46:20 2006 +0100 [ARM] 3426/1: ARM: OMAP: 1/8 Update clock framework Patch from Tony Lindgren Update OMAP clock framework from linux-omap tree. The highlights of the patch are: - Add support for omap730 clocks by Andrzej Zaborowski - Fix compile warnings by Dirk Behme - Add support for using dev id by Tony Lindgren and Komal Shah - Move memory timings and PRCM into separate files by Tony Lindgren Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 2891b6ad188f8cd1407f17e52befb26b7e1f4de1 Author: Wim Van Sebroeck Date: Sun Feb 12 16:47:34 2006 +0100 [WATCHDOG] pcwd.c firmware-info patch Get the firmware version into the private data struct of the ISA-PC watchdog card. Signed-off-by: Wim Van Sebroeck commit 4206f0c4de9f9683676a8507ef56941535761579 Author: Wim Van Sebroeck Date: Sun Feb 12 16:37:36 2006 +0100 [WATCHDOG] pcwd.c control status patch Clean-up the control status code (insert tabs where relevant), Add new Control Status defines, Make sure that the R2DS bit stays the same. Signed-off-by: Wim Van Sebroeck commit 3267c077e589bc146a0b45e220fcefafbf83fb80 Author: Andrew Victor Date: Sun Apr 2 17:15:51 2006 +0100 [ARM] 3396/2: AT91RM9200 Platform devices update Patch from Andrew Victor This patch updates the platform device resources for the Ethernet and MMC peripherals. It also adds platform device information for the NAND (SmartMedia), I2C and the RTC. (This version of the patch can be applied before Patch 3392/1) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 486bcc59f3083c54df7b67d1d69db81585632a8b Author: Andrew Victor Date: Sun Apr 2 17:15:49 2006 +0100 [ARM] 3395/2: AT91RM9200 Dataflash Card vs MMC selection Patch from Andrew Victor On the Atmel AT91RM9200-DK and -EK boards, a pin is used to control whether the card socket is used for a DataFlash Card or an MMC/SD card. We now default to MMC/SD in the configuration files. (This version of the patch can be applied before Patch 3392/1) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit cc2832a1313340ff1de55f15fac5b7fe48fa2a72 Author: Andrew Victor Date: Sun Apr 2 17:15:48 2006 +0100 [ARM] 3393/2: AT91RM9200 LED support Patch from Andrew Victor This patch adds support for the LED(s) on the AT91RM9200-based boards. (This version of the patch can be applied before Patch 3392/1) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b2e6f75597af8fc765707111d3a71077167bdeb1 Author: Richard Purdie Date: Sun Apr 2 17:11:00 2006 +0100 [ARM] 3453/1: Poodle: Correctly set the memory size Patch from Richard Purdie Force the Sharp Zaurus Poodle memory size to 32MB. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit d66e35fab8789b5dd6f1b8e6f3871ea4f44d32a3 Author: Pavel Pisa Date: Sun Apr 2 16:58:38 2006 +0100 [ARM] 3446/1: i.MX: MMC/SD SDHC controller registration for i.MX/MX1 MX1ADS board Patch from Pavel Pisa From: Stefano Fedrigo This adds to the MX1ADS platform the needed code to detect insertion/removal of an MMC/SD card. Tested on a v1.1 board. Signed-off-by: Stefano Fedrigo Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 999331af456bf6fc1520ea7b68b6a3dbb4af8ff6 Author: Pavel Pisa Date: Sun Apr 2 16:58:37 2006 +0100 [ARM] 3444/1: i.MX: Scatter-gather DMA emulation for i.MX/MX1 Patch from Pavel Pisa This patch contains simplified set of changes to add scatter-gather emulation capability into MX1 DMA support. The result should be still usable for next combination of DMA transfers Statter-Gather/linear/2D/FIFO to linear/2D/FIFO and linear/2D/FIFO to Statter-Gather/2D/FIFO The patch corrects channel priority allocation to be compatible with MX1 hardware implementation. Previous code has not been adapted from its PXA original. Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 7ba01f9728a9f1cd1a3e1e2d5206f76061182675 Author: Lennert Buytenhek Date: Sun Apr 2 16:17:40 2006 +0100 [ARM] 3451/1: ep93xx: use the m48t86 rtc driver on the ts72xx platform Patch from Lennert Buytenhek Instantiate the recently merged m48t86 rtc driver in the ts72xx code. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 41658132e650c01529dd5cc5cea8b0055def1165 Author: Lennert Buytenhek Date: Sun Apr 2 16:17:34 2006 +0100 [ARM] 3450/1: ep93xx: use the ep93xx rtc driver Patch from Lennert Buytenhek Instantiate the recently merged ep93xx rtc driver in the ep93xx code. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 272eb575eb3d5348fe0f0a97a22b5e603bd51d11 Author: Ben Dooks Date: Sun Apr 2 16:16:15 2006 +0100 [ARM] 3452/1: [S3C2410] RX3715 - add nand information Patch from Ben Dooks NAND definitions for the HP iPAQ RX3715's internal NAND flash Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a580290c3e64bb695158a090d02d1232d9609311 Author: Martin Waitz Date: Sun Apr 2 13:59:55 2006 +0200 Documentation: fix minor kernel-doc warnings This patch updates the comments to match the actual code. Signed-off-by: Martin Waitz Signed-off-by: Adrian Bunk commit 5d9428de1a9785f10a4339f80b717be665ba51c7 Author: Eric Sesterhenn Date: Sun Apr 2 13:52:48 2006 +0200 BUG_ON() Conversion in drivers/net/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 7e99e9b66336565f0088ea59d848ab187f9689c3 Author: Eric Sesterhenn Date: Sun Apr 2 13:50:14 2006 +0200 BUG_ON() Conversion in drivers/s390/net/lcs.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 40094fa65238291d51839326320aba997092ab1f Author: Eric Sesterhenn Date: Sun Apr 2 13:49:25 2006 +0200 BUG_ON() Conversion in mm/slab.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 75babcacede876608f14ef1a20e795ce17ae637f Author: Eric Sesterhenn Date: Sun Apr 2 13:47:35 2006 +0200 BUG_ON() Conversion in mm/highmem.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 9f31252cb61d5bc641cdef8a069a2ca5a77855f2 Author: Eric Sesterhenn Date: Sun Apr 2 13:45:55 2006 +0200 BUG_ON() Conversion in kernel/signal.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit fda8bd78a15950b9b01a1c1477a9095cb08c27c1 Author: Eric Sesterhenn Date: Sun Apr 2 13:44:47 2006 +0200 BUG_ON() Conversion in kernel/signal.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 524223ca8142d593124bde66f3ffa1deb6f56c06 Author: Eric Sesterhenn Date: Sun Apr 2 13:43:40 2006 +0200 BUG_ON() Conversion in kernel/ptrace.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 9ba025f10885758975fbbc2292a5b9e7cb8026a8 Author: Eric Sesterhenn Date: Sun Apr 2 13:42:42 2006 +0200 BUG_ON() Conversion in ipc/shm.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 7ec70738097af9dfd25d5f83e9b27a532f462912 Author: Eric Sesterhenn Date: Sun Apr 2 13:41:02 2006 +0200 BUG_ON() Conversion in fs/freevxfs/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 2c2111c2bd821d3e7cf5a6a37a112a620fd947a3 Author: Eric Sesterhenn Date: Sun Apr 2 13:40:13 2006 +0200 BUG_ON() Conversion in fs/udf/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit d6735bfcc998863dab89dacca2aed20932b6bc21 Author: Eric Sesterhenn Date: Sun Apr 2 13:39:21 2006 +0200 BUG_ON() Conversion in fs/sysv/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit b7542f8c7eb40efb967a558c5be90fe5f939c3ef Author: Eric Sesterhenn Date: Sun Apr 2 13:38:18 2006 +0200 BUG_ON() Conversion in fs/inode.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit f6298aab2ebaa61de39931595f125bc1968905cc Author: Eric Sesterhenn Date: Sun Apr 2 13:37:19 2006 +0200 BUG_ON() Conversion in fs/fcntl.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 8abf6a4707cfb95ca552b882959c6f8ff9924270 Author: Eric Sesterhenn Date: Sun Apr 2 13:36:13 2006 +0200 BUG_ON() Conversion in fs/dquot.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit b6385483840e903d99cb753593faea215ae8d324 Author: Eric Sesterhenn Date: Sun Apr 2 13:34:29 2006 +0200 BUG_ON() Conversion in md/raid10.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 43dab9bbe9fda735589f2749004f639349966b20 Author: Eric Sesterhenn Date: Sun Apr 2 13:33:30 2006 +0200 BUG_ON() Conversion in md/raid6main.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 78bafebd461049a419df2f4b1f25efbee73c2439 Author: Eric Sesterhenn Date: Sun Apr 2 13:31:42 2006 +0200 BUG_ON() Conversion in md/raid5.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 661e6acf7b882e5a886845dca5d1559e987464b4 Author: Ben Dooks Date: Sun Apr 2 10:32:46 2006 +0100 [ARM] 3449/1: [S3C2410] Anubis - fix NAND timings Patch from Ben Dooks The NAND timings on the Anubis are too large to be selected when running at 133MHz memory clock. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 2b2ee1585a98be250f86c61e6ec70159b30e48e5 Author: Ben Dooks Date: Sun Apr 2 10:00:10 2006 +0100 [ARM] 3448/1: [S3C2410] Settle delay when _enabling_ USB PLL Patch from Ben Dooks Fix the bug in the UPLL enable code which should have put a 200uS delay in if enabling the USB PLL from the state where it is off. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit dee9b2e932ef7c8f19540ad67e425fae30f33421 Author: Ben Dooks Date: Sun Apr 2 10:00:09 2006 +0100 [ARM] 3442/1: [S3C2410] SMDK: NAND device setup Patch from Ben Dooks Add SMDK2410/SMDK2440 NAND device information and default partition table. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 66ce229fe057e35275a5f5176b29ed70795506a1 Author: Ben Dooks Date: Sun Apr 2 10:00:08 2006 +0100 [ARM] 3447/1: [S3C2410] SMDK - default LEDs to off Patch from Ben Dooks Set default state of LEDs to off Fixes context of Patch #3442/1 Signed-off-by: Ben Dooks Signed-off-by: Russell King commit fb9c280d4c6d4586670e3dfd041d8258db36b330 Author: Randy Dunlap Date: Wed Mar 29 16:15:23 2006 -0300 V4L/DVB (3667b): cpia2: fix function prototype Fix address space warning (from sparse): drivers/media/video/cpia2/cpia2_core.c:2355:6: error: symbol 'cpia2_read' redeclared with different type (originally declared at drivers/media/video/cpia2/cpia2.h:458) - incompatible argument 2 (different address spaces) Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 07151724a35e8e70f1aa64ce30a5a3f5c1ad49a3 Author: Hans Verkuil Date: Sat Apr 1 18:03:23 2006 -0300 V4L/DVB (3702): Make msp3400 routing defines more consistent Renamed various msp3400 routing defines to be more consistent and less confusing. Esp. the MSP_DSP_OUT defines were confusing since it is really a DSP input. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ab4cecf9c4e4a69cf2161f8a2424be14984430f8 Author: Hans Verkuil Date: Sat Apr 1 16:40:21 2006 -0300 V4L/DVB (3700): Remove obsolete commands from tvp5150.c - Remove old DECODER_ commands from tvp5150.c, replacing them with newer ones if appropriate. - Small VIDIOC_G_TUNER fixes in msp3400 and tuner. - Fix VIDIOC_S_TUNER support in em28xx. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3bbe5a83996c0a669250d91421eef054f3a30595 Author: Hans Verkuil Date: Sat Apr 1 15:27:52 2006 -0300 V4L/DVB (3697): More msp3400 and bttv fixes - remove obsolete VIDIOC_S_INPUT i2c call in bttv - translate VIDIOCSFREQ to VIDIOC_S_FREQUENCY in i2c call - improve muting during carrier scan in msp3400 - don't start scan unless really needed. - no longer reset chip for msp3400c/d. - remove v4l2 check in tuner-core (radio stops after using the TV) - add missing VIDIOC_INT_ strings in v4l2-common.c Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c097b04520a3ab69a94f63f3f1d6716864c07300 Author: Hans Verkuil Date: Thu Mar 30 19:57:28 2006 -0300 V4L/DVB (3696): Previous change for cx2341X boards broke the remote support Partially revert previous change to fix IR support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0020d3ef915fc01a0184bc96eeb3c240bded5d8e Author: Hans Verkuil Date: Thu Mar 30 19:50:34 2006 -0300 V4L/DVB (3693): Fix msp3400c and bttv stereo/mono/bilingual detection/handling - msp3400c did not detect the second carrier, thus being always mono. - properly mute the msp3400c while detecting the carrier. - fix checks on the presence of scart2/3 inputs and scart 2 output. - implement proper audio mode fallbacks for msp3400c/d, identical to the way msp3400g works. - MODE_STEREO no longer produces dual languages when set for a bilingual transmission, instead it falls back to LANG1. Use LANG1_LANG2 to hear both languages of a bilingual transmission. This is much more intuitive for the user and is in accordance with the preferred usage in the v4l2 specification. - bttv tried to implement v4l2 calls with v4l1 calls to the i2c devices, completely mangling the audmode/rxsubchans handling. v4l2 calls now do v4l2 calls to the i2c devices. - fixed broken i2c_vidiocschan in bttv. - add start/end lines to LOG_STATUS. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bc7400a9d01b1fe05c7f0200e7384e17794f6e4 Author: Hans Verkuil Date: Wed Mar 29 18:02:51 2006 -0300 V4L/DVB (3692): Keep experimental SLICED_VBI defines under an #if 0 The sliced VBI defines added in videodev2.h are removed since requires more discussion. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2868c41fc45399b0f0855eb760e1a81881ff0c3d Author: Michael Krufky Date: Sat Apr 1 18:00:41 2006 -0300 V4L/DVB (3689): Kconfig: fix VP-3054 Secondary I2C Bus build configuration menu dependencies This patch fixes a dependency problem that affected the indentation order within the individual frontend selection support menus for cx88-dvb. - created a boolean dependency link for VIDEO_CX88_VP3054, so that it's tristate value will be the same as that of VIDEO_CX88_DVB. - VIDEO_CX88_VP3054 is automatically selected by VIDEO_CX88_DVB_ALL_FRONTENDS, but is otherwise selected by VIDEO_CX88_DVB_VP3054, offered as an option under VIDEO_CX88_DVB_MT352 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 86f40cc3c994822ffeb226753526d87be21bd79a Author: Andrew de Quincey Date: Thu Mar 30 15:53:35 2006 -0300 V4L/DVB (3673): Fix budget-av CAM reset Unfortunately on the budget-av board, the CAM reset line is tied to the frontend reset line, so resetting the CAM also zaps the frontend. This breaks the tda1004x at least, and causes it to fail to tune until the budget-av module is reloaded. This patch adds an exported function to dvb_frontend that allows a card to forcibly reinitialise a frontend. The budget-av now does this on CAM reset, which corrects this problem. since they do not tie the CAM reset line to the frontend reset line. Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 5e85bd057f0cb29881e3d55d29f48bb55bd2f450 Author: Trent Piepho Date: Thu Mar 30 15:53:32 2006 -0300 V4L/DVB (3672): Fix memory leak in dvr open The dvr device could be opened multiple times simultaneously in O_RDONLY mode. Each open after the first would allocate a new dvr buffer (1880 KB) and leak the old buffer. The first close would de-allocate the dvr buffer and cause all other open dvrs to stop working. This patch allows only a single O_RDONLY open of the drv device, as per the API specification. Multiple O_WRONLY opens are still allowed and don't appear to cause any problems. Signed-off-by: Trent Piepho Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 2f03ee8e6bd7c6f40a1a0583662308e002d357da Author: C.Y.M Date: Thu Mar 30 04:31:48 2006 -0300 V4L/DVB (3671): New module parameter 'tv_standard' (dvb-ttpci driver) This attached patch was originally proposed by Anssi Hannula to the dvb-kernel user to choose the default broadcast mode when using the ttpci driver. NTSC users need to only add the following line to modprobe.d: options dvb-ttpci tv_standard=1 PAL users will not need to change anything, for this will be the default. Signed-off-by: C.Y.M Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit f3688fc8d391f50dee45bd3bf04bdeab1c16c3c0 Author: Adrian Bunk Date: Wed Mar 29 22:46:12 2006 -0300 V4L/DVB (3670): Fix typo in comment This patch fixes a typo in a comment. Signed-off-by: Adrian Bunk Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit afa47abf09f148332b0e6e480972494bc2e5c8af Author: Ingo Schneider Date: Wed Mar 29 22:05:16 2006 -0300 V4L/DVB (3669): Configurable dma buffer size for saa7146-based budget dvb cards - Issue a warning when more than 80% of the DMA buffer is being used (probably due to bad IRQ latency). Warnings are rate-limited. - Introduce a new parameter 'bufsize' (in KByte) which increases the default DMA buffer of 188 KByte up to 1410 KByte (Activy: 564 KByte). Signed-off-by: Ingo Schneider Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 1864cfb1537e108c2fe7a8e178b28bffde5a5439 Author: Michael Krufky Date: Sun Apr 2 03:14:11 2006 -0300 V4L/DVB (3653h): Move usb v4l docs into Documentation/video4linux - Move documentation for usb v4l devices from Documentation/usb to Documentation/video4linux. - Removed trailing whitespace. - Update Kconfig help text links to reflect the new file locations. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cc33668b1eed1eac43f00cec639066047323b01d Author: Mauro Carvalho Chehab Date: Wed Mar 29 16:29:00 2006 -0300 V4L/DVB (3667a): Fix SAP + stereo mode at msp3400 It should be V4L2_TUNER_MODE_LANG1_LANG2. What the code does is check if we are NTSC and a SAP channel is available. If so, then the msp3400 should switch to standard 0x21 if the user wants to hear the SAP channel, which is for audio modes LANG2 (aka SAP) and LANG1_LANG2 (bilingual). In the msp3400 driver STEREO is abused for bilingual in PAL. Bilingual never worked with NTSC in the past and I decided that I'd better not use the bad PAL example. Signed-off-by: Mauro Carvalho Chehab commit 021e0b768b2c7931d9ba699e135c3eec42d5d3eb Author: Hans Verkuil Date: Wed Mar 29 15:16:08 2006 -0300 V4L/DVB (3666): Remove trailing newlines Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit add953cecba870f4ad7730bd0a6d5eaaabeac3bc Author: Hans Verkuil Date: Wed Mar 29 14:56:17 2006 -0300 V4L/DVB (3665): Add new NEC uPD64031A and uPD64083 i2c drivers - Add support for the uPD64031A NEC Electronics Ghost Reduction i2c device - Add support for the uPD6408x NEC Electronics 3-Dimensional Y/C separation i2c device. Signed-off-by: Takahiro Adachi Signed-off-by: Takeru Komoriya Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7061561e640c2947ab93c4e2a437327657c4482e Author: Hans Verkuil Date: Wed Mar 29 14:31:44 2006 -0300 V4L/DVB (3663): Fix msp3400c wait time and better audio mode fallbacks - The wait time until the first time the audio mode was detected was 1+5=6 seconds instead of just 1 second (wrong statement order). msp3400c specific bug. - Implemented audio mode fallback for msp3400c/d just like the msp3400g does automatically. E.g. fallback to stereo if no second language exists, etc. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dc555aa63c798af097f5c303bcf72a8390b03da5 Author: Hans Verkuil Date: Tue Mar 28 18:32:52 2006 -0300 V4L/DVB (3662): Don't set msp3400c-non-existent register The driver tried to set a register that is not present on msp3400c devices. Add the missing test. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 75c4570ca4849b089c4edfc14bf02b4720087aba Author: Hans Verkuil Date: Tue Mar 28 18:23:48 2006 -0300 V4L/DVB (3661): Add wm8739 stereo audio ADC i2c driver Add support for the Wolfson Microelectronics WM8739 stereo A/D converter from the ivtv driver. Many thanks to Takahiro Adachi for writing the original driver. Signed-off-by: Takahiro Adachi Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 953a676c83bfd22cac3648fc5f566ca4a2fe1297 Author: Trent Piepho Date: Wed Mar 29 13:53:49 2006 -0300 V4L/DVB (3658): Kconfig: Fix PCI ID typo in VIDEO_CX88_ALSA help text - Fixed PCI ID typo in VIDEO_CX88_ALSA help text Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2b3835b78274af104a9da1b8a999ce908e0459db Author: Trent Piepho Date: Wed Mar 29 13:53:15 2006 -0300 V4L/DVB (3657): Kconfig: Add firmware download comments for or51211 and or51132 - Added firmware download comments to or51211 and or51132 Kconfig help text. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d46e6451956df4bee829dfebd5b521d0ee4868d1 Author: Patrick Boettcher Date: Tue Mar 28 16:15:05 2006 -0300 V4L/DVB (3655): Support for a new revision of the WT220U-stick There seems to be a new version of the USB DVB-T stick from WideView with a new demod-revision inside and thus a new firwmare. This patch enables support for that. Thanks to Mikel Martin for early testing. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f896260566b08250cdb12802af1ab418dcc6d720 Author: Michael Krufky Date: Wed Mar 29 15:15:21 2006 -0300 V4L/DVB (3653g): put v4l encoder/decoder configuration into a separate menu Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26ffb95c0012201c9ea9e8d315af1d499e1e66d3 Author: Michael Krufky Date: Wed Mar 29 15:15:21 2006 -0300 V4L/DVB (3653f): usbvideo: fixed Kconfig menu and Makefile build configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 43381eaf07212e072b926fa8b8f695e88db7775c Author: Michael Krufky Date: Wed Mar 29 15:15:17 2006 -0300 V4L/DVB (3653e): pwc: fixed Kconfig menu and Makefile build configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fcc99659adb0bbcd6d16489ccac04e36d86a760c Author: Michael Krufky Date: Wed Mar 29 15:10:02 2006 -0300 V4L/DVB (3653d): sn9c102: fixed Kconfig menu and Makefile build configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 11bbb51cd0f95a303855d26b8f0e1c1c1ccdf83b Author: Michael Krufky Date: Wed Mar 29 15:09:53 2006 -0300 V4L/DVB (3653c): zc0301: fixed Kconfig menu and Makefile build configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e4a25edb5ecdf14aa14b909acc6f354e4c8f080c Author: Michael Krufky Date: Wed Mar 29 15:09:42 2006 -0300 V4L/DVB (3653b): et61x251: fixed Kconfig menu and Makefile build configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 328caac78a69fa60be67002e4e7dfab3da87dc64 Author: Michael Krufky Date: Wed Mar 29 15:09:27 2006 -0300 V4L/DVB (3653a): Kconfig: clean up media/usb menus - removed redundant Video For Linux API help text - fixed dependency / selection for USB_W9968CF Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d95b8942eed310759bc866a2a4c0f110578aaa69 Author: Hartmut Hackmann Date: Mon Mar 27 19:39:30 2006 -0300 V4L/DVB (3646): Added support for the new Lifeview hybrid cardbus modules There seem to be many variants of this cards with different feature sets. This entry supports analog TV, CVBS and s-video input, FM radio and DVB-T if they are supported by the hardware. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 2174eb9cc876e840bcfa6d44f22c7f816289bf21 Author: Hartmut Hackmann Date: Mon Mar 27 19:15:47 2006 -0300 V4L/DVB (3645): Corrected CVBS input for the AVERMEDIA 777 DVB-T The .vmux entry needs to be 1 instead of 0 Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 42e6b3b476f89b08232d1c1efd2327665b9050c8 Author: Hartmut Hackmann Date: Mon Mar 27 19:04:48 2006 -0300 V4L/DVB (3644): Added PCI IDs of 2 LifeView Cards Added ID entries for the Genius VideoWonder DVB-T and the LifeView FlyTV Platinum Gold Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 75bc8019e5f539b991ea5d68c3bddf797a825081 Author: Mauro Carvalho Chehab Date: Tue Mar 28 10:02:28 2006 -0300 V4L/DVB (3643): Fix default values for tvp5150 controls Default values were wrong. Fixing it. Signed-off-by: Mauro Carvalho Chehab commit 4263fa8ca6d9f387ce0d005e861f7e945c741e6e Author: Mike Isely Date: Sat Mar 25 20:43:14 2006 -0300 V4L/DVB (3639): Reduce FWSEND due to certain I2C bus adapter limits The FWSEND parameter controls the size of the firmware chunks sent down the I2C bus to the chip. Previously this had been set to 1024 but unfortunately some I2C implementations can't transfer data in such big gulps. Specifically, the pvrusb2 driver has a hard limit of around 60 bytes, due to the encapsulation there of I2C traffic into USB messages. So we have to significantly reduce this parameter. Acked-by: Hans Verkuil Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit dbcb86ed945e42e99884e7afaab2f326a2aff2ec Author: Michael Krufky Date: Sun Mar 26 18:59:45 2006 -0300 V4L/DVB (3621): Fix camera key on FusionHDTV portable remote control Thanks to: Andrew Cohen Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 731f902edaf3ed16f8ed9e92d79e3d0d17af608f Author: Ricardo Cerqueira Date: Mon Mar 27 09:16:31 2006 -0300 V4L/DVB (3620): Fix video-buf PCI wrappers After the recent video-buf "generic" adaptation, the PCI wrappers got completely broken, and all of the DMA sound modules stopped working (and failed with an oops) Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 8dbc5ece9a6a424eb03f1eeee2774c42d8db1ce4 Author: Mauro Carvalho Chehab Date: Sun Mar 26 08:54:09 2006 -0300 V4L/DVB (3619): Whitespace cleanup Signed-off-by: Mauro Carvalho Chehab commit c150178bff4ae76635ccb06abd5258933379ecc6 Author: Michael Krufky Date: Sun Mar 26 05:43:36 2006 -0300 V4L/DVB (3617): Cxusb: add support for FusionHDTV USB portable remote control - Added keycodes for the DViCO FusionHDTV portable remote control. - Enabled the remote control for both versions of FusionHDTV DVB-T USB and the FusionHDTV 5 USB Gold (ATSC) Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 87c1fae6d4207ecd4de34ce251d41d5dc4a1219c Author: maximilian attems Date: Sat Mar 25 15:56:07 2006 -0300 V4L/DVB (3616): Bt8xx: select FW_LOADER The bt8xx drivers uses request_firmware() and thus needs to select FW_LOADER. Signed-off-by: maximilian attems Signed-off-by: Mauro Carvalho Chehab commit 9419045f842e7b763928636f9c61dfa134b2052d Author: Randy Dunlap Date: Mon Mar 27 16:18:25 2006 -0300 V4L/DVB (3616a): cpia cleanups one printk needs a newline at end; better MODULE_PARM_DESC text formatting; don't need to init static data to 0; Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 26abe0234d443f1089ea7e514c8fc66493c0d307 Author: maximilian attems Date: Sat Mar 25 15:55:55 2006 -0300 V4L/DVB (3615): Saa7134: select FW_LOADER The saa7134 drivers uses request_firmware() and thus needs to select FW_LOADER. Signed-off-by: maximilian attems Signed-off-by: Mauro Carvalho Chehab commit 4ae5c2e5e627ff22815fb9900161bf188ea2cc67 Author: Mauro Carvalho Chehab Date: Sat Mar 25 15:53:38 2006 -0300 V4L/DVB (3614): Fix compilation warning at powerpc platform Signed-off-by: Mauro Carvalho Chehab commit 31bc09b579f31331545e694d0a49ec4e6b380989 Author: Hans Verkuil Date: Sat Mar 25 10:26:09 2006 -0300 V4L/DVB (3610): Added the new routing commands to cx25840. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11cda1075d8c40e536b77fce6dbf4cdbf8f77736 Author: Hans Verkuil Date: Sat Mar 25 09:55:23 2006 -0300 V4L/DVB (3609): Remove VIDIOC_S_AUDIO from tvaudio: no longer used. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 39b6f687d31d662461e25dbfe70be990b4c4855b Author: Hans Verkuil Date: Sat Mar 25 09:50:20 2006 -0300 V4L/DVB (3608): Implement new routing commands in saa7127.c Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1f8f5fa9b78ce344a03aeb1e6e12fffeb6a4c0c4 Author: Hans Verkuil Date: Sat Mar 25 09:20:28 2006 -0300 V4L/DVB (3607): Implement routing command for saa7115.c Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 013423588af1950e8eb7a44d80a684fd50174827 Author: Hans Verkuil Date: Sat Mar 25 08:19:47 2006 -0300 V4L/DVB (3606): Minor layout changes to make it consistent Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 51dab14e66a876ca124ef115fda08121ad9533fc Author: Hans Verkuil Date: Sat Mar 25 08:10:12 2006 -0300 V4L/DVB (3605): Add support for I2C_HW_B_CX2341X board adapter - Add missing class check to tveeprom_attach_adapter. - Add CX2341X specific IR probe address list. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b9ec4e109d7a342e83e1210e05797222e36555c3 Author: Samuel Thibault Date: Sun Apr 2 00:10:28 2006 -0500 Input: add support for Braille devices - Add KEY_BRL_* input keys and K_BRL_* keycodes; - Add emulation of how braille keyboards usually combine braille dots to the console keyboard driver; - Add handling of unicode U+28xy diacritics. Signed-off-by: Samuel Thibault Signed-off-by: Dmitry Torokhov commit 53a2670cd9611cf7c3b3bf9875b0b4041160fa60 Author: Richard Thrippleton Date: Sun Apr 2 00:10:18 2006 -0500 Input: synaptics - limit rate to 40pps on Toshiba Protege M300 Toshiba Protege M300 also requires the same workaround as Satellites and Dynabooks - Synaptics report rate should be lowered to 40pps (from 80), otherwise KBC starts losing keypresses. Signed-off-by: Richard Thrippleton Signed-off-by: Dmitry Torokhov commit b157d55eef38f014015b8058a9f733d1c1c49cb4 Author: Raphael Assenat Date: Sun Apr 2 00:10:05 2006 -0500 Input: gamecon - add SNES mouse support SNES gamepads and mice share the same type of interface so they both can be connected to the parallel port using a simple interface. Adding mouse support to a gamepad driver may sound funny at first, but doing so in this case makes it possible to connect and SNES gamepads and mice at the same time, on the same port. Signed-off-by: Raphael Assenat Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit ac648a6a704f73cc2a0f128d9deeb57aa6d76f6d Author: Dmitry Torokhov Date: Sun Apr 2 00:09:51 2006 -0500 Input: make modalias code respect allowed buffer size Signed-off-by: Dmitry Torokhov commit 969b21cdeee3d1561bd2b56504fa8388c5b437ff Author: Dmitry Torokhov Date: Sun Apr 2 00:09:34 2006 -0500 Input: convert /proc handling to seq_file Signed-off-by: Dmitry Torokhov commit 2db66876334d6bf44414cb6225d134b751b1d7ff Author: Dmitry Torokhov Date: Sun Apr 2 00:09:26 2006 -0500 Input: limit attributes' output to PAGE_SIZE sysfs can't handle more than PAGE_SIZE data coming from attributes' show() methods; make sure we respect this limit. Signed-off-by: Dmitry Torokhov commit 856d08ec46c5ecf3df13827c492fb6998fdc8322 Author: Stephen Rothwell Date: Sun Apr 2 02:45:04 2006 +1000 [PATCH] powerpc: iSeries needs slb_initialize to be called Since the powerpc 64k pages patch went in, systems that have SLBs (like Power4 iSeries) needed to have slb_initialize called to set up some variables for the SLB miss handler. This was not being called on the boot processor on iSeries, so on single cpu iSeries machines, we would get apparent memory curruption as soon as we entered user mode. This patch fixes that by calling slb_initialize on the boot cpu if the processor has an SLB. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 26f91fd54dba57a9bfe2373242ad71792d7af610 Author: Ben Dooks Date: Sun Apr 2 00:09:26 2006 +0100 [ARM] 3443/1: [S3C2410] Improve IRQ entry code Patch from Ben Dooks Remove the old debug from the IRQ entry code, update the comments on the handling of the IRQ registers. The message "bad interrupt offset" is removed as it is only helpful for debugging, and can cause printk() flooding when under load. Make the code to deal with GPIO interrupts faster, and use the same path to deal with unexplained results from the IRQ registers. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 23759dc6430428897a36c4d493f611eca55c9481 Author: Lennert Buytenhek Date: Sun Apr 2 00:07:39 2006 +0100 [ARM] 3439/2: xsc3: add I/O coherency support Patch from Lennert Buytenhek This patch adds support for the I/O coherent cache available on the xsc3. The approach is to provide a simple API to determine whether the chipset supports coherency by calling arch_is_coherent() and then setting the appropriate system memory PTE and PMD bits. In addition, we call this API on dma_alloc_coherent() and dma_map_single() calls. A generic version exists that will compile out all the coherency-related code that is not needed on the majority of ARM systems. Note that we do not check for coherency in the dma_alloc_writecombine() function as that still requires a special PTE setting. We also don't touch dma_mmap_coherent() as that is a special ARM-only API that is by definition only used on non-coherent system. Signed-off-by: Deepak Saxena Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 9a1875e60e61b563737d8d1fc3876b279710fe93 Author: David S. Miller Date: Sat Apr 1 12:48:36 2006 -0800 [NET]: Fully fix the memory leaks in sys_accept(). Andi Kleen was right, fput() on sock->file will end up calling sock_release() if necessary. So here is the rest of his version of the fix for these leaks. Signed-off-by: David S. Miller commit d3f4c571b6e596f9d39c596426269006a309d3b8 Author: Ben Dooks Date: Sat Apr 1 18:33:42 2006 +0100 [ARM] 3440/1: [S3C2410] make SMDK2410 and SMDK2440 similarities common Patch from Ben Dooks The SMDK2410 and SMDK2440 boards have a number of items in common, including the LEDs, Ethernet, PCMCIA. Make a common SMDK support file. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 532bda5d9cd2f94a9e374765c23858c7d8641f66 Author: Lennert Buytenhek Date: Sat Apr 1 18:33:35 2006 +0100 [ARM] 3438/1: ixp23xx: add pci slave support Patch from Lennert Buytenhek On the Double Espresso board, the IXP2350s are PCI slave devices and we skip calling pci_common_init() as that enumerates the bus. But even though we are a PCI slave device, there is still some PCI-related setup that has to be done. Create ixp23xx_pci_common_init(), move the common initialisation bits there, and have this function called from both the PCI master and the PCI slave init path. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 2c6967750a6f1e206a44ab5cf43c36aacb91372b Author: Paul Mackerras Date: Sat Apr 1 23:27:23 2006 +1100 powerpc: hook up the splice syscall Signed-off-by: Paul Mackerras commit cfff5b23bad2b7a4754f7c126a174a5867dfcca5 Author: Dave Jones Date: Fri Mar 31 23:53:09 2006 -0500 [PATCH] powerpc/cell: compile fixes Missing include for __NR_syscalls, and missing sys_splice() that causes build-time failure due to compile-time bounds check on spu_syscall_table. Signed-off-by: Dave Jones Signed-off-by: Paul Mackerras commit fc5266ea52e6cbc648387f1a2c773773fba8d782 Author: Anton Blanchard Date: Sat Apr 1 11:33:12 2006 +1100 [PATCH] powerpc: trivial spelling fixes in fault.c This comment exceeded my bad spelling threshold :) Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 794e085e56a67921eea80bcaeeac38d1517369be Author: Nathan Fontenot Date: Fri Mar 31 12:04:52 2006 -0600 [PATCH] powerpc/pseries: EEH Cleanup This patch removes unnecessary exports, marks functions as static when possible, and simplifies some list-related code. Signed-off-by: Nathan Fontenot Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 34422fed65bb1cf609892d73f1cf5e9626445f9e Author: Will Schmidt Date: Fri Mar 31 09:07:48 2006 -0600 [PATCH] powerpc/pseries: misc lparcfg fixes This fixes several problems with the lparcfg code. In case someone gets a sense of deja-vu, part of this was submitted last Sep, I thought the changes went in, but either got backed out, or just got lost. First, change the local_buffer declaration to be unsigned char *. We had a bad-math problem in a 2.4 tree which was built with a "-fsigned-char" parm. I dont believe we ever build with that parm now-a-days, but to be safe, I'd prefer the declaration be explicit. Second, fix a bad math calculation for splpar_strlen. Third, on the rtas_call for get-system-parameter, pass in RTAS_DATA_BUF_SIZE for the rtas_data_buf size, instead of letting random data determine the size. Until recently, we've had a sufficiently large 'random data' value get passed in, so the function just happens to have worked OK. Now it's getting passed a '0', which causes the rtas_call to return success, but no data shows up in the buffer. (oops!). This was found by the LTC test org. This is in a branch of code that only gets run on SPLPAR systems. Tested on power5 Lpar. Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras commit a219be2cf48fc77e73936d07187a5f8d1bca2511 Author: Linas Vepstas Date: Thu Mar 30 15:27:33 2006 -0600 [PATCH] powerpc/pseries: fix device name printing, again. The recent patch to print device names in EEH reset messages was lacking ... this patch works better. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit b13a96cfb055fd4b9c61463f87534a6f406b174b Author: Heiko J Schick Date: Thu Mar 30 22:47:14 2006 +0200 [PATCH] powerpc: Extends HCALL interface for InfiniBand usage This extends the HCALL interface for InfiniBand usage. I've made the patch against the linux-2.6 git tree and Segher's patch: [PATCH] Change H_StudlyCaps to H_SHOUTING_CAPS We moved this into the common powerpc code based on comments we got after posting the first eHCA InfiniBand device driver patch. Signed-off-by: Heiko j Schick Signed-off-by: Paul Mackerras commit 706c8c93ba4865a19e981b9770151a7a63c15794 Author: Segher Boessenkool Date: Thu Mar 30 14:49:40 2006 +0200 [PATCH] powerpc/pseries: Change H_StudlyCaps to H_SHOUTING_CAPS Also cleans up some nearby whitespace problems. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 8df83028cf52e3bf68dfd35a4b1a044b326a4a99 Author: Linas Vepstas Date: Wed Mar 29 15:31:04 2006 -0600 [PATCH] powerpc/pseries: print message if EEH recovery fails The current code prints an ambiguous message if the recovery of a failed PCI device fails. Give this special case its own unique message. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 8c33fd11e3a21a15af35b5831f1516faf53094f1 Author: Linas Vepstas Date: Wed Mar 29 15:29:18 2006 -0600 [PATCH] powerpc/pseries: mutex lock to serialize EEH event processing This forces the processing of EEH PCI events to be serialized, using a very simple mutex lock. This serialization is required to avoid races involving additional PCI device failures that may occur during the recovery phase of a previous failure. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 50c37e216132d2185a15d5cf6b966adf6ecea535 Author: Pavel Machek Date: Sat Apr 1 12:13:31 2006 +0100 [ARM] 3436/1: 2.6.16-git18: collie_defconfig broken Patch from Pavel Machek > The kautobuild found the following error while trying to build 2.6.16-git18 > using collie_defconfig: > > arch/arm/mach-sa1100/collie.c:92: error: 'collie_uart_set_mctrl' undeclared here (not in a function) > arch/arm/mach-sa1100/collie.c:93: error: 'collie_uart_get_mctrl' undeclared here (not in a function) > make[1]: *** [arch/arm/mach-sa1100/collie.o] Error 1 > make: *** [arch/arm/mach-sa1100] Error 2 > make: Leaving directory `/var/tmp/kernel-orig' This fixes above compile error by adding missing pieces of uart support, and fixes compilation. Signed-off-by: Pavel Machek Signed-off-by: Russell King commit 344b215b0db62b551c46e1feab1ddb10f99004ca Author: Komal Shah Date: Sat Apr 1 12:13:30 2006 +0100 [ARM] 3437/1: Kill duplicate exports of string library functions Patch from Komal Shah This patch fixes the duplicate exports of string library functions. Signed-off-by: Komal Shah Signed-off-by: Russell King commit 2722971cbe831117686039d5c334f2c0f560be13 Author: Dmitry Mishin Date: Sat Apr 1 02:25:19 2006 -0800 [NETFILTER]: iptables 32bit compat layer This patch extends current iptables compatibility layer in order to get 32bit iptables to work on 64bit kernel. Current layer is insufficient due to alignment checks both in kernel and user space tools. Patch is for current net-2.6.17 with addition of move of ipt_entry_{match| target} definitions to xt_entry_{match|target}. Signed-off-by: Dmitry Mishin Acked-off-by: Kirill Korotaev Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e64a70be5175ac2c209fa742123a6ce845852e0e Author: Martin Josefsson Date: Sat Apr 1 02:24:48 2006 -0800 [NETFILTER]: {ip,nf}_conntrack_netlink: fix expectation notifier unregistration This patch fixes expectation notifier unregistration on module unload to use ip_conntrack_expect_unregister_notifier(). This bug causes a soft lockup at the first expectation created after a rmmod ; insmod of this module. Should go into -stable as well. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bcd1e830a5ac37d708647d492a1436a8a9babb07 Author: Martin Josefsson Date: Sat Apr 1 02:23:21 2006 -0800 [NETFILTER]: fix ifdef for connmark support in nf_conntrack_netlink When ctnetlink was ported from ip_conntrack to nf_conntrack two #ifdef's for connmark support were left unchanged and this code was never compiled. Problem noticed by Daniel De Graaf. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 Author: Yasuyuki Kozakai Date: Sat Apr 1 02:22:54 2006 -0800 [NETFILTER]: x_tables: unify IPv4/IPv6 multiport match This unifies ipt_multiport and ip6t_multiport to xt_multiport. As a result, this addes support for inversion and port range match to IPv6 packets. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dc5ab2faece3b7473931357db7f63f596678481d Author: Yasuyuki Kozakai Date: Sat Apr 1 02:22:30 2006 -0800 [NETFILTER]: x_tables: unify IPv4/IPv6 esp match This unifies ipt_esp and ip6t_esp to xt_esp. Please note that now a user program needs to specify IPPROTO_ESP as protocol to use esp match with IPv6. This means that ip6tables requires '-p esp' like iptables. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9606a21635cec077e1928273751b44ecc824a49d Author: David S. Miller Date: Sat Apr 1 01:00:14 2006 -0800 [NET]: Fix dentry leak in sys_accept(). This regression was added by commit: 39d8c1b6fbaeb8d6adec4a8c08365cc9eaca6ae4 ("Do not lose accepted socket when -ENFILE/-EMFILE.") This is based upon a patch from Andi Kleen. Thanks to Adrian Bridgett for narrowing down a good test case, and to Andi Kleen and Andrew Morton for eyeballing this code. Signed-off-by: David S. Miller commit dbe5b4aaafc715b12dbbea309d3d17958d01fd65 Author: Herbert Xu Date: Sat Apr 1 00:54:16 2006 -0800 [IPSEC]: Kill unused decap state structure This patch removes the *_decap_state structures which were previously used to share state between input/post_input. This is no longer needed. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e695633e21ffb6a443a8c2f8b3f095c7f1a48eb0 Author: Herbert Xu Date: Sat Apr 1 00:52:46 2006 -0800 [IPSEC]: Kill unused decap state argument This patch removes the decap_state argument from the xfrm input hook. Previously this function allowed the input hook to share state with the post_input hook. The latter has since been removed. The only purpose for it now is to check the encap type. However, it is easier and better to move the encap type check to the generic xfrm_rcv function. This allows us to get rid of the decap state argument altogether. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 15901dc93fa4253bfb3661644ecad67c2e83213c Author: Andrew Morton Date: Sat Apr 1 00:49:35 2006 -0800 [NET]: com90xx kmalloc fix WARNING: "__you_cannot_kzalloc_that_much" [drivers/net/arcnet/com90xx.ko] undefined! We're trying to allocate negative amounts of memory.. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5c516c10198a8258c0c40f200a5a01a3fa0a0de4 Author: David S. Miller Date: Sat Apr 1 00:33:31 2006 -0800 [TG3]: Update driver version and reldate. Signed-off-by: David S. Miller commit 758a613936223699f99081fc75eff7cf67b208f6 Author: David S. Miller Date: Sat Apr 1 00:32:56 2006 -0800 [TG3]: Revert "Speed up SRAM access" Undo commit 100c4673307f5806788791b9b886877c806afd96 MMIOs timeout more quickly that PCI config cycles and some of these SRAM accesses can take a very long time, triggering the MMIO limits on some sparc64 PCI controllers and thus resulting in bus timeouts and bus errors. Signed-off-by: David S. Miller commit 289eee6fa78e999208120c856ef3ae5a817fd59c Author: David S. Miller Date: Fri Mar 31 23:49:34 2006 -0800 [SPARC]: Wire up sys_sync_file_range() into syscall tables. Signed-off-by: David S. Miller commit 1339713a327d4538ca9173ab70afef9a1d57fd07 Author: David S. Miller Date: Fri Mar 31 02:04:15 2006 -0800 [SPARC]: Wire up sys_splice() into the syscall tables. Signed-off-by: David S. Miller commit 3cc1cc444f4c058deae9d5113ebb80e798c3076e Author: David S. Miller Date: Fri Mar 31 01:41:17 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 9df1dab1df58ef20ef7df9b8f39d86cf5d2d1949 Author: David S. Miller Date: Fri Mar 31 00:36:25 2006 -0800 [SPARC64]: Align address in huge_pte_alloc(). We are about to fill in all HPAGE_SIZE's worth of PAGE_SIZE ptes, so we have to give the first pte in that set else we scribble over random memory when we fill in the ptes. Signed-off-by: David S. Miller commit 73c50a27a453a5ed0d21ff23bd67c1dd6d864cb8 Author: David S. Miller Date: Tue Mar 28 13:32:24 2006 -0800 [SPARC64]: Document the instruction checks we do in do_sparc64_fault(). Signed-off-by: David S. Miller commit 6f25f3986af0353b0bdc220f79b89c997d0ceda4 Author: David S. Miller Date: Tue Mar 28 13:29:26 2006 -0800 [SPARC64]: Make tsb_sync() mm comparison more precise. switch_mm() changes the mm state and does a tsb_context_switch() first, then we do the cpu register state switch which changes current_thread_info() and current(). So it's safer to check the PGD physical address stored in the trap block (which will be updated by the tsb_context_switch() in switch_mm()) than current->active_mm. Technically we should never run here in between those two updates, because interrupts are disabled during the entire context switch operation. But some day we might like to leave interrupts enabled during the context switch and this change allows that to happen without any surprises. Signed-off-by: David S. Miller commit 409ca8c8ae3173026e7dfbdcdab669766e43fb60 Author: Michael Hayes Date: Sat Apr 1 01:49:22 2006 +0200 Fix minor documentation typo This patch fixes a minor typo in Documentation/acpi-hotkey.txt. Signed-off-by: Adrian Bunk commit 3d79c33bbd1dd12d420fd84facfd0ba96261e595 Author: Cal Peake Date: Sat Apr 1 01:46:12 2006 +0200 BFP->BPF in Documentation/networking/tuntap.txt BFP should be BPF (BSD Packet Filter) Signed-off-by: Cal Peake Signed-off-by: Adrian Bunk commit 6585fa8aa58c7cd9f90f1c795a9dfc8db5f13906 Author: Stefan Richter Date: Sat Apr 1 01:44:30 2006 +0200 Doc/kernel-parameters.txt: slightly reword sentence about restrictions The previous patch somewhat diverted the train of thought. Here I am trying to bring the valued reader back on track. Signed-off-by: Stefan Richter Signed-off-by: Adrian Bunk commit a901ebb907e6aca38dc43417d6ce30f23651ea64 Author: Stefan Richter Date: Sat Apr 1 01:43:18 2006 +0200 Doc/kernel-parameters.txt: mention modinfo and sysfs Doc/kernel-parameters.txt: mention modinfo and sysfs Signed-off-by: Stefan Richter Signed-off-by: Adrian Bunk commit 0ee9d71f02b19f87368ee99b73019bf9522c7bf8 Author: Stefan Richter Date: Sat Apr 1 01:42:29 2006 +0200 Doc/kernel-parameters.txt: delete false version information and history Doc/kernel-parameters.txt: delete false version information and history Signed-off-by: Stefan Richter Signed-off-by: Adrian Bunk commit 8ba8e95ed14a2771bbcb43300feda094f298853e Author: Kalin KOZHUHAROV Date: Sat Apr 1 01:41:22 2006 +0200 Fix comments: s/granuality/granularity/ I was grepping through the code and some `grep ganularity -R .` didn't catch what I thought. Then looking closer I saw the term "granuality" used in only four places (in comments) and granularity in many more places describing the same idea. Some other facts: dictionary.com does not know such a word define:granuality on google is not found (and pages for granuality are mostly related to patches to the kernel) it has not been discussed as a term on LKML, AFAICS (=Can Search) To be consistent, I think granularity should be used everywhere. Signed-off-by: Kalin KOZHUHAROV Signed-off-by: Adrian Bunk commit 36a891b67f95fd5e1442fc0f7f953809b94b3fbc Author: Horms Date: Sat Apr 1 01:39:17 2006 +0200 kexec: grammar fix for crash_save_this_cpu() kexec: grammar fix for crash_save_this_cpu() Signed-Off-By: Horms Signed-off-by: Adrian Bunk commit 08039264d55b1e4c481309d841b245b0bb5e9c68 Author: Horms Date: Sat Apr 1 01:38:15 2006 +0200 Documentation: Make fujitsu/frv/kernel-ABI.txt 80 columns wide Documentation: Make kernel-ABI.txt 80 columns wide Note that this only has line-wrapping and white-space changes. No text was changed at all. Signed-Off-By: Horms Signed-off-by: Adrian Bunk commit abe37e5a13c4055bdf8ea1d2e781d757285e1908 Author: Horms Date: Sat Apr 1 01:36:09 2006 +0200 Documentation: Reorder documentation of nomca and nomce My patch to add brief documentation of the nomca boot parameter added it out of alphabetical order. Signed-Off-By: Horms Signed-off-by: Adrian Bunk commit 2e150f6e1a0401ff6af7b3f6518139fb092f3dd3 Author: Uwe Zeisberger Date: Sat Apr 1 01:29:43 2006 +0200 fix typo "Suposse" -> "Suppose" Signed-off-by: Uwe Zeisberger Signed-off-by: Adrian Bunk commit 3a8dc8930eab1209fd5063f6646a98e58a796eeb Author: Eric Sesterhenn Date: Sat Apr 1 01:28:11 2006 +0200 BUG_ON() Conversion in drivers/s390/char/tape_block.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit e048a8a688f07b17dbde9a96cab3759b900eae14 Author: Eric Sesterhenn Date: Sat Apr 1 01:27:08 2006 +0200 BUG_ON() Conversion in drivers/s390/block/dasd_erp.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 5aae277ed67b0271235d3a50908bb48b0e59be26 Author: Eric Sesterhenn Date: Sat Apr 1 01:26:09 2006 +0200 BUG_ON() Conversion in mm/vmalloc.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit e74ca2b49b8a38e9ba0bc039a00498c21140f1d6 Author: Eric Sesterhenn Date: Sat Apr 1 01:25:12 2006 +0200 BUG_ON() Conversion in mm/swap_state.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 46a350ef9803a2526a128c55cdb27dd73b2ad966 Author: Eric Sesterhenn Date: Sat Apr 1 01:23:29 2006 +0200 BUG_ON() Conversion in mm/mmap.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 8abd8e298eb15e2c1b993df0634daf29e43e0aab Author: Eric Sesterhenn Date: Sat Apr 1 01:21:17 2006 +0200 BUG_ON() Conversion in kernel/printk.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 9bc98fc6fd3d07f37b597601489df200e0024222 Author: Eric Sesterhenn Date: Sat Apr 1 01:20:23 2006 +0200 BUG_ON() Conversion in ipc/util.c this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 99cee0cd7560fc4e7f3646ee18d90e328bd1cb32 Author: Eric Sesterhenn Date: Sat Apr 1 01:18:38 2006 +0200 BUG_ON() Conversion in fs/sysfs/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 5df0d312413d920628f149421d7b0a3994684620 Author: Eric Sesterhenn Date: Sat Apr 1 01:16:26 2006 +0200 BUG_ON() Conversion in fs/smbfs/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 4b4d1cc7336b29f766d4e59d1ed2c627443a694a Author: Eric Sesterhenn Date: Sat Apr 1 01:15:35 2006 +0200 BUG_ON() Conversion in fs/jffs2/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 0bf3ba538a150f8430104a50e88c1449e8fa1fe6 Author: Eric Sesterhenn Date: Sat Apr 1 01:14:43 2006 +0200 BUG_ON() Conversion in fs/hfsplus/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 7dddb12c63553db850365cfd066a00416aa8c6cb Author: Eric Sesterhenn Date: Sat Apr 1 01:13:38 2006 +0200 BUG_ON() Conversion in fs/exec.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit d4569d2e6949a63851032b40c811913d4a6f85f5 Author: Eric Sesterhenn Date: Sat Apr 1 01:10:13 2006 +0200 BUG_ON() Conversion in fs/direct-io.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 9e77c485f7037e4817bb53c78d15d5403981ae8b Author: Eric Sesterhenn Date: Sat Apr 1 01:08:49 2006 +0200 BUG_ON() Conversion in md/raid1.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 543cb2a451918002238a052d5c280e6afdee1cea Author: Eric Sesterhenn Date: Sat Apr 1 01:08:12 2006 +0200 BUG_ON() Conversion in md/dm-target.c this changes if() BUG(); constructs to BUG_ON() which is cleaner and can better optimized away Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 58ef2c4ce3c98fe46ae159bd560b63421798ea90 Author: Adrian Bunk Date: Sat Apr 1 01:04:59 2006 +0200 typos: s/ducument/document/ s/ducument/document/ Signed-off-by: Adrian Bunk commit 2a08b4e90408d15dc22a29b45b645ad7a6f09137 Author: Adrian Bunk Date: Sat Apr 1 01:04:20 2006 +0200 fix the email address of Wendy Xiong Replace a bouncing version of the email address of Wendy Xiong with a working one. Signed-off-by: Adrian Bunk commit 5637a2ee5db022e741e41d15e6badb0727bc55f3 Author: Adrian Bunk Date: Sat Apr 1 01:03:38 2006 +0200 fix a typo in the AIC7XXX_DEBUG_MASK help text This patch fixes a typo in the AIC7XXX_DEBUG_MASK help text. Signed-off-by: Adrian Bunk commit 3e6e952d1d17e5cd2e25a438662d906c44ffcfaa Author: Adrian Bunk Date: Sat Apr 1 01:03:08 2006 +0200 help text: SOFTWARE_SUSPEND doesn't need ACPI The note that SOFTWARE_SUSPEND doesn't need APM is helpful, but nowadays the information that it doesn't need ACPI, too, is even more helpful. Signed-off-by: Adrian Bunk commit 3a3f8a126d97cb5bdde92a26136402e88220b30f Author: Anders Larsen Date: Sat Apr 1 01:02:42 2006 +0200 MTD: remove obsolete Kconfig options Remove the obsolete Kconfig options MTD_CFI_AMDSTD_RETRY and MTD_CFI_AMDSTD_RETRY_MAX The code that depended on these was removed in early 2004, but Kconfig was not updated accordingly. Signed-off-by: Anders Larsen Signed-off-by: David Woodhouse Signed-off-by: Adrian Bunk commit 06bcfedd05448e63cae8924074bfacdf82bb17d4 Author: Steve French Date: Fri Mar 31 22:43:50 2006 +0000 [CIFS] Fix typo in earlier cifs_unlink change and protect one extra path. Since cifs_unlink can also be called from rename path and there was one report of oops am making the extra check for null inode. Signed-off-by: Steve French commit e9917a000fcc370408c8b7b83f2e85dba5fffbd4 Author: Steve French Date: Fri Mar 31 21:22:00 2006 +0000 [CIFS] Incorrect signature sent on SMB Read Fixes Samba bug 3621 and kernel.org bug 6147 For servers which require SMB/CIFS packet signing, we were sending the wrong signature (all zeros) on SMB Read request. The new cifs routine to do signatures across an iovec was not complete - and SMB Read, unlike the new SMBWrite2, did not fall back to the older routine (ie use SendReceive vs. the more efficient SendReceive2 ie used the older cifs_sign_smb vs. the disabled cifs_sign_smb2) for calculating signatures. This finishes up cifs_sign_smb2/cifs_calc_signature2 so that the callers of SendReceive2 can get SMB/CIFS packet signatures. Now that cifs_sign_smb2 is supported, we could start using it in the write path but this smaller fix does not include the change to use SMBWrite2 when signatures are required (which when enabled will make more Writes more efficient and alloc less memory). Currently Write2 is only used when signatures are not required at the moment but after more testing we will enable that as well). Thanks to James Slepicka and Sam Flory for initial investigation. Signed-off-by: Steve French commit 77d8798b554c856e21400bc8e761bc1b2ded8967 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:39 2006 -0800 IB/ipath: kbuild infrastructure Integrate the ipath core and OpenIB drivers into the kernel build infrastructure. Add entry to MAINTAINERS. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 6522108f19a998a5ded4d0c4d0f9eb9736398e31 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:38 2006 -0800 IB/ipath: infiniband verbs support The ipath_verbs.c file implements the driver-specific components of the kernel's Infiniband verbs layer. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit e28c00ad67164dba688c1d19c208c5fb554465f2 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:37 2006 -0800 IB/ipath: misc infiniband code, part 2 Management datagram support, queue pairs, and reliable and unreliable connections. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit cef1cce5c87d84f76e44f0e7b4de72ab3818ac3a Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:36 2006 -0800 IB/ipath: misc infiniband code, part 1 Completion queues, local and remote memory keys, and memory region support. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 97f9efbc47f0b1bc88abac8724b505f0794a48d0 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:35 2006 -0800 IB/ipath: infiniband RC protocol support This is an implementation of the Infiniband RC ("reliable connection") protocol. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 74ed6b5eb133b4acae7c47bc23457e5f8e7c1125 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:34 2006 -0800 IB/ipath: infiniband UC and UD protocol support These files implement the Infiniband UC ("unreliable connection") and UD ("unreliable datagram") protocols. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit aa735edf5dffbe43463c3d1218912fa54a8ec724 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:33 2006 -0800 IB/ipath: infiniband header files These header files are used by the layered Infiniband driver. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 889ab795a34247c8085e65648051e34f9fec952c Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:32 2006 -0800 IB/ipath: layering interfaces used by higher-level driver code The layering interfaces are used to implement the Infiniband protocols and the ethernet emulation driver. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 7f510b46e4771cfb89af134b3aa827d46125a2ce Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:31 2006 -0800 IB/ipath: support for userspace apps using core driver These files introduce a char device that userspace apps use to gain direct memory-mapped access to the InfiniPath hardware, and routines for pinning and unpinning user memory in cases where the hardware needs to DMA into the user address space. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 3e9b4a5eb4ae4936feeea256c0105e078c7702cd Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:30 2006 -0800 IB/ipath: sysfs and ipathfs support for core driver The ipathfs filesystem contains files that are not appropriate for sysfs, because they contain binary data. The hierarchy is simple; the top-level directory contains driver-wide attribute files, while numbered subdirectories contain per-device attribute files. Our userspace code currently expects this filesystem to be mounted on /ipathfs, but a final location has not yet been chosen. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 108ecf0d90655055d5a7db8d3a7239133b4d52b7 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:29 2006 -0800 IB/ipath: misc driver support code EEPROM support, interrupt handling, statistics gathering, and write combining management for x86_64. A note regarding i2c: The Atmel EEPROM hardware we use looks like an i2c device electrically, but is not i2c compliant at all from a functional perspective. We tried using the kernel's i2c support to talk to it, but failed. Normal i2c devices have a single 7-bit or 10-bit i2c address that they respond to. Valid 7-bit addresses range from 0x03 to 0x77. Addresses 0x00 to 0x02 and 0x78 to 0x7F are special reserved addresses (e.g. 0x00 is the "general call" address.) The Atmel device, on the other hand, responds to ALL addresses. It's designed to be the only device on a given i2c bus. A given i2c device address corresponds to the memory address within the i2c device itself. At least one reason why the linux core i2c stuff won't work for this is that it prohibits access to reserved addresses like 0x00, which are really valid addresses on the Atmel devices. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 097709fea03140b567bde8369f3ffafe33dfc1c6 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:28 2006 -0800 IB/ipath: chip initialisation code, and diag support ipath_init_chip.c sets up an InfiniPath device for use. ipath_diag.c permits userspace diagnostic tools to read and write a chip's registers. It is different in purpose from the mmap interfaces to the /sys/bus/pci resource files. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit dc741bbd4f47080c623d243546dd4cb5ff6c9564 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:27 2006 -0800 IB/ipath: support for PCI Express devices This file contains routines and definitions specific to InfiniPath devices that have PCI Express interfaces. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit cc533a5721b79d231c127fd56d55e6df23c19770 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:26 2006 -0800 IB/ipath: support for HyperTransport devices The ipath_ht400.c file contains routines and definitions specific to HyperTransport-based InfiniPath devices. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit d41d3aeb76135a70bfda9cd6666290fee0700b70 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:25 2006 -0800 IB/ipath: core driver header files ipath_common.h and ips_common.h contain definitions shared between userspace and the kernel. ipath_kernel.h is the core driver header file. ipath_debug.h contains mask values used for controlling driver debugging. ipath_registers.h contains bitmask definitions used in chip registers. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 7bb206e3b20477c8bcbbdf20834d456b0b6d82c4 Author: Bryan O'Sullivan Date: Wed Mar 29 15:23:24 2006 -0800 IB/ipath: core device driver The ipath driver is a low-level driver for PathScale InfiniPath host channel adapters (HCAs) based on the HT-400 and PE-800 chips, including the InfiniPath HT-460, the small form factor InfiniPath HT-460, the InfiniPath HT-470 and the Linux Networx LS/X. The ipath_driver.c file contains much of the low-level device handling code. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 30c14e40ed85469f166b5effdab6705c73c5cd5e Author: Jes Sorensen Date: Fri Mar 31 11:18:57 2006 -0500 [PATCH] avoid unaligned access when accessing poll stack Commit 70674f95c0a2ea694d5c39f4e514f538a09be36f: [PATCH] Optimize select/poll by putting small data sets on the stack resulted in the poll stack being 4-byte aligned on 64-bit architectures, causing misaligned accesses to elements in the array. This patch fixes it by declaring the stack in terms of 'long' instead of 'char'. Force alignment of poll and select stacks to long to avoid unaligned access on 64 bit architectures. Signed-off-by: Jes Sorensen Signed-off-by: Linus Torvalds commit 108b42b4b966462444265806e3d7260a632ad630 Author: David Howells Date: Fri Mar 31 16:00:29 2006 +0100 [PATCH] Document Linux's memory barriers [try #7] The attached patch documents the Linux kernel's memory barriers. I've updated it from the comments I've been given. The per-arch notes sections are gone because it's clear that there are so many exceptions, that it's not worth having them. I've added a list of references to other documents. I've tried to get rid of the concept of memory accesses appearing on the bus; what matters is apparent behaviour with respect to other observers in the system. Interrupts barrier effects are now considered to be non-existent. They may be there, but you may not rely on them. I've added a couple of definition sections at the top of the document: one to specify the minimum execution model that may be assumed, the other to specify what this document refers to by the term "memory". I've made greater mention of the use of mmiowb(). I've adjusted the way in which caches are described, and described the fun that can be had with cache coherence maintenance being unordered and data dependency not being necessarily implicit. I've described (smp_)read_barrier_depends(). I've rearranged the order of the sections, so that memory barriers are discussed in abstract first, and then described the memory barrier facilities available on Linux, before going on to more real-world discussions and examples. I've added information about the lack of memory barriering effects with atomic ops and bitops. I've added information about control dependencies. I've added more diagrams to illustrate caching interactions between CPUs. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 428622986858aebddc32d022af65e88b9d2ea8bb Author: Kirill Korotaev Date: Fri Mar 31 17:58:46 2006 +0400 [PATCH] wrong error path in dup_fd() leading to oopses in RCU Wrong error path in dup_fd() - it should return NULL on error, not an address of already freed memory :/ Triggered by OpenVZ stress test suite. What is interesting is that it was causing different oopses in RCU like below: Call Trace: [] rcu_do_batch+0x2c/0x80 [] rcu_process_callbacks+0x3d/0x70 [] tasklet_action+0x73/0xe0 [] __do_softirq+0x10a/0x130 [] do_softirq+0x4f/0x60 ======================= [] smp_apic_timer_interrupt+0x77/0x110 [] apic_timer_interrupt+0x1c/0x24 Code: Bad EIP value. <0>Kernel panic - not syncing: Fatal exception in interrupt Signed-Off-By: Pavel Emelianov Signed-Off-By: Dmitry Mishin Signed-Off-By: Kirill Korotaev Signed-Off-By: Linus Torvalds commit e358c1a2c45f7ec32d77cc09a2bb42d6823a4193 Author: Nicolas Pitre Date: Fri Mar 31 02:32:13 2006 -0800 [PATCH] mutex: some cleanups Turn some macros into inline functions and add proper type checking as well as being more readable. Also a minor comment adjustment. Signed-off-by: Nicolas Pitre Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a58e00e7da5f93c096527f5e20ceb2cf6d130cf0 Author: Jesper Juhl Date: Fri Mar 31 02:32:12 2006 -0800 [PATCH] Decrease number of pointer derefs in jsm_tty.c Decrease the number of pointer derefs in drivers/serial/jsm/jsm_tty.c Benefits of the patch: - Fewer pointer dereferences should make the code slightly faster. - Size of generated code is smaller - Improved readability Signed-off-by: Jesper Juhl Acked-by: "V. ANANDA KRISHNAN" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a244e1698ae3609cdfe24088e1293593cb7a5278 Author: Adrian Bunk Date: Fri Mar 31 02:32:11 2006 -0800 [PATCH] fs/namei.c: make lookup_hash() static As announced, lookup_hash() can now become static. Signed-off-by: Adrian Bunk Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cb3463f04e771869f481e2dd44f66419e850586 Author: Adrian Bunk Date: Fri Mar 31 02:32:07 2006 -0800 [PATCH] unexport get_wchan The only user of get_wchan is the proc fs - and proc can't be built modular. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec350a7fc16af45e143085594a6c9a18d7a0cba3 Author: NeilBrown Date: Fri Mar 31 02:32:06 2006 -0800 [PATCH] md: Raid-6 did not create sysfs entries for stripe cache Signed-off-by: Brad Campbell Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 926ce2d8a7d446c720faec9d8c5105eeb04bcf7a Author: NeilBrown Date: Fri Mar 31 02:32:02 2006 -0800 [PATCH] md: Remove some code that can sleep from under a spinlock And remove the comments that were put in inplace of a fix too.... Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b1117d50543e2484bee037ec2589fe52492a7e7 Author: NeilBrown Date: Fri Mar 31 02:31:57 2006 -0800 [PATCH] md: Don't clear bits in bitmap when writing to one device fails during recovery Currently a device failure during recovery leaves bits set in the bitmap. This normally isn't a problem as the offending device will be rejected because of errors. However if device re-adding is being used with non-persistent bitmaps, this can be a problem. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39451a73a2d190763ba8a98f486cf23d63d22582 Author: Michael Hanselmann Date: Fri Mar 31 02:31:55 2006 -0800 [PATCH] fbdev: Remove old radeon driver This patch removes the old radeon driver which has been replaced by a newer one. Signed-off-by: Michael Hanselmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Adrian Bunk Acked-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a536093a2f07007aa572e922752b7491b9ea8ff2 Author: Antonino A. Daplas Date: Fri Mar 31 02:31:54 2006 -0800 [PATCH] fbcon: Fix big-endian bogosity in slow_imageblit() The monochrome->color expansion routine that handles bitmaps which have (widths % 8) != 0 (slow_imageblit) produces corrupt characters in big-endian. This is caused by a bogus bit test in slow_imageblit(). Fix. This patch may deserve to go to the stable tree. The code has already been well tested in little-endian machines. It's only in big-endian where there is uncertainty and Herbert confirmed that this is the correct way to go. It should not introduce regressions. Signed-off-by: Antonino Daplas Acked-by: Herbert Poetzl Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cbbb3b59c3ccdc55ad0c924fb49e09a962bb517 Author: Richard Purdie Date: Fri Mar 31 02:31:53 2006 -0800 [PATCH] pxafb: Minor driver fixes Fixes for the pxafb driver: * Return -EINVAL for resolutions that are too large as per framebuffer driver policy. * Increase the error timeout for disabling the LCD controller. The current timeout is sometimes too short on the Sharp Zaurus Cxx00 hardware and an extra delay in an error path shouldn't pose any problems. * Fix a dev reference which causes a compile error when DEBUG is defined. Signed-off-by: Richard Purdie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c0f5fb08e8ad59f396b1bda41ccd93cbb00a09f Author: Richard Purdie Date: Fri Mar 31 02:31:51 2006 -0800 [PATCH] backlight: corgi_bl: Generalise to support other Sharp SL hardware Generalise the Corgi backlight driver by moving the default intensity and limit mask settings into the platform specific data structure. This enables the driver to support other Zaurus hardware, specifically the SL-6000x (Tosa) model. Also change the spinlock to a mutex (the spinlock is overkill). Signed-off-by: Richard Purdie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f27a27bd77fcfd4b90ed33668940bc3cf72768b Author: Richard Purdie Date: Fri Mar 31 02:31:50 2006 -0800 [PATCH] backlight: HP Jornada 680 Backlight driver updates/fixes Updates to the HP Jornada 680 Backlight driver: - Correct the suspend/resume functions so the driver compiles (SUSPEND_POWER_DOWN/RESUME_POWER_ON no longer exist). - Convert the driver to match the recent platform device changes. - Replace the unsafe static struct platform_device with dynamic allocation. - Convert the driver to the new backlight code. This has not been tested on a device due to lack of hardware but wouldn't compile beforehand. Signed-off-by: Richard Purdie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ca017658b1f902c9bba2cc1017e301581f7728d Author: Richard Purdie Date: Fri Mar 31 02:31:49 2006 -0800 [PATCH] backlight: Backlight Class Improvements Backlight class attributes are currently easy to implement incorrectly. Moving certain handling into the backlight core prevents this whilst at the same time makes the drivers simpler and consistent. The following changes are included: The brightness attribute only sets and reads the brightness variable in the backlight_properties structure. The power attribute only sets and reads the power variable in the backlight_properties structure. Any framebuffer blanking events change a variable fb_blank in the backlight_properties structure. The backlight driver has only two functions to implement. One function is called when any of the above properties change (to update the backlight brightness), the second is called to return the current backlight brightness value. A new attribute "actual_brightness" is added to return this brightness as determined by the driver having combined all the above factors (and any driver/device specific factors). Additionally, the backlight core takes care of checking the maximum brightness is not exceeded and of turning off the backlight before device removal. The corgi backlight driver is updated to reflect these changes. Signed-off-by: Richard Purdie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b0e1c5dd2941aec566047e10a5cc929ca7f7d4f Author: Alberto Mardegan Date: Fri Mar 31 02:31:46 2006 -0800 [PATCH] w100fb: Add acceleration support to ATI Imageon Add acceleration support in w100fb.c (i.e. ATI Imageons) for the copyarea and fillrect operations. Signed-off-by: Alberto Mardegan Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a37d5f51020b9967d4b4094f6d627d0873a6469 Author: Antonino A. Daplas Date: Fri Mar 31 02:31:45 2006 -0800 [PATCH] fbcon: Save current display during initialization The current display was not saved during initialization. This leads to hard to track console corruption, such as a misplaced cursor, which is correctible by switching consoles. Fix this minor bug. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e7e241f8c5c87cc3685364feface081c9fa3648 Author: Eric W. Biederman Date: Fri Mar 31 02:31:43 2006 -0800 [PATCH] dcache: Add helper d_hash_and_lookup It is very common to hash a dentry and then to call lookup. If we take fs specific hash functions into account the full hash logic can get ugly. Further full_name_hash as an inline function is almost 100 bytes on x86 so having a non-inline choice in some cases can measurably decrease code size. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92476d7fc0326a409ab1d3864a04093a6be9aca7 Author: Eric W. Biederman Date: Fri Mar 31 02:31:42 2006 -0800 [PATCH] pidhash: Refactor the pid hash table Simplifies the code, reduces the need for 4 pid hash tables, and makes the code more capable. In the discussions I had with Oleg it was felt that to a large extent the cleanup itself justified the work. With struct pid being dynamically allocated meant we could create the hash table entry when the pid was allocated and free the hash table entry when the pid was freed. Instead of playing with the hash lists when ever a process would attach or detach to a process. For myself the fact that it gave what my previous task_ref patch gave for free with simpler code was a big win. The problem is that if you hold a reference to struct task_struct you lock in 10K of low memory. If you do that in a user controllable way like /proc does, with an unprivileged but hostile user space application with typical resource limits of 1000 fds and 100 processes I can trigger the OOM killer by consuming all of low memory with task structs, on a machine wight 1GB of low memory. If I instead hold a reference to struct pid which holds a pointer to my task_struct, I don't suffer from that problem because struct pid is 2 orders of magnitude smaller. In fact struct pid is small enough that most other kernel data structures dwarf it, so simply limiting the number of referring data structures is enough to prevent exhaustion of low memory. This splits the current struct pid into two structures, struct pid and struct pid_link, and reduces our number of hash tables from PIDTYPE_MAX to just one. struct pid_link is the per process linkage into the hash tables and lives in struct task_struct. struct pid is given an indepedent lifetime, and holds pointers to each of the pid types. The independent life of struct pid simplifies attach_pid, and detach_pid, because we are always manipulating the list of pids and not the hash table. In addition in giving struct pid an indpendent life it makes the concept much more powerful. Kernel data structures can now embed a struct pid * instead of a pid_t and not suffer from pid wrap around problems or from keeping unnecessarily large amounts of memory allocated. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c7904a00b06d2ee51149794b619e07369fcf9d4 Author: Eric W. Biederman Date: Fri Mar 31 02:31:37 2006 -0800 [PATCH] task: RCU protect task->usage A big problem with rcu protected data structures that are also reference counted is that you must jump through several hoops to increase the reference count. I think someone finally implemented atomic_inc_not_zero(&count) to automate the common case. Unfortunately this means you must special case the rcu access case. When data structures are only visible via rcu in a manner that is not determined by the reference count on the object (i.e. tasks are visible until their zombies are reaped) there is a much simpler technique we can employ. Simply delaying the decrement of the reference count until the rcu interval is over. What that means is that the proc code that looks up a task and later wants to sleep can now do: rcu_read_lock(); task = find_task_by_pid(some_pid); if (task) { get_task_struct(task); } rcu_read_unlock(); The effect on the rest of the kernel is that put_task_struct becomes cheaper and immediate, and in the case where the task has been reaped it frees the task immediate instead of unnecessarily waiting an until the rcu interval is over. Cleanup of task_struct does not happen when its reference count drops to zero, instead cleanup happens when release_task is called. Tasks can only be looked up via rcu before release_task is called. All rcu protected members of task_struct are freed by release_task. Therefore we can move call_rcu from put_task_struct into release_task. And we can modify release_task to not immediately release the reference count but instead have it call put_task_struct from the function it gives to call_rcu. The end result: - get_task_struct is safe in an rcu context where we have just looked up the task. - put_task_struct() simplifies into its old pre rcu self. This reorganization also makes put_task_struct uncallable from modules as it is not exported but it does not appear to be called from any modules so this should not be an issue, and is trivially fixed. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4e5d3fc80d26ed26ebe42907b224f08d7eccfbf Author: Herbert Poetzl Date: Fri Mar 31 02:31:35 2006 -0800 [PATCH] cleanup in proc_check_chroot() proc_check_chroot() does the check in a very unintuitive way (keeping a copy of the argument, then modifying the argument), and has uncommented sideeffects. Signed-off-by: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 158d9ebd19280582da172626ad3edda1a626dace Author: Andrew Morton Date: Fri Mar 31 02:31:34 2006 -0800 [PATCH] resurrect __put_task_struct This just got nuked in mainline. Bring it back because Eric's patches use it. Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 390e2ff07712468ce6600a43aa91e897b056ce12 Author: Eric W. Biederman Date: Fri Mar 31 02:31:33 2006 -0800 [PATCH] Make setsid() more robust The core problem: setsid fails if it is called by init. The effect in 2.6.16 and the earlier kernels that have this problem is that if you do a "ps -j 1 or ps -ej 1" you will see that init and several of it's children have process group and session == 0. Instead of process group == session == 1. Despite init calling setsid. The reason it fails is that daemonize calls set_special_pids(1,1) on kernel threads that are launched before /sbin/init is called. The only remaining effect in that current->signal->leader == 0 for init instead of 1. And the setsid call fails. No one has noticed because /sbin/init does not check the return value of setsid. In 2.4 where we don't have the pidhash table, and daemonize doesn't exist setsid actually works for init. I care a lot about pid == 1 not being a special case that we leave broken, because of the container/jail work that I am doing. - Carefully allow init (pid == 1) to call setsid despite the kernel using its session. - Use find_task_by_pid instead of find_pid because find_pid taking a pidtype is going away. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9741ef964dc8bfeb6520825df9fed8f538c3336e Author: Thomas Gleixner Date: Fri Mar 31 02:31:32 2006 -0800 [PATCH] futex: check and validate timevals The futex timeval is not checked for correctness. The change does not break existing applications as the timeval is supplied by glibc (and glibc always passes a correct value), but the glibc-internal tests for this functionality fail. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d425b274ba83ba4e7746a40446ec0ba3267de51f Author: Con Kolivas Date: Fri Mar 31 02:31:29 2006 -0800 [PATCH] sched: activate SCHED BATCH expired To increase the strength of SCHED_BATCH as a scheduling hint we can activate batch tasks on the expired array since by definition they are latency insensitive tasks. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c4bb1f9b3788309e1159961c606ba0bdf7ed382 Author: Con Kolivas Date: Fri Mar 31 02:31:29 2006 -0800 [PATCH] sched: remove on runqueue requeueing On runqueue time is used to elevate priority in schedule(). In the code it currently requeues tasks even if their priority is not elevated, which would end up placing them at the end of their runqueue array effectively delaying them instead of improving their priority. Bug spotted by Mike Galbraith This patch removes this requeueing. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Cc: Mike Galbraith Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5138930e6a69f1c7851a82d7cedaa01fad029fcf Author: Con Kolivas Date: Fri Mar 31 02:31:27 2006 -0800 [PATCH] sched: include noninteractive sleep in idle detect Tasks waiting in SLEEP_NONINTERACTIVE state can now get to best priority so they need to be included in the idle detection code. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e72ff0bb2c163eb13014ba113701bd42dab382fe Author: Con Kolivas Date: Fri Mar 31 02:31:26 2006 -0800 [PATCH] sched: dont decrease idle sleep avg We watch for tasks that sleep extended periods and don't allow one single prolonged sleep period from elevating priority to maximum bonus to prevent cpu bound tasks from getting high priority with single long sleeps. There is a bug in the current code that also penalises tasks that already have high priority. Correct that bug. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7c38cb49c6cc05bc11f70d9e9889da1c4a0d37f Author: Con Kolivas Date: Fri Mar 31 02:31:25 2006 -0800 [PATCH] sched: make task_noninteractive use sleep_type Alterations to the pipe code in the kernel made it possible for relative starvation to occur with tasks that slept waiting on a pipe getting unfair priority bonuses even if they were otherwise fully cpu bound so the TASK_NONINTERACTIVE flag was introduced which prevented any change to sleep_avg while sleeping waiting on a pipe. This change also leads to the converse though, preventing any priority boost from occurring in truly interactive tasks that wait on pipes. Convert the TASK_NONINTERACTIVE flag to set sleep_type to SLEEP_NONINTERACTIVE which will allow a linear bonus to priority based on sleep time thus allowing interactive tasks to get high priority if they sleep enough. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dee386e14045484a6c41c8f03a263f9d79de740 Author: Con Kolivas Date: Fri Mar 31 02:31:23 2006 -0800 [PATCH] sched: cleanup task_activated() The activated flag in task_struct is used to track different sleep types and its usage is somewhat obfuscated. Convert the variable to an enum with more descriptive names without altering the function. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d Author: Jack Steiner Date: Fri Mar 31 02:31:21 2006 -0800 [PATCH] sched: reduce overhead of calc_load Currently, count_active_tasks() calls both nr_running() & nr_interruptible(). Each of these functions does a "for_each_cpu" & reads values from the runqueue of each cpu. Although this is not a lot of instructions, each runqueue may be located on different node. Depending on the architecture, a unique TLB entry may be required to access each runqueue. Since there may be more runqueues than cpu TLB entries, a scan of all runqueues can trash the TLB. Each memory reference incurs a TLB miss & refill. In addition, the runqueue cacheline that contains nr_running & nr_uninterruptible may be evicted from the cache between the two passes. This causes unnecessary cache misses. Combining nr_running() & nr_interruptible() into a single function substantially reduces the TLB & cache misses on large systems. This should have no measureable effect on smaller systems. On a 128p IA64 system running a memory stress workload, the new function reduced the overhead of calc_load() from 605 usec/call to 324 usec/call. Signed-off-by: Jack Steiner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3055addadbe9bfb2365006a1c13fd342a8d30d52 Author: Dimitri Sivanich Date: Fri Mar 31 02:31:20 2006 -0800 [PATCH] hrtimer: call get_softirq_time() only when necessary in run_hrtimer_queue() It seems that run_hrtimer_queue() is calling get_softirq_time() more often than it needs to. With this patch, it only calls get_softirq_time() if there's a pending timer. Signed-off-by: Dimitri Sivanich Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 669d7868ae414cdb7b7e5df375dc8e4b47f26f6d Author: Thomas Gleixner Date: Fri Mar 31 02:31:19 2006 -0800 [PATCH] hrtimer: use generic sleeper for nanosleep Replace the nanosleep private sleeper functionality by the generic hrtimer sleeper. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00362e33f65f1cb5d15e62ea5509520ce2770360 Author: Thomas Gleixner Date: Fri Mar 31 02:31:17 2006 -0800 [PATCH] hrtimer: create generic sleeper The removal of the data field in the hrtimer structure enforces the embedding of the timer into another data structure. nanosleep now uses a private implementation of the most common used timer callback function (simple task wakeup). In order to avoid the reimplentation of such functionality all over the place a generic hrtimer_sleeper functionality is created. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bfb646cdf348cb77c572f06d5b9d17ea205c7e2 Author: Richard Purdie Date: Fri Mar 31 02:31:16 2006 -0800 [PATCH] LED: Add IDE disk activity LED trigger Add an LED trigger for IDE disk activity to the ide-disk driver. Signed-off-by: Richard Purdie Acked-by: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03731fbdd09f8db4af86dbf437e3169fb1920d5e Author: Richard Purdie Date: Fri Mar 31 02:31:15 2006 -0800 [PATCH] Ensure ide-taskfile calls any driver specific end_request function Ensure ide-taskfile.c calls any driver specific end_request function if present. Signed-off-by: Richard Purdie Cc: Alan Cox Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fe833c1b010489b71b082e553b1dfa80ef81061 Author: Richard Purdie Date: Fri Mar 31 02:31:14 2006 -0800 [PATCH] LED: add NAND MTD activity LED trigger Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d0cf3e0480f6be9232854387794443d1a904d6d Author: Dirk Opfer Date: Fri Mar 31 02:31:12 2006 -0800 [PATCH] LED: add device support for tosa Adds LED drivers for LEDs found on the Sharp Zaurus c6000 model (tosa). Signed-off-by: Dirk Opfer Signed-off-by: Richard Purdie Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a0c51bfce5ae4058366017d861aea6564d25aee Author: John Bowler Date: Fri Mar 31 02:31:11 2006 -0800 [PATCH] LED: add LED device support for ixp4xx devices NEW_LEDS support for ixp4xx boards where LEDs are connected to the GPIO lines. This includes a new generic ixp4xx driver (leds-ixp4xx-gpio.c name "IXP4XX-GPIO-LED") Signed-off-by: John Bowler Signed-off-by: Richard Purdie Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3cb35476903768541f79e61f171e79e6065098 Author: Richard Purdie Date: Fri Mar 31 02:31:10 2006 -0800 [PATCH] LED: add LED device support for locomo devices Adds an LED driver for LEDs exported by the Sharp LOCOMO chip as found on some models of Sharp Zaurus. Signed-off-by: Richard Purdie Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3179108daaaccbf28b17d6d8b0e06abf0eee6d9f Author: Richard Purdie Date: Fri Mar 31 02:31:09 2006 -0800 [PATCH] LED: add LED device support for the zaurus corgi and spitz models Adds LED drivers for LEDs found on the Sharp Zaurus c7x0 (corgi, shepherd, husky) and cxx00 (akita, spitz, borzoi) models. Signed-off-by: Richard Purdie Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 181bf8aa68a1d062d7f98abb0f1cb8871910320c Author: Richard Purdie Date: Fri Mar 31 02:31:08 2006 -0800 [PATCH] LED: add sharp charger status LED trigger Add an LED trigger for the charger status as found on the Sharp Zaurus series of devices. Signed-off-by: Richard Purdie Acked-by: Pavel Machek Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6655c6fe575b720eb8cb6c143ae10995a7aa1916 Author: Richard Purdie Date: Fri Mar 31 02:31:07 2006 -0800 [PATCH] LED: add LED timer trigger Add an example of a complex LED trigger in the form of a generic timer which triggers the LED its attached to at a user specified frequency and duty cycle. Signed-off-by: Richard Purdie Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3bc9956ec52fb2c70f29aa894d8eec766116584 Author: Richard Purdie Date: Fri Mar 31 02:31:05 2006 -0800 [PATCH] LED: add LED trigger tupport Add support for LED triggers to the LED subsystem. "Triggers" are events which change the state of an LED. Two kinds of trigger are available, simple ones which can be added to exising code with minimum disruption and complex ones for implementing new or more complex functionality. Signed-off-by: Richard Purdie Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0 Author: Richard Purdie Date: Fri Mar 31 02:31:04 2006 -0800 [PATCH] LED: add LED class Add the foundations of a new LEDs subsystem. This patch adds a class which presents LED devices within sysfs and allows their brightness to be controlled. Signed-off-by: Richard Purdie Cc: Russell King Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75c1d31d9ea71025b73430c696b727e8aa15872d Author: Richard Purdie Date: Fri Mar 31 02:31:03 2006 -0800 [PATCH] LED: class documentation The LED class/subsystem takes John Lenz's work and extends and alters it to give what I think should be a fairly universal LED implementation. The series consists of several logical units: * LED Core + Class implementation * LED Trigger Core implementation * LED timer trigger (example of a complex trigger) * LED device drivers for corgi, spitz and tosa Zaurus models * LED device driver for locomo LEDs * LED device driver for ARM ixp4xx LEDs * Zaurus charging LED trigger * IDE disk activity LED trigger * NAND MTD activity LED trigger Why? ==== LEDs are really simple devices usually amounting to a GPIO that can be turned on and off so why do we need all this code? On handheld or embedded devices they're an important part of an often limited user interface. Both users and developers want to be able to control and configure what the LED does and the number of different things they'd potentially want the LED to show is large. A subsystem is needed to try and provide all this different functionality in an architecture independent, simple but complete, generic and scalable manner. The alternative is for everyone to implement just what they need hidden away in different corners of the kernel source tree and to provide an inconsistent interface to userspace. Other Implementations ===================== I'm aware of the existing arm led implementation. Currently the new subsystem and the arm code can coexist quite happily. Its up to the arm community to decide whether this new interface is acceptable to them. As far as I can see, the new interface can do everything the existing arm implementation can with the advantage that the new code is architecture independent and much more generic, configurable and scalable. I'm prepared to make the conversion to the LED subsystem (or assist with it) if appropriate. Implementation Details ====================== I've stripped a lot of code out of John's original LED class. Colours were removed as LED colour is now part of the device name. Multiple colours are to be handled as multiple led devices. This means you get full control over each colour. I also removed the LED hardware timer code as the generic timer isn't going to add much overhead and is just as useful. I also decided to have the LED core track the current LED status (to ease suspend/resume handling) removing the need for brightness_get implementations in the LED drivers. An underlying design philosophy is simplicity. The aim is to keep a small amount of code giving as much functionality as possible. The major new idea is the led "trigger". A trigger is a source of led events. Triggers can either be simple or complex. A simple trigger isn't configurable and is designed to slot into existing subsystems with minimal additional code. Examples are the ide-disk, nand-disk and zaurus-charging triggers. With leds disabled, the code optimises away. Examples are nand-disk and ide-disk. Complex triggers whilst available to all LEDs have LED specific parameters and work on a per LED basis. The timer trigger is an example. You can change triggers in a similar manner to the way an IO scheduler is chosen (via /sys/class/leds/somedevice/trigger). So far there are only a handful of examples but it should easy to add further LED triggers without too much interference into other subsystems. Known Issues ============ The LED Trigger core cannot be a module as the simple trigger functions would cause nightmare dependency issues. I see this as a minor issue compared to the benefits the simple trigger functionality brings. The rest of the LED subsystem can be modular. Some leds can be programmed to flash in hardware. As this isn't a generic LED device property, I think this should be exported as a device specific sysfs attribute rather than part of the class if this functionality is required (eg. to keep the led flashing whilst the device is suspended). Future Development ================== At the moment, a trigger can't be created specifically for a single LED. There are a number of cases where a trigger might only be mappable to a particular LED. The addition of triggers provided by the LED driver should cover this option and be possible to add without breaking the current interface. A CPU activity trigger similar to that found in the arm led implementation should be trivial to add. This patch: Add some brief documentation of the design decisions behind the LED class and how it appears to users. Signed-off-by: Richard Purdie Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7529c301165079d0f149d0e54724829e602f8fc0 Author: Andrew Morton Date: Fri Mar 31 02:30:59 2006 -0800 [PATCH] modules: permit Dual-MIT/GPL licenses One of the LEDs driver files wants to use this. Probably drivers/mtd/maps/ipaq-flash.c wants to convert as well - right now it'll be tainting the kernel. Cc: David Woodhouse Cc: Thomas Gleixner Cc: John Bowler Cc: "'Richard Purdie'" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ca07731e495584bd84dca15a0f065470d594ec4 Author: Rafael J. Wysocki Date: Fri Mar 31 02:30:58 2006 -0800 [PATCH] vt: add TIOCL_GETKMSGREDIRECT Add TIOCL_GETKMSGREDIRECT needed by the userland suspend tool to get the current value of kmsg_redirect from the kernel so that it can save it and restore it after resume. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d32af0fe11b1618572389723e93cf33a4cc11c81 Author: Jesper Juhl Date: Fri Mar 31 02:30:57 2006 -0800 [PATCH] ISDN: fix a few memory leaks in sc_ioctl() Fix a few memory leaks in drivers/isdn/sc/ioctl.c::sc_ioctl() Signed-off-by: Jesper Juhl Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0b4ed728cdd0c7204392b0c18857e4a99917aa5 Author: Tobias Klauser Date: Fri Mar 31 02:30:56 2006 -0800 [PATCH] drivers/char/[i]stallion: Clean up kmalloc usage Delete two useless kmalloc wrappers and use kmalloc/kzalloc. Some weird NULL checks are also simplified. Signed-off-by: Tobias Klauser Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 993dfa8776308dcfd311cf77a3bbed4aa11e9868 Author: Trond Myklebust Date: Fri Mar 31 02:30:55 2006 -0800 [PATCH] fs/locks.c: Fix sys_flock() race sys_flock() currently has a race which can result in a double free in the multi-thread case. Thread 1 Thread 2 sys_flock(file, LOCK_EX) sys_flock(file, LOCK_UN) If Thread 2 removes the lock from inode->i_lock before Thread 1 tests for list_empty(&lock->fl_link) at the end of sys_flock, then both threads will end up calling locks_free_lock for the same lock. Fix is to make flock_lock_file() do the same as posix_lock_file(), namely to make a copy of the request, so that the caller can always free the lock. This also has the side-effect of fixing up a reference problem in the lockd handling of flock. Signed-off-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a2bd3f7efa86e8b56482a8f8948c8b222064a67 Author: Amy Griffis Date: Fri Mar 31 02:30:54 2006 -0800 [PATCH] inotify: IN_DELETE events missing IN_DELETE events are no longer generated for the removal of a file from a watched directory. This seems to be a result of clearing DCACHE_INOTIFY_PARENT_WATCHED in d_delete() directly before calling fsnotify_nameremove(). Assuming the flag doesn't need to be cleared before dentry_iput(), this should do the trick. Signed-off-by: Amy Griffis Cc: John McCutchan Acked-by: Robert Love Cc: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 094e320d761dae5816d8faa695b0509eea79c108 Author: OGAWA Hirofumi Date: Fri Mar 31 02:30:53 2006 -0800 [PATCH] fat: kill reserved names Since these names on old MSDOS is used as device, so, current fat driver doesn't allow a user to create those names. But many OSes and even Windows can create those names actually, now. This patch removes the reserved name check. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4e364e865b382f9d99c7fc230ec2ce7df21257a Author: Paul Jackson Date: Fri Mar 31 02:30:52 2006 -0800 [PATCH] cpuset: memory migration interaction fix Fix memory migration so that it works regardless of what cpuset the invoking task is in. If a task invoked a memory migration, by doing one of: 1) writing a different nodemask to a cpuset 'mems' file, or 2) writing a tasks pid to a different cpuset's 'tasks' file, where the cpuset had its 'memory_migrate' option turned on, then the allocation of the new pages for the migrated task(s) was constrained by the invoking tasks cpuset. If this task wasn't in a cpuset that allowed the requested memory nodes, the memory migration would happen to some other nodes that were in that invoking tasks cpuset. This was usually surprising and puzzling behaviour: Why didn't the pages move? Why did the pages move -there-? To fix this, temporarilly change the invoking tasks 'mems_allowed' task_struct field to the nodes the migrating tasks is moving to, so that new pages can be allocated there. Signed-off-by: Paul Jackson Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2741a559a01e1ba9bf87285569dc1a104d134ecf Author: Paul Jackson Date: Fri Mar 31 02:30:51 2006 -0800 [PATCH] cpuset: unsafe mm reference fix Fix unsafe reference to a tasks mm struct, by moving the reference inside of a convenient nearby properly guarded code block. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a01c8d5be628ac20cfd432c21808d76be5813e6 Author: Paul Jackson Date: Fri Mar 31 02:30:50 2006 -0800 [PATCH] cpuset: task_lock comment fix Fix cpuset comment involving case of a tasks cpuset pointer being NULL. Thanks to "the_top_cpuset_hack", this code no longer sees NULL task->cpuset pointers. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cf8d82d63807c2c68adf20bb28bf502496186dd Author: Andrew Morton Date: Fri Mar 31 02:30:49 2006 -0800 [PATCH] make local_t signed local_t's were defined to be unsigned. This increases confusion because atomic_t's are signed. The patch goes through and changes all implementations to use signed longs throughout. Also, x86-64 was using 32-bit quantities for the value passed into local_add() and local_sub(). Fixed. All (actually, both) existing users have been audited. (Also s/__inline__/inline/ in x86_64/local.h) Cc: Andi Kleen Cc: Benjamin LaHaise Cc: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09ce3512dcad0ad1d07eee0dc5ebb6d037c39c16 Author: Steffen Klassert Date: Fri Mar 31 02:30:48 2006 -0800 [PATCH] 3c59x: fix networking for 10base2 NICs The "3c59x: use mii_check_media" patch introduced a netif_carrier_off in vortex_up. 10base2 stoped working because of this. This is removed. Tx/Rx reset is back in vortex_up because the 3c900B-Combo stops working after changing from half duplex to full duplex when Tx/Rx reset is done with vortex_timer. Also brought back some mii stuff to be sure that it does not break something else. Thanks to Pete Clements for reporting and testing. Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0000754c27f07d5656eff17367c05dc4cfb7d965 Author: Andrew Morton Date: Fri Mar 31 02:30:47 2006 -0800 [PATCH] "3c59x collision statistics fix" fix The pre-2.6.16 patch "3c59x collision statistics fix" accidentally caused vortex_error() to not run iowrite16(TxEnable, ioaddr + EL3_CMD) if we got a maxCollisions interrupt but MAX_COLLISION_RESET is not set. Thanks to Pete Clements for reporting and testing. Acked-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88b9adb073b7a69a54b1b14423103bc24587ebdc Author: Trond Myklebust Date: Fri Mar 31 02:30:46 2006 -0800 [PATCH] config: fix CONFIG_LFS option The help text says that if you select CONFIG_LBD, then it will automatically select CONFIG_LFS. That isn't currently the case, so update the text. - Get rid of the cruft in the help text mentioning CONFIG_LBD - Tell unsure users to select CONFIG_LFS. - Remove the `default n'. Signed-off-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb231fe3a53b2d34c1aef119613816fcb18864b1 Author: KaiGai Kohei Date: Fri Mar 31 02:30:45 2006 -0800 [PATCH] Fix pacct bug in multithreading case. I noticed a bug on the process accounting facility. In multi-threading process, some data would be recorded incorrectly when the group_leader dies earlier than one or more threads. The attached patch fixes this problem. See below. 'bugacct' is a test program that create a worker thread after 4 seconds sleeping, then the group_leader dies soon. The worker thread consume CPU/Memory for 6 seconds, then exit. We can estimate 10 seconds as etime and 6 seconds as stime + utime. This is a sample program which the group_leader dies earlier than other threads. The results of same binary execution on different kernel are below. -- accounted records -------------------- | btime | utime | stime | etime | minflt | majflt | comm | original | 13:16:40 | 0.00 | 0.00 | 6.10 | 171 | 0 | bugacct | patched | 13:20:21 | 5.83 | 0.18 | 10.03 | 32776 | 0 | bugacct | (*) bugacct allocates 128MB memory, thus 128MB / 4KB = 32768 of minflt is appropriate. -- Test results in original kernel ------ $ date; time -p ./bugacct Tue Mar 28 13:16:36 JST 2006 <- But pacct said btime is 13:16:40 real 10.11 <- But pacct said etime is 6.10 user 5.96 <- But pacct said utime is 0.00 sys 0.14 <- But pacct said stime is 0.00 $ -- Test results in patched kernel ------- $ date; time -p ./bugacct Tue Mar 28 13:20:21 JST 2006 real 10.04 user 5.83 sys 0.19 $ In the original 2.6.16 kernel, pacct records btime, utime, stime, etime and minflt incorrectly. In my opinion, this problem is caused by an assumption that group_leader dies last. The following section calculates process running time for etime and btime. But it means running time of the thread that dies last, not process. The start_time of the first thread in the process (group_leader) should be reduced from uptime to calculate etime and btime correctly. ---- do_acct_process() in kernel/acct.c: /* calculate run_time in nsec*/ do_posix_clock_monotonic_gettime(&uptime); run_time = (u64)uptime.tv_sec*NSEC_PER_SEC + uptime.tv_nsec; run_time -= (u64)current->start_time.tv_sec*NSEC_PER_SEC + current->start_time.tv_nsec; ---- The following section calculates stime and utime of the process. But it might count the utime and stime of the group_leader duplicatly and ignore the utime and stime of the thread dies last, when one or more threads remain after group_leader dead. The ac_utime should be calculated as the sum of the signal->utime and utime of the thread dies last. The ac_stime should be done also. ---- do_acct_process() in kernel/acct.c: jiffies = cputime_to_jiffies(cputime_add(current->group_leader->utime, current->signal->utime)); ac.ac_utime = encode_comp_t(jiffies_to_AHZ(jiffies)); jiffies = cputime_to_jiffies(cputime_add(current->group_leader->stime, current->signal->stime)); ac.ac_stime = encode_comp_t(jiffies_to_AHZ(jiffies)); ---- The part of the minflt/majflt calculation has same problem. This patch solves those problems, I think. Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79e2abb9bd452d97295f34376dedbec9686b986 Author: Andrew Morton Date: Fri Mar 31 02:30:42 2006 -0800 [PATCH] sys_sync_file_range() Remove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT fadvise() additions, do it in a new sys_sync_file_range() syscall instead. Reasons: - It's more flexible. Things which would require two or three syscalls with fadvise() can be done in a single syscall. - Using fadvise() in this manner is something not covered by POSIX. The patch wires up the syscall for x86. The sycall is implemented in the new fs/sync.c. The intention is that we can move sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later. Documentation for the syscall is in fs/sync.c. A test app (sync_file_range.c) is in http://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz. The available-to-GPL-modules do_sync_file_range() is for knfsd: "A COMMIT can say NFS_DATA_SYNC or NFS_FILE_SYNC. I can skip the ->fsync call for NFS_DATA_SYNC which is hopefully the more common." Note: the `async' writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if the queue is congested. This is trivial to fix: add a new flag bit, set wbc->nonblocking. But I'm not sure that we want to expose implementation details down to that level. Note: it's notable that we can sync an fd which wasn't opened for writing. Same with fsync() and fdatasync()). Note: the code takes some care to handle attempts to sync file contents outside the 16TB offset on 32-bit machines. It makes such attempts appear to succeed, for best 32-bit/64-bit compatibility. Perhaps it should make such requests fail... Cc: Nick Piggin Cc: Michael Kerrisk Cc: Ulrich Drepper Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6dfd1310d3562698fd7c3c086f6c239f96394ac Author: Corey Minyard Date: Fri Mar 31 02:30:41 2006 -0800 [PATCH] IPMI: convert from semaphores to mutexes Convert the remaining semaphores to mutexes in the IPMI driver. The watchdog was using a semaphore as a real semaphore (for IPC), so the conversion there required adding a completion. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a3628d53fe5eb1d1401dd1ce16655182c1c5ffc Author: Corey Minyard Date: Fri Mar 31 02:30:40 2006 -0800 [PATCH] IPMI: tidy up various things Tidy up various coding standard things, mostly removing the space after !, but also break some long lines and fix a few other spacing inconsistencies. Also fixes some bad error reporting when deleting an IPMI user. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 453823ba08ba762b3d58934b6dce75edce37169e Author: Corey Minyard Date: Fri Mar 31 02:30:39 2006 -0800 [PATCH] IPMI: fix startup race condition Matt Domsch noticed a startup race with the IPMI kernel thread, it was possible (though extraordinarly unlikely) that a message could come in before the upper layer was ready to handle it. This patch splits the startup processing of an IPMI interface into two parts, one to get ready and one to actually start the processes to receive messages from the interface. [akpm@osdl.org: cleanups] Signed-off-by: Corey Minyard Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee37df7877eeaa16d7761cce64854110a7c17ad9 Author: Andrew Morton Date: Fri Mar 31 02:30:35 2006 -0800 [PATCH] make tty_insert_flip_string a non-GPL export Alan sayeth "Based on Linus original comments about _GPL we should export tty_insert_flip_char as EXPORT_SYMBOL because it used to be EXPORT_SYMBOL equivalent (trivial inline). The other features are new extensions are were not available to drivers before so need not be provided except as _GPL functionality as far as I can see." Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6294 Cc: Alan Cox Cc: Russell King Cc: Paul Fulghum Cc: Philippe Vouters Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da960a6ad1864dd1636cb9b0330d7bb7408aed45 Author: Randy Dunlap Date: Fri Mar 31 02:30:34 2006 -0800 [PATCH] edac_752x needs CONFIG_HOTPLUG EDAC_752X uses pci_scan_single_device(), which is only available if CONFIG_HOTPLUG is enabled, so limit this driver with HOTPLUG. Signed-off-by: Randy Dunlap Cc: Dave Peterson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b41046cd0ee0a57f849d6e1363f7933e363cca9 Author: OGAWA Hirofumi Date: Fri Mar 31 02:30:33 2006 -0800 [PATCH] Don't pass boot parameters to argv_init[] The boot cmdline is parsed in parse_early_param() and parse_args(,unknown_bootoption). And __setup() is used in obsolete_checksetup(). start_kernel() -> parse_args() -> unknown_bootoption() -> obsolete_checksetup() If __setup()'s callback (->setup_func()) returns 1 in obsolete_checksetup(), obsolete_checksetup() thinks a parameter was handled. If ->setup_func() returns 0, obsolete_checksetup() tries other ->setup_func(). If all ->setup_func() that matched a parameter returns 0, a parameter is seted to argv_init[]. Then, when runing /sbin/init or init=app, argv_init[] is passed to the app. If the app doesn't ignore those arguments, it will warning and exit. This patch fixes a wrong usage of it, however fixes obvious one only. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68eef3b4791572ecb70249c7fb145bb3742dd899 Author: Joe Korty Date: Fri Mar 31 02:30:32 2006 -0800 [PATCH] Simplify proc/devices and fix early termination regression Make baby-simple the code for /proc/devices. Based on the proven design for /proc/interrupts. This also fixes the early-termination regression 2.6.16 introduced, as demonstrated by: # dd if=/proc/devices bs=1 Character devices: 1 mem 27+0 records in 27+0 records out This should also work (but is untested) when /proc/devices >4096 bytes, which I believe is what the original 2.6.16 rewrite fixed. [akpm@osdl.org: cleanups, simplifications] Signed-off-by: Joe Korty Cc: Neil Horman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2c348fe0117adced11e374329a5ea3f7c43cb41 Author: Oleg Nesterov Date: Fri Mar 31 02:30:31 2006 -0800 [PATCH] __mod_timer: simplify ->base changing Since base and new_base are of the same type now, we can save one 'if' branch and simplify the code a bit. Signed-off-by: Oleg Nesterov Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3691c5199e8a4be1c7a91b5ab925db5feb866e19 Author: Oleg Nesterov Date: Fri Mar 31 02:30:30 2006 -0800 [PATCH] kill __init_timer_base in favor of boot_tvec_bases Commit a4a6198b80cf82eb8160603c98da218d1bd5e104: [PATCH] tvec_bases too large for per-cpu data introduced "struct tvec_t_base_s boot_tvec_bases" which is visible at compile time. This means we can kill __init_timer_base and move timer_base_s's content into tvec_t_base_s. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ce29646ebe352587e3b3160d599010c5da1b9dd Author: Miklos Szeredi Date: Fri Mar 31 02:30:29 2006 -0800 [PATCH] locks: don't panic Don't panic! Just BUG_ON(). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da2e9e1ff40c863a12803c32209baaded3512433 Author: Jakub Jelinek Date: Fri Mar 31 02:30:28 2006 -0800 [PATCH] Mark unwind info for signal trampolines in vDSOs Mark unwind info for signal trampolines using the new S augmentation flag introduced in: http://gcc.gnu.org/PR26208. GCC 4.2 (or patched earlier GCC) will be able to special case unwinding through frames right above signal trampolines. As the augmentations start with z flag and S is at the very end of the augmentation string, older GCCs will just skip the S flag as unknown (that's why an augmentation flag was chosen over say a new CFA opcode). Signed-off-by: Jakub Jelinek Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97db7fbfc7712bc403330c81c04ddfa82b335bce Author: KAMEZAWA Hiroyuki Date: Fri Mar 31 02:30:26 2006 -0800 [PATCH] for_each_possible_cpu: s390 for_each_cpu() actually iterates across all possible CPUs. We've had mistakes in the past where people were using for_each_cpu() where they should have been iterating across only online or present CPUs. This is inefficient and possibly buggy. We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the future. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3feb88562d149f078319e5a1b2f7acaa10251a5c Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Mar 31 02:30:25 2006 -0800 [PATCH] uml: check for differences in host support If running on a host not supporting TLS (for instance 2.4) we should report that cleanly to the user, instead of printing not comprehensible "error 5" for that. Additionally, i386 and x86_64 support different ranges for user_desc->entry_number, and we must account for that; we couldn't pass ourselves -1 because we need to override previously existing TLS descriptors which glibc has possibly set, so test at startup the range to use. x86 and x86_64 existing ranges are hardcoded. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54d8d3b5a0ce1cdbad1d3154c9ea9732d394e9c7 Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Mar 31 02:30:24 2006 -0800 [PATCH] uml: add arch_switch_to for newly forked thread Newly forked threads have no arch_switch_to_skas() called before their first run, because when schedule() switches to them they're resumed in the body of thread_wait() inside fork_handler() rather than in switch_threads() in switch_to_skas(). Compensate this missing call. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd77aec07aec5cb81aed3b4ef79c1ff8bd0e2a68 Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Mar 31 02:30:23 2006 -0800 [PATCH] uml: tls support: hack to make it compile on any host Copy the definition of struct user_desc (with another name) for use by userspace sources (where we use the host headers, and we can't be sure about their content) to make sure UML compiles. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa6758d4867cd07bd76105ade6177fe6148e559a Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Mar 31 02:30:22 2006 -0800 [PATCH] uml: implement {get,set}_thread_area for i386 Implement sys_[gs]et_thread_area and the corresponding ptrace operations for UML. This is the main chunk, additional parts follow. This implementation is now well tested and has run reliably for some time, and we've understood all the previously existing problems. Their implementation saves the new GDT content and then forwards the call to the host when appropriate, i.e. immediately when the target process is running or on context switch otherwise (i.e. on fork and on ptrace() calls). In SKAS mode, we must switch registers on each context switch (because SKAS does not switches tls_array together with current->mm). Also, added get_cpu() locking; this has been done for SKAS mode, since TT does not need it (it does not use smp_processor_id()). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 972410b0232e97609fcefc8e408fe3037fcd607b Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Mar 31 02:30:21 2006 -0800 [PATCH] uml: clean arch_switch usage Call arch_switch also in switch_to_skas, even if it's, for now, a no-op for that case (and mark this in the comment); this will change soon. Also, arch_switch for TT mode is actually useless when the PT proxy (a complicate debugging instrumentation for TT mode) is not enabled. In fact, it only calls update_debugregs, which checks debugregs_seq against seq (to check if the registers are up-to-date - seq here means a "version number" of the registers). If the ptrace proxy is not enabled, debugregs_seq always stays 0 and update_debugregs will be a no-op. So, optimize this out (the compiler can't do it). Also, I've been disappointed by the fact that it would make a lot of sense if, after calling a successful update_debugregs(current->thread.arch.debugregs_seq), current->thread.arch.debugregs_seq were updated with the new debugregs_seq. But this is not done. Is this a bug or a feature? For all purposes, it seems a bug (otherwise the whole mechanism does not make sense, which is also a possibility to check), which causes some performance only problems (not correctness), since we write_debugregs when not needed. Also, as suggested by Jeff, remove a redundant enabling of SIGVTALRM, comprised in the subsequent local_irq_enable(). I'm just a bit dubious if ordering matters there... Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbdf2161552a2065047e5df2dbf9ebf69d66a0e9 Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Mar 31 02:30:19 2006 -0800 [PATCH] uml: split ldt.h in arch-independent and arch-dependant code ldt-{i386,x86_64}.h is made of two different parts - some code for parsing of LDT descriptors, which is arch-dependant, and the code to handle uml_ldt_t (an LDT block inside UML), which is mostly arch-independant (among x86 and x86_64, at least). Join the common part in a single file (ldt.h) and split the rest away (host_ldt-{i386,x86_64}.h). This is needed because processor.h, with next patches, will start including the LDT descriptor parsing macros in host_ldt.h, but it can't include ldt.h because it uses semaphores (and to define semaphores one must first include processor.h!). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12523bdce1a6b5a3a2627b9901162bbd3eef33ed Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Mar 31 02:30:18 2006 -0800 [PATCH] uml: idle thread needn't take access to init_mm Comparing this code which is the actual body of the arch-independent cpu_idle(), it is clear that it's unnecessary to set ->mm and ->active_mm; beyond that, a kernel thread is not supposed to have ->mm != NULL, only active_mm. This showed up because I used the assumption (which is IMHO valid) that kernel thread have their ->mm == NULL, and it failed for this thread. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e11c0cdf4c6f7976e6f4fe221369a7b420245389 Author: Al Viro Date: Fri Mar 31 02:30:17 2006 -0800 [PATCH] uml: fix min usage type-safe min() in arch/um/drivers/mconsole_kern.c Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43cecb3079d048800e828edafb937e596152908d Author: Al Viro Date: Fri Mar 31 02:30:16 2006 -0800 [PATCH] uml: remove unused make variables Removed assignments to unused variables in arch/um/os-Linux/Makefile Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 347f217cec74dc6b5a9b8e77c4b15f5a6879ec1a Author: Al Viro Date: Fri Mar 31 02:30:16 2006 -0800 [PATCH] uml: __user annotations __user annotations (hppfs) Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d338e1accfc3473f7e453427dfd4f1ebf4dbbe6 Author: Al Viro Date: Fri Mar 31 02:30:15 2006 -0800 [PATCH] uml: sparse cleanups misc sparse annotations Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 694a464e19b9e3278dbaf6a09fa7c1efec3f8eb5 Author: Al Viro Date: Fri Mar 31 02:30:14 2006 -0800 [PATCH] uml: kconfigs kconfig sanitized around drivers/net Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc70a40b5ee05e5cca053887fc447590307bf1e8 Author: Al Viro Date: Fri Mar 31 02:30:13 2006 -0800 [PATCH] uml: eliminate duplicate mrpropered files no need to add the same file twice to MRPROPER_FILES Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b99edc78de6c12d3e96fb75fe2b55fafa96f247 Author: Al Viro Date: Fri Mar 31 02:30:12 2006 -0800 [PATCH] uml: clean up remapping code build magic kills unmap magic Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de2fe5e07d58424bc286fff3fd3c1b0bf933cd58 Author: Al Viro Date: Fri Mar 31 02:30:11 2006 -0800 [PATCH] uml: eliminate symlinks to host arch kills symlinks in arch/um/sys-* Signed-off-by: Al Viro Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4c57a78e2c49f188babf675ba0a9264b5374c26 Author: Jeff Dike Date: Fri Mar 31 02:30:10 2006 -0800 [PATCH] uml: fix initcall return values A number of UML initcalls were improperly returning 1. Also removed any nearby emacs formatting comments. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9902abd7af17c3bdf57a5a092a66f502f79ba05e Author: Jeff Dike Date: Fri Mar 31 02:30:09 2006 -0800 [PATCH] uml: redeclare highmem The earlier printf patch missed a corresponding change in the printed variable. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02dea0875b0f9b331a65fd6097dfd6115ca4ef24 Author: Jeff Dike Date: Fri Mar 31 02:30:08 2006 -0800 [PATCH] UML: Hotplug memory, take 2 Changes since first version added check for MADV_REMOVE support on the host fixed error return botch shrunk sprintf array by one character This adds hotplug memory support to UML. The mconsole syntax is config mem=[+-]n[KMG] In other words, add or subtract some number of kilobytes, megabytes, or gigabytes. Unplugged pages are allocated and then madvise(MADV_TRUNCATE), which is a currently experimental madvise extension. These pages are tracked so they can be plugged back in later if the admin decides to give them back. The first page to be unplugged is used to keep track of about 4M of other pages. A list_head is the first thing on this page. The rest is filled with addresses of other unplugged pages. This first page is not madvised, obviously. When this page is filled, the next page is used in a similar way and linked onto a list with the first page. Etc. This whole process reverses when pages are plugged back in. When a tracking page no longer tracks any unplugged pages, then it is next in line for plugging, which is done by freeing pages back to the kernel. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85b6bce3658a823aa169586fe71ffba0f12ccc71 Author: Pavel Machek Date: Fri Mar 31 02:30:06 2006 -0800 [PATCH] Fix suspend with traced tasks strace /bin/bash misbehaves after resume; this fixes it. (akpm: it's scary calling refrigerator() in state TASK_TRACED, but it seems to do the right thing). Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a75a3f0680d9c4bc4761512658b6fd664032e18 Author: Vivek Goyal Date: Fri Mar 31 02:30:05 2006 -0800 [PATCH] i386 kdump timer vector lockup fix Porting the patch I posted for x86_64 to i386. http://marc.theaimsgroup.com/?l=linux-kernel&m=114178139610707&w=2 o While using kdump, after a system crash when second kernel boots, timer vector gets (0x31) locked and CPU does not see timer interrupts travelling from IOAPIC to APIC. Currently it does not lead to boot failure in second kernel as timer interrupts continues to come as ExtInt through LAPIC directly, but fixing it is good in case some boards do not support the other mode. o After a system crash, it is not safe to service interrupts any more, hence interrupts are disabled. This leads to pending interrupts at LAPIC. LAPIC sends these interrupts to the CPU during early boot of second kernel. Other pending interrupts are discarded saying unexpected trap but timer interrupt is serviced and CPU does not issue an LAPIC EOI because it think this interrupt came from i8259 and sends ack to 8259. This leads to vector 0x31 locking as LAPIC does not clear respective ISR and keeps on waiting for EOI. o This patch issues extra EOI for the pending interrupts who have ISR set. o Though today only timer seems to be the special case because in early boot it thinks interrupts are coming from i8259 and uses mask_and_ack_8259A() as ack handler and does not issue LAPIC EOI. But probably doing it in generic manner for all vectors makes sense. Signed-off-by: Vivek Goyal Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ccfb81e871b45e4af6ebb3282f3cfa0f98f1b80 Author: Brian Gerst Date: Fri Mar 31 02:30:04 2006 -0800 [PATCH] Remove long dead i386 floppy asm code It's been disabled since v2.1.88 Signed-off-by: Brian Gerst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc83db4f006fcf9e9502a002b4bd448fc4511d04 Author: KAMEZAWA Hiroyuki Date: Fri Mar 31 02:30:02 2006 -0800 [PATCH] for_each_possible_cpu: sh for_each_cpu() actually iterates across all possible CPUs. We've had mistakes in the past where people were using for_each_cpu() where they should have been iterating across only online or present CPUs. This is inefficient and possibly buggy. We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the future. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Mundt Cc: Kazumoto Kojima Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78c997a4be7d1ed3ff4c27f23d30a0185d39bcbf Author: Chen, Kenneth W Date: Fri Mar 31 02:30:01 2006 -0800 [PATCH] hugetlb: don't allow free hugetlb count fall below reserved count With strict page reservation, I think kernel should enforce number of free hugetlb page don't fall below reserved count. Currently it is possible in the sysctl path. Add proper check in sysctl to disallow that. Signed-off-by: Ken Chen Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6692183ac1d8f4a4e4015f9ce9acc2514618e0b Author: Chen, Kenneth W Date: Fri Mar 31 02:29:57 2006 -0800 [PATCH] fix extra page ref count in follow_hugetlb_page git-commit: d5d4b0aa4e1430d73050babba999365593bdb9d2 "[PATCH] optimize follow_hugetlb_page" breaks mlock on hugepage areas. I mis-interpret pages argument and made get_page() unconditional. It should only get a ref count when "pages" argument is non-null. Credit goes to Adam Litke who spotted the bug. Signed-off-by: Ken Chen Acked-by: Adam Litke Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93fac7041f082297b93655a0e49f659cd7520e40 Author: Nick Piggin Date: Fri Mar 31 02:29:56 2006 -0800 [PATCH] mm: schedule find_trylock_page() removal find_trylock_page() is an odd interface in that it doesn't take a reference like the others. Now that XFS no longer uses it, and its last remaining caller actually wants an elevated refcount, opencode that callsite and schedule find_trylock_page() for removal. Signed-off-by: Nick Piggin Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bf9e89c3d147ca8cf9622d2d053684fba77a464 Author: Christoph Lameter Date: Fri Mar 31 02:29:56 2006 -0800 [PATCH] migrate_pages_to() must be defined for the no swap case Fix migrate_pages_to() definition. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5ac5d7edb64b3ca1a489b30d95d62492a1f0b80 Author: Petri T. Koistinen Date: Fri Mar 31 02:29:54 2006 -0800 [PATCH] drivers/mtd/maps/vmax301.c: fix off by one vmax_mtd Fix an obvious off-by-one error (vmax_mtd[] contains two elements). Signed-off-by: Adrian Bunk Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d551465986c9a0040f47700a8c736c90519418f Author: Herbert Poetzl Date: Fri Mar 31 02:29:53 2006 -0800 [PATCH] mtd: fix broken name_to_dev_t() declaration drivers/mtd/devices/blkmtd.c uses a local declaration of name_to_dev_t() which is inconsistant with the real one. the following patch fixes this by removing the local declaration and including mount.h instead this patch was originally done by Micah Anderson. Signed-off-by: Herbert Poetzl Acked-by: Micah Anderson Acked-by: Daniel Hokka Zakrisson Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84e699e6ec5b431289474f78f8df9dfcc2737085 Author: Peter Korsgaard Date: Fri Mar 31 02:29:52 2006 -0800 [PATCH] mtd/redboot: Handle holes in fis table Redboot simply sets the first character of a fis entry to 0xff on "fis delete". The kernel redboot parser stops parsing on such an entry, and without this patch any entries after a deleted image would not be detected. Signed-off-by: Peter Korsgaard Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a63ec1b7b7c38f9a61ed11eefd670a49879e9dd3 Author: Pavel Machek Date: Fri Mar 31 02:29:51 2006 -0800 [PATCH] Add chip used in collie to jedec_probe This adds flash chip used in Sharp Zaurus sl5500 (collie) to jedec_probe. Values work for read-only access, but I have not figured out how to do read-write. Signed-off-by: Pavel Machek Cc: Richard Purdie Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edcbce2150fec1f6e6670e14eb65098eebfacae8 Author: Eric Sesterhenn Date: Fri Mar 31 02:29:50 2006 -0800 [PATCH] Dead code in mtd/maps/pci.c This fixes coverity bug #12. The first two gotos in the function still have the initial value for mtd set. And the third goto just triggers for !mtd Signed-off-by: Eric Sesterhenn Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d2dce0eb650831046316a9cd091ea5257aa7d4b Author: Pavel Machek Date: Fri Mar 31 02:29:49 2006 -0800 [PATCH] Kill ifdefs in mtdcore.c Kill unneccessary ifdefs in mtdcore.c. Signed-off-by: Pavel Machek Cc: Thomas Gleixner Signed-off-by: Adrian Bunk Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b68a1263305d4e8a07d8a43c996969ea9e44292 Author: Eric Sesterhenn / snakebyte Date: Fri Mar 31 02:29:47 2006 -0800 [PATCH] Fix debug statement in inftlcore.c Fix a copy/paste bug found by cpminer inside the inftlcore.c file Signed-off-by: Eric Sesterhenn Acked-by: Greg Ungerer Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b175d03dd207283609b7f8bfdaa5dc93ac9b16dd Author: Atsushi Nemoto Date: Fri Mar 31 02:29:46 2006 -0800 [PATCH] mtd cmdlinepart: allow zero offset value Current cmdlinepart.c uses offset value 0 to specify a continuous partition. This prevents creating a second partition starting at 0. For example, I can split 4MB device using "mtdparts=id:2M,2M", but I can not do "mtdparts=id:2M@2M,2M@0" to swap mtd0 and mtd1. This patch introduces special OFFSET_CONTINUOUS value for a continuous partition and allows 0 for offset value. Also this patch replaces 0xffffffff with UINT_MAX for SIZE_REMAINING. Signed-off-by: Atsushi Nemoto Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87d10f3c7954d143e509a2af2bca2a27aeb3114d Author: Tobias Klauser Date: Fri Mar 31 02:29:45 2006 -0800 [PATCH] drivers/mtd: Use ARRAY_SIZE macro Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove duplicates of the macro. Signed-off-by: Tobias Klauser Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54af6b46485bb706b7cdffd2e419253fd00cae6a Author: Adrian Bunk Date: Fri Mar 31 02:29:43 2006 -0800 [PATCH] MTD_NAND_SHARPSL and MTD_NAND_NANDSIM should be tristate's MTD_NAND=m and MTD_NAND_SHARPSL=y or MTD_NAND_NANDSIM=y are illegal combinations that mustn't be allowed. This patch fixes this bug by making MTD_NAND_SHARPSL and MTD_NAND_NANDSIM tristate's. Additionally, it fixes some whitespace damage at these options. Signed-off-by: Adrian Bunk Acked-by: Richard Purdie Acked-by: "Artem B. Bityutskiy" Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0500abf52109d09bf60d740dec2e41d6cf265688 Author: Adrian Bunk Date: Fri Mar 31 02:29:42 2006 -0800 [PATCH] drivers/mtd/: small cleanups - chips/sharp.c: make two needlessly global functions static - move some declarations to a header file where they belong to Signed-off-by: Adrian Bunk Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48b192686dd20cb1576ae1d8ccd17a07971ef24a Author: Ingo Molnar Date: Fri Mar 31 02:29:41 2006 -0800 [PATCH] sem2mutex: drivers/mtd/ Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 040d79f906654d55c810313f29c6605593bf21c5 Author: Ingo Molnar Date: Fri Mar 31 02:29:40 2006 -0800 [PATCH] sem2mutex: mtd/doc2000.c Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37466ea85a7f7c9eef071a334e074265df4d1305 Author: Andrew Morton Date: Fri Mar 31 02:29:39 2006 -0800 [PATCH] m25p80: printk warning fix drivers/mtd/devices/m25p80.c: In function `m25p80_erase': drivers/mtd/devices/m25p80.c:189: warning: signed size_t format, different type arg (arg 6) Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 553ee5dc1a7a1fb04a6286b0c779481f7035bbd1 Author: Marcelo Tosatti Date: Fri Mar 31 16:37:25 2006 -0600 [PATCH] pcmcia: declare pccard_iodyn_ops (fix m8xx_pcmcia.c compilation error) Apparently the pccard_iodyn_ops declaration has been forgotten, which results in a compilation error for m8xx_pcmcia.c Signed-off-by: Marcelo Tosatti Signed-off-by: Dominik Brodowski commit 2ab9391dea6e36fed13443c29bf97d3be05f5289 Author: Tony Luck Date: Fri Mar 31 10:28:29 2006 -0800 [IA64] Avoid "u64 foo : 32;" for gcc3 vs. gcc4 compatibility gcc3 thinks that a 32-bit field of a u64 type is itself a u64, so should be printed with "%ld". gcc4 thinks it needs just "%d". Make both versions happy by avoiding this construct. Signed-off-by: Tony Luck commit c2f60c523aa34cf6d4913d6efc670890bd456fd5 Author: Frederik Deweerdt Date: Fri Mar 31 13:13:23 2006 +0200 [ALSA] Kconfig SND_SEQUENCER_OSS help text fix Fix misleading help text for SND_SEQUENCER_OSS config option. Signed-off-by: Frederik Deweerdt Signed-off-by: Takashi Iwai commit af9b70ac0044d126b28d28894cd890447c0a9dc1 Author: Maximilian Rehkopf Date: Fri Mar 31 13:10:35 2006 +0200 [ALSA] Add Aux input switch control for Aureon Universe This patch adds a mixer control which allows the user to switch the Aux playback between the internal Aux jack, Wavetable, and Rear Line-In on Aureon Universe cards. For switching, a PCA9554 (8-line GPIO with I2C interface) and a 74HC4052 (dual 4-way mux/demux) are used. Output 0 and 1 of the PCA9554 are connected to the select pins of the 74HC4052. The I2C interface of the PCA9554 is connected to the card's internal SPI bus which is also used to control the WM8770 and CS8415. SPI and I2C on the same lines... To communicate with the PCA9554 the WM8770 and CS8415 are disabled and an I2C Stop Condition is generated before the Start Condition (needed for synchronisation because other SPI traffic appear to confuse the PCA9554). Then a normal I2C data transfer takes place. Programming must be done ridiculously slow; in theory, 4.7us is the minimum delay time for normal-speed I2C according to the datasheet, but even with 10us switching was unreliable. The Windows driver from Terratec does the programming very slowly, too (checked with an oscilloscope). PCA9554 datasheet: http://www.semiconductors.philips.com/acrobat/datasheets/PCA9554_9554A_6.pdf 74HC4052 datasheet: http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT4052_4.pdf Signed-off-by: Maximilian Rehkopf Signed-off-by: Takashi Iwai commit 0bd43b5bc9e61e9dc48ad5ee68737316e5d94b60 Author: Markus Bollinger Date: Fri Mar 31 12:48:51 2006 +0200 [ALSA] pcxhr - Fix the crash with REV01 board On a new board revision for pcxhr boards, the PCXHR_CHIPSC_GPI_USERI bit is no more supported. The cards concerned have a REV01 in their PCI ID. As the current driver tests this bit and does not load the first Xilinx binary when it's 1, the card will crash on Xilinx access over PCI. (the PCI will freeze ....) The fix (fix to version 1.0.11rc4) works for both REV00 and REV01 cards. Signed-off-by: Takashi Iwai commit ce7415f496e21775156b08452d22211f8c3ccc53 Author: OGAWA Hirofumi Date: Fri Mar 31 12:36:14 2006 +0200 [ALSA] sound/pci/hda: use create_singlethread_workqueue() process_unsol_events() seems to assume a singlethread one (IOW, racey). So, this patch uses create_singlethread_workqueue() instead of create_workqueue(). Signed-off-by: OGAWA Hirofumi Signed-off-by: Takashi Iwai commit 89be83f8eef781a801898c08a5317ed463fe872f Author: Felix Kuehling Date: Fri Mar 31 12:33:59 2006 +0200 [ALSA] hda-intel - Add support of ATI SB600 This patch adds support for high definition audio on ATI SB600. Signed-off-by: Felix Kuehling Signed-off-by: Takashi Iwai commit 38223daa1aa98d0a6f35ba7addcfefc756a04f5e Author: Takashi Iwai Date: Wed Mar 29 12:33:38 2006 +0200 [ALSA] cs4281 - Fix the check of timeout in probe Fix the check of timeout in probe routines to work properly reagrdless of HZ (ALSA bug#1976). Signed-off-by: Takashi Iwai commit e860f00047108ec97ac58c0d1bf59ae23e35f81c Author: Takashi Iwai Date: Wed Mar 29 11:38:01 2006 +0200 [ALSA] cs4281 - Fix the check of right channel Fix the check of right channel in mixer volume put callback. Signed-off-by: Takashi Iwai commit 14790f1c73cfa4d4a22ac10b4501b4831380683c Author: Takashi Iwai Date: Tue Mar 28 17:58:28 2006 +0200 [ALSA] Test volume resolution of usb audio at initialization Test the volume of usb audio whether actually it works and adjusts the resolution value according to it. Some USB audio devices report a lower resolution than it reacts. The only possible check is to write and read a volume value. Signed-off-by: Takashi Iwai commit 0b2dcd5d6a9a3e27fdd67053e526388f9f2ea33b Author: Andreas Mohr Date: Tue Mar 28 12:56:14 2006 +0200 [ALSA] maestro3.c: fix BUG, optimization - fix brown-paper-bag locking bug (lock() / return / unlock()) - improve central function snd_m3_update_ptr() (avoid expensive integer divisions) - add cpu_relax() to busy-wait I/O loop as recommended (does this require special macro support in ALSA for older kernels??) - constify several structs - spelling updates Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit a1e8d2da03b3a1017aab01d49666ec9b67927de5 Author: Jonathan Woithe Date: Tue Mar 28 12:47:09 2006 +0200 [ALSA] HDA/Realtek: multiple input mux definitions and pin mode additions The following patch relative to CVS from 20060324 adds the following features to the Realtek HDA codec. 1) Define two new pin modes: ALC_PIN_DIR_IN_NOMICBIAS and ALC_PIN_DIR_INOUT_NOMICBIAS. These can be used with jack mode switch definitions in mixers to prevent the user being offered the mic bias options if the hardware doesn't support it. 2) Add the ability to have different input mux definitions for different ADCs. This is needed because the ALC260 chip uses different mux layouts for the two onboard ADCs. A new field (num_mux_defs) was added to the alc_spec and alc_config_preset structures to support this. 3) Adjust numerous comments to make them consistent with the above changes. 4) Utilise the new multi-mux definition functionality for the ALC260 fujitsu model to allow recording of the mixer output. 5) Utilise the new multi-mux definition functionality for the ALC260 test model to make the mux selections a little less confusing. 6) Allow the headphone jack of the ALC260 acer model to be retasked in the mixer. 6) Utilise the new multi-mux definition functionality for the ALC260 acer model to give access to the mixer output and the retasked headphone jack. At this stage the *_NOMICBIAS modes are not used. We have reports that the "Line" jack of at least some Acer models doesn't pass the bias out, and we also know that NIDs 0x0f and 0x10 don't seem to accept the mic bias requests at all. However, I feel we need to collect more evidence on both counts before committing to the use of *_NOMICBIAS. In the case of the Acers, it's not clear whether this issue (probably caused by the inclusion of DC blocking capacitors) affects all Acer models or just a small number. With the issue with NIDs 0x0f and 0x10 it's unclear whether this is a hardware bug which will be addressed in later chip revisions or if it's an intentional restriction. The datasheet makes no mention of the restriction so at this stage I'm inclined to consider it a hardware bug. Comments in the source reflect this reasoning. On a similar theme, the headphone jack of the Fujitsu S7020 also doesn't appear to pass mic bias voltage. I'm still investigating this however. With the ability to retask the headphone jack, owners of ALC260-based Acer laptops should now be able to record 4 channels of audio if they desire. The multiple mux definitions allow this jack to be presented from both ADCs (since this mux input is one of those which differs between the muxes). This patch has been tested on a Fujitsu S7020 laptop and appears to behave itself both for the "test" and "fujitsu" models. Definitions using only a single mux specification also work. Other ALC chips should be fine but I cannot test these myself. The "auto" modes should also continue to function but again I have not verified this. Signed-off-by: Takashi Iwai commit cf40a310a7aaf1944eea3e01e9c120b31850c3b6 Author: Rene Herman Date: Tue Mar 28 12:38:20 2006 +0200 [ALSA] AdLib FM card driver Attached you'll find an ALSA driver for AdLib FM cards. An AdLib card is just an OPL2, which was already supported by sound/drivers/opl3, so only very minimal bus-glue is needed. The patch applies cleanly to both 2.6.16 and 2.6.16-mm1. The driver has been tested with an actual ancient 8-bit ISA AdLib card and works fine. It also works fine for an OPL3 {,emulation} as still found on many ISA soundcards but given that AdLib cards don't have their own mixer, upping the volume from 0 might be a problem without the card driver already loaded and driving the OPL3. Signed-off-by: Takashi Iwai commit 060d77b9c04acd7aef60790398a53f731db8c8fe Author: Takashi Iwai Date: Mon Mar 27 16:44:52 2006 +0200 [ALSA] Fix / clean up PCM-OSS setup hooks - Fix possible race of referring the setup hook from the running PCM - Fix memory leak in an error path of proc write - Clean up the setup hook parser Signed-off-by: Takashi Iwai commit 3bf75f9b90c981f18f27a0d35a44f488ab68c8ea Author: Takashi Iwai Date: Mon Mar 27 16:40:49 2006 +0200 [ALSA] Clean up PCM codes (take 2) - Clean up initialization and destruction of substream instance Now snd_pcm_open_substream() alone does most initialization jobs. Add pcm_release callback for cleaning up at snd_pcm_release_substream() - Tidy up PCM oss code Signed-off-by: Takashi Iwai commit bf1bbb5a49eec51c30d341606885507b501b37e8 Author: Takashi Iwai Date: Mon Mar 27 16:22:45 2006 +0200 [ALSA] Tiny clean up of PCM codes - Make snd_pcm_prepare() static - Clean up snd_pcm_kernel_*_ioctl() functions, reduce exports Signed-off-by: Takashi Iwai commit 82756b2785c5f08204e7f3dab64e12d4533bfe89 Author: Rene Herman Date: Mon Mar 27 13:50:11 2006 +0200 [ALSA] ISA drivers bailing on first !enable[i] Fix the wrong check of enable option in cmi8330 driver. Signed-off-by: Takashi Iwai commit 43560116d1f70de274915fdec0745c6e02feef30 Author: Takashi Iwai Date: Mon Mar 27 13:45:51 2006 +0200 [ALSA] Remove obsolete kfree_nocheck call Fixed the compilation, removing obsolete kfree_nocheck() call for memory debugging. Signed-off-by: Takashi Iwai commit 10d150e186d069cc7e2075c4823049949933777c Author: Takashi Iwai Date: Mon Mar 27 13:42:39 2006 +0200 [ALSA] Remove obsolete kfree_nocheck call Fixed the compilation, removing obsolete kfree_nocheck() call for memory debugging. Signed-off-by: Takashi Iwai commit b3a70d5ece60684c00d7d94ccc42741efdf99336 Author: Ash Willis Date: Mon Mar 27 13:20:40 2006 +0200 [ALSA] Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards Added snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards by Ash Willis. Signed-off-by: Takashi Iwai commit 109a9638f0fe38915838b7b9acd98e7cfa91797f Author: Peter Gruber Date: Mon Mar 27 13:10:28 2006 +0200 [ALSA] Add snd-riptide driver for Conexant Riptide chip Add snd-riptide driver for Conexant Riptide chip by Peter Gruber. Signed-off-by: Takashi Iwai commit 2125cad29100f88670a483a2291ffdbeae0cd5fc Author: Takashi Iwai Date: Mon Mar 27 12:52:22 2006 +0200 [ALSA] hda-codec - Fix noisy output wtih AD1986A 3stack model Fixed the noisy output wtih AD1986A 3stack model using 2 channels. Signed-off-by: Takashi Iwai commit 505cb341ef39c0e75e074d49988a044b66fd4f99 Author: Takashi Iwai Date: Mon Mar 27 12:51:52 2006 +0200 [ALSA] hda-codec - Fix unsol event initialization at resume of stac92xx Fix the re-initialization of unsolicited events at resume of stac92xx codecs. Signed-off-by: Takashi Iwai commit 675b4e5981941be5e826ada99b86e65e517b84ce Author: Takashi Iwai Date: Mon Mar 27 12:46:34 2006 +0200 [ALSA] Make CONFIG_SND_CS46XX_NEW_DSP yes as default Removed from CONFIG_EXPERIMENTAL from CONFIG_SND_CS46XX_NEW_DSP, and make default to yes. This option works fine for years. Signed-off-by: Takashi Iwai commit 1841f613fd2e73f09d3fa2beeccf2f8d978ec2db Author: Martin Langer Date: Mon Mar 27 12:41:01 2006 +0200 [ALSA] Add snd-miro driver Added snd-miro driver for miroSOUND PCM by Martin Langer. Signed-off-by: Takashi Iwai commit cbac4b0cb62d01cb0aaec7778410b8856f01186b Author: Takashi Iwai Date: Mon Mar 27 12:38:07 2006 +0200 [ALSA] Cleanup unused argument for snd_power_wait() Removed the unused file argument of snd_power_wait(). Signed-off-by: Takashi Iwai commit 6285ae1df13d55454d3de48504cb97e0cde4ecfa Author: Alan Horstmann Date: Fri Mar 24 18:40:09 2006 +0100 [ALSA] ice1712 - Fix wrong register value for DMX 6FIRE I have just discovered I made an error in the register value set in 'Limit dmx6fire to 6 dacs' patch (bug1472). The value set should be '2a' not '0a' as in the original patch, which unintentionally disables the 2nd MPU 401 UART. Signed-off-by: Alan Horstmann Signed-off-by: Takashi Iwai commit c04d092bde6a5dce632dec595f3974a35ed2cc2a Author: Takashi Iwai Date: Thu Mar 23 17:11:32 2006 +0100 [ALSA] via82xx - Add dxs entry for EPoX EP-8KRAI Added the dxs_support entry for EPoX EP-8KRAI (ALSA bug#1423). Signed-off-by: Takashi Iwai commit c960a03beef8e1bdd26b1658d0ce87902f4a08f2 Author: Takashi Iwai Date: Thu Mar 23 17:06:28 2006 +0100 [ALSA] hda-codec - Fix VREF level of Mic inputs on STAC92xx codecs Fixed VREF level of Mic inputs on STAC92xx codecs (ALSA bug#1953). Signed-off-by: Takashi Iwai commit d681518a56d25d21d73a421174d189242adc68c7 Author: Takashi Iwai Date: Thu Mar 23 16:06:23 2006 +0100 [ALSA] Add support of LG LW20 laptop Add support of LG LW20 laptop with ALC880 codec (ALSA bug#1572). Signed-off-by: Takashi Iwai commit b2f51a1cb4e1d72061d7a3f7905affdb7d074fec Author: Hugh Dickins Date: Fri Mar 10 21:15:19 2006 +0000 [PATCH] pcmcia: fix pcmcia_device_remove oops Fix pcmcia_device_remove NULL pointer dereference at shutdown. Signed-off-by: Hugh Dickins Signed-off-by: Dominik Brodowski commit 30bac7aa0e3678c79ff00fc9372f34712eeb34fc Author: Petr Vandrovec Date: Fri Feb 10 02:04:00 2006 -0800 [PATCH] pcmcia: Add support for Possio GCC AKA PCMCIA Siemens MC45 This ugly hack add support for Siemens MC45 PCMCIA GPRS card (which is identical to Possio GCC, and which is offered by one of our local GPRS providers). Card has unfortunate feature that after poweron oxcf950 chip is fully powered and works, but attached MC45 modem is powered down :-( There is a special sequence (which takes 1 sec :-( ) to poweron MC45 (and after MC45 powers on, it takes more than 2 secs until firmware fully boots...) which needs to be executed after all powerons. I'm really not familiar with PCMCIA subsystem, so I have no idea whether I should issue request_region() on rest of oxcf950 address range (0-7 is UART, 8-F are special configuration registers), or how this should be better integrated with PM system and so on - I just put it in same place where another hack already lived... Card uses 18.432MHz XTAL, so to get it to work you must add lines below to the /etc/pcmcia/serial.opts. case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in '030c,0003-2-GPRS-CARD--') SERIAL_OPTS="baud_base 1152000" ;; esac Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit d6ff5a8532b553e4d85ea65c99eaa0794edf5311 Author: Dominik Brodowski Date: Sun Feb 5 09:51:34 2006 +0100 [PATCH] pcmcia: pseudo device handling update If the driver for the primary pseudo device is removed from the device, the secondary driver must be removed as well -- it cannot exist on its own. Signed-off-by: Dominik Brodowski commit 9940ec3617fec1db13e589bbc3f37e37878c7683 Author: Dominik Brodowski Date: Sun Mar 5 11:04:33 2006 +0100 [PATCH] pcmcia: convert DEV_OK to pcmcia_dev_present Instead of the DEV_OK macro, drivers should use pcmcia_dev_present(). Signed-off-by: Dominik Brodowski commit e2d4096365e06b9a3799afbadc28b4519c0b3526 Author: Dominik Brodowski Date: Thu Mar 2 00:09:29 2006 +0100 [PATCH] pcmcia: use bitfield instead of p_state and state Instead of the two status values struct pcmcia_device->p_state and state, use descriptive bitfields. Most value-checking in drivers was invalid, as the core now only calls the ->remove() (a.k.a. detach) function in case the attachement _and_ configuration was successful. Signed-off-by: Dominik Brodowski commit f6fbe01ac976f3ec618cd5fb71ad9ce2cfa7ab2b Author: Dominik Brodowski Date: Fri Jan 20 15:10:23 2006 +0100 [PATCH] pcmcia: remove unused p_dev->state flags Remove the unused DEV_RELEASE_PENDING flag, and move the DEV_SUSPEND flag into the p_dev structure, and make use of it at the core level. Signed-off-by: Dominik Brodowski commit b4c884000a7d3664dd8ad7227241456bd7824d86 Author: Adrian Bunk Date: Wed Jan 18 23:53:13 2006 -0800 [PATCH] pcmcia: make pcmcia_release_{io,irq} static We can now make pcmcia_release_{io,irq} static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Dominik Brodowski commit 15b99ac1729503db9e6dc642a50b9b6cb3bf51f9 Author: Dominik Brodowski Date: Fri Mar 31 17:26:06 2006 +0200 [PATCH] pcmcia: add return value to _config() functions Most of the driver initialization isn't done in the .probe function, but in the internal _config() functions. Make them return a value, so that .probe can properly report whether the probing of the device succeeded or not. Signed-off-by: Dominik Brodowski commit fba395eee7d3f342ca739c20f5b3ee635d0420a0 Author: Dominik Brodowski Date: Fri Mar 31 17:21:06 2006 +0200 [PATCH] pcmcia: remove dev_link_t and client_handle_t indirection dev_link_t * and client_handle_t both mean struct pcmcai_device * by now. Therefore, remove all such indirections. Signed-off-by: Dominik Brodowski commit fd238232cd0ff4840ae6946bb338502154096d88 Author: Dominik Brodowski Date: Sun Mar 5 10:45:09 2006 +0100 [PATCH] pcmcia: embed dev_link_t into struct pcmcia_device Embed dev_link_t into struct pcmcia_device(), as they basically address the same entity. The actual contents of dev_link_t will be cleaned up step by step. This patch includes a bugfix from and signed-off-by Andrew Morton. Signed-off-by: Dominik Brodowski commit a78f4dd331a4f6a396eb5849656a4a72a70a56d7 Author: Dominik Brodowski Date: Sun Jan 15 16:26:00 2006 +0100 [PATCH] pcmcia: rename pcmcia_device.state Rename pcmcia_device.state (which is used in very few places) to p_state in order to avoid a namespace collision when moving the deprecated dev_link_t into struct pcmcia_device Signed-off-by: Dominik Brodowski commit 70294b468302fd7a0a99dad935c7ba5322989345 Author: Dominik Brodowski Date: Sun Jan 15 12:43:16 2006 +0100 [PATCH] pcmcia: remove unneeded Vcc pseudo setting As we do not allow setting Vcc in the pcmcia core, and Vpp1 and Vpp2 can only be set to the same value, a lot of code can be streamlined. Signed-off-by: Dominik Brodowski commit 4bbed5231468014b500b048d7370a1c6c349231a Author: Dominik Brodowski Date: Sun Jan 15 11:18:12 2006 +0100 [PATCH] pcmcia: remove export of pcmcia_release_configuration Handle the _modifying_ operation sm91c92_cs requires in pcmcia_modify_configuration, so that the only remaining users of pcmcia_release_configuration() are within the pcmcia core module. Signed-off-by: Dominik Brodowski commit 8661bb5b4af1849c1f5a4e80c4e275fd13c155d6 Author: Dominik Brodowski Date: Thu Mar 2 00:02:33 2006 +0100 [PATCH] pcmcia: default suspend and resume handling In all but one case, the suspend and resume functions of PCMCIA drivers contain mostly of calls to pcmcia_release_configuration() and pcmcia_request_configuration(). Therefore, move this code out of the drivers and into the core. Signed-off-by: Dominik Brodowski commit 50db3fdbbc98260fb538c1cc3f8cc597ba7bffe7 Author: Dominik Brodowski Date: Sun Jan 15 10:05:19 2006 +0100 [PATCH] pcmcia: convert remaining users of pcmcia_release_io and _irq Convert the remaining drivers which use pcmcia_release_io or pcmcia_release_irq, and remove the EXPORT of these symbols. Signed-off-by: Dominik Brodowski commit 5f2a71fcb7995633b335a1e380ac63a968e61320 Author: Dominik Brodowski Date: Sun Jan 15 09:32:39 2006 +0100 [PATCH] pcmcia: add pcmcia_disable_device pcmcia_disable_device(struct pcmcia_device *p_dev) performs the necessary cleanups upon device or driver removal: it calls the appropriate pcmcia_release_* functions, and can replace (most) of the current drivers' _release() functions. Signed-off-by: Dominik Brodowski commit be9a50c8524b53003e5fa32f072945772ffd13a5 Author: Tejun Heo Date: Fri Mar 31 22:48:52 2006 +0900 [PATCH] libata: fix ata_xfer_tbl termination ata_xfer_tbl is terminated by entry with -1 as ->shift. However, ->shift was unsigned int making the termination condition bogus. This patch converts ->shift and ->bits to int. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8e0e694a3a48212bfe29a9ad3cd592bf68dfec81 Author: Tejun Heo Date: Fri Mar 31 20:41:11 2006 +0900 [PATCH] libata: make ata_qc_issue complete failed qcs There is no reason for the issuer to diddle with a failed qc as the issuer has complete control over when a qc gets freed (usually in ->complete_fn). Make ata_qc_issue() responsible for completing qcs which failed to issue. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e4a70e76add280db6068426716a9b2a74099144f Author: Tejun Heo Date: Fri Mar 31 20:36:47 2006 +0900 [PATCH] libata: fix ata_qc_issue failure path On sg_err failure path, ata_qc_issue() doesn't mark the qc active before returning. This triggers WARN_ON() in __ata_qc_complete() when the qc gets completed. This patch moves ap->active_tag and QCFLAG_ACTIVE setting to the top of the function. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 79ea24e72e59b5f0951483cc4f357afe9bf7ff89 Author: Tejun Heo Date: Fri Mar 31 20:01:50 2006 +0900 [PATCH] ata_piix: fix ich6/m_map_db MAP tables of ich6 and ich6m are wrong. Depending on port usage, ata_piix may fail to initialize attached devices. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1de9cedfbdff1d8adb662cd3afc5bda66e393351 Author: Domen Puncer Date: Mon Mar 6 10:25:53 2006 +0100 [PATCH] serial_cs: add Merlin U630 IDs Add Merlin U630 IDs. Signed-off-by: Domen Puncer Signed-off-by: Dominik Brodowski commit 2c1f3b7a30286c16ba151fadb0abf0b20e2a1e45 Author: Andrew Victor Date: Tue Feb 21 12:56:52 2006 +0200 [PATCH] pcmcia: AT91RM9200 Compact Flash driver This patch adds support for the Compact Flash controller integrated in the Atmel AT91RM9200 processor. Signed-off-by: Andrew Victor commit 552dc85dfed6b6a74a3a01c4ba277ee09797dd0a Author: Dominik Brodowski Date: Wed Mar 1 14:04:52 2006 +0100 [PATCH] pcmcia: socket.functions starts with 1 socket.functions is the number of functions, and so must be one larger than the maximum function number. Signed-off-by: Dominik Brodowski commit 159fe8a8358c7012d4f1fdacfcf69009ea15b52e Author: Komuro Date: Sun Feb 5 09:56:59 2006 +0100 [PATCH] pcmcia: remove wrong comment in ciscode.h Remove misleading comment. Signed-off-by: Komuro Signed-off-by: Dominik Brodowski commit 8961b828667e715a96d9d8517f7c8b6552ead3bb Author: Dominik Brodowski Date: Sun Jan 15 08:30:40 2006 +0100 [PATCH] parport_cs: don't play games with resources pcmcia_request_io() doesn't mark the resource as busy in 2.6., therefore there's no need to work around the registration of the resources into the resource tree. Signed-off-by: Dominik Brodowski commit c7d006935dfda9174187aa557e94a137ced10c30 Author: Dominik Brodowski Date: Sun Jan 15 08:04:43 2006 +0100 [PATCH] pcmcia: remove duplicate fields in io_window_t BasePort, NumPorts and Attributes are or can be embedded in struct resource, so remove them. Signed-off-by: Dominik Brodowski commit 0e0fad8f71a8a23fad223b7d72b4ba06d57f764f Author: Dominik Brodowski Date: Sun Jan 15 01:14:31 2006 +0100 [PATCH] pcmcia: size reduction if ioctl isn't compiled If the kernel is configured to not include the deprecated PCMCIA ioctl, some code doesn't need to be built. Signed-off-by: Dominik Brodowski commit 1540eec5e5549b2e41704ce77f3f4ba880d2434c Author: Dominik Brodowski Date: Sun Jan 15 00:51:53 2006 +0100 [PATCH] pcmcia: remove pcmcia_compat.c Remove the compatibility wrappers, as they can (now) also be implemented using macros. Please continue using these wrappers instead of new functions until a new API has stabilized. Signed-off-by: Dominik Brodowski commit e904663b4d511884145df54bead401840389853a Author: Dominik Brodowski Date: Tue Jan 10 21:35:49 2006 +0100 [PATCH] pcmcia: remove include of config.h Remove the inclusion of include/config.h as it isn't needed any longer. Signed-off-by: Dominik Brodowski commit 7fe908dd11e0c947bb72baa5b001d7abe5a420d5 Author: Dominik Brodowski Date: Tue Jan 10 21:20:36 2006 +0100 [PATCH] pcmcia: use mutexes instead of semaphores Use mutexes in the PCMICA core, as they suffice for what needs to be done. Includes a bugfix from and Signed-off-by Andrew Morton. Signed-off-by: Dominik Brodowski commit cbbddd1046d44d90d31c7f246ed0207117602b89 Author: Dominik Brodowski Date: Tue Jan 10 20:54:46 2006 +0100 [PATCH] pcmcia: remove unused defines Remove unused fields and declarations. Signed-off-by: Dominik Brodowski commit 360b65b95bae96f854a2413093ee9b79c31203ae Author: Dominik Brodowski Date: Tue Jan 10 20:50:39 2006 +0100 [PATCH] pcmcia: make config_t independent, add reference counting Handle config_t structs independent of struct pcmcia_socket, and add reference counting for them. Signed-off-by: Dominik Brodowski commit 855cdf134dfcf2ecb92ac4ad675cf655d8ceb678 Author: Dominik Brodowski Date: Tue Jan 10 20:48:59 2006 +0100 [PATCH] pcmcia: always use device pointer to config_t Update the remaining users using the static lookup table of the PCMCIA function configuration to use the struct pcmcia_device-contained pointer. Signed-off-by: Dominik Brodowski commit dbb22f0d65ccc2e9dfeb4c420942f2757a80f8d2 Author: Dominik Brodowski Date: Tue Jan 10 20:41:27 2006 +0100 [PATCH] pcmcia: access config_t using pointer instead of array Access the PCMCIA config_t struct (one per device function) using a pointer in struct pcmcia_device, instead of looking them up in an array. Signed-off-by: Dominik Brodowski commit 1ae9c7d8198ae973da3b927e28d63f294ffa11e3 Author: Dominik Brodowski Date: Tue Jan 10 20:40:40 2006 +0100 [PATCH] pcmcia: remove unused field Present from config_t config_t.Present is set to the same value as CardValues, which isn't modified anywhere. Therefore, we can use only one of these two objects. Signed-off-by: Dominik Brodowski commit 6e3d4f25a561d15863ff4868a03780f59ba5ae8c Author: Janos Farkas Date: Fri Mar 31 01:04:57 2006 +0200 [PATCH] pcmcia: permit single-character identifiers For some time, the core pcmcia drivers seem not to think single character prod_ids are valid, thus preventing the "cleverly" named "D" "Link DWL-650 11Mbps WLAN Card" Before (as in 2.6.16): PRODID_1="" PRODID_2="Link DWL-650 11Mbps WLAN Card" PRODID_3="Version 01.02" PRODID_4="" MANFID=0156,0002 FUNCID=6 After (with the patch) PRODID_1="D" PRODID_2="Link DWL-650 11Mbps WLAN Card" PRODID_3="Version 01.02" PRODID_4="" MANFID=0156,0002 FUNCID=6 Signed-off-by: Janos Farkas Signed-off-by: Dominik Brodowski commit 025be81e83043f20538dcced1e12c5f8d152fbdb Author: Anton Blanchard Date: Fri Mar 31 02:27:06 2006 -0800 [NET]: Allow skb headroom to be overridden Previously we added NET_IP_ALIGN so an architecture can override the padding done to align headers. The next step is to allow the skb headroom to be overridden. We currently always reserve 16 bytes to grow into, meaning all DMAs start 16 bytes into a cacheline. On ppc64 we really want DMA writes to start on a cacheline boundary, so we increase that headroom to one cacheline. Signed-off-by: Anton Blanchard Signed-off-by: David S. Miller commit 0803dbed7a23721d091639c9e173c0389dcd524a Author: David S. Miller Date: Fri Mar 31 02:25:46 2006 -0800 [TCP]: Kill unused extern decl for tcp_v4_hash_connecting() Noticed by Alan Menegotto. Signed-off-by: David S. Miller commit c08e49611a8b4e38a75bf217e1029a48faf10b82 Author: Andrew Morton Date: Fri Mar 31 02:09:36 2006 -0800 [NET]: add SO_RCVBUF comment Put a comment in there explaining why we double the setsockopt() caller's SO_RCVBUF. People keep wondering. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a0f067802576d4eb4c65d40b8ee7d6ea3c81dd61 Author: Jeff Garzik Date: Thu Mar 30 23:06:13 2006 -0500 [PATCH] splice exports Woe be unto he who builds their filesystems as modules. Signed-off-by: Jeff Garzik [ Obscure quote from the infamous geek bible? ] Signed-off-by: Linus Torvalds commit 72d2c3e038fb4846e32cf3f6d66ebd1013329986 Author: Kumar Gala Date: Thu Mar 30 23:39:57 2006 -0600 powerpc: converted embedded platforms to use new define_machine support Removed platform_init usage on 83xx and 85xx and use define_machine and probe(). For now we always return true in the problem since you can only build for one specific board at a time. This is an artificial constraint. When we get ride of it we will need to update the Kconfig's for these sub-arch's and make the board's probe() functions actually do something. Signed-off-by: Kumar Gala commit 6910ab30a29d10e0fec7710b2ed857a2201e2468 Author: Steve French Date: Fri Mar 31 03:37:08 2006 +0000 [CIFS] Fix unlink oops when indirectly called in rename error path under heavy stress. Signed-off-by: Steve French commit 1a6a4ffef6a405f60b51856725074532c9696ac2 Author: Kumar Gala Date: Thu Mar 30 21:11:15 2006 -0600 powerpc: merge machine_check_exception between ppc32 & ppc64 Make machine_check_exception handling code path the same on ppc32 & ppc64. Signed-off-by: Kumar Gala commit 1b895840ce93fd2d150a86c800a3085eaab4eb9e Author: Nathan Scott Date: Fri Mar 31 13:08:59 2006 +1000 [XFS] Provide XFS support for the splice syscall. Signed-off-by: Nathan Scott commit 3bbcc8e3976f8bba2fd607c8850d7dfe7e332fda Author: Nathan Scott Date: Fri Mar 31 13:04:56 2006 +1000 [XFS] Reenable write barriers by default. SGI-PV: 912426 SGI-Modid: xfs-linux-melb:xfs-kern:25634a Signed-off-by: Nathan Scott commit 9a2a7de268f67fea0c450ed3e99a2d31f43d7166 Author: Nathan Scott Date: Fri Mar 31 13:04:49 2006 +1000 [XFS] Make project quota enforcement return an error code consistent with its use. SGI-PV: 951300 SGI-Modid: xfs-linux-melb:xfs-kern:25633a Signed-off-by: Nathan Scott commit 764d1f89a5f2b914bc13b1b8b8920a600a5fba10 Author: Nathan Scott Date: Fri Mar 31 13:04:17 2006 +1000 [XFS] Implement the silent parameter to fill_super, previously ignored. SGI-PV: 951299 SGI-Modid: xfs-linux-melb:xfs-kern:25632a Signed-off-by: Nathan Scott commit 4b4fa25ced2d719a06a3a63009bea1cf1fbedd55 Author: Mandy Kirkconnell Date: Fri Mar 31 13:03:58 2006 +1000 [XFS] Cleanup comment to remove reference to obsoleted function xfs_bmap_do_search_extents(). SGI-PV: 951415 SGI-Modid: xfs-linux-melb:xfs-kern:208491a Signed-off-by: Mandy Kirkconnell Signed-off-by: Nathan Scott commit f19180056ea09ec6a5d32e741234451a1e6eba4d Author: Zhang, Yanmin Date: Mon Feb 27 11:37:45 2006 +0800 [IA64] Export cpu cache info by sysfs The patch exports 8 attributes of cpu cache info under /sys/devices/system/cpu/cpuX/cache/indexX: 1) level 2) type 3) coherency_line_size 4) ways_of_associativity 5) size 6) shared_cpu_map 7) attributes 8) number_of_sets: number_of_sets=size/ways_of_associativity/coherency_line_size. Signed-off-by: Zhang Yanmin Signed-off-by: Tony Luck commit 8b316a3973f05e572b4edeeda9072987f6bbaa44 Author: Jeff Garzik Date: Thu Mar 30 17:07:32 2006 -0500 [libata] ahci: add ATI SB600 PCI IDs From: Anatoli Antonovitch Signed-off-by: Felix Kuehling Signed-off-by: Jeff Garzik commit 5abc97aa25b2c41413b3a520faee83f2282d9f18 Author: Jens Axboe Date: Thu Mar 30 15:16:46 2006 +0200 [PATCH] splice: add support for SPLICE_F_MOVE flag This enables the caller to migrate pages from one address space page cache to another. In buzz word marketing, you can do zero-copy file copies! Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 5274f052e7b3dbd81935772eb551dfd0325dfa9d Author: Jens Axboe Date: Thu Mar 30 15:15:30 2006 +0200 [PATCH] Introduce sys_splice() system call This adds support for the sys_splice system call. Using a pipe as a transport, it can connect to files or sockets (latter as output only). From the splice.c comments: "splice": joining two ropes together by interweaving their strands. This is the "extended pipe" functionality, where a pipe is used as an arbitrary in-memory buffer. Think of a pipe as a small kernel buffer that you can use to transfer data from one end to the other. The traditional unix read/write is extended with a "splice()" operation that transfers data buffers to or from a pipe buffer. Named by Larry McVoy, original implementation from Linus, extended by Jens to support splicing to files and fixing the initial implementation bugs. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit cd7a9202a5a6e7712df2b80ed5ebd7b078130fc3 Author: Kyle McMartin Date: Thu Mar 30 11:47:32 2006 -0500 [PARISC] Fix double free when removing HIL drivers On Thu, Mar 30, 2006 at 08:31:02AM -0500, Dmitry Torokhov wrote: > Don't do that, its double free. input_unregister_device() normally > causes release() to be called and free the device. input_free_device > is only to be called when input_register_device has not been called or > failed. > > Plus you might want to unregister device after closing serio port, > otherwise your interrupt routine might be referencing already freed > memory. Signed-off-by: Kyle McMartin commit 4da9f131a74d12de56c44da6d522a9116da06805 Author: Kyle McMartin Date: Wed Mar 29 19:47:32 2006 -0500 [PARISC] Add atomic_sub_and_test Define atomic_sub_and_test to fix build failures. Signed-off-by: Kyle McMartin commit a2d33807061133c8bb5cf515eec16e6900f26bc6 Author: Stuart Brady Date: Wed Mar 29 13:11:25 2006 -0700 [PARISC] Enabled some NLS modules in a500, b180 and c3000 defconfigs With c3000_defconfig and b180_defconfig, FAT couldn't be used because no NLS modules were built. Signed-off-by: Stuart Brady Signed-off-by: Kyle McMartin commit 8ace5ff0a6d6674a2cf7a58fc573e599f2dd2090 Author: Kyle McMartin Date: Wed Mar 29 15:21:12 2006 -0700 [PARISC] Kill duplicated EXPORT_SYMBOL warnings Some symbols are exported both in parisc_ksyms.c, and at their definition site. Nuke the redundant EXPORT_SYMBOL in ksyms to quiet warnings when vmlinux is linked. Signed-off-by: Kyle McMartin commit d345fd362b1a8b14cc2dacf6a10c28b1962759d3 Author: Kyle McMartin Date: Wed Mar 29 15:18:32 2006 -0700 [PARISC] Move ioremap EXPORT_SYMBOL from parisc_ksyms.c Move ioremap/iounmap EXPORT_SYMBOL to ioremap.c where they belong. Signed-off-by: Kyle McMartin commit 2746ae14fe55f9483ae94ef89d4495d0eb8ee03d Author: Kyle McMartin Date: Wed Mar 29 07:04:49 2006 -0700 [PARISC] Make local_t use atomic_long_t As done in asm-generic/local.h in mainline. Otherwise local_t was 32-bit even on a 64-bit kernel. Signed-off-by: Kyle McMartin commit 6f0b45152d458f86f11e8a601735af1c352e6f6c Author: Helge Deller Date: Sun Mar 26 11:19:46 2006 -0700 [PARISC] Update defconfigs Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 50a34dbd612925f2ec55b1781632835ef36b97d5 Author: Kyle McMartin Date: Fri Mar 24 21:24:21 2006 -0700 [PARISC] Add PREEMPT support Signed-off-by: Kyle McMartin commit bc8846c522264d2522b0082321ec8c2051a4536f Author: Kyle McMartin Date: Fri Mar 24 21:22:02 2006 -0700 [PARISC] More useful readwrite lock helpers spinlock.c needs _can_lock helpers. Rewrite _is_locked helpers to be _can_lock helpers. Signed-off-by: Kyle McMartin commit 102c8c76f787add0790406d5c47e03cb6f8765c2 Author: Helge Deller Date: Sun Mar 26 07:41:55 2006 -0700 [PARISC] Convert HIL drivers to use input_allocate_device Convert HIL drivers to use input_allocate_device() - avoids crashes. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 10267cdd0c2dee46a3f59d93fbfac7229d416dba Author: Helge Deller Date: Sun Mar 26 01:54:16 2006 -0700 [PARISC] Fixup CONFIG_EISA a bit Fix up some ISA/EISA stuff. (Note: isa_ accessors have been removed from asm/io.h) Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit b29eac43023bb1b62081efa878c3cf72cb39c437 Author: Kyle McMartin Date: Sun Feb 19 11:02:50 2006 -0700 [PARISC] getsockopt should be ENTRY_COMP compat_sys_getsockopt exists, so we should use that, instead of directly using sys_getsockopt on 64-bit compiles. Signed-off-by: Kyle McMartin commit a41d3862dfd44a1b09a0f6243bb34773061fd9a2 Author: Helge Deller Date: Thu Mar 23 01:07:00 2006 -0700 [PARISC] Remove obsolete CONFIG_DEBUG_IOREMAP Remove CONFIG_DEBUG_IOREMAP, it's now obsolete and won't work anyway. Remove it from lib/KConfig since it was only available on parisc. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit cb4ab59cd6136f6ad6b3513054ac969fea02dfc6 Author: Helge Deller Date: Thu Mar 23 00:40:10 2006 -0700 [PARISC] Temporary FIXME for ioremapping EISA regions Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 29ef8295327653ff09a56285c35213cd31fa54b3 Author: Helge Deller Date: Thu Mar 23 00:32:46 2006 -0700 [PARISC] Enable ioremap functionality unconditionally Enable CONFIG_HPPA_IOREMAP by default and remove all now unnecessary code. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 857600c77161fd36e30cd6bcca9a0a8676036323 Author: Helge Deller Date: Wed Mar 22 15:19:46 2006 -0700 [PARISC] Fix stifb with IOREMAP and a 64-bit kernel Kill various warnings when built using ioremap. Remove stifb_{read,write} functions, which are now obsolete (and stack abusers!) Disable stifb mmap() functionality on a 64-bit kernel, it will crash the machine. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit b8ce0aadcdebbaf5ec013c57e2a0803060817bcc Author: Helge Deller Date: Tue Mar 7 14:12:13 2006 -0700 [PARISC] Add CONFIG_HPPA_IOREMAP to conditionally enable ioremap Instead of making it a #define in asm/io.h, allow user to select to turn on IOREMAP from the config menu. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit b31059f7634931a06f6811247ae9217d1a833a46 Author: Helge Deller Date: Thu Mar 23 15:48:15 2006 -0700 [PARISC] Add STRICT_MM_TYPECHECKS Add STRICT_MM_TYPECHECKS to page.h as other architectures do. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit b9e71ac13a71bb435a4146d868080f5389bb906c Author: Helge Deller Date: Tue Mar 21 16:01:15 2006 -0700 [PARISC] Fix IOREMAP with a 64-bit kernel We were only copying 32-bits of the PTE/PFN, not the full 52-bits. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit ba57583396585a1ca509e2a84d970a2ff3f9bbfb Author: James Bottomley Date: Wed Mar 22 09:42:04 2006 -0700 [PARISC] Add parisc implementation of flush_kernel_dcache_page() We need to do a little renaming of our original syntax because of the difference in arguments. Signed-off-by: James Bottomley Signed-off-by: Kyle McMartin commit ab43227c8a568119a3aebc952a95ac3023e1730d Author: James Bottomley Date: Wed Mar 22 08:28:59 2006 -0700 [PARISC] Add parisc implementation of flush_anon_page() This should now allow SG_IO and fuse to function correctly on our platform. Signed-off-by: James Bottomley Signed-off-by: Kyle McMartin commit 5076c15862644edb91d2e3436b2fa3e07b28385d Author: Helge Deller Date: Mon Mar 27 12:52:15 2006 -0700 [PARISC] I/O-Space must be ioremap_nocache()'d Addresses in F-space must be accessed uncached on most parisc machines. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 94c3e87a792c70d041954b0ef68ebd22368d0931 Author: Helge Deller Date: Tue Mar 7 13:34:45 2006 -0700 [PARISC] Enable free_initrd_mem() I think it's time to enable free_initrd_mem() again... Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit a81dd18eb974cc34634c53a6447b2799ec0c3158 Author: Thibaut VARENE Date: Fri Feb 3 18:06:30 2006 -0700 [PARISC] Clarify pdc_stable license terms pdc_stable.c is explicitly licensed under GPL version 2. Signed-off-by: Thibaut VARENE Signed-off-by: Kyle McMartin commit c1c57d767100417f63c18da52d7e96f82b2b9e1a Author: Bjorn Helgaas Date: Thu Mar 30 09:53:39 2006 -0700 [IA64] ioremap() should prefer WB over UC efi_memmap_init() collects full granules of WB memory, without regard for whether they also support UC. So in order for ioremap() to work for main memory, it must prefer WB mappings when possible. Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit 3283a67d8618c9a292eced23e8753ab64adc6dba Author: Jes Sorensen Date: Thu Mar 30 10:13:22 2006 -0500 [IA64] Add __mca_table to the DISCARD list in gate.lds Add __mca_table to the DISCARD list for the gate.lds linker script to avoid broken linker references when linking the final vmlinux file. Also add comment to include/asm-ia64/asmmacros.h to avoid anyone else hitting this problem in the future. Credits to James Bottomley for spotting the DISCARD list in gate.lds.S Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 618a3c03fcfdf1ac4543247c8ddfb0c9d775ff33 Author: Hal Rosenstock Date: Tue Mar 28 16:40:04 2006 -0800 IB/mad: RMPP support for additional classes Add RMPP support for additional management classes that support it. Also, validate RMPP is consistent with management class specified. Signed-off-by: Hal Rosenstock Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit fa9656bbd9af5b95adc43eaa0a143992346378cb Author: Jack Morgenstein Date: Tue Mar 28 16:39:07 2006 -0800 IB/mad: include GID/class when matching receives Received responses are currently matched against sent requests based on TID only. According to the spec, responses should match based on the combination of TID, management class, and requester LID/GID. Without the additional qualification, an agent that is responding to two requests, both of which have the same TID, can match RMPP ACKs with the incorrect transaction. This problem can occur on the SM node when responding to SA queries. Signed-off-by: Jack Morgenstein Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit cc3d48db75235adf0ae37d3287f6f9e14657d1ae Author: Lennert Buytenhek Date: Thu Mar 30 10:51:44 2006 +0100 [ARM] 3424/2: ixp23xx: fix uncompress.h for recent CRLF decompressor change Patch from Lennert Buytenhek Adapt ixp23xx uncompress.h to a081568d7016061ed848696984e3acf1ba0b3054. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit fd88dd740ad7b92cd399b6116dfa9486b36ffaff Author: Marc-Andre Hebert Date: Thu Mar 30 10:24:08 2006 +0100 [ARM] 3434/1: pxa i2s amsl define Patch from Marc-Andre Hebert The error concerns a bit mask define for the AMSL bit of the SACR1 register in the 2.6 kernel tree. The AMSL is bit 0 and it was defined as so in the 2.4 kernel tree but it is inccorrectly set as bit 1 (a reserved bit) in the 2.6 kernel tree. Signed-off-by: Marc-Andre Hebert Signed-off-by: Russell King commit b48340aff031db98dbd34a4bbc575eec9bb78359 Author: Lennert Buytenhek Date: Thu Mar 30 10:24:07 2006 +0100 [ARM] 3425/1: xsc3: need to include pgtable-hwdef.h Patch from Lennert Buytenhek Adapt xsc3 to the changes in 74945c8616a50074277e18641baaae7464006766 (xsc3 was written before but merged after the latter went in.) Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit d53ace70052b5c0a08a4f92993c0614f84920abf Author: Russell King Date: Wed Mar 29 09:42:43 2006 +0100 [ARM] Allow un-muxed syscalls to be available for everyone It's been a while since the un-muxed socket and ipc syscalls were introduced, so make the unistd.h number definitions visible for non-EABI as well as EABI. Signed-off-by: Russell King commit 63af2a5c5990d95f1e7d8795f1425fb976ea2b4b Author: Mark Lord Date: Wed Mar 29 09:50:31 2006 -0500 [PATCH] sata_mv: three bug fixes (1) A DMA transfer size of 0x10000 was not being written as 0x0000 in the PRDs. Fixed. (1) The DEV_IRQ interrupt cause bit happens spuriously during EDMA operation, and was not being ignored by the driver. This led to various "drive busy" errors being reported, with associated unpredictable behaviour. Fixed. (2) If a SATA or PCI interrupt was received with no outstanding command, the interrupt handler still attempted to invoke ata_qc_complete(), triggering assert()/BUG_ON() behaviour elsewhere in libata. Fixed. The driver still has issues with confusion after error-recovery, but should now be reliable in the absence of drive errors. I will be looking more into the error-handling bugs next. Signed-Off-By: Mark Lord Signed-off-by: Jeff Garzik commit 00b6f5e9e04b2186a71a5892640bb2d8e09a030e Author: Albert Lee Date: Mon Mar 27 16:39:18 2006 +0800 [PATCH] libata: ata_dev_init_params() fixes ata_dev_init_params() fixes: - Get the "heads" and "sectors" parameters from caller instead of implicitly from dev->id[]. - Return AC_ERR_INVALID instead of 0 if an invalid parameter is found Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 17efc5f7237995295cbe008828788d187fea3c88 Author: Alan Cox Date: Mon Mar 27 19:01:32 2006 +0100 [PATCH] libata: Fix interesting use of "extern" and also some bracketing Signed-off-by: Alan Cox Last of the set, just clean up some oddments. Assuming the whole set is now ok then the remaining differences are the setup of PIO_0 at reset and the ->data_xfer method. Signed-off-by: Jeff Garzik commit 5444a6f405618706eddbe1605ef8533b1b655764 Author: Alan Cox Date: Mon Mar 27 18:58:20 2006 +0100 [PATCH] libata: Simplex and other mode filtering logic Add a field to the host_set called 'flags' (was host_set_flags changed to suit Jeff) Add a simplex_claimed field so we can remember who owns the DMA channel Add a ->mode_filter() hook to allow drivers to filter modes Add docs for mode_filter and set_mode Filter according to simplex state Filter cable in core This provides the needed framework to support all the mode rules found in the PATA world. The simplex filter deals with 'to spec' simplex DMA systems found in older chips. The cable filter avoids duplicating the same rules in each chip driver with PATA. Finally the mode filter is neccessary because drive/chip combinations have errata that forbid certain modes with some drives or types of ATA object. Drive speed setup remains per channel for now and the filters now use the framework Tejun put into place which cleans them up a lot from the older libata-pata patches. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 692785e798f341c057ff976c35a3d86ad5af8ac6 Author: Alan Cox Date: Mon Mar 27 18:49:19 2006 +0100 [PATCH] libata - ATA is both ATA and CFA I think this is still needed with the new probe code (which btw seems to be missing docs in upstream ?). Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e35a9e01f2a504871e70576a9e11dbe4d8dee456 Author: Alan Cox Date: Mon Mar 27 18:46:37 2006 +0100 [PATCH] libata: Add ->set_mode hook for odd drivers Some hardware doesn't want the usual mode setup logic running. This allows the hardware driver to replace it for special cases in the least invasive way possible. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 4e5ec5dba22ea509b1a004f9815751f0ffc815e5 Author: Alan Cox Date: Mon Mar 27 18:42:40 2006 +0100 [PATCH] libata: BMDMA handling updates This is the minimal patch set to enable the current code to be used with a controller following SFF (ie any PATA and early SATA controllers) safely without crashes if there is no BMDMA area or if BMDMA is not assigned by the BIOS for some reason. Simplex status is recorded but not acted upon in this change, this isn't a problem with the current drivers as none of them are for simplex hardware. A following diff will deal with that. The flags in the probe structure remain ->host_set_flags although Jeff asked me to rename them, simply because the rename would break the usual Linux rules that old code should break when there are changes. not compile and run and then blow up/eat your computer/etc. Renaming this later is a trivial exercise once a better name is chosen. Signed-off-by: Jeff Garzik commit 56079431b6ba163df8ba26b3eccc82379f0c0ce4 Author: Denis Vlasenko Date: Wed Mar 29 15:57:29 2006 -0800 [NET]: Deinline some larger functions from netdevice.h On a allyesconfig'ured kernel: Size Uses Wasted Name and definition ===== ==== ====== ================================================ 95 162 12075 netif_wake_queue include/linux/netdevice.h 129 86 9265 dev_kfree_skb_any include/linux/netdevice.h 127 56 5885 netif_device_attach include/linux/netdevice.h 73 86 4505 dev_kfree_skb_irq include/linux/netdevice.h 46 60 1534 netif_device_detach include/linux/netdevice.h 119 16 1485 __netif_rx_schedule include/linux/netdevice.h 143 5 492 netif_rx_schedule include/linux/netdevice.h 81 7 366 netif_schedule include/linux/netdevice.h netif_wake_queue is big because __netif_schedule is a big inline: static inline void __netif_schedule(struct net_device *dev) { if (!test_and_set_bit(__LINK_STATE_SCHED, &dev->state)) { unsigned long flags; struct softnet_data *sd; local_irq_save(flags); sd = &__get_cpu_var(softnet_data); dev->next_sched = sd->output_queue; sd->output_queue = dev; raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_restore(flags); } } static inline void netif_wake_queue(struct net_device *dev) { #ifdef CONFIG_NETPOLL_TRAP if (netpoll_trap()) return; #endif if (test_and_clear_bit(__LINK_STATE_XOFF, &dev->state)) __netif_schedule(dev); } By de-inlining __netif_schedule we are saving a lot of text at each callsite of netif_wake_queue and netif_schedule. __netif_rx_schedule is also big, and it makes more sense to keep both of them out of line. Patch also deinlines dev_kfree_skb_any. We can deinline dev_kfree_skb_irq instead... oh well. netif_device_attach/detach are not hot paths, we can deinline them too. Signed-off-by: Denis Vlasenko Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5d4fe2c1ce83c3e967ccc1ba3d580c1a5603a866 Author: Lennert Buytenhek Date: Wed Mar 29 15:12:44 2006 +0200 [PATCH] ixp2000: fix gcc4 breakage gcc4 doesn't like us declaring a static function inside another function. We can do away with this construct altogether and use BUILD_BUG_ON() instead (idea from Andi Kleen.) Signed-off-by: Lennert Buytenhek Signed-off-by: Jeff Garzik commit 391fc09a143aac08d1a3dc37b60238612b504ad3 Author: Gary Zambrano Date: Tue Mar 28 14:57:38 2006 -0800 [PATCH] b44: ensure valid mac addr Added code to check for invalid MAC address from eeprom or user input. Signed-off-by: Gary Zambrano Signed-off-by: Jeff Garzik commit bc0e1fc970279c539db1e94dd473acbb193ee473 Author: Linas Vepstas Date: Tue Mar 28 16:36:23 2006 -0600 [PATCH] Janitor: drivers/net/pcnet32: fix incorrect comments The comments concerning how the pcnet32 ethernet device driver selects the MAC addr to use are incorrect. A recent patch (in the last 3 months) changed how the code worked, but did not change the comments. Side comment: the new behaviour is good; I've got a pcnet32 card which powers up with garbage in the CSR's, and a good MAC addr in the PROM. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 8a91ed60f58451342a25f3ab4484c7257430aa8e Author: Arthur Othieno Date: Tue Mar 28 14:09:01 2006 -0800 [PATCH] net: remove CONFIG_NET_CBUS conditional for NS8390 Don't bother testing for CONFIG_NET_CBUS ("NEC PC-9800 C-bus cards"); it went out with the rest of PC98 subarch. Signed-off-by: Arthur Othieno Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a8b4cf42cf57e44e3c4a585e0f0a71e3a7efbf29 Author: Mark Brown Date: Tue Mar 28 14:08:55 2006 -0800 [PATCH] natsemi: Support oversized EEPROMs The natsemi chip can have a larger EEPROM attached than it itself uses for configuration. This patch adds support for user space access to such an EEPROM. Signed-off-by: Mark Brown Cc: Tim Hockin Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 8dfc914a3f2ae4e303e2bff89f28fc14cee8a9a6 Author: Jens Osterkamp Date: Mon Mar 27 17:16:36 2006 +0200 [PATCH] spidernet : enable tx checksum offloading by default This enables TX checksum offloading for the spidernet driver by default. Signed-off-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit ff59c4563a8d1b39597aab4917959146c61f09b0 Author: Jay Vosburgh Date: Mon Mar 27 13:27:43 2006 -0800 [PATCH] bonding: support carrier state for master Add support for the bonding master to specify its carrier state based upon the state of the slaves. For 802.3ad, the bond is up if there is an active, parterned aggregator. For other modes, the bond is up if any slaves are up. Updates driver version to 3.0.3. Based on a patch by jamal . Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 8a89334caf80bb7c86383b73fd5a528cb88c696f Author: Randy Dunlap Date: Mon Mar 27 12:26:12 2006 -0800 [PATCH] acenic: fix section mismatches Fix section mismatches in acenic driver: WARNING: drivers/net/acenic.o - Section mismatch: reference to .init.data:tigon2FwText from .text between 'acenic_probe_one' (at offset 0x2409) and 'ace_interrupt' WARNING: drivers/net/acenic.o - Section mismatch: reference to .init.data:tigon2FwRodata from .text between 'acenic_probe_one' (at offset 0x2422) and 'ace_interrupt' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 4e5077b62b1f67fe0df916e387da4a6dabe577e9 Author: Jens Osterkamp Date: Tue Mar 28 15:59:55 2006 +0200 [PATCH] spidernet : reduce console spam This patch reduces the message level of the RX ram full messages from err to debug to prevent spamming the console leaving it in the logfiles though. From: Jens Osterkamp Signed-off-by: Jeff Garzik commit 00b428c2ab35c81905b3e39d673689216dbd4742 Author: Roger Luethi Date: Tue Mar 28 20:53:56 2006 +0200 [PATCH] via-rhine: link state fix Problems with link state detection have been reported several times in the past months. Denis Vlasenko did all the work tracking it down. Jeff Garzik suggested the proper place for the fix. When using the mii library, the driver needs to check mii->force_media and set dev->state accordingly. Signed-off-by: Roger Luethi Signed-off-by: Jeff Garzik commit b8ab2dc3e1a7c525ca73ba0af3518ec0b7654b3b Author: Komuro Date: Sun Mar 26 07:31:55 2006 +0900 [PATCH] axnet_cs.c : add hardware multicast support Signed-off-by: Jeff Garzik commit 05c8e0ac5c37e9739a852b526afeecae97607cbb Author: Tejun Heo Date: Sat Mar 25 14:28:57 2006 +0900 [PATCH] libata: kill trailing whitespace Kill trailing whitespace. Signed-off-by: Jeff Garzik commit 5c5131297db57b501f371ab53c40343eac6f2af7 Author: Gary Zambrano Date: Wed Mar 29 17:12:05 2006 -0500 b44: fix force mac address before ifconfig up Initializing the b44 MAC & PCI functional blocks in the controller must occur inside init_one(). This will allow access to the MAC registers. The controller was being powered up in b44_open() which would not allow access to the registers before ifconfig was up. Philip Kohlbecher found this bug. Signed-off-by: Gary Zambrano commit 68907dad58cd7ef11536e1db6baeb98b20af91b2 Author: Randy Dunlap Date: Wed Mar 29 13:58:25 2006 -0800 [DCCP]: Use NULL for pointers, comfort sparse. From: Randy Dunlap Use NULL instead of 0 for pointers. Fix these sparse warnings: net/dccp/feat.c:207:20: warning: Using plain integer as NULL pointer net/dccp/feat.c:325:21: warning: Using plain integer as NULL pointer net/dccp/feat.c:526:20: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 6a57b2ee4506bb8a3d2f7ba2f62ff65ec56ba150 Author: Patrick Caulfield Date: Wed Mar 29 13:57:31 2006 -0800 [DECNET]: Fix refcount From: Patrick Caulfield This patch fixes a bug in the reference counting for the default DECnet device. If the device is changed, then the new device had its refcount decremented rather than the old one! Signed-off-by: David S. Miller commit 0cff260a42c051ee64c184ed05d96d18d243f7f6 Author: Russell King Date: Wed Mar 29 22:03:38 2006 +0100 [SERIAL] Allow 8250 PCI, PNP, GSC and HP300 support to be disabled Allow the 8250 probe modules to be disabled if we're building for with EMBEDDED enabled. This reduces the kernel size by not including unnecessary probe module support. Original idea from Matt Mackall for PCI only, expanded to others by rmk. Signed-off-by: Russell King commit d89cfe7f1e82d758a7983584c1593795d4e2c098 Author: Russ Anderson Date: Wed Mar 29 11:31:23 2006 -0600 [IA64] Move __mca_table out of the __init section Move __mca_table out of the __init section. Signed-off-by: Tony Luck commit e1f7868c80947d40ef8e1fd37323d939a9bf311c Author: Roland Dreier Date: Wed Mar 29 09:36:46 2006 -0800 IB/mthca: Fix section mismatch problems Quite a few cleanup functions in mthca were marked as __devexit. However, they could also be called from error paths during initialization, so they cannot be marked that way. Just delete all of the incorrect annotations. Signed-off-by: Roland Dreier commit ef12d4561900d4af37f46a8f2d97dec3c4d59bf9 Author: Roland Dreier Date: Wed Mar 29 09:36:46 2006 -0800 IPoIB: Fix oops with raw sockets ipoib_hard_header() needs to handle the case that daddr is NULL. This can happen when packets are injected via a raw socket, and IPoIB shouldn't oops in this case. Reported by Anton Blanchard Signed-off-by: Roland Dreier commit a07bacca7b4032dd361ad5c87b1c39ae229e6739 Author: Jack Morgenstein Date: Sun Mar 26 17:01:12 2006 +0200 IB/mthca: Fix check of size in SRQ creation The previous patch for Tavor broke MemFree logic. The driver should perform limit check only for Tavor. For MemFree, the check is incorrect, since ds (WQE stride) is always a power-of-2 (although the max_desc_size may not be). In Tavor, however, WQE stride and desc_size are the same, and are not necessarily power-of-2. The check was really for the WQE stride (and it Tavor, we use max_desc_size for the stride). Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 3f89f834497c0f37f16a3b6c32b1d60782facbca Author: Roland Dreier Date: Wed Mar 29 09:36:45 2006 -0800 IB/srp: Fix unmapping of fake scatterlist The recently merged patch to create a fake scatterlist for non-SG SCSI commands had a bug: the driver ended up doing dma_unmap_sg() on a scatterlist scmnd->request_buffer rather than the fake scatter list it created. Fix this so that the driver unmaps the same thing it maps. Signed-off-by: Roland Dreier commit c65631781eb0f2e81865017c1484e9aef76e1b61 Author: Russell King Date: Wed Mar 29 09:30:20 2006 +0100 [MMC] Pass -DDEBUG on compiler command line if MMC_DEBUG selected Rather than each driver test MMC_DEBUG itself, and define DEBUG, pass it in via the makefile instead. Fix drivers to use pr_debug() where appropriate, and avoid defining a DEBUG() macro. Signed-off-by: Russell King commit 730c9b7e6630f786fcec026fb11d2e6f2c90fdcb Author: Carlos Aguiar Date: Wed Mar 29 09:21:00 2006 +0100 [MMC] Add OMAP MMC host driver Adds OMAP MMC driver. Signed-off-by: Juha Yrjölä Signed-off-by: Tony Lindgren Signed-off-by: Carlos Aguiar Signed-off-by: Russell King commit 15e812ad849e142e3dfc984d33c4d8042389f148 Author: Anton Blanchard Date: Mon Mar 27 12:00:45 2006 +1100 [PATCH] powerpc: Remove oprofile spinlock backtrace code Remove oprofile spinlock backtrace code now we have proper calltrace support. Also make MMCRA sihv and sipr bits a variable since they may change in future cpus. Finally, MMCRA should be a 64bit quantity. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit fa465f8c7008c6cab32b05f3f1af57f7c86e8873 Author: Anton Blanchard Date: Mon Mar 27 12:03:17 2006 +1100 [PATCH] powerpc: Add oprofile calltrace support to all powerpc cpus Add calltrace support for other powerpc cpus. Tested on 7450. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 6c6bd754bf43d59756f094de144ecac239629dda Author: Brian Rogan Date: Mon Mar 27 11:57:01 2006 +1100 [PATCH] powerpc: Add oprofile calltrace support Add oprofile calltrace support to powerpc. Disable spinlock backtracing now we can use calltrace info. (Updated to work on both 32bit and 64bit by me). Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit b848e0a07dd5a874821bb587bb724fac4aa45bad Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 14:50:52 2006 -0800 [PATCH] for_each_possible_cpu: ppc for_each_cpu() actually iterates across all possible CPUs. We've had mistakes in the past where people were using for_each_cpu() where they should have been iterating across only online or present CPUs. This is inefficient and possibly buggy. We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the future. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 0e5519548fdc8eadc3eacb49b1908d44d347fb2b Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 14:50:51 2006 -0800 [PATCH] for_each_possible_cpu: powerpc for_each_cpu() actually iterates across all possible CPUs. We've had mistakes in the past where people were using for_each_cpu() where they should have been iterating across only online or present CPUs. This is inefficient and possibly buggy. We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the future. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit bab70a4af737f623de5b034976a311055308ab86 Author: Eugene Surovegin Date: Tue Mar 28 10:13:12 2006 -0800 [PATCH] lock PTE before updating it in 440/BookE page fault handler Fix 44x and BookE page fault handler to correctly lock PTE before trying to pte_update() it, otherwise this PTE might be swapped out after pte_present() check but before pte_uptdate() call, resulting in corrupted PTE. This can happen with enabled preemption and low memory condition. Signed-off-by: Eugene Surovegin Signed-off-by: Paul Mackerras commit 547679087bc60277d11b11631d826895762c4505 Author: Oleg Nesterov Date: Tue Mar 28 16:11:30 2006 -0800 [PATCH] send_sigqueue: simplify and fix the race send_sigqueue() checks PF_EXITING, then locks p->sighand->siglock. This is unsafe: 'p' can exit in between and set ->sighand = NULL. The race is theoretical, the window is tiny and irqs are disabled by the caller, so I don't think we need the fix for -stable tree. Convert send_sigqueue() to use lock_task_sighand() helper. Also, delete 'p->flags & PF_EXITING' re-check, it is unneeded and the comment is wrong. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1d5e21e3e388fb2c16463d007e788b1e41b74f1 Author: Oleg Nesterov Date: Tue Mar 28 16:11:29 2006 -0800 [PATCH] do_notify_parent_cldstop: remove 'to_self' param The previous patch has changed callsites of do_notify_parent_cldstop() so that to_self == (->ptrace & PT_PTRACED) always (as it should be). We can remove this parameter now. Signed-off-by: Oleg Nesterov Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 883606a7c9e84e206f96c38f88c4bd66df72f51e Author: Oleg Nesterov Date: Tue Mar 28 16:11:28 2006 -0800 [PATCH] finish_stop: don't check stop_count < 0 Remove an obscure 'stop_count < 0' check in finish_stop(). The previous patch made this case impossible. Signed-off-by: Oleg Nesterov Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dac27f4a09c274db048e80d2511102e540ac9e3a Author: Oleg Nesterov Date: Tue Mar 28 16:11:28 2006 -0800 [PATCH] simplify do_signal_stop() do_signal_stop() considers 'thread_group_empty()' as a special case. This was needed to avoid taking tasklist_lock. Since this lock is unneeded any longer, we can remove this special case and simplify the code even more. Also, before this patch, finish_stop() was called with stop_count == -1 for 'thread_group_empty()' case. This is not strictly wrong, but confusing and unneeded. Signed-off-by: Oleg Nesterov Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7e5328a06a2beee3a2bbfaf87ce2a7bbe937de1 Author: Oleg Nesterov Date: Tue Mar 28 16:11:27 2006 -0800 [PATCH] cleanup __exit_signal->cleanup_sighand path Move 'tsk->sighand = NULL' from cleanup_sighand() to __exit_signal(). This makes the exit path more understandable and allows us to do cleanup_sighand() outside of ->siglock protected section. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a2c7a7837da1b91468e50426066d988050e4d56 Author: Oleg Nesterov Date: Tue Mar 28 16:11:26 2006 -0800 [PATCH] make fork() atomic wrt pgrp/session signals Eric W. Biederman wrote: > > Ok. SUSV3/Posix is clear, fork is atomic with respect > to signals. Either a signal comes before or after a > fork but not during. (See the rationale section). > http://www.opengroup.org/onlinepubs/000095399/functions/fork.html > > The tasklist_lock does not stop forks from adding to a process > group. The forks stall while the tasklist_lock is held, but a fork > that began before we grabbed the tasklist_lock simply completes > afterwards, and the child does not receive the signal. This also means that SIGSTOP or sig_kernel_coredump() signal can't be delivered to pgrp/session reliably. With this patch copy_process() returns -ERESTARTNOINTR when it detects a pending signal, fork() will be restarted transparently after handling the signals. This patch also deletes now unneeded "group_stop_count > 0" check, copy_process() can no longer succeed while group stop in progress. Signed-off-by: Oleg Nesterov Acked-By: Eric Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47e65328a7b1cdfc4e3102e50d60faf94ebba7d3 Author: Oleg Nesterov Date: Tue Mar 28 16:11:25 2006 -0800 [PATCH] pids: kill PIDTYPE_TGID This patch kills PIDTYPE_TGID pid_type thus saving one hash table in kernel/pid.c and speeding up subthreads create/destroy a bit. It is also a preparation for the further tref/pids rework. This patch adds 'struct list_head thread_group' to 'struct task_struct' instead. We don't detach group leader from PIDTYPE_PID namespace until another thread inherits it's ->pid == ->tgid, so we are safe wrt premature free_pidmap(->tgid) call. Currently there are no users of find_task_by_pid_type(PIDTYPE_TGID). Should the need arise, we can use find_task_by_pid()->group_leader. Signed-off-by: Oleg Nesterov Acked-By: Eric Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88531f725bd52e37a7be726860e4ff3f09031d89 Author: Oleg Nesterov Date: Tue Mar 28 16:11:24 2006 -0800 [PATCH] do_sigaction: don't take tasklist_lock do_sigaction() does not need tasklist_lock anymore, we can simplify the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aacc90944d4b1f2fcec73a8127eb60a3a701ce1c Author: Oleg Nesterov Date: Tue Mar 28 16:11:23 2006 -0800 [PATCH] do_group_exit: don't take tasklist_lock do_group_exit() takes tasklist_lock for zap_other_threads(), this is unneeded now. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a122b341b74c08020f6521b615acca6a692aac79 Author: Oleg Nesterov Date: Tue Mar 28 16:11:22 2006 -0800 [PATCH] do_signal_stop: don't take tasklist_lock do_signal_stop() does not need tasklist_lock anymore. So it does not need to do misc re-checks, and we can simplify the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6108ccd3e2f3012d5eec582e0af4d75e693824da Author: Oleg Nesterov Date: Tue Mar 28 16:11:22 2006 -0800 [PATCH] relax sig_needs_tasklist() handle_stop_signal() does not need tasklist_lock for SIG_KERNEL_STOP_MASK signals anymore. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d7185c818925ba5fe90efa75840d0b415032774 Author: Oleg Nesterov Date: Tue Mar 28 16:11:21 2006 -0800 [PATCH] sys_times: don't take tasklist_lock sys_times: don't take tasklist_lock Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5876700cd399112ecfa70df36203c8c6660d84f8 Author: Oleg Nesterov Date: Tue Mar 28 16:11:20 2006 -0800 [PATCH] do __unhash_process() under ->siglock This patch moves __unhash_process() call from realease_task() to __exit_signal(), so __detach_pid() is called with ->siglock held. This means we don't need tasklist_lock to iterate over thread group anymore: copy_process() was already changed to do attach_pid() under ->siglock. Eric's "pidhash-kill-switch_exec_pids.patch" from -mm changed de_thread() so it doesn't touch PIDTYPE_TGID. NOTE: de_thread() still needs some attention. It still changes task->pid lockless. Taking ->sighand.siglock here allows to do more tasklist_lock removals. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35f5cad8c4bab94ecc5acdc4055df5ea12dc76f8 Author: Oleg Nesterov Date: Tue Mar 28 16:11:19 2006 -0800 [PATCH] revert "Optimize sys_times for a single thread process" This patch reverts 'CONFIG_SMP && thread_group_empty()' optimization in sys_times(). The reason is that the next patch breaks memory ordering which is needed for that optimization. tasklist_lock in sys_times() will be eliminated completely by further patch. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a14c5c9da0b4c34b5be783403c54f0396fcfe77 Author: Oleg Nesterov Date: Tue Mar 28 16:11:18 2006 -0800 [PATCH] move __exit_signal() to kernel/exit.c __exit_signal() is private to release_task() now. I think it is better to make it static in kernel/exit.c and export flush_sigqueue() instead - this function is much more simple and straightforward. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c81addc9d3a0ebff2155e0cd86f90820ab97147e Author: Oleg Nesterov Date: Tue Mar 28 16:11:17 2006 -0800 [PATCH] rename __exit_sighand to cleanup_sighand Cosmetic, rename __exit_sighand to cleanup_sighand and move it close to copy_sighand(). This matches copy_signal/cleanup_signal naming, and I think it is easier to follow. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Acked-by: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29ff471234d53c7235db287bc52f91884c2977c6 Author: Oleg Nesterov Date: Tue Mar 28 16:11:17 2006 -0800 [PATCH] cleanup __exit_signal() This patch factors out duplicated code under 'if' branches. Also, BUG_ON() conversions and whitespace cleanups. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Acked-by: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b3934ef52712ece50605dfc72e55d00c580831a Author: Oleg Nesterov Date: Tue Mar 28 16:11:16 2006 -0800 [PATCH] copy_process: cleanup bad_fork_cleanup_signal __exit_signal() does important cleanups atomically under ->siglock. It is also called from copy_process's error path. This is not good, for example we can't move __unhash_process() under ->siglock for that reason. We should not mix these 2 paths, just look at ugly 'if (p->sighand)' under 'bad_fork_cleanup_sighand:' label. For copy_process() case it is sufficient to just backout copy_signal(), nothing more. Again, nobody can see this task yet. For CLONE_THREAD case we just decrement signal->count, otherwise nobody can see this ->signal and we can free it lockless. This patch assumes it is safe to do exit_thread_group_keys() without tasklist_lock. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Acked-by: David Howells Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7001510d0cbf51ad202dd2d0744f54104285cbb9 Author: Oleg Nesterov Date: Tue Mar 28 16:11:14 2006 -0800 [PATCH] copy_process: cleanup bad_fork_cleanup_sighand The only caller of exit_sighand(tsk) is copy_process's error path. We can call __exit_sighand() directly and kill exit_sighand(). This 'tsk' was not yet registered in pid_hash[] or init_task.tasks, it has no external references, nobody can see it, and IF (clone_flags & CLONE_SIGHAND) At least 'current' has a reference to ->sighand, this means atomic_dec_and_test(sighand->count) can't be true. ELSE Nobody can see this ->sighand, this means we can free it without any locking. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Acked-by: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9e88e84b5245da0a1dadb6ccca70ae84e93ccf6 Author: Oleg Nesterov Date: Tue Mar 28 16:11:14 2006 -0800 [PATCH] introduce sig_needs_tasklist() helper In my opinion this patch cleans up the code. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f63ee72e0fb82e504a0489490babc7612c7cd6c2 Author: Oleg Nesterov Date: Tue Mar 28 16:11:13 2006 -0800 [PATCH] introduce lock_task_sighand() helper Add lock_task_sighand() helper and converts group_send_sig_info() to use it. Hopefully we will have more users soon. This patch also removes '!sighand->count' and '!p->usage' checks, I think they both are bogus, racy and unneeded (but probably it makes sense to restore them as BUG_ON()s). ->sighand is cleared and it's ->count is decremented in release_task() with sighand->siglock held, so it is a bug to have '!p->usage || !->count' after we already locked and verified it is the same. On the other hand, an already dead task without ->sighand can have a non-zero ->usage due to ptrace, for example. If we read the stale value of ->sighand we must see the change after spin_lock(), because that change was done while holding that same old ->sighand.siglock. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa1757f90bea3f598b6e5d04d922a6a60200f1da Author: Oleg Nesterov Date: Tue Mar 28 16:11:12 2006 -0800 [PATCH] convert sighand_cache to use SLAB_DESTROY_BY_RCU This patch borrows a clever Hugh's 'struct anon_vma' trick. Without tasklist_lock held we can't trust task->sighand until we locked it and re-checked that it is still the same. But this means we don't need to defer 'kmem_cache_free(sighand)'. We can return the memory to slab immediately, all we need is to be sure that sighand->siglock can't dissapear inside rcu protected section. To do so we need to initialize ->siglock inside ctor function, SLAB_DESTROY_BY_RCU does the rest. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f09f9749cdde4e69f95d62d96d2e03f50b3353c Author: Oleg Nesterov Date: Tue Mar 28 16:11:11 2006 -0800 [PATCH] release_task: replace open-coded ptrace_unlink() Use ptrace_unlink() instead of open-coding. No changes in kernel/exit.o Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8292d633add73d40eda1d26089e2fc758944ac7c Author: Oleg Nesterov Date: Tue Mar 28 16:11:10 2006 -0800 [PATCH] wait_for_helper: trivial style cleanup Use NULL instead of (... *)0 Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ac781b11ade6e3451f6b460991c8b2b87e58280 Author: Oleg Nesterov Date: Tue Mar 28 16:11:09 2006 -0800 [PATCH] reparent_thread: use remove_parent/add_parent Use remove_parent/add_parent instead of open coding. No changes in kernel/exit.o Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7c6464117a02b0d54feb4ebeca4db70fa493678 Author: Oleg Nesterov Date: Tue Mar 28 16:11:09 2006 -0800 [PATCH] pidhash: don't use zero pids daemonize() calls set_special_pids(1,1), while init and kernel threads spawned from init/main.c:init() run with 0,0 special pids. This patch changes INIT_SIGNALS() so that that they run with ->pgrp == ->session == 1 also. This patch relies on fact that swapper's pid == 1. Now we have no hashed zero pids in pid_hash[]. User-space visibible change is that now /sbin/init runs with (1,1) special pids and becomes a session leader. Quoting Eric W. Biederman: > > daemonize consuming pids (1,1) then consumes pgrp 1. So that when > /sbin/init calls setsid() it thinks /sbin/init is a process group > leader and setsid() fails. So /sbin/init wants pgrp 1 session 1 > but doesn't get it. I am pretty certain daemonize did not exist so > /sbin/init got pgrp 1 session 1 in 2.4. > > That is the bug that is being fixed. > > This patch takes things one step farther and essentially calls > setsid() for pid == 1 before init is execed. That is new behavior > but it cleans up the kernel as we now do not need to support the > case of a process without a process group or a session. > > The only process that could have possibly cared was /sbin/init > and it already calls setsid() because it doesn't want that. > > If this was going to break anything noticeable the change in behavior > from 2.4 to 2.6 would have already done that. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73b9ebfe126a4a886ee46cbab637374d7024668a Author: Oleg Nesterov Date: Tue Mar 28 16:11:07 2006 -0800 [PATCH] pidhash: don't count idle threads fork_idle() does unhash_process() just after copy_process(). Contrary, boot_cpu's idle thread explicitely registers itself for each pid_type with nr = 0. copy_process() already checks p->pid != 0 before process_counts++, I think we can just skip attach_pid() calls and job control inits for idle threads and kill unhash_process(). We don't need to cleanup ->proc_dentry in fork_idle() because with this patch idle threads are never hashed in kernel/pid.c:pid_hash[]. We don't need to hash pid == 0 in pidmap_init(). free_pidmap() is never called with pid == 0 arg, so it will never be reused. So it is still possible to use pid == 0 in any PIDTYPE_xxx namespace from kernel/pid.c's POV. However with this patch we don't hash pid == 0 for PIDTYPE_PID case. We still have have PIDTYPE_PGID/PIDTYPE_SID entries with pid == 0: /sbin/init and kernel threads which don't call daemonize(). Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c97d98931ac52ef110b62d9b75c6a6f2bfbc1898 Author: Oleg Nesterov Date: Tue Mar 28 16:11:06 2006 -0800 [PATCH] kill SET_LINKS/REMOVE_LINKS Both SET_LINKS() and SET_LINKS/REMOVE_LINKS() have exactly one caller, and these callers already check thread_group_leader(). This patch kills theese macros, they mix two different things: setting process's parent and registering it in init_task.tasks list. Callers are updated to do these actions by hand. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b678ece42893b53aae5ed7cb8d7cb261cacb72c Author: Oleg Nesterov Date: Tue Mar 28 16:11:05 2006 -0800 [PATCH] don't use REMOVE_LINKS/SET_LINKS for reparenting There are places where kernel uses REMOVE_LINKS/SET_LINKS while changing process's ->parent. Use add_parent/remove_parent instead, they don't abuse of global process list. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fafabd86f1b75ed3cc6a6ffbe6c3e53e3d8457d Author: Oleg Nesterov Date: Tue Mar 28 16:11:05 2006 -0800 [PATCH] remove add_parent()'s parent argument add_parent(p, parent) is always called with parent == p->parent, and it makes no sense to do it differently. This patch removes this argument. No changes in affected .o files. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d799f03597cabc6112acb518fc8ab4487aa4f953 Author: Oleg Nesterov Date: Tue Mar 28 16:11:04 2006 -0800 [PATCH] choose_new_parent: remove unused arg, sanitize exit_state check 'child_reaper' arg is not used in choose_new_parent(). "->exit_state >= EXIT_ZOMBIE" check is a leftover, was valid when EXIT_ZOMBIE lived in ->state var. Signed-off-by: Oleg Nesterov Acked-by: Eric Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d73d65293e3e2de7e916a89c8da30be0948afab7 Author: Eric W. Biederman Date: Tue Mar 28 16:11:03 2006 -0800 [PATCH] pidhash: kill switch_exec_pids switch_exec_pids is only called from de_thread by way of exec, and it is only called when we are exec'ing from a non thread group leader. Currently switch_exec_pids gives the leader the pid of the thread and unhashes and rehashes all of the process groups. The leader is already in the EXIT_DEAD state so no one cares about it's pids. The only concern for the leader is that __unhash_process called from release_task will function correctly. If we don't touch the leader at all we know that __unhash_process will work fine so there is no need to touch the leader. For the task becomming the thread group leader, we just need to give it the pid of the old thread group leader, add it to the task list, and attach it to the session and the process group of the thread group. Currently de_thread is also adding the task to the task list which is just silly. Currently the only leader of __detach_pid besides detach_pid is switch_exec_pids because of the ugly extra work that was being performed. So this patch removes switch_exec_pids because it is doing too much, it is creating an unnecessary special case in pid.c, duing work duplicated in de_thread, and generally obscuring what it is going on. The necessary work is added to de_thread, and it seems to be a little clearer there what is going on. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 652486fb84a07ed750f1c11639518f55808bf555 Author: Eric W. Biederman Date: Tue Mar 28 16:11:02 2006 -0800 [PATCH] do_SAK: don't depend on session ID 0 I'm not really certain what the thinking was but the code obviously wanted to walk processes other than just those in it's session, for purposes of do_SAK. Just walking those tasks that don't have a session assigned sounds at the very least incomplete. So modify the code to kill everything in the session and anything else that might have the tty open. Hopefully this helps if the do_SAK functionality is ever finished. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f96a795d4f6a8a13abe4b0d3c5d1c28ea8d7ce4b Author: Eric W. Biederman Date: Tue Mar 28 16:11:01 2006 -0800 [PATCH] do_tty_hangup: use group_send_sig_info not send_group_sig_info We already have the tasklist_lock so there is no need for us to reacquire it with send_group_sig_info. reader/writer locks allow multiple readers and thus recursion so the old code was ok just wastful. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c99c5cb94319a601b5ec5ee31c331f84755dd74 Author: Eric W. Biederman Date: Tue Mar 28 16:11:00 2006 -0800 [PATCH] Remove dead kill_sl prototype from sched.h The kill_sl function doesn't exist in the kernel so a prototype is completely unnecessary. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1434261c07bcebd5ef8b8a18f919fdee533b84e0 Author: Oleg Nesterov Date: Tue Mar 28 16:10:59 2006 -0800 [PATCH] simplify exec from init's subthread I think it is enough to take tasklist_lock for reading while changing child_reaper: Reparenting needs write_lock(tasklist_lock) Only one thread in a thread group can do exec() sighand->siglock garantees that get_signal_to_deliver() will not see a stale value of child_reaper. This means that we can change child_reaper earlier, without calling zap_other_threads() twice. "child_reaper = current" is a NOOP when init does exec from main thread, we don't care. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fef23e7fbb11a0a78cd61935f7056bc2b237995a Author: Eric W. Biederman Date: Tue Mar 28 16:10:58 2006 -0800 [PATCH] exec: allow init to exec from any thread. After looking at the problem of init calling exec some more I figured out an easy way to make the code work. The actual symptom without out this patch is that all threads will die except pid == 1, and the thread calling exec. The thread calling exec will wait forever for pid == 1 to die. Since pid == 1 does not install a handler for SIGKILL it will never die. This modifies the tests for init from current->pid == 1 to the equivalent current == child_reaper. And then it causes exec in the ugly case to modify child_reaper. The only weird symptom is that you wind up with an init process that doesn't have the oldest start time on the box. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94c2d01a537daf51a9fcf229d7d2204c979355d9 Author: Jody McIntyre Date: Tue Mar 28 20:04:04 2006 -0500 ohci1394: cleanup the "Unexpected PCI resource length" warning. This warning happens in practice because the resource length reported by the chipset is too large. This is not actually a problem, so don't warn about it. If it happens to be too small, warn about that, but with a different message so people who are used to ignoring the old message don't. Signed-off-by: Jody McIntyre commit d024ebc67eaa6bb7abca2e3061cb257a1587fa30 Author: Stefan Richter Date: Tue Mar 28 20:03:55 2006 -0500 sbp2: misc debug logging cleanups - move call of scsi_print_command from sbp2_send_command to the beginning of sbp2_queue_command to show also commands which are not sent - put sbp2's name into scsi_print_sense - use __FUNCTION__ in log messages - remove a few less useful log messages and comments Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre commit 8f0525ff1901f4fafe6d02d5d373ca38103ff5a7 Author: Stefan Richter Date: Tue Mar 28 20:03:45 2006 -0500 sbp2: proper treatment of DID_OK Sbp2 relied on DID_OK to be defined as 0. Always shift DID_OK into the right position anyway, and explicitly return DID_OK together with CHECK_CONDITION. Also comment on some #if 0 code. The patch does not change current behaviour. Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre commit 23e93f1742372bc938e53151bdbf88d284ee9561 Author: Stefan Richter Date: Tue Mar 28 20:03:34 2006 -0500 ieee1394: set read permission for parameter disable_irm No need to hide it from /sys/module/ieee1394/parameters/. Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre commit 65b4b4e81a5094d52cbe372b887b1779abe53f9b Author: Andrew Morton Date: Tue Mar 28 16:37:06 2006 -0800 [NETFILTER]: Rename init functions. Every netfilter module uses `init' for its module_init() function and `fini' or `cleanup' for its module_exit() function. Problem is, this creates uninformative initcall_debug output and makes ctags rather useless. So go through and rename them all to $(filename)_init and $(filename)_fini. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit c3e5d877aadc073b09c4901f8c1a768de79b0a5d Author: S P Date: Tue Mar 28 16:35:46 2006 -0800 [TCP]: Fix RFC2465 typo. Signed-off-by: S P Signed-off-by: David S. Miller commit d2acc3479cbccd5cfbca6c787be713ef1de12ec6 Author: Herbert Xu Date: Tue Mar 28 01:12:13 2006 -0800 [INET]: Introduce tunnel4/tunnel6 Basically this patch moves the generic tunnel protocol stuff out of xfrm4_tunnel/xfrm6_tunnel and moves it into the new files of tunnel4.c and tunnel6 respectively. The reason for this is that the problem that Hugo uncovered is only the tip of the iceberg. The real problem is that when we removed the dependency of ipip on xfrm4_tunnel we didn't really consider the module case at all. For instance, as it is it's possible to build both ipip and xfrm4_tunnel as modules and if the latter is loaded then ipip simply won't load. After considering the alternatives I've decided that the best way out of this is to restore the dependency of ipip on the non-xfrm-specific part of xfrm4_tunnel. This is acceptable IMHO because the intention of the removal was really to be able to use ipip without the xfrm subsystem. This is still preserved by this patch. So now both ipip/xfrm4_tunnel depend on the new tunnel4.c which handles the arbitration between the two. The order of processing is determined by a simple integer which ensures that ipip gets processed before xfrm4_tunnel. The situation for ICMP handling is a little bit more complicated since we may not have enough information to determine who it's for. It's not a big deal at the moment since the xfrm ICMP handlers are basically no-ops. In future we can deal with this when we look at ICMP caching in general. The user-visible change to this is the removal of the TUNNEL Kconfig prompts. This makes sense because it can only be used through IPCOMP as it stands. The addition of the new modules shouldn't introduce any problems since module dependency will cause them to be loaded. Oh and I also turned some unnecessary pskb's in IPv6 related to this patch to skb's. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f0088a50e7c49d1ba285c88fe06345f223652fd3 Author: Denis Vlasenko Date: Tue Mar 28 01:08:21 2006 -0800 [NET]: deinline 200+ byte inlines in sock.h Sizes in bytes (allyesconfig, i386) and files where those inlines are used: 238 sock_queue_rcv_skb 2.6.16/net/x25/x25_in.o 238 sock_queue_rcv_skb 2.6.16/net/rose/rose_in.o 238 sock_queue_rcv_skb 2.6.16/net/packet/af_packet.o 238 sock_queue_rcv_skb 2.6.16/net/netrom/nr_in.o 238 sock_queue_rcv_skb 2.6.16/net/llc/llc_sap.o 238 sock_queue_rcv_skb 2.6.16/net/llc/llc_conn.o 238 sock_queue_rcv_skb 2.6.16/net/irda/af_irda.o 238 sock_queue_rcv_skb 2.6.16/net/ipx/af_ipx.o 238 sock_queue_rcv_skb 2.6.16/net/ipv6/udp.o 238 sock_queue_rcv_skb 2.6.16/net/ipv6/raw.o 238 sock_queue_rcv_skb 2.6.16/net/ipv4/udp.o 238 sock_queue_rcv_skb 2.6.16/net/ipv4/raw.o 238 sock_queue_rcv_skb 2.6.16/net/ipv4/ipmr.o 238 sock_queue_rcv_skb 2.6.16/net/econet/econet.o 238 sock_queue_rcv_skb 2.6.16/net/econet/af_econet.o 238 sock_queue_rcv_skb 2.6.16/net/bluetooth/sco.o 238 sock_queue_rcv_skb 2.6.16/net/bluetooth/l2cap.o 238 sock_queue_rcv_skb 2.6.16/net/bluetooth/hci_sock.o 238 sock_queue_rcv_skb 2.6.16/net/ax25/ax25_in.o 238 sock_queue_rcv_skb 2.6.16/net/ax25/af_ax25.o 238 sock_queue_rcv_skb 2.6.16/net/appletalk/ddp.o 238 sock_queue_rcv_skb 2.6.16/drivers/net/pppoe.o 276 sk_receive_skb 2.6.16/net/decnet/dn_nsp_in.o 276 sk_receive_skb 2.6.16/net/dccp/ipv6.o 276 sk_receive_skb 2.6.16/net/dccp/ipv4.o 276 sk_receive_skb 2.6.16/net/dccp/dccp_ipv6.o 276 sk_receive_skb 2.6.16/drivers/net/pppoe.o 209 sk_dst_check 2.6.16/net/ipv6/ip6_output.o 209 sk_dst_check 2.6.16/net/ipv4/udp.o 209 sk_dst_check 2.6.16/net/decnet/dn_nsp_out.o Large inlines with multiple callers: Size Uses Wasted Name and definition ===== ==== ====== ================================================ 238 21 4360 sock_queue_rcv_skb include/net/sock.h 109 10 801 sock_recv_timestamp include/net/sock.h 276 4 768 sk_receive_skb include/net/sock.h 94 8 518 __sk_dst_check include/net/sock.h 209 3 378 sk_dst_check include/net/sock.h 131 4 333 sk_setup_caps include/net/sock.h 152 2 132 sk_stream_alloc_pskb include/net/sock.h 125 2 105 sk_stream_writequeue_purge include/net/sock.h Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1d1818316f0b61e0997a159680e1e631a23a407e Author: David S. Miller Date: Tue Mar 28 00:01:55 2006 -0800 [ECONET]: Convert away from SOCKOPS_WRAPPED Just use a local econet_mutex instead. Signed-off-by: David S. Miller commit f6c90b71a355a0a4a22e1cfee5748617adc25a53 Author: Petr Vandrovec Date: Mon Mar 27 23:39:31 2006 -0800 [NET]: Fix ipx/econet/appletalk/irda ioctl crashes Fix kernel oopses whenever somebody issues compatible ioctl on AppleTalk, Econet, IPX or IRDA socket. For AppleTalk/Econet/IRDA it restores state in which these sockets were before compat_ioctl was introduced to the socket ops, for IPX it implements support for 4 ioctls which were not implemented before - as these ioctls use structures which match between 32bit and 64bit userspace, no special code is needed, just call 64bit ioctl handler. Signed-off-by: Petr Vandrovec Signed-off-by: David S. Miller commit f1465f7ea9e7aecba8e41d4aac9240f9b7fe2e24 Author: David S. Miller Date: Mon Mar 27 23:28:44 2006 -0800 [NET]: Kill Documentation/networking/TODO Sorely out of date. Add the linux-net wiki web site to the NETWORKING maintainers entry, on which we maintain the current networking TODO list. Noticed by Randy Dunlap. Signed-off-by: David S. Miller commit e3a05978f18a38ae13bb3f1184abf3c999e06da9 Author: Michael Chan Date: Mon Mar 27 23:21:07 2006 -0800 [TG3]: Update version and reldate Update version to 3.55. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f475f163f128a0d9c92dfa90bcb5953fd8f9766f Author: Michael Chan Date: Mon Mar 27 23:20:14 2006 -0800 [TG3]: Skip timer code during full lock Skip the main timer code if interrupts are disabled in the full lock state. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 100c4673307f5806788791b9b886877c806afd96 Author: Michael Chan Date: Mon Mar 27 23:19:00 2006 -0800 [TG3]: Speed up SRAM access Speed up SRAM read and write functions if possible by using MMIO instead of config. cycles. With this change, the post reset signature done at the end of D3 power change must now be moved before the D3 power change. IBM reported a problem on powerpc blades during ethtool self test that was caused by the memory test taking excessively long. Config. cycles are very slow on powerpc and the memory test can take more than 10 seconds to complete using config. cycles. As a result, NETDEV WATCHDOG can be triggered during self test and the chip can end up in a funny state. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ff18ff023495a4f1ce7c65e7c376c4720eccf4da Author: Michael Chan Date: Mon Mar 27 23:17:27 2006 -0800 [TG3]: Fix PHY loopback on 5700 Fix PHY loopback failure on some 5700 devices. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6728a8e2e180b96ac7940dd4d766c52f8e177717 Author: Michael Chan Date: Mon Mar 27 23:16:49 2006 -0800 [TG3]: Fix bug in 40-bit DMA workaround code Need to check the TG3_FLAG_40BIT_DMA_BUG flag in the workaround code path instead of device flags. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 008652b337364ee994a0cd71d88a0fe9f00fc7ca Author: Michael Chan Date: Mon Mar 27 23:14:53 2006 -0800 [TG3]: Fix probe failure due to invalid MAC address Some older bootcode in some devices may report 0 MAC address in SRAM when booting up from low power state. This patch fixes the problem by checking for a valid MAC address in SRAM and falling back to NVRAM if necessary. Thanks to walt for reporting the problem and helping to debug it. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 556640510d7e15664cb9bf2f70f7519bfedd6c29 Author: Stefan Richter Date: Tue Mar 28 19:59:42 2006 -0500 sbp2: check for ARM failure Sbp2 did not check for successful registration of the lower address range when CONFIG_IEEE1394_SBP2_PHYS_DMA was set. If hpsb_register_addrspace failed, a "login timed-out" would occur which is misleading. Now sbp2 logs a sensible error message. Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre commit 180a43044faeaa9bfe0c604d472023a6446430b5 Author: Stefan Richter Date: Tue Mar 28 19:57:34 2006 -0500 ohci1394: clean up asynchronous and physical request filters programming Various cleanups of how ohci1394 programs AsynchronousRequestFilter, PhysicalRequestFilter, and physUpperBoundOffset. In particular, do not rewrite registers within the bus reset interrupt handler if bus resets do not affect the registers in the first place. Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre commit c1d08eb6cd06c225d825c8981e05729389fd51a9 Author: Stefan Richter Date: Tue Mar 28 19:56:45 2006 -0500 ieee1394: remove amdtp remains from ieee1394_core.h since amdtp driver was deleted Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre commit a8748445e5ff747b114b5c29461ba2d28af404e8 Author: Stefan Richter Date: Tue Mar 28 19:55:41 2006 -0500 ieee1394: remove devfs support Devfs has been disabled in the last kernel releases, so let's remove it from ieee1394core, raw1394, video1394, dv1394. Signed-off-by: Stefan Richter Acked-by: Greg Kroah-Hartman Cc: Dan Dennedy Signed-off-by: Jody McIntyre commit e2f8165dc3c70cd74bcf2c63a6c0de254c6ff50c Author: Jody McIntyre Date: Tue Mar 28 19:55:11 2006 -0500 Signed-off-by: Jody McIntyre commit 147830f297f369fa8731a75e3e4c7c7cd5c3e868 Author: Stefan Richter Date: Tue Mar 28 19:54:52 2006 -0500 sbp2: prevent unloading of 1394 low-level driver When a new SBP-2 unit is added, sbp2 now takes a reference on the 1394 low-level driver (ohci1394 or pcilynx). This prevents the 1394 host driver module from being unloaded, e.g. by an administrative routine cleanup of unused kernel modules or when another 1394 driver which depends on ohci1394 is unloaded. The reference is dropped when the SBP-2 unit was disconnected, when sbp2 is unloaded or detached from the unit, or when addition of the SBP-2 unit failed. Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre commit c25366680bab32efcbb5eda5f3c202099ba27b81 Author: Nathan Scott Date: Wed Mar 29 10:44:40 2006 +1000 [XFS] Cleanup in XFS after recent get_block_t interface tweaks. Signed-off-by: Nathan Scott commit 0b7e56a450a4800c5f48f3a345a5a7de2f38041c Author: Mandy Kirkconnell Date: Wed Mar 29 09:53:03 2006 +1000 [XFS] Remove unused/obsoleted function: xfs_bmap_do_search_extents() SGI-PV: 951415 SGI-Modid: xfs-linux-melb:xfs-kern:208490a Signed-off-by: Mandy Kirkconnell Signed-off-by: Nathan Scott commit 3ccb8b5f650e80b7cc7ef76289348472e026b6ac Author: Glen Overby Date: Wed Mar 29 09:52:28 2006 +1000 [XFS] A change to inode chunk allocation to try allocating the new chunk contiguous with the most recently allocated chunk. On a striped filesystem, this will fill a stripe unit with inodes before allocating new inodes in another stripe unit. SGI-PV: 951416 SGI-Modid: xfs-linux-melb:xfs-kern:208488a Signed-off-by: Glen Overby Signed-off-by: Nathan Scott commit 3c674e74238cb2484169e3f84f687c66887086b6 Author: Nathan Scott Date: Wed Mar 29 09:26:15 2006 +1000 Fixes a regression from the recent "remove ->get_blocks() support" change. inode->i_blkbits should be used when making a get_block_t request of a filesystem instead of dio->blkbits, as that does not indicate the filesystem block size all the time (depends on request alignment - see start of __blockdev_direct_IO). Signed-off-by: Nathan Scott Acked-by: Badari Pulavarty commit e0edd5962bd83d319aaa50b39580dc30299a7fe3 Author: Nathan Scott Date: Wed Mar 29 08:55:47 2006 +1000 [XFS] Fix compiler warning and small code inconsistencies in compat ioctl32 land. SGI-PV: 904196 SGI-Modid: xfs-linux-melb:xfs-kern:25590a Signed-off-by: Nathan Scott commit c41564b5af328ea4600b26119f6c9c8e1eb5c28b Author: Nathan Scott Date: Wed Mar 29 08:55:14 2006 +1000 [XFS] We really suck at spulling. Thanks to Chris Pascoe for fixing all these typos. SGI-PV: 904196 SGI-Modid: xfs-linux-melb:xfs-kern:25539a Signed-off-by: Nathan Scott commit 55eb061326765b2d0489387cfb3fc7dbd244f917 Author: Dave Airlie Date: Wed Mar 29 08:16:12 2006 +1000 drm: remove drm_{alloc,free}_pages drm_alloc_pages and drm_free_pages can now be removed. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit d2b58b58838159b2afdc624f74b208e8bd3c029e Author: Dave Airlie Date: Wed Mar 29 08:12:52 2006 +1000 drm: sis fix compile warning Prevent a gcc warning in the SIS DRM driver. offset is a unsigned int and the printk wants a long. Signed-off-by: Jon Mason Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 6896eec0296c400db95e4382095fd4d6cf59800c Author: Paul Brook Date: Tue Mar 28 22:19:29 2006 +0100 [ARM] 3420/1: Missing clobber in example code Patch from Paul Brook The example code in the source documentation for __kernel_dmb clobbers r0 but doesn't list it the asm clobber list. Signed-off-by: Paul Brook Signed-off-by: Russell King commit c4713074375c61f939310b04e92090afe29810dc Author: Lennert Buytenhek Date: Tue Mar 28 21:18:54 2006 +0100 [ARM] 3388/1: ixp23xx: add core ixp23xx support Patch from Lennert Buytenhek This patch adds support for the Intel ixp23xx series of CPUs. The ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit MACs, two 10/100 MACs, expansion bus, four microengines, a Media and Switch Fabric unit almost identical to the one on the ixp2400, two xscale (8250ish) UARTs and a bunch of other stuff. This patch adds the core ixp23xx support code, and support for the ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double Espresso platforms. Signed-off-by: Deepak Saxena Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit e9937d4b0a9382c4c78411d1c53e62be396ee9a9 Author: Lennert Buytenhek Date: Tue Mar 28 21:08:13 2006 +0100 [ARM] 3417/1: add support for logicpd pxa270 card engine Patch from Lennert Buytenhek Add support for the LogicPD PXA270 Card Engine. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit fa5ebfccf30741dc432cb81c25bb591c8018eb18 Author: Lennert Buytenhek Date: Tue Mar 28 21:02:26 2006 +0100 [ARM] 3387/1: ixp23xx: add defconfig Patch from Lennert Buytenhek Add ixp23xx defconfig. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 23bdf86aa06ebe71bcbf6b7d25de9958c6ab33fa Author: Lennert Buytenhek Date: Tue Mar 28 21:00:40 2006 +0100 [ARM] 3377/2: add support for intel xsc3 core Patch from Lennert Buytenhek This patch adds support for the new XScale v3 core. This is an ARMv5 ISA core with the following additions: - L2 cache - I/O coherency support (on select chipsets) - Low-Locality Reference cache attributes (replaces mini-cache) - Supersections (v6 compatible) - 36-bit addressing (v6 compatible) - Single instruction cache line clean/invalidate - LRU cache replacement (vs round-robin) I attempted to merge the XSC3 support into proc-xscale.S, but XSC3 cores have separate errata and have to handle things like L2, so it is simpler to keep it separate. L2 cache support is currently a build option because the L2 enable bit must be set before we enable the MMU and there is no easy way to capture command line parameters at this point. There are still optimizations that can be done such as using LLR for copypage (in theory using the exisiting mini-cache code) but those can be addressed down the road. Signed-off-by: Deepak Saxena Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit e6d1ba5cd9954e7c15538aaef7585b235a69e0e1 Author: Satoru Takeuchi Date: Mon Mar 27 17:13:46 2006 +0900 [IA64] simplify some condition checks in iosapic_check_gsi_range Some condition checks on iosapic_check_gsi_range() can be omitted because always `base <= end' is assured. This patch simplifies those checks. Signed-off-by: Satoru Takeuchi Signed-off-by: Tony Luck commit 46cba3dcaea4eb51b28fac78d15542a90619a6ef Author: Satoru Takeuchi Date: Mon Mar 27 17:12:19 2006 +0900 [IA64] correct some messages and fixes some minor things This patch corrects some wrong comments and a printk message. It also fixes some minor things, and makes all lines fit in 80 columns. Signed-off-by: Satoru Takeuchi Signed-off-by: Tony Luck commit c326e27eb79e98050d855e371ac534ff4352e910 Author: Mattia Dongili Date: Mon Mar 27 22:55:55 2006 +0200 [CPUFREQ] cpufreq_conservative: keep ignore_nice_load and freq_step values when reselected Keep the value of ignore_nice_load and freq_step of the conservative governor after the governor is deselected and reselected. Signed-off-by: Mattia Dongili Signed-off-by: Dave Jones commit ec7e15d6486e9d1da1c2f344b670b8388ba7019b Author: Andrew Morton Date: Tue Mar 28 01:56:55 2006 -0800 [PATCH] compat_sys_futex() warning fix kernel/futex_compat.c: In function `compat_sys_futex': kernel/futex_compat.c:140: warning: passing arg 1 of `do_futex' makes integer from pointer without a cast kernel/futex_compat.c:140: warning: passing arg 5 of `do_futex' makes integer from pointer without a cast Not sure what Ingo was thinking of here. Put the casts back in. Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fa95ef639830ccf0ca1ad42ee9bed87ef642f32 Author: Jesper Juhl Date: Tue Mar 28 01:56:54 2006 -0800 [PATCH] sound: Remove unneeded kmalloc() return value casts Get rid of unnessesary casts of kmalloc() return value in sound/ Signed-off-by: Jesper Juhl Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f927fcc2fd1575d01efb4b76665975007945690 Author: Alexey Dobriyan Date: Tue Mar 28 01:56:53 2006 -0800 [PATCH] Typo fixes Fix a lot of typos. Eyeballed by jmc@ in OpenBSD. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ded23ac62776b4360d88e9b0330792d2c57fdfdf Author: Jesper Juhl Date: Tue Mar 28 01:56:52 2006 -0800 [PATCH] trivial typos in Documentation/cputopology.txt Fix a few trivial mistakes in Documentation/cputopology.txt Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b791ccef21129f9c7e4ab8274d5d7a0ec0a2fb7c Author: Jesper Juhl Date: Tue Mar 28 01:56:52 2006 -0800 [PATCH] fix signed vs unsigned in nmi watchdog Fix "signed vs unsigned" in nmi_watchdog_tick. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca43b317fc557bbcca845c684d93375286bf9e0b Author: Jesper Juhl Date: Tue Mar 28 01:56:51 2006 -0800 [PATCH] vfree does its own NULL check, no need to be explicit in oss/msnd.c vfree() does it's own NULL checking, no need for explicit check before calling it. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a83fdddb8a104c021837637a59f93948b906819 Author: Jesper Juhl Date: Tue Mar 28 01:56:50 2006 -0800 [PATCH] no need to check vfree arg for null in oss/sequencer There's no need to check pointers for NULL before handing them to vfree(). Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07e0e93d9a3cdbe3cad450e0d0a2937585dffc55 Author: Jesper Juhl Date: Tue Mar 28 01:56:49 2006 -0800 [PATCH] maestro3 vfree NULL check fixup vfree() checks for NULL, no need to do it explicitly. Signed-off-by: Jesper Juhl Acked-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 457d3d432bede99ed04d3bdeb5efb238a3627e8f Author: Jesper Juhl Date: Tue Mar 28 01:56:49 2006 -0800 [PATCH] vfree NULL check fixup for sb_card There's no need to check the vfree() argument for NULL. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 910638ae7ed4be27d6af55f6c9b5bf54b838e78b Author: Matthias Gehre Date: Tue Mar 28 01:56:48 2006 -0800 [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK Replace all occurences of 0xff.. in calls to function pci_set_dma_mask() and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK from linux/dma-mapping.h. Signed-off-by: Matthias Gehre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60c904ae5bded8bb71f7bff7d63f2a6959d2a8e4 Author: Marcelo Feitoza Parisi Date: Tue Mar 28 01:56:47 2006 -0800 [PATCH] drivers/scsi/*: use time_after() and friends They deal with wrapping correctly and are nicer to read. Signed-off-by: Marcelo Feitoza Parisi Signed-off-by: Alexey Dobriyan Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bae1ff3e7926fe5e92db2f3c6d8832f18f777bc Author: Marcelo Feitoza Parisi Date: Tue Mar 28 01:56:46 2006 -0800 [PATCH] ide-tape: use time_after(), time_after_eq() They deal with wrapping correctly and are nicer to read. Signed-off-by: Marcelo Feitoza Parisi Signed-off-by: Alexey Dobriyan Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05613bdd8647bfc4535b0dcc8f1b95c8b39be394 Author: Marcelo Feitoza Parisi Date: Tue Mar 28 01:56:45 2006 -0800 [PATCH] nvidia-agp: use time_before_eq() It deals with wrapping correctly and is nicer to read. Signed-off-by: Marcelo Feitoza Parisi Signed-off-by: Alexey Dobriyan Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50297cbf07427b47f0fff5ade8e21cdabf860249 Author: Marcelo Feitoza Parisi Date: Tue Mar 28 01:56:44 2006 -0800 [PATCH] drivers/block/*: use time_after() and friends They deal with wrapping correctly and are nicer to read. Signed-off-by: Marcelo Feitoza Parisi Signed-off-by: Alexey Dobriyan Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f45e4656ac0609437267b242953c07d523649f8d Author: Adrian Bunk Date: Tue Mar 28 01:56:43 2006 -0800 [PATCH] arch/i386/kernel/microcode.c: remove the obsolete microcode_ioctl Nowadays, even Debian stable ships a microcode_ctl utility recent enough to no longer use this ioctl. Signed-off-by: Adrian Bunk Acked-by: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50fc9999ec27ad66ce6db31ebb03759f77962bc1 Author: Jesper Juhl Date: Tue Mar 28 01:56:43 2006 -0800 [PATCH] Docs update: missing files and descriptions for filesystems/00-INDEX Add missing files and descriptions to Documentation/filesystems/00-INDEX Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b6f5d20b04dcbc3d888555522b90ba6d36c4106 Author: Arjan van de Ven Date: Tue Mar 28 01:56:42 2006 -0800 [PATCH] Make most file operations structs in fs/ const This is a conversion to make the various file_operations structs in fs/ const. Basically a regexp job, with a few manual fixups The goal is both to increase correctness (harder to accidentally write to shared datastructures) and reducing the false sharing of cachelines with things that get dirty in .data (while .rodata is nicely read only and thus cache clean) Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99ac48f54a91d02140c497edc31dc57d4bc5c85d Author: Arjan van de Ven Date: Tue Mar 28 01:56:41 2006 -0800 [PATCH] mark f_ops const in the inode Mark the f_ops members of inodes as const, as well as fix the ripple-through this causes by places that copy this f_ops and then "do stuff" with it. Signed-off-by: Arjan van de Ven Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec1b9466cb4f6ae6d950bd67055d9410d1056d2a Author: Andrew Morton Date: Tue Mar 28 01:56:40 2006 -0800 [PATCH] ia64: const f_ops fix Tweak the proc setup code so things work OK with const proc_dir_entry.proc_fops. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c30a75256a5863705fb7658cb0b2e3bb09a13df Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 01:56:39 2006 -0800 [PATCH] for_each_possible_cpu: documentaion Replace for_each_cpu with for_each_possible_cpu. Modifies occurences in documentaion. for_each_cpu in whatisRCU.txt should be for_each_online_cpu ??? (I'm not sure..) Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8912599c677f58fd3a5e5420c9cb6df62b2d8fa Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 01:56:39 2006 -0800 [PATCH] for_each_possible_cpu: i386 This patch replaces for_each_cpu with for_each_possible_cpu. under arch/i386. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe449f48368623eb47715061b4977ce982d8e03b Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 01:56:38 2006 -0800 [PATCH] for_each_possible_cpu: oprofile. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fed48463fb20c6bcabc5cf70e2de47b30507ee1 Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 01:56:37 2006 -0800 [PATCH] for_each_possible_cpu: loopback device. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a945022778f100115d0cb6234eb28fc1b15ccaf Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 01:56:37 2006 -0800 [PATCH] for_each_possible_cpu: fixes for generic part replaces for_each_cpu with for_each_possible_cpu(). Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 631d6747e1d877a4baa924cb373b8b9511a53e5e Author: KAMEZAWA Hiroyuki Date: Tue Mar 28 01:56:36 2006 -0800 [PATCH] for_each_possible_cpu: defines for_each_possible_cpu for_each_cpu() is a for-loop over cpu_possible_map. for_each_online_cpu is for-loop cpu over cpu_online_map. .....for_each_cpu() is not sufficiently explicit and can lead to mistakes. This patch adds for_each_possible_cpu() in preparation for the removal of for_each_cpu(). Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68c3431ae22912be580c68d3955ef46515582943 Author: Vadim Lobanov Date: Tue Mar 28 01:56:35 2006 -0800 [PATCH] Fold select_bits_alloc/free into caller code. Remove an unnecessary level of indirection in allocating and freeing select bits, as per the select_bits_alloc() and select_bits_free() functions. Both select.c and compat.c are updated. Signed-off-by: Vadim Lobanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4a1f129f9e43a5e5d28fe6d1b214246a398cdce Author: Eric Dumazet Date: Tue Mar 28 01:56:34 2006 -0800 [PATCH] use fget_light() in select/poll Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70674f95c0a2ea694d5c39f4e514f538a09be36f Author: Andi Kleen Date: Tue Mar 28 01:56:33 2006 -0800 [PATCH] Optimize select/poll by putting small data sets on the stack Optimize select and poll by a using stack space for small fd sets This brings back an old optimization from Linux 2.0. Using the stack is faster than kmalloc. On a Intel P4 system it speeds up a select of a single pty fd by about 13% (~4000 cycles -> ~3500) It also saves memory because a daemon hanging in select or poll will usually save one or two less pages. This can add up - e.g. if you have 10 daemons blocking in poll/select you save 40KB of memory. I did a patch for this long ago, but it was never applied. This version is a reimplementation of the old patch that tries to be less intrusive. I only did the minimal changes needed for the stack allocation. The cut off point before external memory is allocated is currently at 832bytes. The system calls always allocate this much memory on the stack. These 832 bytes are divided into 256 bytes frontend data (for the select bitmaps of the pollfds) and the rest of the space for the wait queues used by the low level drivers. There are some extreme cases where this won't work out for select and it falls back to allocating memory too early - especially with very sparse large select bitmaps - but the majority of processes who only have a small number of file descriptors should be ok. [TBD: 832/256 might not be the best split for select or poll] I suspect more optimizations might be possible, but they would be more complicated. One way would be to cache the select/poll context over multiple system calls because typically the input values should be similar. Problem is when to flush the file descriptors out though. Signed-off-by: Andi Kleen Cc: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b02389e98a7b64ad5cd4823740defa8821f30bbd Author: Andrew Morton Date: Tue Mar 28 01:56:32 2006 -0800 [PATCH] ide_generic_all_on() warning fix drivers/ide/pci/generic.c:45: warning: `ide_generic_all_on' defined but not used Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d266ab88938e49aa95f1965ee020df1b1d4c5761 Author: Alan Cox Date: Tue Mar 28 01:56:31 2006 -0800 [PATCH] Small fixes backported to old IDE SiS driver Some quick backport bits from the libata PATA work to fix things found in the sis driver. The piix driver needs some fixes too but those are way to large and need someone working on old IDE with time to do them. This patch fixes the case where random bits get loaded into SIS timing registers according to the description of the correct behaviour from Vojtech Pavlik. It also adds the SiS5517 ATA16 chipset which is not currently supported by the driver. Thanks to Conrad Harriss for loaning me the machine with the 5517 chipset. Signed-off-by: Alan Cox Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9edc91df07a227dbde9f98ee1097f554130993dc Author: Rene Herman Date: Tue Mar 28 01:56:30 2006 -0800 [PATCH] ide: AMD756 no host side cable detection >From http://marc.theaimsgroup.com/?l=linux-kernel&m=110304128900342&w=2 AMD756 doesn't support host side cable detection. Do disk side only and don't advice obsolete options. Acked-by: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5b95ff010d0a4e40f877277f8f0e62fcd83b5a8 Author: Adrian Bunk Date: Tue Mar 28 01:56:29 2006 -0800 [PATCH] autofs4: proper prototype for autofs4_dentry_release() Add a proper prototype for autofs4_dentry_release() to autofs_i.h. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa8f399a2bc36c1329672400857757e0982babf3 Author: Alexey Dobriyan Date: Tue Mar 28 01:56:28 2006 -0800 [PATCH] drivers/block/acsi_slm.c: size_t can't be < 0 A size_t can't be < 0. (akpm: and rw_verify_area() already did that check) Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e51236092d2f7e40e87e88804b5b42e5f8025415 Author: Andrew Morton Date: Tue Mar 28 01:56:27 2006 -0800 [PATCH] remove relayfs_fs.h This is obsolete. Cc: Tom Zanussi Cc: Jens Axboe Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ca1da4a82b169417b738a35783008c35da26466 Author: Philip Gladstone Date: Tue Mar 28 01:56:27 2006 -0800 [PATCH] Philip Gladstone has moved I noticed that my email address is four jobs ago. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a28af471b8946de052a0eb0c080d5457be93f168 Author: Adrian Bunk Date: Tue Mar 28 01:56:26 2006 -0800 [PATCH] fs/fat/: proper prototypes for two functions Add proper prototypes for fat_cache_init() and fat_cache_destroy() in msdos_fs.h. Signed-off-by: Adrian Bunk Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b71797eff4352b4295919efc52de84f84d33d94 Author: Adrian Bunk Date: Tue Mar 28 01:56:25 2006 -0800 [PATCH] drivers/block/paride/pd.c: fix an off-by-one error The Coverity checker found this off-by-one error. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9e20a920092eb3840424f85c78852c0433df00d Author: Eric Sesterhenn Date: Tue Mar 28 01:56:24 2006 -0800 [PATCH] Change dash2underscore() return value to char Since dash2underscore() just operates and returns chars, I guess its safe to change the return value to a char. With my .config, this reduces its size by 5 bytes. text data bss dec hex filename 4155 152 0 4307 10d3 params.o.orig 4150 152 0 4302 10ce params.o Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b7a317cf863559b49b548a8b97b2f4bdf1e149e Author: Serge E. Hallyn Date: Tue Mar 28 01:56:23 2006 -0800 [PATCH] mqueue comment typo fix (akpm: I don't do comment typos patches. This one snuck through by accident) Signed-off-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a1e524a5fe6c5bf9dd4488e946fa835fda8c3d9 Author: Andrew Morton Date: Tue Mar 28 01:56:22 2006 -0800 [PATCH] alpha: make poll flags the same as other architectures Renumber the recently-added POLLREMOVE and POLLRDHUP to line up with the other architectures. Cc: Davide Libenzi Cc: Ulrich Drepper Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 273577165cd206d2d6689ee4b18aa13de1ec4bde Author: Brian Rogan Date: Tue Mar 28 01:56:20 2006 -0800 [PATCH] Add oprofile_add_ext_sample On ppc64 we look at a profiling register to work out the sample address and if it was in userspace or kernel. The backtrace interface oprofile_add_sample does not allow this. Create oprofile_add_ext_sample and make oprofile_add_sample use it too. Signed-off-by: Anton Blanchard Cc: Philippe Elie Cc: John Levon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f83ca9fe3ee390755f18b4a7780c25ce593b484a Author: Andrew Morton Date: Tue Mar 28 01:56:20 2006 -0800 [PATCH] symversion warning fix gcc-4.2: kernel/module.c: In function '__find_symbol': kernel/module.c:158: warning: the address of '__start___kcrctab', will always evaluate as 'true' kernel/module.c:165: warning: the address of '__start___kcrctab_gpl', will always evaluate as 'true' kernel/module.c:182: warning: the address of '__start___kcrctab_gpl_future', will always evaluate as 'true' Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9eac34104654aa129e365b8d48bbb8c957f186 Author: Andrew Morton Date: Tue Mar 28 01:56:19 2006 -0800 [PATCH] capi: register_chrdev() fix If the user specified `major=0' (odd thing to do), capi.c will use dynamic allocation. We need to pick up that major for subsequent unregister_chrdev(). Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 829d5f68ec59ff7c0fdd472132680df8e4b64f3e Author: Andrew Morton Date: Tue Mar 28 01:56:18 2006 -0800 [PATCH] paride-pt: register_chrdev fix If the user specified `major=0' (odd thing to do), pt.c will use dynamic allocation. We need to pick up that major for subsequent unregister_chrdev(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8637980bab3f09157eef20cc65d2eb7393c770fd Author: Andrew Morton Date: Tue Mar 28 01:56:18 2006 -0800 [PATCH] paride: register_chrdev fix If the user specified `major=0' (odd thing to do), pg.c will use dynamic allocation. We need to pick up that major for subsequent unregister_chrdev(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a687fb18cbd061de2092632cf77e6b9dc93cf7cd Author: Adrian Bunk Date: Tue Mar 28 01:56:17 2006 -0800 [PATCH] let BLK_DEV_RAM_COUNT depend on BLK_DEV_RAM It's purely cosmetic, but with the patch there's no longer a BLK_DEV_RAM_COUNT setting in the .config if BLK_DEV_RAM=n. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be4676e61f969b624185f14d819adef23d45ffc2 Author: Paul Fulghum Date: Tue Mar 28 01:56:16 2006 -0800 [PATCH] synclink_gt: remove uneeded async code Remove code in async receive handling that serves no purpose with new tty receive buffering. Previously this code tried to free up receive buffer space, but now does nothing useful while making expensive calls. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0080b7aae88c75e2a6b38dfcb228b0f239e18e3c Author: Paul Fulghum Date: Tue Mar 28 01:56:15 2006 -0800 [PATCH] synclink_gt add gpio feature Add driver support for general purpose I/O feature of the Synclink GT adapters. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86a34147d1f1c94e94500e63e83f9fa42548a088 Author: Paul Fulghum Date: Tue Mar 28 01:56:14 2006 -0800 [PATCH] synclink: remove dead code Remove dead code from synclink driver. This was used previously when the write method had a from_user flag, which has been removed. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f5370da4b3128b7dfd944b4fcbb5c7b6887348 Author: Kyle McMartin Date: Tue Mar 28 01:56:11 2006 -0800 [PATCH] Decrapify asm-generic/local.h Now that Christoph Lameter's atomic_long_t support is merged in mainline, might as well convert asm-generic/local.h to use it, so the same code can be used for both sizes of 32 and 64-bit unsigned longs. akpm sayeth: Q: Is there any particular reason why these routines weren't simply implemented with local_save/restore_flags, if they are only meant to guarantee atomicity to the local cpu? I'm sure on most platforms this would be more efficient than using an atomic... A: The whole _point_ of local_t is to avoid local_irq_disable(). It's designed to exploit the fact that many CPUs can do incs and decs in a way which is atomic wrt local interrupts, but not atomic wrt SMP. But this patch makes sense, because asm-generic/local.h is just a fallback implementation for architectures which either cannot perform these local-irq-atomic operations, or its maintainers haven't yet got around to implementing them. We need more work done on local_t in the 2.6.17 timeframe - they're defined as unsigned long, but some architectures implement them as signed long. Signed-off-by: Kyle McMartin Cc: Benjamin LaHaise Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f3a36a7d0eb420471506fcd46ee46f4b5cd4ebc Author: Matt Mackall Date: Tue Mar 28 01:56:10 2006 -0800 [PATCH] RTC: Remove some duplicate BCD definitions Remove some duplicate BCD definitions Signed-off-by: Matt Mackall Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41623b064fbd76de5901da7c0e3cd2136617d787 Author: Matt Mackall Date: Tue Mar 28 01:56:09 2006 -0800 [PATCH] RTC: Fix up some RTC whitespace and style Fix up some RTC whitespace and style Signed-off-by: Matt Mackall Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c2e6f6a06cdd239ec17e195e7868ce0171ea154 Author: Matt Mackall Date: Tue Mar 28 01:56:09 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on Alpha The sync may still be needed for CPU clock calibration but we don't sync in the regular case. Signed-off-by: Matt Mackall Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 356a9ce118879664ff88b76055b8bba115c1cc5e Author: Matt Mackall Date: Tue Mar 28 01:56:08 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on SH MPC1211 Signed-off-by: Matt Mackall Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04cfbee0fcb2a2ab31344ac9ace1dd370f3de2bd Author: Matt Mackall Date: Tue Mar 28 01:56:07 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on SH03 Signed-off-by: Matt Mackall Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddcabb4fc7f2f4a70f35aa72827888a4c549d355 Author: Matt Mackall Date: Tue Mar 28 01:56:06 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on MIPS-based DEC Move real_year inside the read loop and move the spinlock up as well Signed-off-by: Matt Mackall Cc: Ralf Baechle Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da2468b6a81884a696fd6c7ab66dcc62d7233d32 Author: Matt Mackall Date: Tue Mar 28 01:56:05 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on MIPS MC146818 Signed-off-by: Matt Mackall Cc: Ralf Baechle Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4af6ec46c696a57ba9b1c1abffcdca14d6ab5410 Author: Matt Mackall Date: Tue Mar 28 01:56:05 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on ARM Signed-off-by: Matt Mackall Cc: Russell King Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f0d7bd6a14dcf5b258cfd809143c50e4897902b Author: Matt Mackall Date: Tue Mar 28 01:56:04 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on PPC Maple Signed-off-by: Matt Mackall Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4dc12ec7e26f287e33065e803bc0aede4c1dbdf3 Author: Matt Mackall Date: Tue Mar 28 01:56:03 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on CHRP (arch/powerpc) Signed-off-by: Matt Mackall Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59937bcdb2bd759d15c792d9798a00da03bf1f48 Author: Matt Mackall Date: Tue Mar 28 01:56:02 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on PPC CHRP (arch/ppc) Signed-off-by: Matt Mackall Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dedf53bb16e27743e5d1f49dbfecf3e5897befa Author: Matt Mackall Date: Tue Mar 28 01:56:01 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on Sparc64 Signed-off-by: Matt Mackall Cc: "David S. Miller" Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 641f71f5f6ed251959ef8f88b1d0edc6ef7a4632 Author: Matt Mackall Date: Tue Mar 28 01:56:01 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on x86_64 Signed-off-by: Matt Mackall Cc: Andi Kleen Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63732c2f37093d63102d53e70866cf87bf0c0479 Author: Matt Mackall Date: Tue Mar 28 01:55:58 2006 -0800 [PATCH] RTC: Remove RTC UIP synchronization on x86 Reading the CMOS clock on x86 and some other arches currently takes up to one second because it synchronizes with the CMOS second tick-over. This delay shows up at boot time as well a resume time. This is the currently the most substantial boot time delay for machines that are working towards instant-on capability. Also, a quick back of the envelope calculation (.5sec * 2M users * 1 boot a day * 10 years) suggests it has cost Linux users in the neighborhood of a million man-hours. An earlier thread on this topic is here: http://groups.google.com/group/linux.kernel/browse_frm/thread/8a24255215ff6151/2aa97e66a977653d?hl=en&lr=&ie=UTF-8&rnum=1&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D1To2R-2S7-11%40gated-at.bofh.it#2aa97e66a977653d ..from which the consensus seems to be that it's no longer desirable. In my view, there are basically four cases to consider: 1) networked, need precise walltime: use NTP 2) networked, don't need precise walltime: use NTP anyway 3) not networked, don't need sub-second precision walltime: don't care 4) not networked, need sub-second precision walltime: get a network or a radio time source because RTC isn't good enough anyway So this patch series simply removes the synchronization in favor of a simple seqlock-like approach using the seconds value. Note that for purposes of timer accuracy on wakeup, this patch will cause us to fire timers up to one second late. But as the current timer resume code will already sync once (or more!), it's no worse for short timers. Signed-off-by: Matt Mackall Cc: Andi Kleen Cc: "David S. Miller" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Russell King Cc: Ralf Baechle Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769ebc66dec24770ea1e99019099d2bc636a61d3 Author: Dean Roe Date: Mon Mar 6 10:32:05 2006 -0600 [IA64-SGI] fix for-loop in sn_hwperf_geoid_to_cnode() Fix a for-loop in sn_hwperf_geoid_to_cnode(). It needs to loop over num_cnodes to ensure it can still process TIO nodes in addition to compute nodes on systems with many nodes. Interim fix until better support for many (>265) nodes is complete. Signed-off-by: Dean Roe Signed-off-by: Tony Luck commit e8222502ee6157e2713da9e0792c21f4ad458d50 Author: Benjamin Herrenschmidt Date: Tue Mar 28 23:15:54 2006 +1100 [PATCH] powerpc: Kill _machine and hard-coded platform numbers This removes statically assigned platform numbers and reworks the powerpc platform probe code to use a better mechanism. With this, board support files can simply declare a new machine type with a macro, and implement a probe() function that uses the flattened device-tree to detect if they apply for a given machine. We now have a machine_is() macro that replaces the comparisons of _machine with the various PLATFORM_* constants. This commit also changes various drivers to use the new macro instead of looking at _machine. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 056cb48a2fb6fb31debf665695a9f97b45cfb8ec Author: Paul Mackerras Date: Tue Mar 28 21:13:44 2006 +1100 ppc: Fix compile error in arch/ppc/lib/strcase.c Now that the strncasecmp implementation takes a size_t third parameter, we need to get a definition of size_t from somewhere. Signed-off-by: Paul Mackerras commit 206dc69b31ca05baac68c75b8ed2ba7dd857d273 Author: Jens Axboe Date: Tue Mar 28 13:03:44 2006 +0200 [BLOCK] cfq-iosched: seek and async performance fixes Detect whether a given process is seeky and if so disable (mostly) the idle window if it is. We still allow just a little idle time, just enough to allow that process to submit a new request. That is needed to maintain fairness across priority groups. In some cases, we could setup several async queues. This is not optimal from a performance POV, since we want all async io in one queue to perform good sorting on it. It also impacted sync queues, as async io got too much slice time. Signed-off-by: Jens Axboe commit 872345b715ee02f3b45528449f0d11b44ef9ebb8 Author: Andrew Morton Date: Mon Mar 27 23:42:49 2006 -0800 [PATCH] git-powerpc: WARN was a dumb idea There are at least 14 different implementations of WARN() in the tree already. The build fails all over the place. Cc: Paul Mackerras Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 4d177fbfdadb011f1bac96f9ccba0cc9f21da8de Author: Stephen Rothwell Date: Tue Mar 28 17:14:44 2006 +1100 [PATCH] powerpc: a couple of trivial compile warning fixes Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit de4533a04eb4f66dbef71f59a9c118256b886823 Author: Russell King Date: Tue Mar 28 10:34:05 2006 +0100 [ARM] Move ice-dcc code into misc.c Signed-off-by: Russell King commit a081568d7016061ed848696984e3acf1ba0b3054 Author: Russell King Date: Tue Mar 28 10:24:33 2006 +0100 [ARM] Fix decompressor serial IO to give CRLF not LFCR As per the corresponding change to the serial drivers, arrange for ARM decompressors to give CRLF. Move the common putstr code into misc.c such that machines only need to supply "putc" and "flush" functions. Signed-off-by: Russell King commit 6e57a3a89785692bd8d012d80f5ee210ab8e0b68 Author: David S. Miller Date: Tue Mar 28 01:00:08 2006 -0800 [SPARC64]: Implement futex_atomic_cmpxchg_inatomic(). Signed-off-by: David S. Miller commit 7143dd4b0127141a4f773e819d1d1f4ab82bb517 Author: Jens Axboe Date: Tue Mar 28 09:00:28 2006 +0200 [PATCH] ll_rw_blk: fix 80-col offender in put_io_context() This makes akpm more happy. Signed-off-by: Jens Axboe commit e8a99053ea82a4b4375049886cf1db64d7dcd755 Author: Andreas Mohr Date: Tue Mar 28 08:59:49 2006 +0200 [PATCH] cfq-iosched: small cfq_choose_req() optimization this is a small optimization to cfq_choose_req() in the CFQ I/O scheduler (this function is a semi-often invoked candidate in an oprofile log): by using a bit mask variable, we can use a simple switch() to check the various cases instead of having to query two variables for each check. Benefit: 251 vs. 285 bytes footprint of cfq_choose_req(). Also, common case 0 (no request wrapping) is now checked first in code. Signed-off-by: Andreas Mohr Signed-off-by: Jens Axboe commit e2d74ac0664c89757bde8fb18c98cd7bf53da61c Author: Jens Axboe Date: Tue Mar 28 08:59:01 2006 +0200 [PATCH] [BLOCK] cfq-iosched: change cfq io context linking from list to tree On setups with many disks, we spend a considerable amount of time looking up the process-disk mapping on each queue of io. Testing with a NULL based block driver, this costs 40-50% reduction in throughput for 1000 disks. Signed-off-by: Jens Axboe commit 78af90629ce98c8383ea16928e110eb97b889be6 Author: Kumar Gala Date: Mon Mar 27 23:48:37 2006 -0600 powerpc: remove OCP references OCP isn't used in arch/powerpc and hopefully will never be. Signed-off-by: Kumar Gala commit b239cbe957ae730caa8af2f169a4d35b8c1bb299 Author: Stephen Rothwell Date: Tue Mar 28 14:40:58 2006 +1100 [PATCH] powerpc: make ISA floppies work again We used to assume that a DMA mapping request with a NULL dev was for ISA DMA. This assumption was broken at some point. Now we explicitly pass the detected ISA PCI device in the floppy setup. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 69ed3324983bb937d78a8579ed91b90242ee5aaa Author: Anton Blanchard Date: Tue Mar 28 14:08:39 2006 +1100 [PATCH] powerpc: Fix some initcall return values Non zero initcalls (except for -ENODEV) have started warning at boot. Fix smt_setup and init_ras_IRQ. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 9fe901d124871f5781b9c4ccbb7ff93fdff9d39e Author: Mike Kravetz Date: Mon Mar 27 15:20:00 2006 -0800 [PATCH] powerpc: Workaround for pSeries RTAS bug A bug in the RTAS services incorrectly interprets some bits in the CR when called from the OS. Specifically, bits in CR4. The result could be a firmware crash that also takes down the partition. A firmware fix is in the works. We have seen this situation when performing DLPAR operations. As a temporary workaround, clear the CR in enter_rtas(). Note that enter_rtas() will not set any bits in CR4 before calling RTAS. Also note that the 32 bit version of enter_rtas() should have the same work around even though the chances of hitting the bug are much smaller due to the lack of DLPAR on 32 bit kernels. However, my assembly skills are a bit rusty and the 32 bit code doesn't seem to follow the conventions for where things should be saved. In addition, I don't have a system to test 32 bit kernels. Help creating and at least touch testing the same workaround for 32 bit would be appreciated. Signed-off-by: Mike Kravetz Signed-off-by: Paul Mackerras commit e78b47a59026f04eb98b9d392901be13b56f444f Author: Arnd Bergmann Date: Mon Mar 27 21:27:40 2006 +0200 [PATCH] spufs: fix __init/__exit annotations spufs_init and spufs_exit should be marked correctly so they can be removed when not needed. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f4d1749e9570d3984800c371c6e06eb35b9718b1 Author: Arnd Bergmann Date: Mon Mar 27 21:26:03 2006 +0200 [PATCH] powerpc: add hvc backend for rtas Current Cell hardware is using the console through a set of rtas calls. This driver is needed to get console output on those boards. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 45d607ed92695d7543f5e1fc5b133cd69834e3e4 Author: Ryan S. Arnold Date: Mon Mar 27 21:25:16 2006 +0200 [PATCH] powerpc: hvc_console updates These are some updates from both Ryan and Arnd for the hvc_console driver: The main point is to enable the inclusion of a console driver for rtas, which is currrently needed for the cell platform. Also shuffle around some data-type declarations and moves some functions out of include/asm-ppc64/hvconsole.h and into a new drivers/char/hvc_console.h file. Signed-off-by: "Ryan S. Arnold" Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 11089f08d9dd8b89cd07d6f126ccb4849e3c61a3 Author: Laurent MEYER Date: Mon Mar 27 11:37:41 2006 +0200 [PATCH] powerpc: fix incorrect SA_ONSTACK behaviour for 64-bit processes *) When setting a sighandler using sigaction() call, if the flag SA_ONSTACK is set and no alternate stack is provided via sigaltstack(), the kernel still try to install the alternate stack. This behavior is the opposite of the one which is documented in Single Unix Specifications V3. *) Also when setting an alternate stack using sigaltstack() with the flag SS_DISABLE, the kernel try to install the alternate stack on signal delivery. These two use cases makes the process crash at signal delivery. This fixes it. Signed-off-by: Laurent Meyer Signed-off-by: Paul Mackerras commit 5149fa47ec90eb5e79e28f3a7fbcf29421524817 Author: Michael Ellerman Date: Mon Mar 27 14:26:26 2006 +1100 [PATCH] powerpc: Cope with duplicate node & property names in /proc/device-tree Various dodgy firmware might give us nodes and/or properties in the device tree with conflicting names. That's generally ok, except for when we export the device tree via /proc, so check when we're creating the proc device tree and munge names accordingly. Tested on a faked device tree with kexec, would be good if someone with actual bogus firmware could try it, but just for completeness. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit d0160bf0b3e87032be8e85f80ddd2f18e107b86f Author: Michael Ellerman Date: Mon Mar 27 14:26:25 2006 +1100 [PATCH] powerpc: Rename and export ppc64_firmware_features We need to export ppc64_firmware_features for modules. Before we do that I think we should probably rename it to powerpc_firmware_features. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 9cf8ca38719e08e5388ddd37ef1c46442b8f99a4 Author: Kumar Gala Date: Mon Mar 27 23:44:37 2006 -0600 powerpc: Make uImage default build output for MPC8540 ADS When we build for the MPC8540 ADS produce a uImage by default. Updated the defconfig to reflect this as well. Signed-off-by: Kumar Gala commit 5cd272085bbc905532869f3e1fd18a7100496b56 Author: Kumar Gala Date: Mon Mar 27 23:43:27 2006 -0600 powerpc: move math-emu over to arch/powerpc Towards the goal of having arch/powerpc not build anything over in arch/ppc move math-emu over. Also, killed some references to arch/ppc/ in the arch/powerpc Makefile which should belong in drivers/ when the particular sub-arch's move over to arch/powerpc. Signed-off-by: Kumar Gala commit 2f25194dbe0c4b2472ce133ea3e9bcbb14936ae7 Author: Anton Blanchard Date: Mon Mar 27 11:46:18 2006 +1100 [PATCH] powerpc: export validate_sp for oprofile calltrace Export validate_sp so we can use it in the oprofile calltrace code. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 72533db0121e11811366b5a456f4068d1a4d542c Author: Anton Blanchard Date: Mon Mar 27 11:23:29 2006 +1100 [PATCH] powerpc: Remove some ifdefs in oprofile_impl.h - No one uses op_counter_config.valid, so remove it - No need to ifdef around function protypes. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 10d713aef238b02a774766b2622027361630e28d Author: Kumar Gala Date: Mon Mar 27 18:26:42 2006 -0600 powerpc: use memparse() for mem= command line parsing Use memparse() instead of our own code for handling the parsing of mem= Signed-off-by: Kumar Gala commit cbd312b94ed123dc7080c9591cb715cd2a7327c0 Author: Kumar Gala Date: Mon Mar 27 18:26:18 2006 -0600 ppc: fix strncasecmp prototype Match, Linus's fix to arch/powerpc in arch/ppc. strcasecmp takes a size_t, not an int, as its third argument. Signed-off-by: Kumar Gala commit 0a26b1364f14852bc9a51db0ca63c5250c775627 Author: Paul Mackerras Date: Tue Mar 28 10:22:10 2006 +1100 ppc: Remove CHRP, POWER3 and POWER4 support from arch/ppc 32-bit CHRP machines are now supported only in arch/powerpc, as are all 64-bit PowerPC processors. This means that we don't use Open Firmware on any platform in arch/ppc any more. This makes PReP support a single-platform option like every other platform support option in arch/ppc now, thus CONFIG_PPC_MULTIPLATFORM is gone from arch/ppc. CONFIG_PPC_PREP is the option that selects PReP support and is generally what has replaced CONFIG_PPC_MULTIPLATFORM within arch/ppc. _machine is all but dead now, being #defined to 0. Updated Makefiles, comments and Kconfig options generally to reflect these changes. Signed-off-by: Paul Mackerras commit ff2e6d7e27cf1f757ab0d97e1a9e46de47152a0e Author: Paul Mackerras Date: Tue Mar 28 09:28:14 2006 +1100 powerpc: Fix goof in 6xx and POWER4 idle power-save functions This fixes a mistake I made when editing these functions - when I took out the interrupt disabling code (because interrupts are now disabled by the caller) I left the register that is used for the MSR value to be used during doze/nap uninitialized. This fixes it. Also updated some of the comments in idle_power4.S and removed some code that was copied over from idle_6xx.S but is no longer relevant (we don't ever clear the CPU_FTR_CAN_NAP bit at runtime for POWER4). Signed-off-by: Paul Mackerras commit e6ef0fca2c61f7e773178be8c3833a709a47e022 Author: hawkes@sgi.com Date: Mon Mar 27 13:18:17 2006 -0800 [IA64-SGI] sn_hwperf use of num_online_cpus() Eliminate an unnecessary -- and flawed -- use of the expensive num_online_cpus(). Signed-off-by: John Hawkes Signed-off-by: Tony Luck commit 64840e2722aeb789574e336d231bbc6436d51b34 Author: Andrew Morton Date: Sat Mar 25 01:51:23 2006 -0800 [CPUFREQ] powernow: remove private for_each_cpu_mask() It is unneeded and wrong. Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit eef5167e5045fa8265b3e72cac9dbc4bc7dd82a6 Author: shin, jacob Date: Mon Mar 27 09:57:20 2006 -0600 [CPUFREQ] hotplug cpu fix for powernow-k8 Andi's previous fix to initialise powernow_data on all siblings will not work properly with CPU Hotplug. Signed-off-by: Jacob Shin Signed-off-by: Dave Jones commit 2638fed7ccb07ff43cdc109dd78e821efb629995 Author: David Woodhouse Date: Thu Mar 23 22:43:38 2006 +0000 [PATCH] softmac: reduce default rate to 11Mbps. We don't make much of an attempt to fall back to lower rates, and 54M just isn't reliable enough for many people. In fact, it's not clear we even set it to 11M if we're trying to associate with an 802.11b AP. This patch makes us default to 11M, which ought to work for most people. When we actually handle dynamic rate adjustment, we can reconsider the defaults -- but even then, probably it makes as much sense to start at 11M and adjust it upwards as it does to start at 54M and reduce it. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 16f4352733d19c2d496f682c08cff368ba0495d0 Author: David Woodhouse Date: Thu Mar 23 14:00:02 2006 +0000 [PATCH] softmac: reduce scan dwell time It currently takes something like 8 seconds to do a scan, because we spend half a second on each channel. Reduce that time to 20ms per channel. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ce9eed5a98efacb896551d3470d9d46826caaee5 Author: Chen, Kenneth W Date: Mon Mar 6 14:12:54 2006 -0800 [IA64] optimize flush_tlb_range on large numa box It was reported from a field customer that global spin lock ptcg_lock is giving a lot of grief on munmap performance running on a large numa machine. What appears to be a problem coming from flush_tlb_range(), which currently unconditionally calls platform_global_tlb_purge(). For some of the numa machines in existence today, this function is mapped into ia64_global_tlb_purge(), which holds ptcg_lock spin lock while executing ptc.ga instruction. Here is a patch that attempt to avoid global tlb purge whenever possible. It will use local tlb purge as much as possible. Though the conditions to use local tlb purge is pretty restrictive. One of the side effect of having flush tlb range instruction on ia64 is that kernel don't get a chance to clear out cpu_vm_mask. On ia64, this mask is sticky and it will accumulate if process bounces around. Thus diminishing the possible use of ptc.l. Thoughts? Signed-off-by: Ken Chen Acked-by: Jack Steiner Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Tony Luck commit 5e48521e869de7d904bb5ffe9739258ffa026927 Author: Zhang, Yanmin Date: Thu Feb 23 11:07:20 2006 +0800 [IA64] lazy_mmu_prot_update needs to be aware of huge pages Function lazy_mmu_prot_update is also used on huge pages when it is called by set_huge_ptep_writable, but it isn't aware of huge pages. Signed-off-by: Zhang Yanmin Acked-by: Ken Chen Signed-off-by: Tony Luck commit d94606e058fccf5e22537bcc6d0f297224350303 Author: Larry Finger Date: Fri Mar 3 16:21:55 2006 -0600 [PATCH] Minor (janitorial) change to ieee80211 The attached patch removes a potential problem from ieee80211_wx.c, by changing the name of routine ipw2100_translate_scan to ieee80211_translate_scan. The problem is minor as the routine is declared static; however, if it were made global, it would pollute the namespace. Signed-Off-By: Larry Finger Signed-off-by: John W. Linville commit df5b89b323b922f56650b4b4d7c41899b937cf19 Author: NeilBrown Date: Mon Mar 27 01:18:20 2006 -0800 [PATCH] md: Convert reconfig_sem to reconfig_mutex ... being careful that mutex_trylock is inverted wrt down_trylock Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48c9c27b8bcd2a328a06151e2d5c1170db0b701b Author: Arjan van de Ven Date: Mon Mar 27 01:18:20 2006 -0800 [PATCH] sem2mutex: drivers/md Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f889129de148b0ba2e1fbc9e9d33a4ef4c5f2cb Author: NeilBrown Date: Mon Mar 27 01:18:19 2006 -0800 [PATCH] md: Restore 'remaining' count when retrying an write operation When retrying a write due to barrier failure, we don't reset 'remaining', so it goes negative and never hits 0 again. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ddeeae51f2f197b4fafcba117ee8191b49d843e Author: NeilBrown Date: Mon Mar 27 01:18:18 2006 -0800 [PATCH] md: Fix md grow/size code to correctly find the maximum available space An md array can be asked to change the amount of each device that it is using, and in particular can be asked to use the maximum available space. This currently only works if the first device is not larger than the rest. As 'size' gets changed and so 'fit' becomes wrong. So check if a 'fit' is required early and don't corrupt it. Signed-off-by: Doug Ledford Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6344757a92e5466bf8c23a74ee8f972ff35cb05 Author: NeilBrown Date: Mon Mar 27 01:18:17 2006 -0800 [PATCH] md: Remove bi_end_io call out from under a spinlock raid5 overloads bi_phys_segments to count the number of blocks that the request was broken in to so that it knows when the bio is completely handled. Accessing this must always be done under a spinlock. In one case we also call bi_end_io under that spinlock, which probably isn't ideal as bi_end_io could be expensive (even though it isn't allowed to sleep). So we reducde the range of the spinlock to just accessing bi_phys_segments. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3b46be38aef5c46a4e144f1bcb8d0cc6bf3ff97 Author: NeilBrown Date: Mon Mar 27 01:18:16 2006 -0800 [PATCH] md: Remove some stray semi-colons after functions called in macro.. wait_event_lock_irq puts a ';' after its usage of the 4th arg, so we don't need to. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df8e7f7639bab3b2cc536a1d30d5593d65251778 Author: NeilBrown Date: Mon Mar 27 01:18:15 2006 -0800 [PATCH] md: Improve comments about locking situation in raid5 make_request Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e464eafdb4400c6d6576ba3840d8bd40340f8a96 Author: NeilBrown Date: Mon Mar 27 01:18:14 2006 -0800 [PATCH] md: Support suspending of IO to regions of an md array This allows user-space to access data safely. This is needed for raid5 reshape as user-space needs to take a backup of the first few stripes before allowing reshape to commence. It will also be useful in cluster-aware raid1 configurations so that all cluster members can leave a section of the array untouched while a resync/recovery happens. A 'start' and 'end' of the suspended range are written to 2 sysfs attributes. Note that only one range can be suspended at a time. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16484bf59634e25d1299761e5ed8bacf22bc6368 Author: NeilBrown Date: Mon Mar 27 01:18:13 2006 -0800 [PATCH] md: Make 'reshape' a possible sync_action action This allows reshape to be triggerred via sysfs (which is the only way to start it happening). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63c70c4f3a30e77e6f445bd16eff7934a031ebd3 Author: NeilBrown Date: Mon Mar 27 01:18:13 2006 -0800 [PATCH] md: Split reshape handler in check_reshape and start_reshape check_reshape checks validity and does things that can be done instantly - like adding devices to raid1. start_reshape initiates a restriping process to convert the whole array. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b578d55fdd80140f657130abd85aebeb345755fb Author: NeilBrown Date: Mon Mar 27 01:18:12 2006 -0800 [PATCH] md: Only checkpoint expansion progress occasionally Instead of checkpointing at each stripe, only checkpoint when a new write would overwrite uncheckpointed data. Block any write to the uncheckpointed area. Arbitrarily checkpoint at least every 3Meg. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f67055780caac6a99f43834795c43acf99eba6a6 Author: NeilBrown Date: Mon Mar 27 01:18:11 2006 -0800 [PATCH] md: Checkpoint and allow restart of raid5 reshape We allow the superblock to record an 'old' and a 'new' geometry, and a position where any conversion is up to. The geometry allows for changing chunksize, layout and level as well as number of devices. When using verion-0.90 superblock, we convert the version to 0.91 while the conversion is happening so that an old kernel will refuse the assemble the array. For version-1, we use a feature bit for the same effect. When starting an array we check for an incomplete reshape and restart the reshape process if needed. If the reshape stopped at an awkward time (like when updating the first stripe) we refuse to assemble the array, and let user-space worry about it. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 292695531ae4019bb15deedc121b218d1908b648 Author: NeilBrown Date: Mon Mar 27 01:18:10 2006 -0800 [PATCH] md: Final stages of raid5 expand code This patch adds raid5_reshape and end_reshape which will start and finish the reshape processes. raid5_reshape is only enabled in CONFIG_MD_RAID5_RESHAPE is set, to discourage accidental use. Read the 'help' for the CONFIG_MD_RAID5_RESHAPE entry. and Make sure that you have backups, just in case. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e Author: NeilBrown Date: Mon Mar 27 01:18:09 2006 -0800 [PATCH] md: Core of raid5 resize process This patch provides the core of the resize/expand process. sync_request notices if a 'reshape' is happening and acts accordingly. It allocated new stripe_heads for the next chunk-wide-stripe in the target geometry, marking them STRIPE_EXPANDING. Then it finds which stripe heads in the old geometry can provide data needed by these and marks them STRIPE_EXPAND_SOURCE. This causes stripe_handle to read all blocks on those stripes. Once all blocks on a STRIPE_EXPAND_SOURCE stripe_head are read, any that are needed are copied into the corresponding STRIPE_EXPANDING stripe_head. Once a STRIPE_EXPANDING stripe_head is full, it is marks STRIPE_EXPAND_READY and then is written out and released. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ecaa1e6a1ad69862e9980b6c777e11f26c4782d Author: NeilBrown Date: Mon Mar 27 01:18:08 2006 -0800 [PATCH] md: Infrastructure to allow normal IO to continue while array is expanding We need to allow that different stripes are of different effective sizes, and use the appropriate size. Also, when a stripe is being expanded, we must block any IO attempts until the stripe is stable again. Key elements in this change are: - each stripe_head gets a 'disk' field which is part of the key, thus there can sometimes be two stripe heads of the same area of the array, but covering different numbers of devices. One of these will be marked STRIPE_EXPANDING and so won't accept new requests. - conf->expand_progress tracks how the expansion is progressing and is used to determine whether the target part of the array has been expanded yet or not. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad01c9e3752f4ba4f3d99c89b7370fa4983a25b5 Author: NeilBrown Date: Mon Mar 27 01:18:07 2006 -0800 [PATCH] md: Allow stripes to be expanded in preparation for expanding an array Before a RAID-5 can be expanded, we need to be able to expand the stripe-cache data structure. This requires allocating new stripes in a new kmem_cache. If this succeeds, we copy cache pages over and release the old stripes and kmem_cache. We then allocate new pages. If that fails, we leave the stripe cache at it's new size. It isn't worth the effort to shrink it back again. Unfortuanately this means we need two kmem_cache names as we, for a short period of time, we have two kmem_caches. So they are raid5/%s and raid5/%s-alt Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55e6bfcd23cb2f7249095050c649f7aea813f9f Author: NeilBrown Date: Mon Mar 27 01:18:06 2006 -0800 [PATCH] md: Split disks array out of raid5 conf structure so it is easier to grow The remainder of this batch implements raid5 reshaping. Currently the only shape change that is supported is added a device, but it is envisioned that changing the chunksize and layout will also be supported, as well as changing the level (e.g. 1->5, 5->6). The reshape process naturally has to move all of the data in the array, and so should be used with caution. It is believed to work, and some testing does support this, but wider testing would be great for increasing my confidence. You will need a version of mdadm newer than 2.3.1 to make use of raid5 growth. This is because mdadm need to take a copy of a 'critical section' at the start of the array incase there is a crash at an awkward moment. On restart, mdadm will restore the critical section and allow reshape to continue. I hope to release a 2.4-pre by early next week - it still needs a little more polishing. This patch: Previously the array of disk information was included in the raid5 'conf' structure which was allocated to an appropriate size. This makes it awkward to change the size of that array. So we split it off into a separate kmalloced array which will require a little extra indexing, but is much easier to grow. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4588b42e9d0d0904a745c96cead66506c75bae21 Author: NeilBrown Date: Mon Mar 27 01:18:04 2006 -0800 [PATCH] md: Update status_resync to handle LARGE devices status_resync - used by /proc/mdstat to report the status of a resync, assumes that device sizes will always fit into an 'unsigned long' This is no longer the case... Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1be7892fffb45f6017494a88ff68fe84c6de26b4 Author: NeilBrown Date: Mon Mar 27 01:18:03 2006 -0800 [PATCH] md: Fix the 'failed' count for version-0 superblocks We are counting failed devices twice, once of the device that is failed, and once for the hole that has been left in the array. Remove the former so 'failed' matches 'missing'. Storing these counts in the superblock is a bit silly anyway.... Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5a10f62c5c496c49db749af103b991873b7e2dc Author: NeilBrown Date: Mon Mar 27 01:18:03 2006 -0800 [PATCH] md: Add '4' to the list of levels for which bitmaps are supported I really should make this a function of the personality.... Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89e5c8b5b85d6d46e8a28cdfa076313ae691d35c Author: NeilBrown Date: Mon Mar 27 01:18:02 2006 -0800 [PATCH] md: Make sure QUEUE_FLAG_CLUSTER is set properly for md. This flag should be set for a virtual device iff it is set for all underlying devices. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a22c96c737a9cefbe8d6e991c0032ad6db825a67 Author: Kevin Corry Date: Mon Mar 27 01:18:01 2006 -0800 [PATCH] dm: remove unnecessary typecast Signed-off-by: Kevin Corry Cc: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4cf1b72eec0e197257a5b07dc9ec53552cdd123 Author: Jun'ichi Nomura Date: Mon Mar 27 01:18:00 2006 -0800 [PATCH] dm/md dependency tree in sysfs: convert bd_sem to bd_mutex Convert bd_sem to bd_mutex Signed-off-by: Jun'ichi Nomura Cc: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f165921df46a977e3561f1bd9f13a348441486d1 Author: Jun'ichi Nomura Date: Mon Mar 27 01:17:59 2006 -0800 [PATCH] dm/md dependency tree in sysfs: dm to use bd_claim_by_disk Use bd_claim_by_disk. Following symlinks are created if dm-0 maps to sda: /sys/block/dm-0/slaves/sda --> /sys/block/sda /sys/block/sda/holders/dm-0 --> /sys/block/dm-0 Signed-off-by: Jun'ichi Nomura Cc: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5463c7904c952aa6b6804dd902c72a5332fa5221 Author: Jun'ichi Nomura Date: Mon Mar 27 01:17:58 2006 -0800 [PATCH] dm/md dependency tree in sysfs: md to use bd_claim_by_disk Use bd_claim_by_disk. Following symlinks are created if md0 is built from sda and sdb /sys/block/md0/slaves/sda --> /sys/block/sda /sys/block/md0/slaves/sdb --> /sys/block/sdb /sys/block/sda/holders/md0 --> /sys/block/md0 /sys/block/sdb/holders/md0 --> /sys/block/md0 Signed-off-by: Jun'ichi Nomura Cc: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 641dc636b0475582e48584340b774bd1e90d40d9 Author: Jun'ichi Nomura Date: Mon Mar 27 01:17:57 2006 -0800 [PATCH] dm/md dependency tree in sysfs: bd_claim_by_kobject Adding bd_claim_by_kobject() function which takes kobject as additional signature of holder device and creates sysfs symlinks between holder device and claimed device. bd_release_from_kobject() is a counterpart of bd_claim_by_kobject. Signed-off-by: Jun'ichi Nomura Cc: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 100873687d81d4ce7b1299b447d33e87ba1e9583 Author: Andrew Morton Date: Mon Mar 27 01:17:56 2006 -0800 [PATCH] dm-md-dependency-tree-in-sysfs-holders-slaves-subdirectory-tidy Remove all the CONFIG_SYSFS stuff. That's supposed to all be implemented up in header files. Yes, the CONFIG_SYSFS=n data structures will be a little larger than necessary, but that's a tradeoff we can decide to make. Cc: Jun'ichi Nomura Cc: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a4d44c1f1108d6c9e8850e8cf166aaba0e56eae Author: Jun'ichi Nomura Date: Mon Mar 27 01:17:55 2006 -0800 [PATCH] dm/md dependency tree in sysfs: holders/slaves subdirectory Creating "slaves" and "holders" directories in /sys/block/ and creating "holders" directory under /sys/block// Signed-off-by: Jun'ichi Nomura Cc: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ac51e741a46af7a20f55e79d3e3aeaa93c6c544 Author: Darrick J. Wong Date: Mon Mar 27 01:17:54 2006 -0800 [PATCH] dm store geometry Allow drive geometry to be stored with a new DM_DEV_SET_GEOMETRY ioctl. Device-mapper will now respond to HDIO_GETGEO. If the geometry information is not available, zero will be returned for all of the parameters. Signed-off-by: Darrick J. Wong Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1134e5ae79bab61c05657ca35a6297cf87202e35 Author: Mike Anderson Date: Mon Mar 27 01:17:54 2006 -0800 [PATCH] dm table: store md Store an up-pointer to the owning struct mapped_device in every table when it is created. Access it with: struct mapped_device *dm_table_get_md(struct dm_table *t) Tables linked to md must be destroyed before the md itself. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ade92a9a5b0a3a10efa6551b8c67a9277bf0438 Author: Alasdair G Kergon Date: Mon Mar 27 01:17:53 2006 -0800 [PATCH] dm: tidy mdptr Change dm_get_mdptr() to take a struct mapped_device instead of dev_t. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e51f257e87297a5b6fe6d136a8ef67206aaf3a8 Author: Mike Anderson Date: Mon Mar 27 01:17:52 2006 -0800 [PATCH] dm: store md name The patch stores a printable device number in struct mapped_device for use in warning messages and with a proposed netlink interface. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecac7fd74f2e5fb06a7719ecba55fb5778a9a47 Author: Jun'ichi Nomura Date: Mon Mar 27 01:17:51 2006 -0800 [PATCH] dm flush queue EINTR If dm_suspend() is cancelled, bios already added to the deferred list need to be submitted. Otherwise they remain 'in limbo' until there's a dm_resume(). Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 138728dc96529f20dfe970c470e51885a60e329f Author: Alasdair G Kergon Date: Mon Mar 27 01:17:50 2006 -0800 [PATCH] dm snapshot: fix kcopyd destructor Before removing a snapshot, wait for the completion of any kcopyd jobs using it. Do this by maintaining a count (nr_jobs) of how many outstanding jobs each kcopyd_client has. The snapshot destructor first unregisters the snapshot so that no new kcopyd jobs (created by writes to the origin) will reference that particular snapshot. kcopyd_client_destroy() is now run next to wait for the completion of any outstanding jobs before the snapshot exception structures (that those jobs reference) are freed. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969429b504ae866d3f8b1cafd68a2c099e305093 Author: NeilBrown Date: Mon Mar 27 01:17:49 2006 -0800 [PATCH] dm: make sure QUEUE_FLAG_CLUSTER is set properly This flag should be set for a virtual device iff it is set for all underlying devices. Signed-off-by: Neil Brown Acked-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ee218cd67b385759993a6c840ea45f0ee0a8b30 Author: Andrew Morton Date: Mon Mar 27 01:17:48 2006 -0800 [PATCH] dm: remove SECTOR_FORMAT We don't know what type sector_t has. Sometimes it's unsigned long, sometimes it's unsigned long long. For example on ppc64 it's unsigned long with CONFIG_LBD=n and on x86_64 it's unsigned long long with CONFIG_LBD=n. The way to handle all of this is to always use unsigned long long and to always typecast the sector_t when printing it. Acked-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 930d332a23682202c07df0276dd665a57755b37d Author: Jun'ichi Nomura Date: Mon Mar 27 01:17:47 2006 -0800 [PATCH] drivers/md/dm-raid1.c: Fix inconsistent mirroring after interrupted recovery dm-mirror has potential data corruption problem: while on-disk log shows that all disk contents are in-sync, actual contents of the disks are not synchronized. This problem occurs if initial recovery (synching) is interrupted and resumed. Attached patch fixes this problem. Background: rh_dec() changes the region state from RH_NOSYNC (out-of-sync) to RH_CLEAN (in-sync), which results in the corresponding bit of clean_bits being set. This is harmful if on-disk log is used and the map is removed/suspended before the initial sync is completed. The clean_bits is written down to the on-disk log at the map removal, and, upon resume, it's read and copied to sync_bits. Since the recovery process refers to the sync_bits to find a region to be recovered, the region whose state was changed from RH_NOSYNC to RH_CLEAN is no longer recovered. If you haven't applied dm-raid1-read-balancing.patch proposed in dm-devel sometimes ago, the contents of the mirrored disk just corrupt silently. If you have, balanced read may get bogus data from out-of-sync disks. The patch keeps RH_NOSYNC state unchanged. It will be changed to RH_RECOVERING when recovery starts and get reclaimed when the recovery completes. So it doesn't leak the region hash entry. Description: Keep RH_NOSYNC state unchanged when I/O on the region completes. rh_dec() changes the region state from RH_NOSYNC (out-of-sync) to RH_CLEAN (in-sync), which results in the corresponding bit of clean_bits being set. This is harmful if on-disk log is used and the map is removed/suspended before the initial sync is completed. The clean_bits is written down to the on-disk log at the map removal, and, upon resume, it's read and copied to sync_bits. Since the recovery process refers to the sync_bits to find a region to be recovered, the region whose state was changed from RH_NOSYNC to RH_CLEAN is no longer recovered. If you haven't applied dm-raid1-read-balancing.patch proposed in dm-devel sometimes ago, the contents of the mirrored disk just corrupt silently. If you have, balanced read may get bogus data from out-of-sync disks. The RH_NOSYNC region will be changed to RH_RECOVERING when recovery starts on the region and get reclaimed when the recovery completes. So it doesn't leak the region hash entry. Alasdair said: I've analysed the relevant part of the state machine and I believe that the patch is correct. (Further work on this code is still needed - this patch has the side-effect of holding onto memory unnecessarily for long periods of time under certain workloads - but better that than corrupting data.) Signed-off-by: Jun'ichi Nomura Acked-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76df1c651b66bdf07d60b3d60789feb5f58d73e3 Author: Alasdair G Kergon Date: Mon Mar 27 01:17:45 2006 -0800 [PATCH] device-mapper snapshot: fix invalidation When a snapshot becomes invalid, s->valid is set to 0. In this state, a snapshot can no longer be accessed. When s->lock is acquired, before doing anything else, s->valid must be checked to ensure the snapshot remains valid. This patch eliminates some races (that may cause panics) by adding some missing checks. At the same time, some unnecessary levels of indentation are removed and snapshot invalidation is moved into a single function that always generates a device-mapper event. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4b610f684d13bf8691feeae5d4d7a8bd1f1033e Author: Alasdair G Kergon Date: Mon Mar 27 01:17:44 2006 -0800 [PATCH] device-mapper snapshot: replace sibling list The siblings "list" is used unsafely at the moment. Firstly, only the element on the list being changed gets locked (via the snapshot lock), not the next and previous elements which have pointers that are also being changed. Secondly, if you have two or more snapshots and write to the same chunk a second time before every snapshot has finished making its private copy of the data, if you're unlucky, _origin_write() could attempt its list_merge() and dereference a 'last' pointer to a pending_exception structure that has just been freed. Analysis reveals that the list is actually only there for reference counting. If 5 pending_exceptions are needed in origin_write, then the 5 are joined together into a 5-element list - without a separate list head because there's nowhere suitable to store it. As the pending_exceptions complete, they are removed from the list one-by-one and any contents of origin_bios get moved across to one of the remaining pending_exceptions on the list. Whichever one is last is detected because list_empty() is then true and the origin_bios get submitted. The fix proposed here uses an alternative reference counting mechanism by choosing one of the pending_exceptions as primary and maintaining an atomic counter there. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eccf081799be8d83852f183838bf26e1ca099db4 Author: Alasdair G Kergon Date: Mon Mar 27 01:17:42 2006 -0800 [PATCH] device-mapper snapshot: fix origin_write pending_exception submission Say you have several snapshots of the same origin and then you issue a write to some place in the origin for the first time. Before the device-mapper snapshot target lets the write go through to the underlying device, it needs to make a copy of the data that is about to be overwritten. Each snapshot is independent, so it makes one copy for each snapshot. __origin_write() loops through each snapshot and checks to see whether a copy is needed for that snapshot. (A copy is only needed the first time that data changes.) If a copy is needed, the code allocates a 'pending_exception' structure holding the details. It links these together for all the snapshots, then works its way through this list and submits the copying requests to the kcopyd thread by calling start_copy(). When each request is completed, the original pending_exception structure gets freed in pending_complete(). If you're very unlucky, this structure can get freed *before* the submission process has finished walking the list. This patch: 1) Creates a new temporary list pe_queue to hold the pending exception structures; 2) Does all the bookkeeping up-front, then walks through the new list safely and calls start_copy() for each pending_exception that needed it; 3) Avoids attempting to add pe->siblings to the list if it's already connected. [NB This does not fix all the races in this code. More patches will follow.] Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4ccde33de202fae1b1e2a940604ee9e295450d9 Author: Adrian Bunk Date: Mon Mar 27 01:17:41 2006 -0800 [PATCH] video/sis/init301.c:SiS_ChrontelDoSomething2(): remove dead code The Coverity checker spotted these two unused variables. Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1ae418eef4ce763a95edec0b5fc095af5daca2e Author: Tobias Klauser Date: Mon Mar 27 01:17:39 2006 -0800 [PATCH] drivers/video: Use ARRAY_SIZE macro Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove duplicates of ARRAY_SIZE. Some coding style and trailing whitespaces are also fixed. Compile-tested where possible (some are other arch or BROKEN) Signed-off-by: Tobias Klauser Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0c87978216836455ef5fbcac6df1ce6679750b0 Author: Olaf Hering Date: Mon Mar 27 01:17:38 2006 -0800 [PATCH] fbdev: add modeline for 1680x1050@60 Add a modeline for the Philips 200W display. aty128fb does not do DDC, it picks 1920x1440 or similar. It works ok with nvidiafb because it can ask for DDC data. mode "1680x1050-60" # D: 146.028 MHz, H: 65.191 kHz, V: 59.863 Hz geometry 1680 1050 1680 1050 16 timings 6848 280 104 30 3 176 6 hsync high vsync high rgba 5/11,6/5,5/0,0/0 endmode hwinfo --monitor 20: None 00.0: 10000 Monitor [Created at monitor.206] Unique ID: rdCR.pzUFTofo1S4 Parent ID: 002j.bJRsY88eNSC Hardware Class: monitor Model: "PHILIPS Philips 200W" Vendor: PHL "PHILIPS" Device: eisa 0x0832 "Philips 200W" Serial ID: "VN 016596" Resolution: 720x400@70Hz Resolution: 640x480@60Hz Resolution: 640x480@67Hz Resolution: 640x480@72Hz Resolution: 640x480@75Hz Resolution: 800x600@56Hz Resolution: 800x600@60Hz Resolution: 800x600@72Hz Resolution: 800x600@75Hz Resolution: 832x624@75Hz Resolution: 1024x768@60Hz Resolution: 1024x768@70Hz Resolution: 1024x768@75Hz Resolution: 1280x1024@75Hz Resolution: 1152x864@70Hz Resolution: 1152x864@75Hz Resolution: 1280x960@60Hz Resolution: 1280x1024@60Hz Resolution: 1680x1050@60Hz Size: 433x271 mm Driver Info #0: Max. Resolution: 1680x1050 Vert. Sync Range: 56-85 Hz Hor. Sync Range: 30-93 kHz Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #5 (VGA compatible controller) Signed-off-by: Olaf Hering Acked-by: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac3f9087d337a6ffa1a5fbdf2c923eb0aad1aef6 Author: Ralf Baechle Date: Mon Mar 27 01:17:37 2006 -0800 [PATCH] sparse: Fix warnings in newport driver about non-static functions There are more sparse warnings but fixing those will require some more work than I want to do without hardware for testing at hand. Signed-off-by: Ralf Baechle Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed49843b897da9969e349c279ffc832efcb93213 Author: Pavel Roskin Date: Mon Mar 27 01:17:36 2006 -0800 [PATCH] Add ID for Quadro NVS280 Quadro NVS280 is a dual-head PCIe card with PCI ID 10de:00fd and subsystem ID 10de:0215. Signed-off-by: Pavel Roskin Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6257ffacb9e1dc99a910d620ccb92ec88da20a4f Author: Antonino A. Daplas Date: Mon Mar 27 01:17:36 2006 -0800 [PATCH] imsttfb: Remove dead code clk_p is always 0. Coverity Bug 67 Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eba87e8e8d7024da827accb00ce7e3affd10b7de Author: Antonino A. Daplas Date: Mon Mar 27 01:17:35 2006 -0800 [PATCH] atyfb: Remove dead code Remove code that can never be reached. Coverity Bug 67 Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e4be28023c14624e03a09b4494e919e088513f0 Author: Antonino A. Daplas Date: Mon Mar 27 01:17:34 2006 -0800 [PATCH] savagefb: Remove NULL check Remove unnecessary NULL check. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c518eb84ce75d4c8e8799f4fcad59837f6d1894 Author: Antonino A. Daplas Date: Mon Mar 27 01:17:33 2006 -0800 [PATCH] i810fb: Remove NULL check Remove unnecessary NULL check. Being a function private to the driver, out_edid can never be NULL. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d5b191fff144634a04800e610b7ad0c1aefa6ed Author: Antonino A. Daplas Date: Mon Mar 27 01:17:33 2006 -0800 [PATCH] nvidiafb: Remove NULL check #2 Remove unnecessary NULL check. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ff7727d2a92f8b99cc709b827859da5d3c46a8a Author: Antonino A. Daplas Date: Mon Mar 27 01:17:32 2006 -0800 [PATCH] nvidiafb: Remove NULL check Remove unnecessary NULL check, as struct info will never be NULL. Coverity Bug 835 Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d7b84d1cbb213fdfd2b25ffd1217f249ba1d55a Author: Antonino A. Daplas Date: Mon Mar 27 01:17:31 2006 -0800 [PATCH] rivafb: Remove NULL check Remove unnecessary NULL check, as struct info will never be NULL. Coverity Bug 836 Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db77ec270d00098ff4fbf15f62f4506f6efb25d2 Author: Alan Curry Date: Mon Mar 27 01:17:30 2006 -0800 [PATCH] framebuffer: cmap-setting return values A set of 3 small bugfixes, all of which are related to bogus return values of fb colormap-setting functions. First, fb_alloc_cmap returns -1 if memory allocation fails. This is a hard condition to reproduce since you'd have to be really low on memory, but from studying the contexts in which it is called, I think this function should be returning a negative errno, and the -1 will be seen as an EPERM. Switching it to -ENOMEM makes sense. Second, the store_cmap function which is called for writes to /sys/class/graphics/fb0/color_map returns 0 for success, but it should be returning the count of bytes written since its return value ends up in userspace as the result of the write() syscall. Third, radeonfb returns 1 instead of a negative errno when FBIOPUTCMAP is called with an oversized colormap. This is seen in userspace as a return value of 1 from the ioctl() syscall with errno left unchanged. A more useful return value would be -EINVAL. Signed-off-by: Alan Curry Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59153f7d7effdb5b3c81eb6d03914a866157b319 Author: Antonino A. Daplas Date: Mon Mar 27 01:17:29 2006 -0800 [PATCH] fbdev: Make BIOS EDID reading configurable DDC reading via the Video BIOS may take several tens of seconds with some combination of display cards and monitors. Make this option configurable. It defaults to `y' to minimise disruption. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f95ec3c6df271ae4e6290cd6b95c18a009c76dc9 Author: Ralf Baechle Date: Mon Mar 27 01:17:27 2006 -0800 [PATCH] au1200fb: Alchemy Au1200 framebuffer driver Add support for Alchemy Au1200 framebuffer driver Signed-off-by: Ralf Baechle Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d03c21ec0be7787ff6b75dcf56c0e96209ccbfbd Author: Jean Delvare Date: Mon Mar 27 01:17:26 2006 -0800 [PATCH] matrox maven: memory allocation and other cleanups A few cleanups which were done to almost all i2c drivers some times ago, but matroxfb_maven was forgotten: * Don't allocate two different structures at once. * Use kzalloc instead of kmalloc+memset. * Use strlcpy instead of strcpy. * Drop duplicate error message on client deregistration failure. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 756e21a022aba5214bafcf803f114aed8a783b99 Author: Arthur Othieno Date: Mon Mar 27 01:17:24 2006 -0800 [PATCH] matroxfb: simply return what i2c_add_driver() does insmod will tell us when the module failed to load. We do no further processing on the return from i2c_add_driver(), so just return what i2c_add_driver() did, instead of storing it. Add __init/__exit annotations while we're at it. Signed-off-by: Arthur Othieno Acked-by: Jean Delvare Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc4effc7a98d0d320e478d1d42bc4a8a64380150 Author: David Vrabel Date: Mon Mar 27 01:17:23 2006 -0800 [PATCH] fbdev: framebuffer driver for Geode GX A framebuffer driver for the display controller in AMD Geode GX processors (Geode GX533, Geode GX500 etc.). Tested at 640x480, 800x600, 1024x768 and 1280x1024 at 8, 16, and 24 bpp with both CRT and TFT. No accelerated features currently implemented and compression remains disabled. This driver requires that the BIOS (or the SoftVG/Firmbase code in the BIOS) has created an appropriate virtual PCI header. Signed-off-by: David Vrabel Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a07cd786dbd0111b9dd977e114438220cb4eee5 Author: Antonino A. Daplas Date: Mon Mar 27 01:17:22 2006 -0800 [PATCH] nvidiafb: add suspend and resume hooks Add suspend and resume hooks to make software suspend more reliable. Resuming from standby should generally work. Resuming from mem and from disk requires that the GPU is disabled. Adding these to the suspend script... fbset -accel false -a /* suspend here */ fbset -accel true -a ... should generally work. In addition, resuming from mem requires that the video card has to be POSTed by the BIOS or some other utility. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15bdab959c9bb909c0317480dd9b35748a8f7887 Author: Antonino A. Daplas Date: Mon Mar 27 01:17:20 2006 -0800 [PATCH] vgacon: Add support for soft scrollback The scrollback buffer of the VGA console is located in VGA RAM. This RAM is fixed in size and is very small. To make the scrollback buffer larger, it must be placed instead in System RAM. This patch adds this feature. The feature and the size of the buffer are made as a kernel config option. Besides consuming kernel memory, this feature will slow down the console by approximately 20%. Signed-off-by: Antonino Daplas Signed-off-by: Jiri Slaby Cc: Jindrich Makovicka Cc: Martin Mares Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2115aea8185c8987b7688111953322742bd8795c Author: Samuel Thibault Date: Mon Mar 27 01:17:19 2006 -0800 [PATCH] vgacon: fix EGA cursor resize function This corrects cursor resize on ega boards: registers are write-only, so we shouldn't even try to read them. And on ega, 31/30 produces a flat cursor. Using 31/31 is better: except with 32 pixels high fonts, it shouldn't show up. Signed-off-by: Samuel Thibault Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c94ded6e602594c8e66fd5b1ba832d5327f5c103 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:18 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: wavefront Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38125956441c5cab28333414cee308d162507477 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:17 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: sscape Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be54414d597b168d8c4eb2dafb8933ea15a7c148 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:16 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: sb_card Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 312fef308cb15e793d8902f1dbd318d01268d36e Author: Bjorn Helgaas Date: Mon Mar 27 01:17:15 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: sb16 Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebdb71ea7b384ff3f32dd038dba0aad58580e832 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:14 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: interwave Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a3a3a0260cf5a4e5942db8d56cae4db4dc139a6 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:14 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: es968 Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fea9739f2a1aed1cfb9b7af7cce66b28b68d4394 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:13 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: es18xx Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6736a6587b991477aae927c37176e8cab8689f9e Author: Bjorn Helgaas Date: Mon Mar 27 01:17:12 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: dt019x Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07d58ad06b46e630a5ff6b10e9b81f370b175b56 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:11 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: cmi8330 Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db2735eb9076c5176ec9dcbbaefd38e7d82f0e47 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:10 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: azt2320 Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51427ec0f222cb73b21f3849416a95d751bdd742 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:09 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: als100 Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix a __init/__devinit issue. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f53f4e2107fcfdd33da1cc34a86c9aef5e76af6 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:08 2006 -0800 [PATCH] PNP: adjust pnp_register_card_driver() signature: ad1816a Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Jaroslav Kysela Acked-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 982c609448b9d724e1c3a0d5aeee388c064479f0 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:08 2006 -0800 [PATCH] pnp: PNP: adjust pnp_register_driver signature Remove the assumption that pnp_register_driver() returns the number of devices claimed. Returning the count is unreliable because devices may be hot-plugged in the future. This changes the convention to "zero for success, or a negative error value," which matches pci_register_driver(), acpi_bus_register_driver(), and platform_driver_register(). Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 070c6999831dc4cfd9b07c74c2fea1964d7adfec Author: Bjorn Helgaas Date: Mon Mar 27 01:17:07 2006 -0800 [PATCH] pnp: cs4232: adjust pnp_register_driver signature Remove the assumption that pnp_register_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 803d0abb3dcfc93701c8a8dc7f2968a47271214c Author: Bjorn Helgaas Date: Mon Mar 27 01:17:06 2006 -0800 [PATCH] pnp: IRDA: adjust pnp_register_driver signature Remove the assumption that pnp_register_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c59c4a2216583cf79eaaaf71ef1dd5757e12854 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:05 2006 -0800 [PATCH] pnp: opl3sa2: adjust pnp_register_driver signature Remove the assumption that pnp_register_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed7cb1913168fdce6d084f2f5cd6818851313383 Author: Bjorn Helgaas Date: Mon Mar 27 01:17:04 2006 -0800 [PATCH] pnp: cs4236: adjust pnp_register_driver signature Remove the assumption that pnp_register_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f301ae6a690abe7edd2f92fa6df0b1b06986a6ad Author: Bjorn Helgaas Date: Mon Mar 27 01:17:04 2006 -0800 [PATCH] pnp: mpu401: adjust pnp_register_driver signature This series of patches removes the assumption that pnp_register_driver() returns the number of devices claimed. Returning the count is unreliable because devices may be hot-plugged in the future. (Many devices don't support hot-plug, of course, but PNP in general does.) This changes the convention to "zero for success, or a negative error value," which matches pci_register_driver(), acpi_bus_register_driver(), and platform_driver_register(). If drivers need to know the number of devices, they can count calls to their .probe() methods. This patch: Remove the assumption that pnp_register_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7597fee389b18e5ed3c8bd58f0012674beb279ed Author: Bjorn Helgaas Date: Mon Mar 27 01:17:02 2006 -0800 [PATCH] pnp: parport: adjust pnp_register_driver signature Remove the assumption that pnp_register_driver() returns the number of devices claimed. parport_pc_init() does nothing with "count", so remove it. Then nobody uses the return value of parport_pc_find_ports(), so make it void. Finally, update pnp_register_driver() usage. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d98af87270cc08bb8251e004b9dc63cc838f24b Author: Alessandro Zummo Date: Mon Mar 27 01:16:47 2006 -0800 [PATCH] RTC subsystem: M48T86 driver Add a driver for the ST M48T86 / Dallas DS12887 RTC. This is a platform driver. The platform device must provide I/O routines to access the RTC. Signed-off-by: Alessandro Zummo Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e842f1c8ff8a88f290e26d1139e89aad02c4e0c3 Author: Richard Purdie Date: Mon Mar 27 01:16:46 2006 -0800 [PATCH] RTC subsystem: SA1100/PXA2XX driver Add an RTC subsystem driver for the ARM SA1100/PXA2XX processor RTC. Signed-off-by: Richard Purdie Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd507e2ff3a5adaccbefa05f4bc9f58f44e930db Author: Alessandro Zummo Date: Mon Mar 27 01:16:45 2006 -0800 [PATCH] RTC subsystem: EP93XX driver This patch adds a driver for the RTC embedded in the Cirrus Logic EP93XX family of processors. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7520b94debdc61620e1582fb4f5cca4a830f91cd Author: Alessandro Zummo Date: Mon Mar 27 01:16:45 2006 -0800 [PATCH] RTC subsystem: RS5C372 driver RTC class aware driver for the Ricoh RS5C372 chip used, among others, on the Synology DS101. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5a82d628d4491558c109fbeabc2993d6686e89c Author: Alessandro Zummo Date: Mon Mar 27 01:16:44 2006 -0800 [PATCH] RTC subsystem: PCF8563 driver An RTC class aware driver for the Philips PCF8563 RTC and Epson RTC8564 chips. This chip is used on the Iomega NAS100D. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edf1aaa31fc52ade0da7b6d1f2dffc17f0bdb9ff Author: Alessandro Zummo Date: Mon Mar 27 01:16:43 2006 -0800 [PATCH] RTC subsystem: DS1672 driver Driver for the Dallas/Maxim DS1672 chip, found on the Loft (http://www.giantshoulderinc.com). Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a95579cd4b40a4e062e187d931f498145551ee29 Author: Alessandro Zummo Date: Mon Mar 27 01:16:42 2006 -0800 [PATCH] RTC subsystem: test device/driver Interrupts can be generated by echo "alarm|tick|update" >/sys/class/rtc/rtcX/device/irq Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fec7c66ba98fc3a04e15fd14fad6b404e56fc94 Author: Alessandro Zummo Date: Mon Mar 27 01:16:42 2006 -0800 [PATCH] RTC subsystem: X1205 driver A port of the existing x1205 driver under the new RTC subsystem. It is actually under test within the NSLU2 project (http://www.nslu2-linux.org) and it is working quite well. It is the first driver under this new subsystem and should be used as a guide to port other drivers. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e824290e5dcfaf2120da587b16d10dfdff8d5d3e Author: Alessandro Zummo Date: Mon Mar 27 01:16:41 2006 -0800 [PATCH] RTC subsystem: dev interface Add the dev interface to the RTC subsystem. Each RTC will be available under /dev/rtcX . A symlink from /dev/rtc0 to /dev/rtc cab be obtained with the following udev rule: KERNEL=="rtc0", SYMLINK+="rtc" Signed-off-by: Alessandro Zummo Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 728a294787b780130d8eb237518d4cac0afe760c Author: Alessandro Zummo Date: Mon Mar 27 01:16:40 2006 -0800 [PATCH] RTC subsystem: proc interface Add the proc interface to the RTC subsystem. The first RTC driver which registers with the class will be accessible by /proc/driver/rtc . This is required for compatibility with the standard RTC driver and to avoid breaking any user space application which may erroneusly rely on this. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c3e19225217536d90515c494e55e642a21e4fa Author: Alessandro Zummo Date: Mon Mar 27 01:16:39 2006 -0800 [PATCH] RTC subsystem: sysfs interface This patch adds the sysfs interface to the RTC subsystem. Each RTC client will have his own entry under /sys/classs/rtc/rtcN . Within this entry some attributes are exported by the subsystem, like date and time. Signed-off-by: Alessandro Zummo Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7f3682fb2f8bc8a9c912baeea15454416ca1972 Author: Alessandro Zummo Date: Mon Mar 27 01:16:38 2006 -0800 [PATCH] RTC subsystem: I2C driver ids This patch adds the I2C driver ids to i2c-id.h in preparation of the I2C direct probing method. This is kept separate so that it can be integrated to Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fc7f10cee28c7fa190920fefda8c696d5bf3074 Author: Alessandro Zummo Date: Mon Mar 27 01:16:37 2006 -0800 [PATCH] RTC subsystem: I2C cleanup This patch, completely optional, removes from drivers/i2c/chips all the drivers that are implemented in the new RTC subsystem. It should be noted that none of the current driver is actually integrated, i.e. usable without further patches. Signed-off-by: Alessandro Zummo Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c86edc0d4970649f39748c4ce4f2895f728468f Author: Alessandro Zummo Date: Mon Mar 27 01:16:37 2006 -0800 [PATCH] RTC subsystem: class Add the basic RTC subsystem infrastructure to the kernel. rtc/class.c - registration facilities for RTC drivers rtc/interface.c - kernel/rtc interface functions rtc/hctosys.c - snippet of code that copies hw clock to sw clock at bootup, if configured to do so. Signed-off-by: Alessandro Zummo Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4079c39aaab65022f4875609d76e62669ef94c29 Author: Richard Purdie Date: Mon Mar 27 01:16:36 2006 -0800 [PATCH] RTC subsystem: ARM Integrator cleanup Fix some namespace conflicts between the RTC subsystem and the ARM Integrator time functions. Signed-off-by: Richard Purdie Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12b824fb15a37cdcdfa3e92c9e912a07cc6f7a24 Author: Alessandro Zummo Date: Mon Mar 27 01:16:35 2006 -0800 [PATCH] RTC subsystem: ARM cleanup This patch removes from the ARM subsytem some of the rtc-related functions that have been included in the RTC subsystem. It also fixes some naming collisions. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c58411e95d7f5062dedd1a3064af4d359da1e633 Author: Alessandro Zummo Date: Mon Mar 27 01:16:34 2006 -0800 [PATCH] RTC Subsystem: library functions RTC and date/time related functions. Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d23ee8fe6e2176a9d4dbfdd18edfa1b5bc3c79a5 Author: Yoichi Yuasa Date: Mon Mar 27 01:16:33 2006 -0800 [PATCH] mips: fixed collision of rtc function name Fix the collision of rtc function name. Signed-off-by: Yoichi Yuasa Cc: Alessandro Zummo Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e041c683412d5bf44dc2b109053e3b837b71742d Author: Alan Stern Date: Mon Mar 27 01:16:30 2006 -0800 [PATCH] Notifier chain update: API changes The kernel's implementation of notifier chains is unsafe. There is no protection against entries being added to or removed from a chain while the chain is in use. The issues were discussed in this thread: http://marc.theaimsgroup.com/?l=linux-kernel&m=113018709002036&w=2 We noticed that notifier chains in the kernel fall into two basic usage classes: "Blocking" chains are always called from a process context and the callout routines are allowed to sleep; "Atomic" chains can be called from an atomic context and the callout routines are not allowed to sleep. We decided to codify this distinction and make it part of the API. Therefore this set of patches introduces three new, parallel APIs: one for blocking notifiers, one for atomic notifiers, and one for "raw" notifiers (which is really just the old API under a new name). New kinds of data structures are used for the heads of the chains, and new routines are defined for registration, unregistration, and calling a chain. The three APIs are explained in include/linux/notifier.h and their implementation is in kernel/sys.c. With atomic and blocking chains, the implementation guarantees that the chain links will not be corrupted and that chain callers will not get messed up by entries being added or removed. For raw chains the implementation provides no guarantees at all; users of this API must provide their own protections. (The idea was that situations may come up where the assumptions of the atomic and blocking APIs are not appropriate, so it should be possible for users to handle these things in their own way.) There are some limitations, which should not be too hard to live with. For atomic/blocking chains, registration and unregistration must always be done in a process context since the chain is protected by a mutex/rwsem. Also, a callout routine for a non-raw chain must not try to register or unregister entries on its own chain. (This did happen in a couple of places and the code had to be changed to avoid it.) Since atomic chains may be called from within an NMI handler, they cannot use spinlocks for synchronization. Instead we use RCU. The overhead falls almost entirely in the unregister routine, which is okay since unregistration is much less frequent that calling a chain. Here is the list of chains that we adjusted and their classifications. None of them use the raw API, so for the moment it is only a placeholder. ATOMIC CHAINS ------------- arch/i386/kernel/traps.c: i386die_chain arch/ia64/kernel/traps.c: ia64die_chain arch/powerpc/kernel/traps.c: powerpc_die_chain arch/sparc64/kernel/traps.c: sparc64die_chain arch/x86_64/kernel/traps.c: die_chain drivers/char/ipmi/ipmi_si_intf.c: xaction_notifier_list kernel/panic.c: panic_notifier_list kernel/profile.c: task_free_notifier net/bluetooth/hci_core.c: hci_notifier net/ipv4/netfilter/ip_conntrack_core.c: ip_conntrack_chain net/ipv4/netfilter/ip_conntrack_core.c: ip_conntrack_expect_chain net/ipv6/addrconf.c: inet6addr_chain net/netfilter/nf_conntrack_core.c: nf_conntrack_chain net/netfilter/nf_conntrack_core.c: nf_conntrack_expect_chain net/netlink/af_netlink.c: netlink_chain BLOCKING CHAINS --------------- arch/powerpc/platforms/pseries/reconfig.c: pSeries_reconfig_chain arch/s390/kernel/process.c: idle_chain arch/x86_64/kernel/process.c idle_notifier drivers/base/memory.c: memory_chain drivers/cpufreq/cpufreq.c cpufreq_policy_notifier_list drivers/cpufreq/cpufreq.c cpufreq_transition_notifier_list drivers/macintosh/adb.c: adb_client_list drivers/macintosh/via-pmu.c sleep_notifier_list drivers/macintosh/via-pmu68k.c sleep_notifier_list drivers/macintosh/windfarm_core.c wf_client_list drivers/usb/core/notify.c usb_notifier_list drivers/video/fbmem.c fb_notifier_list kernel/cpu.c cpu_chain kernel/module.c module_notify_list kernel/profile.c munmap_notifier kernel/profile.c task_exit_notifier kernel/sys.c reboot_notifier_list net/core/dev.c netdev_chain net/decnet/dn_dev.c: dnaddr_chain net/ipv4/devinet.c: inetaddr_chain It's possible that some of these classifications are wrong. If they are, please let us know or submit a patch to fix them. Note that any chain that gets called very frequently should be atomic, because the rwsem read-locking used for blocking chains is very likely to incur cache misses on SMP systems. (However, if the chain's callout routines may sleep then the chain cannot be atomic.) The patch set was written by Alan Stern and Chandra Seetharaman, incorporating material written by Keith Owens and suggestions from Paul McKenney and Andrew Morton. [jes@sgi.com: restructure the notifier chain initialization macros] Signed-off-by: Alan Stern Signed-off-by: Chandra Seetharaman Signed-off-by: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76b81e2b0e2241accebcc68e126bc5ab958661b9 Author: Ingo Molnar Date: Mon Mar 27 01:16:28 2006 -0800 [PATCH] lightweight robust futexes updates 2 futex.h updates: - get rid of FUTEX_OWNER_PENDING - it's not used - reduce ROBUST_LIST_LIMIT to a saner value Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f17d3a5049d32392b79925c73a0cf99ce6d5af0 Author: Ingo Molnar Date: Mon Mar 27 01:16:27 2006 -0800 [PATCH] lightweight robust futexes updates - fix: initialize the robust list(s) to NULL in copy_process. - doc update - cleanup: rename _inuser to _inatomic - __user cleanups and other small cleanups Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Cc: Arjan van de Ven Cc: Ulrich Drepper Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fdd6c6df7889dc89df3d9fe0f5bbe6733e39f48 Author: Ingo Molnar Date: Mon Mar 27 01:16:26 2006 -0800 [PATCH] lightweight robust futexes: x86_64 x86_64: add the futex_atomic_cmpxchg_inuser() assembly implementation, and wire up the new syscalls. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven Acked-by: Ulrich Drepper Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfd4e3ec246355274c9cf62c6b04a1ee6fa3caba Author: Ingo Molnar Date: Mon Mar 27 01:16:25 2006 -0800 [PATCH] lightweight robust futexes: i386 i386: add the futex_atomic_cmpxchg_inuser() assembly implementation, and wire up the new syscalls. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven Acked-by: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34f192c6527f20c47ccec239e7d51a27691b93fc Author: Ingo Molnar Date: Mon Mar 27 01:16:24 2006 -0800 [PATCH] lightweight robust futexes: compat 32-bit syscall compatibility support. (This patch also moves all futex related compat functionality into kernel/futex_compat.c.) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven Acked-by: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2eec9ad91f71a3dbacece5c4fb5adc09fad53a96 Author: Ingo Molnar Date: Mon Mar 27 01:16:23 2006 -0800 [PATCH] lightweight robust futexes: docs Add robust-futex documentation. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0771dfefc9e538f077d0b43b6dec19a5a67d0e70 Author: Ingo Molnar Date: Mon Mar 27 01:16:22 2006 -0800 [PATCH] lightweight robust futexes: core Add the core infrastructure for robust futexes: structure definitions, the new syscalls and the do_exit() based cleanup mechanism. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven Acked-by: Ulrich Drepper Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9056f13bfcdd054a0c3d730e4e096748d8a363a Author: Ingo Molnar Date: Mon Mar 27 01:16:21 2006 -0800 [PATCH] lightweight robust futexes: arch defaults This patchset provides a new (written from scratch) implementation of robust futexes, called "lightweight robust futexes". We believe this new implementation is faster and simpler than the vma-based robust futex solutions presented before, and we'd like this patchset to be adopted in the upstream kernel. This is version 1 of the patchset. Background ---------- What are robust futexes? To answer that, we first need to understand what futexes are: normal futexes are special types of locks that in the noncontended case can be acquired/released from userspace without having to enter the kernel. A futex is in essence a user-space address, e.g. a 32-bit lock variable field. If userspace notices contention (the lock is already owned and someone else wants to grab it too) then the lock is marked with a value that says "there's a waiter pending", and the sys_futex(FUTEX_WAIT) syscall is used to wait for the other guy to release it. The kernel creates a 'futex queue' internally, so that it can later on match up the waiter with the waker - without them having to know about each other. When the owner thread releases the futex, it notices (via the variable value) that there were waiter(s) pending, and does the sys_futex(FUTEX_WAKE) syscall to wake them up. Once all waiters have taken and released the lock, the futex is again back to 'uncontended' state, and there's no in-kernel state associated with it. The kernel completely forgets that there ever was a futex at that address. This method makes futexes very lightweight and scalable. "Robustness" is about dealing with crashes while holding a lock: if a process exits prematurely while holding a pthread_mutex_t lock that is also shared with some other process (e.g. yum segfaults while holding a pthread_mutex_t, or yum is kill -9-ed), then waiters for that lock need to be notified that the last owner of the lock exited in some irregular way. To solve such types of problems, "robust mutex" userspace APIs were created: pthread_mutex_lock() returns an error value if the owner exits prematurely - and the new owner can decide whether the data protected by the lock can be recovered safely. There is a big conceptual problem with futex based mutexes though: it is the kernel that destroys the owner task (e.g. due to a SEGFAULT), but the kernel cannot help with the cleanup: if there is no 'futex queue' (and in most cases there is none, futexes being fast lightweight locks) then the kernel has no information to clean up after the held lock! Userspace has no chance to clean up after the lock either - userspace is the one that crashes, so it has no opportunity to clean up. Catch-22. In practice, when e.g. yum is kill -9-ed (or segfaults), a system reboot is needed to release that futex based lock. This is one of the leading bugreports against yum. To solve this problem, 'Robust Futex' patches were created and presented on lkml: the one written by Todd Kneisel and David Singleton is the most advanced at the moment. These patches all tried to extend the futex abstraction by registering futex-based locks in the kernel - and thus give the kernel a chance to clean up. E.g. in David Singleton's robust-futex-6.patch, there are 3 new syscall variants to sys_futex(): FUTEX_REGISTER, FUTEX_DEREGISTER and FUTEX_RECOVER. The kernel attaches such robust futexes to vmas (via vma->vm_file->f_mapping->robust_head), and at do_exit() time, all vmas are searched to see whether they have a robust_head set. Lots of work went into the vma-based robust-futex patch, and recently it has improved significantly, but unfortunately it still has two fundamental problems left: - they have quite complex locking and race scenarios. The vma-based patches had been pending for years, but they are still not completely reliable. - they have to scan _every_ vma at sys_exit() time, per thread! The second disadvantage is a real killer: pthread_exit() takes around 1 microsecond on Linux, but with thousands (or tens of thousands) of vmas every pthread_exit() takes a millisecond or more, also totally destroying the CPU's L1 and L2 caches! This is very much noticeable even for normal process sys_exit_group() calls: the kernel has to do the vma scanning unconditionally! (this is because the kernel has no knowledge about how many robust futexes there are to be cleaned up, because a robust futex might have been registered in another task, and the futex variable might have been simply mmap()-ed into this process's address space). This huge overhead forced the creation of CONFIG_FUTEX_ROBUST, but worse than that: the overhead makes robust futexes impractical for any type of generic Linux distribution. So it became clear to us, something had to be done. Last week, when Thomas Gleixner tried to fix up the vma-based robust futex patch in the -rt tree, he found a handful of new races and we were talking about it and were analyzing the situation. At that point a fundamentally different solution occured to me. This patchset (written in the past couple of days) implements that new solution. Be warned though - the patchset does things we normally dont do in Linux, so some might find the approach disturbing. Parental advice recommended ;-) New approach to robust futexes ------------------------------ At the heart of this new approach there is a per-thread private list of robust locks that userspace is holding (maintained by glibc) - which userspace list is registered with the kernel via a new syscall [this registration happens at most once per thread lifetime]. At do_exit() time, the kernel checks this user-space list: are there any robust futex locks to be cleaned up? In the common case, at do_exit() time, there is no list registered, so the cost of robust futexes is just a simple current->robust_list != NULL comparison. If the thread has registered a list, then normally the list is empty. If the thread/process crashed or terminated in some incorrect way then the list might be non-empty: in this case the kernel carefully walks the list [not trusting it], and marks all locks that are owned by this thread with the FUTEX_OWNER_DEAD bit, and wakes up one waiter (if any). The list is guaranteed to be private and per-thread, so it's lockless. There is one race possible though: since adding to and removing from the list is done after the futex is acquired by glibc, there is a few instructions window for the thread (or process) to die there, leaving the futex hung. To protect against this possibility, userspace (glibc) also maintains a simple per-thread 'list_op_pending' field, to allow the kernel to clean up if the thread dies after acquiring the lock, but just before it could have added itself to the list. Glibc sets this list_op_pending field before it tries to acquire the futex, and clears it after the list-add (or list-remove) has finished. That's all that is needed - all the rest of robust-futex cleanup is done in userspace [just like with the previous patches]. Ulrich Drepper has implemented the necessary glibc support for this new mechanism, which fully enables robust mutexes. (Ulrich plans to commit these changes to glibc-HEAD later today.) Key differences of this userspace-list based approach, compared to the vma based method: - it's much, much faster: at thread exit time, there's no need to loop over every vma (!), which the VM-based method has to do. Only a very simple 'is the list empty' op is done. - no VM changes are needed - 'struct address_space' is left alone. - no registration of individual locks is needed: robust mutexes dont need any extra per-lock syscalls. Robust mutexes thus become a very lightweight primitive - so they dont force the application designer to do a hard choice between performance and robustness - robust mutexes are just as fast. - no per-lock kernel allocation happens. - no resource limits are needed. - no kernel-space recovery call (FUTEX_RECOVER) is needed. - the implementation and the locking is "obvious", and there are no interactions with the VM. Performance ----------- I have benchmarked the time needed for the kernel to process a list of 1 million (!) held locks, using the new method [on a 2GHz CPU]: - with FUTEX_WAIT set [contended mutex]: 130 msecs - without FUTEX_WAIT set [uncontended mutex]: 30 msecs I have also measured an approach where glibc does the lock notification [which it currently does for !pshared robust mutexes], and that took 256 msecs - clearly slower, due to the 1 million FUTEX_WAKE syscalls userspace had to do. (1 million held locks are unheard of - we expect at most a handful of locks to be held at a time. Nevertheless it's nice to know that this approach scales nicely.) Implementation details ---------------------- The patch adds two new syscalls: one to register the userspace list, and one to query the registered list pointer: asmlinkage long sys_set_robust_list(struct robust_list_head __user *head, size_t len); asmlinkage long sys_get_robust_list(int pid, struct robust_list_head __user **head_ptr, size_t __user *len_ptr); List registration is very fast: the pointer is simply stored in current->robust_list. [Note that in the future, if robust futexes become widespread, we could extend sys_clone() to register a robust-list head for new threads, without the need of another syscall.] So there is virtually zero overhead for tasks not using robust futexes, and even for robust futex users, there is only one extra syscall per thread lifetime, and the cleanup operation, if it happens, is fast and straightforward. The kernel doesnt have any internal distinction between robust and normal futexes. If a futex is found to be held at exit time, the kernel sets the highest bit of the futex word: #define FUTEX_OWNER_DIED 0x40000000 and wakes up the next futex waiter (if any). User-space does the rest of the cleanup. Otherwise, robust futexes are acquired by glibc by putting the TID into the futex field atomically. Waiters set the FUTEX_WAITERS bit: #define FUTEX_WAITERS 0x80000000 and the remaining bits are for the TID. Testing, architecture support ----------------------------- I've tested the new syscalls on x86 and x86_64, and have made sure the parsing of the userspace list is robust [ ;-) ] even if the list is deliberately corrupted. i386 and x86_64 syscalls are wired up at the moment, and Ulrich has tested the new glibc code (on x86_64 and i386), and it works for his robust-mutex testcases. All other architectures should build just fine too - but they wont have the new syscalls yet. Architectures need to implement the new futex_atomic_cmpxchg_inuser() inline function before writing up the syscalls (that function returns -ENOSYS right now). This patch: Add placeholder futex_atomic_cmpxchg_inuser() implementations to every architecture that supports futexes. It returns -ENOSYS. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven Acked-by: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62ac285f3c701f0457a15fe01baa64a965c4f5f1 Author: Ingo Molnar Date: Mon Mar 27 01:16:13 2006 -0800 [PATCH] mips: add ptr_to_compat() Add ptr_to_compat() - needed by the new robust futex code. Signed-off-by: Ingo Molnar Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 213b63b76a823e622d87df623aaec1119acaeaa0 Author: Ingo Molnar Date: Mon Mar 27 01:16:12 2006 -0800 [PATCH] parisc: add ptr_to_compat() Add ptr_to_compat() to parisc - needed by the new robust futex code. Signed-off-by: Ingo Molnar Cc: Kyle McMartin Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f267fa9f5b377b5cecdb2baf332fec08bb71246d Author: Ingo Molnar Date: Mon Mar 27 01:16:09 2006 -0800 [PATCH] s390: add ptr_to_compat() Add ptr_to_compat() to s390 - needed by the new robust-futex code. Signed-off-by: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky untested. CHECKME: am i right about the 0x7fffffffUL masking? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66e863acd7f2fb02fef709d5f0ab069445d4a58c Author: Ingo Molnar Date: Mon Mar 27 01:16:06 2006 -0800 [PATCH] ia64: add ptr_to_compat() Add ptr_to_compat() to ia64 - needed by the robust-futex code. Signed-off-by: Ingo Molnar Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a9835c350782a5c3257343713932af3ac92ee0 Author: Dave Hansen Date: Mon Mar 27 01:16:04 2006 -0800 [PATCH] unify PFN_* macros Just about every architecture defines some macros to do operations on pfns. They're all virtually identical. This patch consolidates all of them. One minor glitch is that at least i386 uses them in a very skeletal header file. To keep away from #include dependency hell, I stuck the new definitions in a new, isolated header. Of all of the implementations, sh64 is the only one that varied by a bit. It used some masks to ensure that any sign-extension got ripped away before the arithmetic is done. This has been posted to that sh64 maintainers and the development list. Compiles on x86, x86_64, ia64 and ppc64. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95144c788dc01b6a0ff2c9c2222e37ffdab358b8 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:16:02 2006 -0800 [PATCH] uninline zone helpers Helper functions for for_each_online_pgdat/for_each_zone look too big to be inlined. Speed of these helper macro itself is not very important. (inner loops are tend to do more work than this) This patch make helper function to be out-of-lined. inline out-of-line .text 005c0680 005bf6a0 005c0680 - 005bf6a0 = FE0 = 4Kbytes. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae0f15fb91274e67d78836d38c99ec363df33073 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:16:01 2006 -0800 [PATCH] for_each_online_pgdat: remove pgdat_list By using for_each_online_pgdat(), pgdat_list is not necessary now. This patch removes it. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3571761fe49d960bb720c2308ffb9401f0a5e161 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:16:00 2006 -0800 [PATCH] for_each_online_pgdat: remove sorting pgdat Because pgdat_list was linked to pgdat_list in *reverse* order, (By default) some of arch has to sort it by themselves. for_each_pgdat has gone..for_each_online_pgdat() uses node_online_map, which doesn't need to be sorted. This patch removes codes for sorting pgdat. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec936fc563715a9e2b2e363eb060655b49529325 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:59 2006 -0800 [PATCH] for_each_online_pgdat: renaming for_each_pgdat Replace for_each_pgdat() with for_each_online_pgdat(). Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 679bc9fbb508a0aac9539b2de747eb5849feb428 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:58 2006 -0800 [PATCH] for_each_online_pgdat: for_each_bootmem Add a list_head to bootmem_data_t and make bootmems use it. bootmem list is sorted by node_boot_start. Only nodes against which init_bootmem() is called are linked to the list. (i386 allocates bootmem only from one node(0) not from all online nodes.) A summary: 1. for_each_online_pgdat() traverses all *online* nodes. 2. alloc_bootmem() allocates memory only from initialized-for-bootmem nodes. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8357f8695d58b50fbf2bd507b4b0fc2cd1e43bd6 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:57 2006 -0800 [PATCH] define for_each_online_pgdat This patch defines for_each_online_pgdat() as a replacement of for_each_pgdat() Now, online nodes are managed by node_online_map. But for_each_pgdat() uses pgdat_link to iterate over all nodes(pgdat). This means management structure for online pgdat is duplicated. I think using node_online_map for for_each_pgdat() is simple and sane rather ather than pgdat_link. New macro is named as for_each_online_pgdat(). Following patch will fix callers of for_each_pgdat(). The bootmem allocater uses for_each_pgdat() before pgdat initialization. I don't think it's sane. Following patch will fix it. Signed-off-by: Yasunori Goto Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0140c1d85637ee5f4ea7c78f066e3611a6a79dc Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:55 2006 -0800 [PATCH] remove zone_mem_map This patch removes zone_mem_map. pfn_to_page uses pgdat, page_to_pfn uses zone. page_to_pfn can use pgdat instead of zone, which is only one user of zone_mem_map. By modifing it, we can remove zone_mem_map. Signed-off-by: KAMEZAWA Hiroyuki Cc: Dave Hansen Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ecd702bcb924d5fb7f687e09986f688336ac896 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:53 2006 -0800 [PATCH] unify pfn_to_page: ia64 pfn_to_page ia64 has special config CONFIG_VIRTUAL_MEM_MAP. CONFIG_DISCONTIGMEM=y && CONFIG_VIRTUAL_MEM_MAP!=y is bug ? Signed-off-by: KAMEZAWA Hiroyuki Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 655a0443470a73d5dc36e974a241e8db59bb1ccb Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:52 2006 -0800 [PATCH] unify pfn_to_page: xtensa pfn_to_page xtensa can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6009f1ba5f6ff0fc8723254ce89ef9c979cc370 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:52 2006 -0800 [PATCH] unify pfn_to_page: v850 pfn_to_page v850 can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9828c185db7ab41426c03c5539b1759ccf3c28ed Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:50 2006 -0800 [PATCH] unify pfn_to_page: uml pfn_to_page UML can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064b2a0762ef7dca5f7068a90b260a309ffe2002 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:48 2006 -0800 [PATCH] unify pfn_to_page: sparc pfn_to_page sparc can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 309d34bbe521940de9098d306a58a1797a42d990 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:47 2006 -0800 [PATCH] unify pfn_to_page: sh64 pfn_to_page sh64 can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Mundt Cc: Richard Curnow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 104b8deaa5c0144cccfc7d914413ff80c7176af1 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:46 2006 -0800 [PATCH] unify pfn_to_page: sh pfn_to_page sh can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Mundt Cc: Kazumoto Kojima Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aed630434c4fc0bca8ed62f6730d44ba00bdf595 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:45 2006 -0800 [PATCH] unify pfn_to_page: s390 pfn_to_page s390 can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Heiko Carstens Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f68d4c996d3062c8fe64e3ed36d4c83d23288ad8 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:44 2006 -0800 [PATCH] unify pfn_to_page: ppc pfn_to_page PPC can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d833b41092df2f4a65cbdb0a0a947c35cdd2f9d Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:43 2006 -0800 [PATCH] unify pfn_to_page: parisc pfn_to_page PARISC can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a02036e796e5046fe0463b9a092e9b617c525866 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:43 2006 -0800 [PATCH] unify pfn_to_page: mips pfn_to_page MIPS can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7126cffe74f0dbcd015aaabab01069f422526535 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:42 2006 -0800 [PATCH] unify pfn_to_page: m32r pfn_to_page m32r can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd6cc7631cf2a63b3d6c32619054e017479e72ca Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:41 2006 -0800 [PATCH] unify pfn_to_page: h8300 pfn_to_page H8300 can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cdac7ca1b727184b1af21effaffcb9e2cd535c2 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:40 2006 -0800 [PATCH] unify pfn_to_page: FRV pfn_to_page FRV can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb872f787a9b6a40a4aa206175e768137f595d9c Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:39 2006 -0800 [PATCH] unify pfn_to_page: cris pfn_to_page cris can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89fccaf2c4a4a8318153e3460a92284dadeb8f71 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:38 2006 -0800 [PATCH] unify pfn_to_page: arm26 pfn_to_page arm26 can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eb98a2f3b605d8a11434d855b58d828393ea533 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:37 2006 -0800 [PATCH] unify pfn_to_page: arm pfn_to_page ARM can use generic funcs. PFN_TO_NID, LOCAL_MAP_NR are defined by sub-archs. Signed-off-by: KAMEZAWA Hirotuki Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c05dda2b6f025267ab79a267e0a84628a3760e1 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:36 2006 -0800 [PATCH] unify pfn_to_page: alpha pfn_to_page Alpha can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 659e35051b165fb40f1160190c2d23f3d5c319d5 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:35 2006 -0800 [PATCH] unify pfn_to_page: powerpc pfn_to_page PowerPC can use generic ones. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc8ecb43701a78bd3c38e7fed1d1c76840579450 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:34 2006 -0800 [PATCH] unify pfn_to_page: x86_64 pfn_to_page x86_64 can use generic funcs. For DISCONTIGMEM, CONFIG_OUT_OF_LINE_PFN_TO_PAGE is selected. Signed-off-by: KAMEZAWA Hiroyuki Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad658b385e6308066f9084a7ea01305b223cd3a0 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:33 2006 -0800 [PATCH] unify pfn_to_page: i386 pfn_to_page i386 can use generic funcs. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a117e66ed45ac0569c039ea60bd7a9a61e031858 Author: KAMEZAWA Hiroyuki Date: Mon Mar 27 01:15:25 2006 -0800 [PATCH] unify pfn_to_page: generic functions There are 3 memory models, FLATMEM, DISCONTIGMEM, SPARSEMEM. Each arch has its own page_to_pfn(), pfn_to_page() for each models. But most of them can use the same arithmetic. This patch adds asm-generic/memory_model.h, which includes generic page_to_pfn(), pfn_to_page() definitions for each memory model. When CONFIG_OUT_OF_LINE_PFN_TO_PAGE=y, out-of-line functions are used instead of macro. This is enabled by some archs and reduces text size. Signed-off-by: KAMEZAWA Hiroyuki Cc: Hugh Dickins Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Ian Molton Cc: Mikael Starvik Cc: David Howells Cc: Yoshinori Sato Cc: Hirokazu Takata Cc: Ralf Baechle Cc: Kyle McMartin Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: William Lee Irwin III Cc: "David S. Miller" Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Miles Bader Cc: Chris Zankel Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b06be912a3ad68c69dba0ed6e92723140020e392 Author: Shaohua Li Date: Mon Mar 27 01:15:24 2006 -0800 [PATCH] x86: don't use cpuid.2 to determine cache info if cpuid.4 is supported Don't use cpuid.2 to determine cache info if cpuid.4 is supported. The exception is P4 trace cache. We always use cpuid.2 to get trace cache under P4. Signed-off-by: Shaohua Li Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0806903316d516a3b3851c51cea5c71724d9051d Author: Siddha, Suresh B Date: Mon Mar 27 01:15:23 2006 -0800 [PATCH] sched: fix group power for allnodes_domains Current sched groups power calculation for allnodes_domains is wrong. We should really be using cumulative power of the physical packages in that group (similar to the calculation in node_domains) Signed-off-by: Suresh Siddha Cc: Ingo Molnar Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7 Author: Siddha, Suresh B Date: Mon Mar 27 01:15:22 2006 -0800 [PATCH] sched: new sched domain for representing multi-core Add a new sched domain for representing multi-core with shared caches between cores. Consider a dual package system, each package containing two cores and with last level cache shared between cores with in a package. If there are two runnable processes, with this appended patch those two processes will be scheduled on different packages. On such systems, with this patch we have observed 8% perf improvement with specJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2 users). This new domain will come into play only on multi-core systems with shared caches. On other systems, this sched domain will be removed by domain degeneration code. This new domain can be also used for implementing power savings policy (see OLS 2005 CMP kernel scheduler paper for more details.. I will post another patch for power savings policy soon) Most of the arch/* file changes are for cpu_coregroup_map() implementation. Signed-off-by: Suresh Siddha Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77e4bfbcf071f795b54862455dce8902b3fc29c2 Author: Andreas Mohr Date: Mon Mar 27 01:15:20 2006 -0800 [PATCH] Small schedule() optimization small schedule() microoptimization. Signed-off-by: Andreas Mohr Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 013d3868143387be99bb0373d49452eaa3c55d41 Author: Martin Andersson Date: Mon Mar 27 01:15:18 2006 -0800 [PATCH] sched: fix task interactivity calculation Is a truncation error in kernel/sched.c triggered when the nice value is negative. The affected code is used in the TASK_INTERACTIVE macro. The code is: #define SCALE(v1,v1_max,v2_max) \ (v1) * (v2_max) / (v1_max) which is used in this way: SCALE(TASK_NICE(p), 40, MAX_BONUS) Comments in the code says: * This part scales the interactivity limit depending on niceness. * * We scale it linearly, offset by the INTERACTIVE_DELTA delta. * Here are a few examples of different nice levels: * * TASK_INTERACTIVE(-20): [1,1,1,1,1,1,1,1,1,0,0] * TASK_INTERACTIVE(-10): [1,1,1,1,1,1,1,0,0,0,0] * TASK_INTERACTIVE( 0): [1,1,1,1,0,0,0,0,0,0,0] * TASK_INTERACTIVE( 10): [1,1,0,0,0,0,0,0,0,0,0] * TASK_INTERACTIVE( 19): [0,0,0,0,0,0,0,0,0,0,0] * * (the X axis represents the possible -5 ... 0 ... +5 dynamic * priority range a task can explore, a value of '1' means the * task is rated interactive.) However, the current code does not scale it linearly and the result differs from the given examples. If the mathematical function "floor" is used when the nice value is negative instead of the truncation one gets when using integer division, the result conforms to the documentation. Output of TASK_INTERACTIVE when using the kernel code: nice dynamic priorities -20 1 1 1 1 1 1 1 1 1 0 0 -19 1 1 1 1 1 1 1 1 0 0 0 -18 1 1 1 1 1 1 1 1 0 0 0 -17 1 1 1 1 1 1 1 1 0 0 0 -16 1 1 1 1 1 1 1 1 0 0 0 -15 1 1 1 1 1 1 1 0 0 0 0 -14 1 1 1 1 1 1 1 0 0 0 0 -13 1 1 1 1 1 1 1 0 0 0 0 -12 1 1 1 1 1 1 1 0 0 0 0 -11 1 1 1 1 1 1 0 0 0 0 0 -10 1 1 1 1 1 1 0 0 0 0 0 -9 1 1 1 1 1 1 0 0 0 0 0 -8 1 1 1 1 1 1 0 0 0 0 0 -7 1 1 1 1 1 0 0 0 0 0 0 -6 1 1 1 1 1 0 0 0 0 0 0 -5 1 1 1 1 1 0 0 0 0 0 0 -4 1 1 1 1 1 0 0 0 0 0 0 -3 1 1 1 1 0 0 0 0 0 0 0 -2 1 1 1 1 0 0 0 0 0 0 0 -1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 2 1 1 1 1 0 0 0 0 0 0 0 3 1 1 1 1 0 0 0 0 0 0 0 4 1 1 1 0 0 0 0 0 0 0 0 5 1 1 1 0 0 0 0 0 0 0 0 6 1 1 1 0 0 0 0 0 0 0 0 7 1 1 1 0 0 0 0 0 0 0 0 8 1 1 0 0 0 0 0 0 0 0 0 9 1 1 0 0 0 0 0 0 0 0 0 10 1 1 0 0 0 0 0 0 0 0 0 11 1 1 0 0 0 0 0 0 0 0 0 12 1 0 0 0 0 0 0 0 0 0 0 13 1 0 0 0 0 0 0 0 0 0 0 14 1 0 0 0 0 0 0 0 0 0 0 15 1 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 Output of TASK_INTERACTIVE when using "floor" nice dynamic priorities -20 1 1 1 1 1 1 1 1 1 0 0 -19 1 1 1 1 1 1 1 1 1 0 0 -18 1 1 1 1 1 1 1 1 1 0 0 -17 1 1 1 1 1 1 1 1 1 0 0 -16 1 1 1 1 1 1 1 1 0 0 0 -15 1 1 1 1 1 1 1 1 0 0 0 -14 1 1 1 1 1 1 1 1 0 0 0 -13 1 1 1 1 1 1 1 1 0 0 0 -12 1 1 1 1 1 1 1 0 0 0 0 -11 1 1 1 1 1 1 1 0 0 0 0 -10 1 1 1 1 1 1 1 0 0 0 0 -9 1 1 1 1 1 1 1 0 0 0 0 -8 1 1 1 1 1 1 0 0 0 0 0 -7 1 1 1 1 1 1 0 0 0 0 0 -6 1 1 1 1 1 1 0 0 0 0 0 -5 1 1 1 1 1 1 0 0 0 0 0 -4 1 1 1 1 1 0 0 0 0 0 0 -3 1 1 1 1 1 0 0 0 0 0 0 -2 1 1 1 1 1 0 0 0 0 0 0 -1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 2 1 1 1 1 0 0 0 0 0 0 0 3 1 1 1 1 0 0 0 0 0 0 0 4 1 1 1 0 0 0 0 0 0 0 0 5 1 1 1 0 0 0 0 0 0 0 0 6 1 1 1 0 0 0 0 0 0 0 0 7 1 1 1 0 0 0 0 0 0 0 0 8 1 1 0 0 0 0 0 0 0 0 0 9 1 1 0 0 0 0 0 0 0 0 0 10 1 1 0 0 0 0 0 0 0 0 0 11 1 1 0 0 0 0 0 0 0 0 0 12 1 0 0 0 0 0 0 0 0 0 0 13 1 0 0 0 0 0 0 0 0 0 0 14 1 0 0 0 0 0 0 0 0 0 0 15 1 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 Signed-off-by: Martin Andersson Acked-by: Ingo Molnar Cc: Nick Piggin Cc: Mike Galbraith Cc: Peter Williams Cc: Con Kolivas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 491214716755894986b99e0cf0a08b830d244577 Author: NeilBrown Date: Mon Mar 27 01:15:12 2006 -0800 [PATCH] knfsd: Update rpc-cache.txt to match recent changes Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad1b5229def92b71631a927895b034ceec06c991 Author: NeilBrown Date: Mon Mar 27 01:15:11 2006 -0800 [PATCH] knfsd: Tidy up unix_domain_find We shouldn't really compare &new->h with anything when new ==NULL, and gather three different if statements that all start if (rv ... into one large if. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74cae61ab45f19a3e8c4d9f53c0e94df129c7915 Author: Adrian Bunk Date: Mon Mar 27 01:15:10 2006 -0800 [PATCH] fs/nfsd/export.c,net/sunrpc/cache.c: make needlessly global code static We can now make some code static. Signed-off-by: Adrian Bunk Cc: Neil Brown Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baab935ff3bdac20c558809da0d8e8f761840219 Author: NeilBrown Date: Mon Mar 27 01:15:09 2006 -0800 [PATCH] knfsd: Convert sunrpc_cache to use krefs .. it makes some of the code nicer. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebd0cb1af3be2729cc1f574681dfba01fcf458d9 Author: NeilBrown Date: Mon Mar 27 01:15:08 2006 -0800 [PATCH] knfsd: Unexport cache_fresh and fix a small race Cache_fresh is now only used in cache.c, so unexport it. Part of cache_fresh (setting CACHE_VALID) should really be done under the lock, while part (calling cache_revisit_request etc) must be done outside the lock. So we split it up appropriately. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d90452cb23b08a9a9dd001010f0ee6b1ee83a45 Author: NeilBrown Date: Mon Mar 27 01:15:07 2006 -0800 [PATCH] knfsd: Remove DefineCacheLookup This has been replaced by more traditional code. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4013edea9a0b6cdcb1fdf5d4011e47e068fd6efb Author: NeilBrown Date: Mon Mar 27 01:15:07 2006 -0800 [PATCH] knfsd: An assortment of little fixes to the sunrpc cache code - in cache_check, h must be non-NULL as it has been de-referenced, so don't bother checking for NULL. - When a cache-item is updated, we need to call cache_revisit_request to see if there is a pending request waiting for that item. We were using a transition to CACHE_VALID to see if that was needed, however that is wrong as an expired entry will still be marked 'valid' (as the data is valid and will need to be released). So instead use an off transition for CACHE_PENDING which is exactly the right thing to test. - Add a little bit more debugging info. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9ecc921b5b5e135050e7f22fef873c249aee3fc Author: NeilBrown Date: Mon Mar 27 01:15:06 2006 -0800 [PATCH] knfsd: Use new cache code for name/id lookup caches Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17f834b6d2e0b102ab53d73ba44d5dbb34c38f90 Author: NeilBrown Date: Mon Mar 27 01:15:05 2006 -0800 [PATCH] knfsd: Use new cache code for rsc cache Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4d11ea9d6d6fcfaa66fbd10fd4a8d43aa575597 Author: NeilBrown Date: Mon Mar 27 01:15:04 2006 -0800 [PATCH] knfsd: Use new sunrpc cache for rsi cache Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d270f7f4cdab792d7263926ac59f747258735ee Author: NeilBrown Date: Mon Mar 27 01:15:04 2006 -0800 [PATCH] knfsd: Use new cache_lookup for svc_expkey cache Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f7774c3a0558526c0faaf525581f2029480b313 Author: NeilBrown Date: Mon Mar 27 01:15:03 2006 -0800 [PATCH] knfsd: Use new cache_lookup for svc_export Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a9917c2da5b81fa536e560be0c431435e2c965b Author: NeilBrown Date: Mon Mar 27 01:15:02 2006 -0800 [PATCH] knfsd: Convert ip_map cache to use the new lookup routine Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15a5f6bd23eddd5b3be80366f364be04fb1c1c99 Author: NeilBrown Date: Mon Mar 27 01:15:02 2006 -0800 [PATCH] knfsd: Create cache_lookup function instead of using a macro to declare one The C++-like 'template' approach proves to be too ugly and hard to work with. The old 'template' won't go away until all users are updated. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d317f2c9f1e9dcf4f632fa98f91d1d4a36c4cae Author: NeilBrown Date: Mon Mar 27 01:15:01 2006 -0800 [PATCH] knfsd: Get rid of 'inplace' sunrpc caches These were an unnecessary wart. Also only have one 'DefineSimpleCache..' instead of two. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eab7e2e647c348b418e8715ecaca0177e1b473c7 Author: NeilBrown Date: Mon Mar 27 01:15:00 2006 -0800 [PATCH] knfsd: Break the hard linkage from svc_expkey to svc_export Current svc_expkey holds a pointer to the svc_export structure, so updates to that structure have to be in-place, which is a wart on the whole cache infrastruct. So we break that linkage and just do a second lookup. If this became a performance issue, it would be possible to put a direct link back in which was only used conditionally. i.e. when an object is replaced in the cache, we set a flag in the old object. When dereferencing the link from svc_expkey, if the flag is set, we drop the reference and do a fresh lookup. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc36aa5608f5717338747e152c23f2cfdb14697 Author: NeilBrown Date: Mon Mar 27 01:14:59 2006 -0800 [PATCH] knfsd: Change the store of auth_domains to not be a 'cache' The 'auth_domain's are simply handles on internal data structures. They do not cache information from user-space, and forcing them into the mold of a 'cache' misrepresents their true nature and causes confusion. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e7b19198003fc25b11838e709f17d4fa173b2d7 Author: Ian Kent Date: Mon Mar 27 01:14:59 2006 -0800 [PATCH] autofs4: atomic var underflow Fix accidental underflow of the atomic counter. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 871f94344cea36b2ce91231f442f9f9298529712 Author: Ian Kent Date: Mon Mar 27 01:14:58 2006 -0800 [PATCH] autofs4: follow_link missing functionality This functionality is also need for operation of autofs v5 direct mounts. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3370c74b2e147169d5bba6665e03d3281f5795ed Author: Dave Jones Date: Mon Mar 27 01:14:57 2006 -0800 [PATCH] Remove redundant check from autofs4_put_super We have to have a valid sbi here, or we'd have oopsed already. (There's a dereference of sbi->catatonic a few lines above) Coverity #740 Signed-off-by: Dave Jones Cc: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44d53eb041d901620b1090590a549a705767fd10 Author: Ian Kent Date: Mon Mar 27 01:14:56 2006 -0800 [PATCH] autofs4: change AUTOFS_TYP_* AUTOFS_TYPE_* Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c0a32fc2cd0be912511199449a37a4a6f0f582d Author: Ian Kent Date: Mon Mar 27 01:14:55 2006 -0800 [PATCH] autofs4: add new packet type for v5 communications This patch define a new autofs packet for autofs v5 and updates the waitq.c functions to handle the additional packet type. Signed-off-by: Ian Kent Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a15e2ab5d6e79a79291734ac24f33d51c0ae389 Author: Ian Kent Date: Mon Mar 27 01:14:55 2006 -0800 [PATCH] autofs4: add v5 expire logic This patch adds expire logic for autofs direct mounts. Signed-off-by: Ian Kent Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34ca959cfc15cf09ad4da4f31ab034691e51af78 Author: Ian Kent Date: Mon Mar 27 01:14:54 2006 -0800 [PATCH] autofs4: add v5 follow_link mount trigger method This patch adds a follow_link inode method for the root of an autofs direct mount trigger. It also adds the corresponding mount options and updates the show_mount method. Signed-off-by: Ian Kent Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 051d381259eb57d6074d02a6ba6e90e744f1a29f Author: Ian Kent Date: Mon Mar 27 01:14:53 2006 -0800 [PATCH] autofs4: nameidata needs to be up to date for follow_link In order to be able to trigger a mount using the follow_link inode method the nameidata struct that is passed in needs to have the vfsmount of the autofs trigger not its parent. During a path walk if an autofs trigger is mounted on a dentry, when the follow_link method is called, the nameidata struct contains the vfsmount and mountpoint dentry of the parent mount while the dentry that is passed in is the root of the autofs trigger mount. I believe it is impossible to get the vfsmount of the trigger mount, within the follow_link method, when only the parent vfsmount and the root dentry of the trigger mount are known. This patch updates the nameidata struct on entry to __do_follow_link if it detects that it is out of date. It moves the path_to_nameidata to above __do_follow_link to facilitate calling it from there. The dput_path is moved as well as that seemed sensible. No changes are made to these two functions. Signed-off-by: Ian Kent Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f75ba3ade8a4599d67040a9493d75a864e7b329c Author: Ian Kent Date: Mon Mar 27 01:14:52 2006 -0800 [PATCH] autofs4: increase module version Update autofs4 version. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3474a8eb38e48dea6690d1fabd75f3c7fd2f93f Author: Ian Kent Date: Mon Mar 27 01:14:51 2006 -0800 [PATCH] autofs4: change may_umount* functions to boolean Change the functions may_umount and may_umount_tree to boolean functions to aid code readability. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90a59c7cf5dd68b41ffab61dd30eba1ef5746e66 Author: Ian Kent Date: Mon Mar 27 01:14:50 2006 -0800 [PATCH] autofs4: rename simple_empty_nolock function Rename the function simple_empty_nolock to __simple_empty in line with kernel naming conventions. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e77fbddf77c071a5735a4bc63a30649bd64baf14 Author: Ian Kent Date: Mon Mar 27 01:14:49 2006 -0800 [PATCH] autofs4: white space cleanup for waitq.c Whitespace and formating changes to waitq code. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7c4a5f1080a61fd4a3a00ba5f741986f8fb71f0 Author: Ian Kent Date: Mon Mar 27 01:14:49 2006 -0800 [PATCH] autofs4: add a show mount options for proc filesystem Add show_options method to display autofs4 mount options in the proc filesystem. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 862b110f0132401e422783bf68521ade3dc67578 Author: Ian Kent Date: Mon Mar 27 01:14:48 2006 -0800 [PATCH] autofs4: remove update_atime unused function Remove the update of i_atime from autofs4 in favour of having VFS update it. i_atime is never used for expire in autofs4. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0a7aae94030b878601eb67686b696de4a3764f0 Author: Ian Kent Date: Mon Mar 27 01:14:47 2006 -0800 [PATCH] autofs4: expire mounts that hold no (extra) references only Alter the expire semantics that define how "busyness" is determined. Currently a last_used counter is updated on every revalidate from processes other than the mount owner process group. This patch changes that so that an expire candidate is busy only if it has a reference count greater than the expected minimum, such as when there is an open file or working directory in use. This method is the only way that busyness can be established for direct mounts within the new implementation. For consistency the expire semantic is made the same for all mounts. A side effect of the patch is that mounts which remain mounted unessessarily in the presence of some GUI programs that scan the filesystem should now expire. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1aff3c8b0511b5bb54acf7859e0c6ec9ae7287a9 Author: Ian Kent Date: Mon Mar 27 01:14:46 2006 -0800 [PATCH] autofs4: fix false negative return from expire Fix the case where an expire returns busy on a tree mount when it is in fact not busy. This case was overlooked when the patch to prevent the expiring away of "scaffolding" directories for tree mounts was applied. The problem arises when a tree of mounts is a member of a map with other keys. The current logic will not expire the tree if any other mount in the map is busy. The solution is to maintain a "minimum" use count for each autofs dentry and compare this to the actual dentry usage count during expire. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ce12bad85863478619688c0c7363f93a9e5edb8 Author: