commit d223a60106891bfe46febfacf46b20cd8509aaad Author: Linus Torvalds Date: Wed Oct 4 19:57:05 2006 -0700 Linux 2.6.19-rc1 Merge window closed.. commit 77dc2db6d1d2703ee4e83d4b3dbecf4e06a910e6 Author: Mark Assad Date: Thu Oct 5 12:25:05 2006 +1000 [PATCH] itmtouch: fix inverted flag to indicate touch location correctly, correct white space There is a bug in the current version of the itmtouch USB touchscreen driver. The if statment that checks if pressure is being applied to the touch screen is now missing a ! (not), so events are no longer being reported correctly. The original source code for this line was as follows: #define UCP(x) ((unsigned char*)(x)) #define UCOM(x,y,z) ((UCP((x)->transfer_buffer)[y]) & (z)) ... if (!UCOM(urb, 7, 0x20)) { And was cleaned to: unsigned char *data = urb->transfer_buffer; .... if (data[7] & 0x20) { (note the lack of '!') This has been tested on an LG L1510BF and an LG1510SF touch screen. Signed-off-by: Mark Assad Signed-off-by: Linus Torvalds commit 1604f31895dcdb42edf6511ce7ef0546ff92c8e5 Author: Matthew Wilcox Date: Wed Oct 4 15:12:52 2006 -0600 [PA-RISC] Fix time.c for new do_timer() calling convention do_timer now wants to know how many ticks have elapsed. Now that we have to calculate that, we can eliminate some of the clever code that avoided having to calculate that. Also add some more documentation. I'd like to thank Grant Grundler for helping me with this. Signed-off-by: Matthew Wilcox commit 1070c9655b90016ec4c9b59c402292e57ee15885 Author: Matthew Wilcox Date: Wed Oct 4 13:37:41 2006 -0600 [PA-RISC] Fix must_check warnings in drivers.c Panic if we can't register the parisc bus or the root parisc device. There's no way we can boot without them, so let the user know ASAP. If we can't register a parisc device, handle the failure gracefully. Signed-off-by: Matthew Wilcox commit f64ef295032d07345ca26bf4876a1577c4dccb37 Author: Matthew Wilcox Date: Wed Oct 4 13:33:53 2006 -0600 [PA-RISC] Fix parisc_newuname() The utsname virtualisation broke parisc_newuname compilation. Rewrite the implementation to call sys_newuname() like sparc64 does. Signed-off-by: Matthew Wilcox commit ccd6c355e89a21d9047ae19471629758d3a01959 Author: Matthew Wilcox Date: Wed Oct 4 13:27:45 2006 -0600 [PA-RISC] Remove warning from pci.c max() doesn't like comparing an unsigned long and a resource_size_t, so make the local variables resource_size_t too. Signed-off-by: Matthew Wilcox commit 15c130c1cde38da528f82efce882e8d7632f4d91 Author: Matthew Wilcox Date: Wed Oct 4 13:18:25 2006 -0600 [PA-RISC] Fix filldir warnings filldir_t now takes a u64, not an ino_t. Signed-off-by: Matthew Wilcox commit 17cca07237617a2d712eb44cffd8720055e61291 Author: Matthew Wilcox Date: Wed Oct 4 13:16:10 2006 -0600 [PA-RISC] Fix sys32_sysctl When CONFIG_SYSCTL_SYSCALL isn't defined, do_sysctl doesn't exist and we fail to link. Fix with an ifdef, the same way sparc64 did. Also add some minor changes to be more like sparc64. Signed-off-by: Matthew Wilcox commit ee9f4b5d95d03d1546f0d06cbe384bd4ab97bcba Author: Matthew Wilcox Date: Wed Oct 4 13:08:33 2006 -0600 [PA-RISC] Fix sba_iommu compilation klist_iter_exit() only takes one parameter. Also fix warning by adding additional brackets. Signed-off-by: Matthew Wilcox commit 43b4f4061cf54aa225a1e94a969450ccf5305cd9 Author: Arnd Bergmann Date: Wed Oct 4 17:26:24 2006 +0200 [POWERPC] cell: fix bugs found by sparse - Some long constants should be marked 'ul'. - When using desc->handler_data to pass an __iomem register area, we need to add casts to and from __iomem. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f7e2ce788677ca0996d360202b91524db894c7b2 Author: Arnd Bergmann Date: Wed Oct 4 17:26:23 2006 +0200 [POWERPC] spiderpic: enable new style devtree support This enables support for new firmware test releases. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 68272047c51145a8aa4f3b6ae27edae6986c28cc Author: Arnd Bergmann Date: Wed Oct 4 17:26:22 2006 +0200 [POWERPC] Update cell_defconfig This adds defaults for new configuration options added since 2.6.18 and it enables the option for 64kb pages by default. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 867672777964b9309e4e914fe097648c938b67b2 Author: Arnd Bergmann Date: Wed Oct 4 17:26:21 2006 +0200 [POWERPC] spufs: add infrastructure for finding elf objects This adds an 'object-id' file that the spe library can use to store a pointer to its ELF object. This was originally meant for use by oprofile, but is now also used by the GNU debugger, if available. In order for oprofile to find the location in an spu-elf binary where an event counter triggered, we need a way to identify the binary in the first place. Unfortunately, that binary itself can be embedded in a powerpc ELF binary. Since we can assume it is mapped into the effective address space of the running process, have that one write the pointer value into a new spufs file. When a context switch occurs, pass the user value to the profiler so that can look at the mapped file (with some care). Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 7650f2f2c367242a2092908794b4486876baf6c7 Author: Arnd Bergmann Date: Wed Oct 4 17:26:20 2006 +0200 [POWERPC] spufs: support new OF device tree format The properties we used traditionally in the device tree are somewhat nonstandard. This adds support for a more conventional format using 'interrupts' and 'reg' properties. The interrupts are specified in three cells (class 0, 1 and 2) and registered at the interrupt-parent. The reg property contains either three or four register areas in the order 'local-store', 'problem', 'priv2', and 'priv1', so the priv1 one can be left out in case of hypervisor driven systems that access these through hcalls. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e1dbff2bafa83f839ef15f51904b0cce9fc89387 Author: Arnd Bergmann Date: Wed Oct 4 17:26:19 2006 +0200 [POWERPC] spufs: add support for read/write on cntl Writing to cntl can be used to stop execution on the spu and to restart it, reading from cntl gives the contents of the current status register. The access is always in ascii, as for most other files. This was always meant to be there, but we had a little problem with writing to runctl so it was left out so far. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 772920e594df25f2011ca49abd9c8b85c4820cdc Author: Arnd Bergmann Date: Wed Oct 4 17:26:18 2006 +0200 [POWERPC] spufs: remove support for ancient firmware Any firmware that still uses the 'spc' nodes already stopped running for other reasons, so let's get rid of this. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit cdcc89bb1c6e886a55fe00e2de3b9c65d41674c2 Author: Arnd Bergmann Date: Wed Oct 4 17:26:17 2006 +0200 [POWERPC] spufs: make mailbox functions handle multiple elements Since libspe2 will provide a function that can read/write multiple mailbox elements at once, the kernel should handle that efficiently. read/write on the three mailbox files can now access the spe context multiple times to operate on any number of mailbox data elements. If the spu application keeps writing to its outbound mailbox, the read call will pick up all the data in a single system call. Unfortunately, if the user passes an invalid pointer, we may lose a mailbox element on read, since we can't put it back. This probably impossible to solve, if the user also accesses the mailbox through direct register access. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ac91cb8dae061ced64e475d0d70fac4a95298819 Author: Arnd Bergmann Date: Wed Oct 4 17:26:16 2006 +0200 [POWERPC] spufs: use correct pg_prot for mapping SPU local store This hopefully fixes a long-standing bug in the spu file system. An spu context comes with local memory that can be either saved in kernel pages or point directly to a physical SPE. When mapping the physical SPE, that mapping needs to be cache-inhibited. For simplicity, we used to map the kernel backing memory that way too, but unfortunately that was not only inefficient, but also incorrect because the same page could then be accessed simultaneously through a cacheable and a cache-inhibited mapping, which is not allowed by the powerpc specification and in our case caused data inconsistency for which we did a really ugly workaround in user space. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 6263203ed6e9ff107129a1ebe613290b342a4465 Author: Arnd Bergmann Date: Wed Oct 4 17:26:15 2006 +0200 [POWERPC] spufs: Add infrastructure needed for gang scheduling Add the concept of a gang to spufs as a new type of object. So far, this has no impact whatsover on scheduling, but makes it possible to add that later. A new type of object in spufs is now a spu_gang. It is created with the spu_create system call with the flags argument set to SPU_CREATE_GANG (0x2). Inside of a spu_gang, it is then possible to create spu_context objects, which until now was only possible at the root of spufs. There is a new member in struct spu_context pointing to the spu_gang it belongs to, if any. The spu_gang maintains a list of spu_context structures that are its children. This information can then be used in the scheduler in the future. There is still a bug that needs to be resolved in this basic infrastructure regarding the order in which objects are removed. When the spu_gang file descriptor is closed before the spu_context descriptors, we leak the dentry and inode for the gang. Any ideas how to cleanly solve this are appreciated. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 9add11daeee2f6d69f6b86237f197824332a4a3b Author: Arnd Bergmann Date: Wed Oct 4 17:26:14 2006 +0200 [POWERPC] spufs: implement error event delivery to user space This tries to fix spufs so we have an interface closer to what is specified in the man page for events returned in the third argument of spu_run. Fortunately, libspe has never been using the returned contents of that register, as they were the same as the return code of spu_run (duh!). Unlike the specification that we never implemented correctly, we now require a SPU_CREATE_EVENTS_ENABLED flag passed to spu_create, in order to get the new behavior. When this flag is not passed, spu_run will simply ignore the third argument now. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 28347bce8a837258e737873a55d31f2f424a6ea6 Author: HyeonSeung Jang Date: Wed Oct 4 17:26:13 2006 +0200 [POWERPC] spufs: fix context switch during page fault For better explanation, I break down the page fault handling into steps: 1) There is a page fault caused by DMA operation initiated by SPU and DMA is suspended. 2) The interrupt handler 'spu_irq_class_1()/__spu_trap_data_map()' is called and it just wakes up the sleeping spe-manager thread. 3) by PPE scheduler, the corresponding bottom half, spu_irq_class_1_bottom() is called in process context and DMA is restarted. There can be a quite large time gap between 2) and 3) and I found the following problem: Between 2) and 3) If the context becomes unbound, 3) is not executed because when the spe-manager thread is awaken, the context is already saved. (This situation can happen, for example, when a high priority spe thread newly started in that time gap) But the actual problem is that the corresponding SPU context does not work even if it is bound again to a SPU. Besides I can see the following warning in mambo simulator when the context becomes unbound(in save_mfc_cmd()), i.e. when unbind() is called for the context after step 2) before 3) : 'WARNING: 61392752237: SPE2: MFC_CMD_QUEUE channel count of 15 is inconsistent with number of available DMA queue entries of 16' After I go through available documents, I found that the problem is because the suspended DMA is not restarted when it is bound again. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit a68cf983f635930ea35f9e96b27d96598550dea0 Author: Mark Nutter Date: Wed Oct 4 17:26:12 2006 +0200 [POWERPC] spufs: scheduler support for NUMA. This patch adds NUMA support to the the spufs scheduler. The new arch/powerpc/platforms/cell/spufs/sched.c is greatly simplified, in an attempt to reduce complexity while adding support for NUMA scheduler domains. SPUs are allocated starting from the calling thread's node, moving to others as supported by current->cpus_allowed. Preemption is gone as it was buggy, but should be re-enabled in another patch when stable. The new arch/powerpc/platforms/cell/spu_base.c maintains idle lists on a per-node basis, and allows caller to specify which node(s) an SPU should be allocated from, while passing -1 tells spu_alloc() that any node is allowed. Since the patch removes the currently implemented preemptive scheduling, it is technically a regression, but practically all users have since migrated to this version, as it is part of the IBM SDK and the yellowdog distribution, so there is not much point holding it back while the new preemptive scheduling patch gets delayed further. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 27d5bf2a35c0762f1358e9ef39776733cd942121 Author: Benjamin Herrenschmidt Date: Wed Oct 4 17:26:11 2006 +0200 [POWERPC] spufs: cell spu problem state mapping updates This patch adds a new "psmap" file to spufs that allows mmap of all of the problem state mapping of SPEs. It is compatible with 64k pages. In addition, it removes mmap ability of individual files when using 64k pages, with the exception of signal1 and signal2 which will both map the entire 64k page holding both registers. It also removes CONFIG_SPUFS_MMAP as there is no point in not building mmap support in spufs. It goes along a separate patch to libspe implementing usage of that new file to access problem state registers. Another patch will follow up to fix races opened up by accessing the 'runcntl' register directly, which is made possible with this patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit afaf5a2d341d33b66b47c2716a263ce593460a08 Author: David Somayajulu Date: Tue Sep 19 10:28:00 2006 -0700 [SCSI] Initial Commit of qla4xxx open-iSCSI driver for Qlogic Corporation's iSCSI HBAs Signed-off-by: Ravi Anand Signed-off-by: David Somayajulu Signed-off-by: Doug Maxey Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ed542bed126caeefc6546b276e4af852d4d34f33 Author: Jeff Garzik Date: Wed Oct 4 07:05:11 2006 -0400 [SCSI] raid class: handle component-add errors Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 83aabc1be551dd1f07266c125ff48ec62a2ce515 Author: Jeff Garzik Date: Wed Oct 4 06:34:03 2006 -0400 [SCSI] SCSI megaraid_sas: handle thrown errors - handle clear_user() error - handle and properly unwind from sysfs errors thrown during mod init - adjust order of calls in megasas_exit() to precisely match registration order in megasas_init() Signed-off-by: Jeff Garzik Updated for extra attribute and Signed-off-by: James Bottomley commit bb0766204c81d6bd01532476aec4e512c960fb4d Author: Jeff Garzik Date: Wed Oct 4 06:19:18 2006 -0400 [SCSI] SCSI aic94xx: handle sysfs errors Handle and unwind from errors returned by driver model functions. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 13026a6b985b9d1e19330d5656e211f15b5aca3b Author: Jeff Garzik Date: Wed Oct 4 06:00:38 2006 -0400 [SCSI] SCSI st: fix error handling in module init, sysfs - Notice and handle sysfs errors in module init, tape init - Properly unwind errors in module init - Remove bogus st_sysfs_class==NULL test, it is guaranteed !NULL at that point Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 5e4009ba3d5af40f5615fdb4304cc4a9947cca0a Author: Jeff Garzik Date: Wed Oct 4 05:32:54 2006 -0400 [SCSI] SCSI sd: fix module init/exit error handling - Properly handle and unwind errors in init_sd(). Fixes leaks on error, if class_register() or scsi_register_driver() failed. - Ensure that exit_sd() execution order is the perfect inverse of initialization order. FIXME: If some-but-not-all register_blkdev() calls fail, we wind up calling unregister_blkdev() for block devices we did not register. This was a pre-existing bug. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 37e0333c68ca9cbddfc0108e1889556287563df0 Author: Jeff Garzik Date: Wed Oct 4 05:23:04 2006 -0400 [SCSI] SCSI osst: add error handling to module init, sysfs - check all sysfs-related return codes, and propagate them back to callers - properly unwind errors in osst_probe(), init_osst(). This fixes a leak that occured if scsi driver registration failed, and fixes an oops if sysfs creation returned an error. (unrelated) - kzalloc() cleanup in new_tape_buf() Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit de77aaff5f0178f44867f131deb5e2cb1610fe6b Author: Henne Date: Wed Oct 4 10:22:09 2006 +0200 [SCSI] scsi: remove hosts.h Remove the obsolete hosts.h file under drivers/scsi. Signed-off-by: Henrik Kretzschmar Signed-off-by: James Bottomley commit c1278289363d9976c81b3b2512621fe152280e82 Author: Henne Date: Wed Oct 4 09:33:47 2006 +0200 [SCSI] scsi: Scsi_Cmnd convertion in aic7xxx_old.c Changes the obsolete Scsi_Cmnd to struct scsi_cmnd in aic7xxx_old.c. Also replacing lots of whitespaces with tabs in structures and functions which have been changed. Signed-off-by: Henrik Kretzschmar Signed-off-by: James Bottomley commit 3bdc9d0b408e01c4e556daba0035ba37f603e920 Author: Peter Oberparleiter Date: Wed Oct 4 20:02:30 2006 +0200 [S390] cio: improve unit check handling for internal operations Retry internal operation after unit check instead of aborting them. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 3230015e15d4cf48e1df80fcf70d150f490cffe6 Author: Peter Oberparleiter Date: Wed Oct 4 20:02:26 2006 +0200 [S390] cio: add timeout handler for internal operations. Add timeout handler for common-I/O-layer-internal I/O operations. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 0b2b6e1ddce4696cb7afcbb15a654fe95428a498 Author: Heiko Carstens Date: Wed Oct 4 20:02:23 2006 +0200 [S390] Remove open-coded mem_map usage. Use page_to_phys and pfn_to_page to avoid open-coded mem_map usage. Signed-off-by: Heiko Carstens commit 7676bef9c183fd573822cac9992927ef596d584c Author: Heiko Carstens Date: Wed Oct 4 20:02:19 2006 +0200 [S390] Have s390 use add_active_range() and free_area_init_nodes. Size zones and holes in an architecture independent manner for s390. Signed-off-by: Heiko Carstens commit cb601d41c175b7419efc91075a714d6a157bb0ac Author: Heiko Carstens Date: Wed Oct 4 20:02:15 2006 +0200 [S390] Remove crept in whitespace from head*.S again. Signed-off-by: Heiko Carstens commit 42e47eeb8fb3f9d2abe653cc7f185816068a057d Author: Martin Schwidefsky Date: Wed Oct 4 20:02:12 2006 +0200 [S390] incorrect placement of include. The include of linux/smp.h needs to be done before the #if that checks for the compiler version. Seems like fallout from the inline assembly cleanup patch vs. the directed yield patch. Signed-off-by: Martin Schwidefsky commit 8abfe01dae8c0ed7ca6bfb153a7fcab47df72a52 Author: Heiko Carstens Date: Wed Oct 4 20:02:09 2006 +0200 [S390] Wire up sys_getcpu system call. Signed-off-by: Heiko Carstens commit 4e56296d471a827fdd244cfdb6a1e62fc3af7af0 Author: Ralph Wuerthner Date: Wed Oct 4 20:02:05 2006 +0200 [S390] zcrypt device registration/unregistration race. Fix a race condition during AP device registration and unregistration. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit f1ee3281bedbbca70a1f53bc715ea6f27c616052 Author: Cornelia Huck Date: Wed Oct 4 20:02:02 2006 +0200 [S390] Add timeouts during sense PGID, path verification and disband PGID. While the machine owns us an interrupt in these cases (and we should get one), reality isn't always like that... Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit b05e37035298148b6c311eccf06ac50fd389f0b2 Author: Martin Schwidefsky Date: Wed Oct 4 20:01:58 2006 +0200 [S390] user-copy optimization fallout. Fix new restore_sigregs function. It copies the user space copy of the old psw without correcting the psw.mask and the psw.addr high order bit. While we are at it, simplify save_sigregs a bit. Signed-off-by: Martin Schwidefsky commit aa97b102527ff94fe04930a660f897ef2bafb2a8 Author: Martin Schwidefsky Date: Wed Oct 4 20:01:52 2006 +0200 [S390] update default configuration Signed-off-by: Martin Schwidefsky commit 2a3681e56e825bce469d2ccf3c85741b5005e1f1 Author: Sumant Patro Date: Tue Oct 3 13:19:21 2006 -0700 [SCSI] megaraid_sas: sets ioctl timeout and updates version,changelog This patch sets timeout of max 180 seconds for ioctl completion. It also updates the Changelog and hikes the version to 3.05. Signed-off-by: Sumant Patro Signed-off-by: James Bottomley commit 5d018ad057347995e5c4564b3e43339e6497f839 Author: Sumant Patro Date: Tue Oct 3 13:13:18 2006 -0700 [SCSI] megaraid_sas: adds tasklet for cmd completion This patch adds a tasklet for command completion. Signed-off-by: Sumant Patro Signed-off-by: James Bottomley commit 658dcedb4e35d77f7f6552b5a640d7d82c372053 Author: Sumant Patro Date: Tue Oct 3 13:09:14 2006 -0700 [SCSI] megaraid_sas: prints pending cmds before setting hw_crit_error This patch adds function to print the pending frame details before returning failure from the reset routine. It also exposes a new variable megasas_dbg_lvl that allows the user to set the debug level for logging. Signed-off-by: Sumant Patro Signed-off-by: James Bottomley commit b274cab779219325fd480cc696a456d1c3893bd8 Author: Sumant Patro Date: Tue Oct 3 12:52:12 2006 -0700 [SCSI] megaraid_sas: function pointer for disable interrupt This patch adds function pointer to invoke disable interrupt for xscale and ppc IOP based controllers. Removes old implementation that checks for controller type in megasas_disable_intr. Signed-off-by: Sumant Patro Signed-off-by: James Bottomley commit b1df99d9434edf3fc26f9e36ee6a443e3611e829 Author: Sumant Patro Date: Tue Oct 3 12:40:47 2006 -0700 [SCSI] megaraid_sas: frame count optimization This patch removes duplicated code in frame calculation & adds megasas_get_frame_count() that also takes into account the number of frames that can be contained in the Main frame. FW uses the frame count to pull sufficient number of frames from host memory. Signed-off-by: Sumant Patro Signed-off-by: James Bottomley commit e3bbff9f3cf91c84c76cfdd5e80041ad1b487192 Author: Sumant Patro Date: Tue Oct 3 12:28:49 2006 -0700 [SCSI] megaraid_sas: FW transition and q size changes This patch has the following enhancements : a. handles new transition states of FW to support controller hotplug. b. It reduces by 1 the maximum cmds that the driver may send to FW. c. Sends "Stop Processing" cmd to FW before returning failure from reset routine d. Adds print in megasas_transition routine e. Sends "RESET" flag to FW to do a soft reset of controller to move from Operational to Ready state. f. Sending correct pointer (cmd->sense) to pci_pool_free Signed-off-by: Sumant Patro Signed-off-by: James Bottomley commit 2c2345c2b4fec30d12e1e1a6ee153a80af101e32 Author: Roger Gammans Date: Wed Oct 4 13:37:45 2006 +0200 [PATCH] Document bi_sector and sector_t Signed-Off-By: Roger Gammans Signed-off-by: Jens Axboe commit f583f4924d669d36de677e0cc2422ee95203d444 Author: David C Somayajulu Date: Wed Oct 4 08:27:25 2006 +0200 [PATCH] helper function for retrieving scsi_cmd given host based block layer tag This was necessitated by the need for a function to get back to a scsi_cmnd, when an hba the posts its (corresponding) completion interrupt with a block layer tag as its reference. Signed-off-by: Mike Christie Signed-off-by: David Somayajulu Signed-off-by: Jens Axboe commit 4d5e392c33820dc8861423bb1b8dae205ea0ad3d Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:11 2006 +0200 [PATCH] atmel_serial: Fix roundoff error in atmel_console_get_options The atmel_console_get_options() function initializes the baud, parity and bits settings from the actual hardware setup, in case it has been initialized by a e.g. boot loader. The baud rate, however, is not necessarily exactly equal to one of the standard baud rates (115200, etc.) This means that the baud rate calculated by this function may be slightly higher or slightly lower than one of the standard baud rates. If the baud rate is slightly lower than the target, this causes problems when uart_set_option() tries to match the detected baud rate against the standard baud rate, as it will always select a baud rate that is lower or equal to the target rate. For example if the detected baud rate is slightly lower than 115200, usart_set_options() will select 57600. This patch fixes the problem by subtracting 1 from the value in BRGR when calculating the baud rate. The detected baud rate will thus always be higher than the nearest standard baud rate, and uart_set_options() will end up doing the right thing. Tested on ATSTK1000 and AT91RM9200-EK boards. Both are broken without this patch. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit c194588dba968510b5aa7a1818bd2c8b36a416f7 Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:10 2006 +0200 [PATCH] AVR32: Allow renumbering of serial devices Allow the board to remap actual USART peripheral devices to serial devices by calling at32_map_usart(hw_id, serial_line). This ensures that even though ATSTK1002 uses USART1 as the first serial port, it will still have a ttyS0 device. This also adds a board-specific early setup hook and moves the at32_setup_serial_console() call there from the platform code. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit acca9b83acfe89fbb7421d5412176dee2ad2959a Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:09 2006 +0200 [PATCH] atmel_serial: Support AVR32 Make CONFIG_SERIAL_ATMEL selectable on AVR32 and #ifdef out some ARM- specific code in the driver. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 75d35213777e2b278db57a420efbce2bdb61da93 Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:08 2006 +0200 [PATCH] atmel_serial: Pass fixed register mappings through platform_data In order to initialize the serial console early, the atmel_serial driver had to do a hack where it compared the physical address of the port with an address known to be permanently mapped, and used it as a virtual address. This got around the limitation that ioremap() isn't always available when the console is being initalized. This patch removes that hack and replaces it with a new "regs" field in struct atmel_uart_data that the board-specific code can initialize to a fixed virtual mapping for platform devices where this is possible. It also initializes the DBGU's regs field with the address the driver used to check against. On AVR32, the "regs" field is initialized from the physical base address when this it can be accessed through a permanently 1:1 mapped segment, i.e. the P4 segment. If regs is NULL, the console initialization is delayed until the "real" driver is up and running and ioremap() can be used. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 71f2e2b8783f7b270b673e31e2322572057b286a Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:07 2006 +0200 [PATCH] atmel_serial: Rename at91_register_uart_fns Rename at91_register_uart_fns and associated structs and variables to make it consistent with the atmel_ prefix used by the rest of the driver. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 9ab4f88b7ffdf338773e7755f923bc6b9e079834 Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:06 2006 +0200 [PATCH] serial: Rename PORT_AT91 -> PORT_ATMEL The at91_serial driver can be used with both AT32 and AT91 devices from Atmel and has therefore been renamed atmel_serial. The only thing left is to rename PORT_AT91 PORT_ATMEL. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 7192f92c799e4bf4943e3e233d6e4d786ac4d8a4 Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:05 2006 +0200 [PATCH] at91_serial -> atmel_serial: Internal names Prefix all internal functions and variables with atmel_ instead of at91_. The at91_register_uart_fns() stuff is left as is since I can't find any actual users of it. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 73e2798b0f3f4fa8ff7d3e8138027a8352359bb5 Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:04 2006 +0200 [PATCH] at91_serial -> atmel_serial: Public definitions Rename the following public definitions: * AT91_NR_UART -> ATMEL_MAX_UART * struct at91_uart_data -> struct atmel_uart_data * at91_default_console_device -> atmel_default_console_device Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 1e8ea80219564c3433dbca7afe075ced9eb8117c Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:03 2006 +0200 [PATCH] at91_serial -> atmel_serial: Platform device name Rename the "at91_usart" platform driver "atmel_usart" and update platform devices accordingly. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 749c4e60334580ee0f1427eb90ad006fecbffd21 Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:02 2006 +0200 [PATCH] at91_serial -> atmel_serial: Kconfig symbols Rename the following Kconfig symbols: * CONFIG_SERIAL_AT91 -> CONFIG_SERIAL_ATMEL * CONFIG_SERIAL_AT91_CONSOLE -> CONFIG_SERIAL_ATMEL_CONSOLE * CONFIG_SERIAL_AT91_TTYAT -> CONFIG_SERIAL_ATMEL_TTYAT Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit b6156b4e2e3b725ae3549882f59c82ab5b5048a5 Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:01 2006 +0200 [PATCH] at91_serial -> atmel_serial: at91_serial.c Rename at91_serial.c atmel_serial.c Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit 5b34821a601ea079184efba2f9c7c7af61241bde Author: Haavard Skinnemoen Date: Wed Oct 4 16:02:00 2006 +0200 [PATCH] at91_serial -> atmel_serial: at91rm9200_usart.h Move include/asm/arch/at91rm9200_usart.h into drivers/serial and rename it atmel_usart.h. Also delete AVR32's version of this file. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Linus Torvalds commit c4710e65c005339b5979fa258bf89940dc2a700b Author: David Woodhouse Date: Wed Oct 4 17:32:21 2006 +0100 [MIPS] Remove remaining reference to ite_gpio.h from Kbuild Signed-off-by: David Woodhouse Signed-off-by: Ralf Baechle commit 7009af8cd37f7904939aec6bd2325c581abd7cac Author: Vitaly Wool Date: Wed Oct 4 19:19:58 2006 +0400 [MIPS] PNX8550 fixups This patch fixes the compilation errors on PNX8550 and hard-to-track bug in interrupt handling. It also corresponds to the latest changes in PNX8550 serial driver. Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit a0a00cbf8ae5cea3d72e28982c06f3270420c657 Author: Alan Cox Date: Wed Oct 4 12:47:14 2006 +0100 [PATCH] pata: teach ali about rev C8, keep pcmcia driver in sync This fixes support for rev c8 of the ALi/ULi PATA, and keeps pcmcia in sync so ide_cs and pata_pcmcia are interchangable, both are only changes to constants. Right now rev 0xC8 and higher don't work with libata but 0xc8 is in the field now. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 11966adc33fa1504c2d9a78e6fc129e5c87bdee1 Author: Jeff Garzik Date: Wed Oct 4 04:41:53 2006 -0400 [PATCH] RTC: build fixes Fix obvious build breakage revealed by 'make allyesconfig' in current -git. Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 5b9b5572c87b460cd91f7722ac233d1873cfb084 Author: Andrew Morton Date: Wed Oct 4 02:17:32 2006 -0700 [PATCH] git-powerpc: wrapper: don't require execute permissions If you lose the x bit (eg: by using patch(1)), powerpc won't build. Be defensive about it... Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ece7f77b86e53bfe14699fdbcb0f03fdad0a01d6 Author: Adrian Bunk Date: Wed Oct 4 02:17:31 2006 -0700 [PATCH] kill sound/oss/*_syms.c Move all EXPORT_SYMBOL's from sound/oss/*_syms.c to the files with the actual functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d56b9b9c464a10ab1ee51a4c6190a2b57b8ef7a6 Author: Adrian Bunk Date: Wed Oct 4 02:17:22 2006 -0700 [PATCH] The scheduled removal of some OSS drivers This patch contains the scheduled removal of OSS drivers that: - have ALSA drivers for the same hardware without known regressions and - whose Kconfig options have been removed in 2.6.17. [michal.k.k.piotrowski@gmail.com: build fix] Signed-off-by: Adrian Bunk Signed-off-by: Michal Piotrowski Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 595182bcdf64fbfd7ae22c67ea6081b7d387d246 Author: Josh Triplett Date: Wed Oct 4 02:17:21 2006 -0700 [PATCH] RCU: CREDITS and MAINTAINERS Add MAINTAINERS entry for Read-Copy Update (RCU), listing Dipankar Sarma as maintainer, and giving the URL for Paul McKenney's RCU site. Add MAINTAINERS entry for rcutorture, listing myself as maintainer. Add CREDITS entries for developers of RCU, RCU variants, and rcutorture. Use Paul McKenney's preferred email address in include/linux/rcupdate.h . Signed-off-by: Josh Triplett Cc: Paul McKenney Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20e9751bd9dd6b832fd84ada27840360f7e877f1 Author: Oleg Nesterov Date: Wed Oct 4 02:17:17 2006 -0700 [PATCH] rcu: simplify/improve batch tuning Kill a hard-to-calculate 'rsinterval' boot parameter and per-cpu rcu_data.last_rs_qlen. Instead, it adds adds a flag rcu_ctrlblk.signaled, which records the fact that one of CPUs has sent a resched IPI since the last rcu_start_batch(). Roughly speaking, we need two rcu_start_batch()s in order to move callbacks from ->nxtlist to ->donelist. This means that when ->qlen exceeds qhimark and continues to grow, we should send a resched IPI, and then do it again after we gone through a quiescent state. On the other hand, if it was already sent, we don't need to do it again when another CPU detects overflow of the queue. Signed-off-by: Oleg Nesterov Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b6c2cca6eef9cc4a15350bf1c61839e12e08b84 Author: Josh Triplett Date: Wed Oct 4 02:17:16 2006 -0700 [PATCH] rcu: add sched torture type to rcutorture Implement torture testing for the "sched" variant of RCU, which uses preempt_disable, preempt_enable, and synchronize_sched. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11a147013e39ff4cb031395cb78a9d307c4799cd Author: Josh Triplett Date: Wed Oct 4 02:17:16 2006 -0700 [PATCH] rcu: add rcu_bh_sync torture type to rcutorture Use the newly-generic synchronous deferred free function to implement torture testing for rcu_bh using synchronize_rcu_bh rather than the asynchronous call_rcu_bh. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20d2e4283a97665a3db78c60dfa342a0c7c1b180 Author: Josh Triplett Date: Wed Oct 4 02:17:15 2006 -0700 [PATCH] rcu: add rcu_sync torture type to rcutorture Use the newly-generic synchronous deferred free function to implement torture testing for RCU using synchronize_rcu rather than the asynchronous call_rcu. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3033736581f125ba5fd6c0760e0d430d54fb5c0 Author: Josh Triplett Date: Wed Oct 4 02:17:14 2006 -0700 [PATCH] rcu: refactor srcu_torture_deferred_free to work for any implementation Make srcu_torture_deferred_free use cur_ops->sync() so it will work for any implementation. Move and rename it in preparation for use in the ops of other implementations. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b772e1dd4b1e60a7a160f7bd4ea08e28394ceb54 Author: Josh Triplett Date: Wed Oct 4 02:17:13 2006 -0700 [PATCH] RCU: add fake writers to rcutorture rcutorture currently has one writer and an arbitrary number of readers. To better exercise some of the code paths in RCU implementations, add fake writer threads which call the synchronize function for the RCU variant in a loop, with a delay between calls to arrange for different numbers of writers running in parallel. [bunk@stusta.de: cleanup] Acked-by: Paul McKenney Cc: Dipkanar Sarma Signed-off-by: Josh Triplett Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75cfef32f26d03f5d0a0833572d52f94ad858a36 Author: Josh Triplett Date: Wed Oct 4 02:17:12 2006 -0700 [PATCH] rcu: Fix sign bug making rcu_random always return the same sequence rcu_random uses a counter rrs_count to occasionally mix data from get_random_bytes into the state of its pseudorandom generator. However, the rrs_counter gets declared as an unsigned long, and rcu_random checks for --rrs_count < 0, so this code will never mix any real random data into the state, and will thus always return the same sequence of random numbers. Also, change the return value of rcu_random from long to unsigned long, to avoid potential issues caused by the use of the % operator, which can return negative values for negative left operands. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2860aaba4dc87fa43c08724434b87a8650f3bff5 Author: Josh Triplett Date: Wed Oct 4 02:17:11 2006 -0700 [PATCH] rcu: Avoid kthread_stop on invalid pointer if rcutorture reader startup fails rcu_torture_init kmallocs the array of reader threads, then creates each one with kthread_run, cleaning up with rcu_torture_cleanup if this fails. rcu_torture_cleanup calls kthread_stop on any non-NULL pointer in the array; however, any readers after the one that failed to start up will have invalid pointers, not null pointers. Avoid this by using kzalloc instead. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c29e03d9121e07714fb9e5303d9b026800ffd5a Author: Josh Triplett Date: Wed Oct 4 02:17:10 2006 -0700 [PATCH] rcu: Mention rcu_bh in description of rcutorture's torture_type parameter The comment for rcutorture's torture_type parameter only lists the RCU variants rcu and srcu, but not rcu_bh; add rcu_bh to the list. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff2c93a5373f12f86f3281705d11278a9f2334e2 Author: Josh Triplett Date: Wed Oct 4 02:17:09 2006 -0700 [PATCH] rcu: Add MODULE_AUTHOR to rcutorture module Signed-off-by: Josh Triplett Acked-by: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4dfdbb3c707474a2254c5b4d7e62be31a4b7da9 Author: Alan Stern Date: Wed Oct 4 02:17:06 2006 -0700 [PATCH] cpufreq: make the transition_notifier chain use SRCU This patch (as762) changes the cpufreq_transition_notifier_list from a blocking_notifier_head to an srcu_notifier_head. This will prevent errors caused attempting to call down_read() to access the notifier chain at a time when interrupts must remain disabled, during system suspend. It's not clear to me whether this is really necessary; perhaps the chain could be made into an atomic_notifier. However a couple of the callout routines do use blocking operations, so this approach seems safer. The head of the notifier chain needs to be initialized before use; this is done by an __init routine at core_initcall time. If this turns out not to be a good choice, it can easily be changed. Signed-off-by: Alan Stern Cc: "Paul E. McKenney" Cc: Jesse Brandeburg Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6a92013ba458804161c0c5b6d134d82204dc233 Author: Alan Stern Date: Wed Oct 4 02:17:05 2006 -0700 [PATCH] SRCU: report out-of-memory errors Currently the init_srcu_struct() routine has no way to report out-of-memory errors. This patch (as761) makes it return -ENOMEM when the per-cpu data allocation fails. The patch also makes srcu_init_notifier_head() report a BUG if a notifier head can't be initialized. Perhaps it should return -ENOMEM instead, but in the most likely cases where this might occur I don't think any recovery is possible. Notifier chains generally are not created dynamically. [akpm@osdl.org: avoid statement-with-side-effect in macro] Signed-off-by: Alan Stern Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eabc069401bcf45bcc3f19e643017bf761780aa8 Author: Alan Stern Date: Wed Oct 4 02:17:04 2006 -0700 [PATCH] Add SRCU-based notifier chains This patch (as751) adds a new type of notifier chain, based on the SRCU (Sleepable Read-Copy Update) primitives recently added to the kernel. An SRCU notifier chain is much like a blocking notifier chain, in that it must be called in process context and its callout routines are allowed to sleep. The difference is that the chain's links are protected by the SRCU mechanism rather than by an rw-semaphore, so calling the chain has extremely low overhead: no memory barriers and no cache-line bouncing. On the other hand, unregistering from the chain is expensive and the chain head requires special runtime initialization (plus cleanup if it is to be deallocated). SRCU notifiers are appropriate for notifiers that will be called very frequently and for which unregistration occurs very seldom. The proposed "task notifier" scheme qualifies, as may some of the network notifiers. Signed-off-by: Alan Stern Acked-by: Paul E. McKenney Acked-by: Chandra Seetharaman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2896d2e75c87ea6a842c088db730b03c91db737 Author: Paul E. McKenney Date: Wed Oct 4 02:17:03 2006 -0700 [PATCH] srcu-3: add SRCU operations to rcutorture Adds SRCU operations to rcutorture and updates rcutorture documentation. Also increases the stress imposed by the rcutorture test. [bunk@stusta.de: make needlessly global code static] Signed-off-by: Paul E. McKenney Cc: Paul E. McKenney Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 621934ee7ed5b073c7fd638b347e632c53572761 Author: Paul E. McKenney Date: Wed Oct 4 02:17:02 2006 -0700 [PATCH] srcu-3: RCU variant permitting read-side blocking Updated patch adding a variant of RCU that permits sleeping in read-side critical sections. SRCU is as follows: o Each use of SRCU creates its own srcu_struct, and each srcu_struct has its own set of grace periods. This is critical, as it prevents one subsystem with a blocking reader from holding up SRCU grace periods for other subsystems. o The SRCU primitives (srcu_read_lock(), srcu_read_unlock(), and synchronize_srcu()) all take a pointer to a srcu_struct. o The SRCU primitives must be called from process context. o srcu_read_lock() returns an int that must be passed to the matching srcu_read_unlock(). Realtime RCU avoids the need for this by storing the state in the task struct, but SRCU needs to allow a given code path to pass through multiple SRCU domains -- storing state in the task struct would therefore require either arbitrary space in the task struct or arbitrary limits on SRCU nesting. So I kicked the state-storage problem up to the caller. Of course, it is not permitted to call synchronize_srcu() while in an SRCU read-side critical section. o There is no call_srcu(). It would not be hard to implement one, but it seems like too easy a way to OOM the system. (Hey, we have enough trouble with call_rcu(), which does -not- permit readers to sleep!!!) So, if you want it, please tell me why... [josht@us.ibm.com: sparse notation] Signed-off-by: Paul E. McKenney Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95d77884c77beed676036d2f74d10b470a483c63 Author: Eric W. Biederman Date: Wed Oct 4 02:17:01 2006 -0700 [PATCH] htirq: tidy up the htirq code This moves the declarations for the architecture helpers into include/linux/htirq.h from the generic include/linux/pci.h. Hopefully this will make this distinction clearer. htirq.h is included where it is needed. The dependency on the msi code is fixed and removed. The Makefile is tidied up. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Tony Luck Cc: Andi Kleen Cc: Thomas Gleixner Cc: Greg KH Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03571e11c4a6d08230657f80970f0a5cc7820471 Author: Eric W. Biederman Date: Wed Oct 4 02:17:00 2006 -0700 [PATCH] msi: move the ia64 code into arch/ia64 This is just a few makefile tweaks and some file renames. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Tony Luck Cc: Andi Kleen Cc: Thomas Gleixner Cc: Greg KH Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b7d1921f4cdd6d6ddb7899ae7a8d413991c5cf4 Author: Eric W. Biederman Date: Wed Oct 4 02:16:59 2006 -0700 [PATCH] msi: refactor and move the msi irq_chip into the arch code It turns out msi_ops was simply not enough to abstract the architecture specific details of msi. So I have moved the resposibility of constructing the struct irq_chip to the architectures, and have two architecture specific functions arch_setup_msi_irq, and arch_teardown_msi_irq. For simple architectures those functions can do all of the work. For architectures with platform dependencies they can call into the appropriate platform code. With this msi.c is finally free of assuming you have an apic, and this actually takes less code. The helpers for the architecture specific code are declared in the linux/msi.h to keep them separate from the msi functions used by drivers in linux/pci.h Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Tony Luck Cc: Andi Kleen Cc: Thomas Gleixner Cc: Greg KH Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 277bc33bc2479707e88b0b2ae6fe56e8e4aabe81 Author: Eric W. Biederman Date: Wed Oct 4 02:16:57 2006 -0700 [PATCH] msi: only use a single irq_chip for msi interrupts The logic works like this. Since we no longer track the state logic by hand in msi.c startup and shutdown are no longer needed. By updating msi_set_mask_bit to work on msi devices that do not implement a mask bit we can always call the mask/unmask functions. What we really have are mask and unmask so we use them to implement the .mask and .unmask functions instead of .enable and .disable. By switching to the handle_edge_irq handler we only need an ack function that moves the irq if necessary. Which removes the old end and ack functions and their peculiar logic of sometimes disabling an irq. This removes the reliance on pre genirq irq handling methods. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Tony Luck Cc: Andi Kleen Cc: Thomas Gleixner Cc: Greg KH Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f80025e624bb14fefadfef7e80fbfb9740d4714 Author: Eric W. Biederman Date: Wed Oct 4 02:16:56 2006 -0700 [PATCH] msi: simplify msi sanity checks by adding with generic irq code Currently msi.c is doing sanity checks that make certain before an irq is destroyed it has no more users. By adding irq_has_action I can perform the test is a generic way, instead of relying on a msi specific data structure. By performing the core check in dynamic_irq_cleanup I ensure every user of dynamic irqs has a test present and we don't free resources that are in use. In msi.c this allows me to kill the attrib.state member of msi_desc and all of the assciated code to maintain it. To keep from freeing data structures when irq cleanup code is called to soon changing dyanamic_irq_cleanup is insufficient because there are msi specific data structures that are also not safe to free. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Tony Luck Cc: Andi Kleen Cc: Thomas Gleixner Cc: Greg KH Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b955b0dddb35e398b07e217a81f8bd49400796f Author: Eric W. Biederman Date: Wed Oct 4 02:16:55 2006 -0700 [PATCH] Initial generic hypertransport interrupt support This patch implements two functions ht_create_irq and ht_destroy_irq for use by drivers. Several other functions are implemented as helpers for arch specific irq_chip handlers. The driver for the card I tested this on isn't yet ready to be merged. However this code is and hypertransport irqs are in use in a few other places in the kernel. Not that any of this will get merged before 2.6.19 Because the ipath-ht400 is slightly out of spec this code will need to be generalized to work there. I think all of the powerpc uses are for a plain interrupt controller in a chipset so support for native hypertransport devices is a little less interesting. However I think this is a half way decent model on how to separate arch specific and generic helper code, and I think this is a functional model of how to get the architecture dependencies out of the msi code. [akpm@osdl.org: Kconfig fix] Signed-off-by: Eric W. Biederman Cc: Greg KH Cc: Andi Kleen Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e78d01693be38bf93dd6bb49b86e143da450de86 Author: Eric W. Biederman Date: Wed Oct 4 02:16:54 2006 -0700 [PATCH] Add Hypertransport capability defines This adds defines for the hypertransport capability subtypes and starts using them a little. [akpm@osdl.org: fix typo] Signed-off-by: Eric W. Biederman Acked-by: Benjamin Herrenschmidt Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd1182f56a064d42d10e289ef4018f9c2230247d Author: Eric W. Biederman Date: Wed Oct 4 02:16:53 2006 -0700 [PATCH] genirq: x86_64 irq: Kill irq compression With more irqs in the system we don't need this. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f023d764cc6165eb4f1cad6b2b0882ce0660764a Author: Eric W. Biederman Date: Wed Oct 4 02:16:52 2006 -0700 [PATCH] genirq: x86_64 irq: Kill gsi_irq_sharing After raising the number of irqs the system supports this function is no longer necessary. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 550f2299ac8ffaba943cf211380d3a8d3fa75301 Author: Eric W. Biederman Date: Wed Oct 4 02:16:51 2006 -0700 [PATCH] genirq: x86_64 irq: make vector_irq per cpu This refactors the irq handling code to make the vectors a per cpu resource so the same vector number can be simultaneously used on multiple cpus for different irqs. This should make systems that were hitting limits on the total number of irqs much more livable. [akpm@osdl.org: build fix] [akpm@osdl.org: __target_IO_APIC_irq is unneeded on UP] Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e500f57436b9056a245216c53113613928155eba Author: Eric W. Biederman Date: Wed Oct 4 02:16:50 2006 -0700 [PATCH] genirq: x86_64 irq: Make the external irq handlers report their vector, not the irq number This is a small pessimization but it paves the way for making this information per cpu. Which allows the the maximum number of IRQS to become NR_CPUS*224. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d0b8b053391afe15c9667d80de77ca88e18b8b Author: Eric W. Biederman Date: Wed Oct 4 02:16:49 2006 -0700 [PATCH] genirq: irq: generalize the check for HARDIRQ_BITS This patch adds support for systems that cannot receive every interrupt on a single cpu simultaneously, in the check to see if we have enough HARDIRQ_BITS. MAX_HARDIRQS_PER_CPU becomes the count of the maximum number of hardare generated interrupts per cpu. On architectures that support per cpu interrupt delivery this can be a significant space savings and scalability bonus. This patch adds support for systems that cannot receive every interrupt on Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 323a01c50832749d23664954f91df6fc43e73975 Author: Eric W. Biederman Date: Wed Oct 4 02:16:48 2006 -0700 [PATCH] genirq: irq: remove msi hacks Because of the nasty way that CONFIG_PCI_MSI was implemented we wound up with set_irq_info and set_native_irq_info, with move_irq and move_native_irq. Both functions did the same thing but they were built and called under different circumstances. Now that the msi hacks are gone we can kill move_irq and set_irq_info. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ace80ab796ae30d2c9ee8a84ab6f608a61f8b87b Author: Eric W. Biederman Date: Wed Oct 4 02:16:47 2006 -0700 [PATCH] genirq: i386 irq: Remove the msi assumption that irq == vector This patch removes the change in behavior of the irq allocation code when CONFIG_PCI_MSI is defined. Removing all instances of the assumption that irq == vector. create_irq is rewritten to first allocate a free irq and then to assign that irq a vector. assign_irq_vector is made static and the AUTO_ASSIGN case which allocates an vector not bound to an irq is removed. The ioapic vector methods are removed, and everything now works with irqs. The definition of NR_IRQS no longer depends on CONFIG_PCI_MSI [akpm@osdl.org: cleanup] Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04b9267b15206fc902a18de1f78de6c82ca47716 Author: Eric W. Biederman Date: Wed Oct 4 02:16:46 2006 -0700 [PATCH] genirq: x86_64 irq: Remove the msi assumption that irq == vector This patch removes the change in behavior of the irq allocation code when CONFIG_PCI_MSI is defined. Removing all instances of the assumption that irq == vector. create_irq is rewritten to first allocate a free irq and then to assign that irq a vector. assign_irq_vector is made static and the AUTO_ASSIGN case which allocates an vector not bound to an irq is removed. The ioapic vector methods are removed, and everything now works with irqs. The definition of NR_IRQS no longer depends on CONFIG_PCI_MSI Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b2fabb9ec9b3b1cf5cf848a678058fb20c4d552 Author: Eric W. Biederman Date: Wed Oct 4 02:16:45 2006 -0700 [PATCH] genirq: msi: only build msi-apic.c on ia64 After the previous changes ia64 is the only architecture useing msi-apic.c [akpm@osdl.org: unbreak MSI on ia64] Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d3fcc1c54df2f49674e1f7c99d4800ed1d51902 Author: Eric W. Biederman Date: Wed Oct 4 02:16:43 2006 -0700 [PATCH] genirq: i386 irq: Move msi message composition into io_apic.c This removes the hardcoded assumption that irq == vector in the msi composition code, and it allows the msi message composition to setup logical mode, or lowest priorirty delivery mode as we do for other apic interrupts, and with the same selection criteria. Basically this moves the problem of what is in the msi message into the architecture irq management code where it belongs. Not in a generic layer that doesn't have enough information to compose msi messages properly. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 589e367f9b9117b3412da0d4e10ea6882db8da84 Author: Eric W. Biederman Date: Wed Oct 4 02:16:42 2006 -0700 [PATCH] genirq: x86_64 irq: Move msi message composition into io_apic.c This removes the hardcoded assumption that irq == vector in the msi composition code, and it allows the msi message composition to setup logical mode, or lowest priorirty delivery mode as we do for other apic interrupts, and with the same selection criteria. Basically this moves the problem of what is in the msi message into the architecture irq management code where it belongs. Not in a generic layer that doesn't have enough information to compose msi messages properly. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ce03373a7f4b5fa8ca5be02ff35229800a6e12b Author: Eric W. Biederman Date: Wed Oct 4 02:16:41 2006 -0700 [PATCH] genirq: msi: make the msi code irq based and not vector based The msi currently allocates irqs backwards. First it allocates a platform dependent routing value for an interrupt the ``vector'' and then it figures out from the vector which irq you are on. For ia64 this is fine. For x86 and x86_64 this is complete nonsense and makes an enourmous mess of the irq handling code and prevents some pretty significant cleanups in the code for handling large numbers of irqs. This patch refactors msi.c to work in terms of irqs and create_irq/destroy_irq for dynamically managing irqs. Hopefully this is finally a version of msi.c that is useful on more than just x86 derivatives. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4fa0bbf384496ae4acc0a150719d9d8fa8d11b3 Author: Eric W. Biederman Date: Wed Oct 4 02:16:40 2006 -0700 [PATCH] genirq: x86_64 irq: Dynamic irq support The current implementation of create_irq() is a hack but it is the current hack that msi.c uses, and unfortunately the ``generic'' apic msi ops depend on this hack. Thus we are this hack of assuming irq == vector until the depencencies in the generic irq code are removed. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc471ede99579211c44b6a64829c4318976990f Author: Eric W. Biederman Date: Wed Oct 4 02:16:39 2006 -0700 [PATCH] genirq: i386 irq: Dynamic irq support The current implementation of create_irq() is a hack but it is the current hack that msi.c uses, and unfortunately the ``generic'' apic msi ops depend on this hack. Thus we are stuck this hack of assuming irq == vector until the depencencies in the generic msi code are removed. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6cf2583ba026ca563ff8b15805fcf30b8e192a7 Author: Eric W. Biederman Date: Wed Oct 4 02:16:38 2006 -0700 [PATCH] genirq: ia64 irq: Dynamic irq support [akpm@osdl.org: build fix] Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a16d713626735f3016da0521b7bf251cd78e836 Author: Eric W. Biederman Date: Wed Oct 4 02:16:37 2006 -0700 [PATCH] genirq: irq: add a dynamic irq creation API With the msi support comes a new concept in irq handling, irqs that are created dynamically at run time. Currently the msi code allocates irqs backwards. First it allocates a platform dependent routing value for an interrupt the ``vector'' and then it figures out from the vector which irq you are on. This msi backwards allocator suffers from two basic problems. The allocator suffers because it is trying to do something that is architecture specific in a generic way making it brittle, inflexible, and tied to tightly to the architecture implementation. The alloctor also suffers from it's very backwards nature as it has tied things together that should have no dependencies. To solve the basic dynamic irq allocation problem two new architecture specific functions are added: create_irq and destroy_irq. create_irq takes no input and returns an unused irq number, that won't be reused until it is returned to the free poll with destroy_irq. The irq then can be used for any purpose although the only initial consumer is the msi code. destroy_irq takes an irq number allocated with create_irq and returns it to the free pool. Making this functionality per architecture increases the simplicity of the irq allocation code and increases it's flexibility. dynamic_irq_init() and dynamic_irq_cleanup() are added to automate the irq_desc initializtion that should happen for dynamic irqs. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92db6d10bc1bc43330a4c540fa5b64c83d9d865f Author: Eric W. Biederman Date: Wed Oct 4 02:16:35 2006 -0700 [PATCH] genirq: msi: simplify the msi irq limit policy Currently we attempt to predict how many irqs we will be able to allocate with msi using pci_vector_resources and some complicated accounting, and then we only allow each device as many irqs as we think are available on average. Only the s2io driver even takes advantage of this feature all other drivers have a fixed number of irqs they need and bail if they can't get them. pci_vector_resources is inaccurate if anyone ever frees an irq. The whole implmentation is racy. The current irq limit policy does not appear to make sense with current drivers. So I have simplified things. We can revisit this we we need a more sophisticated policy. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38bc0361303535c86f6b67b151a541728d7bdae6 Author: Eric W. Biederman Date: Wed Oct 4 02:16:34 2006 -0700 [PATCH] genirq: msi: refactor the msi_ops The current msi_ops are short sighted in a number of ways, this patch attempts to fix the glaring deficiences. - Report in msi_ops if a 64bit address is needed in the msi message, so we can fail 32bit only msi structures. - Send and receive a full struct msi_msg in both setup and target. This is a little cleaner and allows for architectures that need to modify the data to retarget the msi interrupt to a different cpu. - In target pass in the full cpu mask instead of just the first cpu in case we can make use of the full cpu mask. - Operate in terms of irqs and not vectors, currently there is still a 1-1 relationship but on architectures other than ia64 I expect this will change. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0366f8f7137deb072991e4c50769c6da31f8940c Author: Eric W. Biederman Date: Wed Oct 4 02:16:33 2006 -0700 [PATCH] genirq: msi: implement helper functions read_msi_msg and write_msi_msg In support of this I also add a struct msi_msg that captures the the two address and one data field ina typical msi message, and I remember the pos and if the address is 64bit in struct msi_desc. This makes the code a little more readable and easier to maintain, and paves the way to further simplfications. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd159eeca971d594fa30176733b66d37acda82a3 Author: Eric W. Biederman Date: Wed Oct 4 02:16:32 2006 -0700 [PATCH] genirq: msi: make the msi boolean tests return either 0 or 1 This allows the output of the msi tests to be stored directly in a bit field. If you don't do this a value greater than one will be truncated and become 0. Changing true to false with bizare consequences. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bd007e480672c99d8656c7b7b12ef0549432c37 Author: Eric W. Biederman Date: Wed Oct 4 02:16:31 2006 -0700 [PATCH] genirq: msi: simplify msi enable and disable The problem. Because the disable routines leave the msi interrupts in all sorts of half enabled states the enable routines become impossible to implement correctly, and almost impossible to understand. Simplifing this allows me to simply kill the buggy reroute_msix_table, and generally makes the code more maintainable. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Cc: Rajesh Shah Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0be6652f1e61b647f738eb25af057bf9551a9841 Author: Eric W. Biederman Date: Wed Oct 4 02:16:30 2006 -0700 [PATCH] genirq: x86_64 irq: Reenable migrating irqs to other cpus In the latest changes the code for migrating x86_64 irqs was dropped. This reads it in a fashion that will work even if we change the vector on level triggered irqs when we migrate them. [akpm@osdl.org: build fix] Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7b946e98a456077dd6897f726f3d6197bd7e3b9 Author: Eric W. Biederman Date: Wed Oct 4 02:16:29 2006 -0700 [PATCH] genirq: irq: add moved_masked_irq Currently move_native_irq disables and renables the irq we are migrating to ensure we don't take that irq when we are actually doing the migration operation. Disabling the irq needs to happen but sometimes doing the work is move_native_irq is too late. On x86 with ioapics the irq move sequences needs to be: edge_triggered: mask irq. move irq. unmask irq. ack irq. level_triggered: mask irq. ack irq. move irq. unmask irq. We can easily perform the edge triggered sequence, with the current defintion of move_native_irq. However the level triggered case does not map well. For that I have added move_masked_irq, to allow me to disable the irqs around both the ack and the move. Q: Why have we not seen this problem earlier? A: The only symptom I have been able to reproduce is that if we change the vector before acknowleding an irq the wrong irq is acknowledged. Since we currently are not reprogramming the irq vector during migration no problems show up. We have to mask the irq before we acknowledge the irq or else we could hit a window where an irq is asserted just before we acknowledge it. Edge triggered irqs do not have this problem because acknowledgements do not propogate in the same way. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24ceab4f44f21749aa0b6bd38bee37c775e036f Author: Eric W. Biederman Date: Wed Oct 4 02:16:27 2006 -0700 [PATCH] genirq: irq: convert the move_irq flag from a 32bit word to a single bit The primary aim of this patchset is to remove maintenances problems caused by the irq infrastructure. The two big issues I address are an artificially small cap on the number of irqs, and that MSI assumes vector == irq. My primary focus is on x86_64 but I have touched other architectures where necessary to keep them from breaking. - To increase the number of irqs I modify the code to look at the (cpu, vector) pair instead of just looking at the vector. With a large number of irqs available systems with a large irq count no longer need to compress their irq numbers to fit. Removing a lot of brittle special cases. For acpi guys the result is that irq == gsi. - Addressing the fact that MSI assumes irq == vector takes a few more patches. But suffice it to say when I am done none of the generic irq code even knows what a vector is. In quick testing on a large Unisys x86_64 machine we stumbled over at least one driver that assumed that NR_IRQS could always fit into an 8 bit number. This driver is clearly buggy today. But this has become a class of bugs that it is now much easier to hit. This patch: This is a minor space optimization. In practice I don't think this has any affect because of our alignment constraints and the other fields but there is not point in chewing up an uncessary word and since we already read the flag field this should improve the cache hit ratio of the irq handler. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5b9ed7acdcfea4bf73a70dececa7483787503ed Author: Ingo Molnar Date: Wed Oct 4 02:16:26 2006 -0700 [PATCH] genirq: convert the i386 architecture to irq-chips This patch converts all the i386 PIC controllers (except VisWS and Voyager, which I could not test - but which should still work as old-style IRQ layers) to the new and simpler irq-chip interrupt handling layer. [akpm@osdl.org: build fix] [mingo@elte.hu: enable fasteoi handler for i386 level-triggered IO-APIC irqs] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f29bd1ba68c8c6a0f50bd678bbd5a26674018f7c Author: Ingo Molnar Date: Wed Oct 4 02:16:25 2006 -0700 [PATCH] genirq: convert the x86_64 architecture to irq-chips This patch converts all the x86_64 PIC controllers layers to the new and simpler irq-chip interrupt handling layer. [mingo@elte.hu: The patch also enables the fasteoi handler for x86_64] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Roland Dreier Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0271eb947db2704a0ff8be68d72915ab021d1ead Author: Andrew Morton Date: Wed Oct 4 02:16:24 2006 -0700 [PATCH] fbdev: riva warning fix drivers/video/riva/fbdev.c: In function `riva_get_EDID_OF': drivers/video/riva/fbdev.c:1846: warning: assignment discards qualifiers from pointer target type This code is being bad: copying a pointer to read-only OF data into a non-const pointer. Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 237fead619984cc48818fe12ee0ceada3f55b012 Author: Michael Halcrow Date: Wed Oct 4 02:16:22 2006 -0700 [PATCH] ecryptfs: fs/Makefile and fs/Kconfig eCryptfs is a stacked cryptographic filesystem for Linux. It is derived from Erez Zadok's Cryptfs, implemented through the FiST framework for generating stacked filesystems. eCryptfs extends Cryptfs to provide advanced key management and policy features. eCryptfs stores cryptographic metadata in the header of each file written, so that encrypted files can be copied between hosts; the file will be decryptable with the proper key, and there is no need to keep track of any additional information aside from what is already in the encrypted file itself. [akpm@osdl.org: updates for ongoing API changes] [bunk@stusta.de: cleanups] [akpm@osdl.org: alpha build fix] [akpm@osdl.org: cleanups] [tytso@mit.edu: inode-diet updates] [pbadari@us.ibm.com: generic_file_*_read/write() interface updates] [rdunlap@xenotime.net: printk format fixes] [akpm@osdl.org: make slab creation and teardown table-driven] Signed-off-by: Phillip Hellewell Signed-off-by: Michael Halcrow Signed-off-by: Erez Zadok Signed-off-by: Adrian Bunk Signed-off-by: Stephan Mueller Signed-off-by: "Theodore Ts'o" Signed-off-by: Badari Pulavarty Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7aa2638f288f4c67acdb55947472740bd27d27a Author: Cedric Le Goater Date: Wed Oct 4 02:16:21 2006 -0700 [PATCH] Fix linux/nfsd/const.h for make headers_check make headers_check fails on linux/nfsd/const.h. Since linux/sunrpc/msg_prot.h does not seem to export anything interesting for userspace, this patch moves it in the __KERNEL__ protected section. Signed-off-by: Cedric Le Goater Cc: David Woodhouse Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42ca09938157105c1f573c831a35e9c3e02eb354 Author: J.Bruce Fields Date: Wed Oct 4 02:16:20 2006 -0700 [PATCH] knfsd: nfsd4: actually use all the pieces to implement referrals Use all the pieces set up so far to implement referral support, allowing return of NFS4ERR_MOVED and fs_locations attribute. Signed-off-by: Manoj Naik Signed-off-by: Fred Isaman Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1 Author: J.Bruce Fields Date: Wed Oct 4 02:16:19 2006 -0700 [PATCH] knfsd: nfsd4: xdr encoding for fs_locations Encode fs_locations attribute. Signed-off-by: Manoj Naik Signed-off-by: Fred Isaman Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 933469190ed5915b0568bc564346bb8db718f460 Author: Manoj Naik Date: Wed Oct 4 02:16:18 2006 -0700 [PATCH] knfsd: nfsd4: fslocations data structures Define FS locations structures, some functions to manipulate them, and add code to parse FS locations in downcall and add to the exports structure. [bfields@fieldses.org: bunch of fixes and cleanups] Signed-off-by: Manoj Naik Signed-off-by: Fred Isaman Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b009a873de05c6e0d7613df3584b6dcb2e4280ee Author: J.Bruce Fields Date: Wed Oct 4 02:16:17 2006 -0700 [PATCH] knfsd: nfsd: store export path in export Store the export path in the svc_export structure instead of storing only the dentry. This will prevent the need for additional d_path calls to provide NFSv4 fs_locations support. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21c0d8fdd95024ffa708a938099148b8f1078d46 Author: NeilBrown Date: Wed Oct 4 02:16:16 2006 -0700 [PATCH] knfsd: close a race-opportunity in d_splice_alias There is a possible race in d_splice_alias. Though __d_find_alias(inode, 1) will only return a dentry with DCACHE_DISCONNECTED set, it is possible for it to get cleared before the BUG_ON, and it is is not possible to lock against that. There are a couple of problems here. Firstly, the code doesn't match the comment. The comment describes a 'disconnected' dentry as being IS_ROOT as well as DCACHE_DISCONNECTED, however there is not testing of IS_ROOT anythere. A dentry is marked DCACHE_DISCONNECTED when allocated with d_alloc_anon, and remains DCACHE_DISCONNECTED while a path is built up towards the root. So a dentry can have a valid name and a valid parent and even grandparent, but will still be DCACHE_DISCONNECTED until a path to the root is created. Once the path to the root is complete, everything in the path gets DCACHE_DISCONNECTED cleared. So the fact that DCACHE_DISCONNECTED isn't enough to say that a dentry is free to be spliced in with a given name. This can only be allowed if the dentry does not yet have a name, so the IS_ROOT test is needed too. However even adding that test to __d_find_alias isn't enough. As d_splice_alias drops dcache_lock before calling d_move to perform the splice, it could race with another thread calling d_splice_alias to splice the inode in with a different name in a different part of the tree (in the case where a file has hard links). So that splicing code is only really safe for directories (as we know that directories only have one link). For directories, the caller of d_splice_alias will be holding i_mutex on the (unique) parent so there is no room for a race. A consequence of this is that a non-directory will never benefit from being spliced into a pre-exisiting dentry, but that isn't a problem. It is perfectly OK for a non-directory to have multiple dentries, some anonymous, some not. And the comment for d_splice_alias says that it only happens for directories anyway. Signed-off-by: Neil Brown Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44c556000a31e8079cfbb9a42a7edb93ca6b589a Author: NeilBrown Date: Wed Oct 4 02:16:15 2006 -0700 [PATCH] knfsd: fix auto-sizing of nfsd request/reply buffers totalram is measured in pages, not bytes, so PAGE_SHIFT must be used when trying to find 1/4096 of RAM. Cc: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b54dae2b0defb30babb0fe87b13463b9f4b2907 Author: NeilBrown Date: Wed Oct 4 02:16:15 2006 -0700 [PATCH] knfsd: lockd: fix refount on nsm If nlm_lookup_host finds what it is looking for it exits with an extra reference on the matching 'nsm' structure. So don't actually count the reference until we are (fairly) sure it is going to be used. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b66285cee3f9abad26cca6c9b848e1ad6b792d94 Author: J.Bruce Fields Date: Wed Oct 4 02:16:14 2006 -0700 [PATCH] knfsd: nfsd4: acls: fix handling of zero-length acls It is legal to have zero-length NFSv4 acls; they just deny everything. Also, nfs4_acl_nfsv4_to_posix will always return with pacl and dpacl set on success, so the caller doesn't need to check this. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3b64eb6efb1ef46f6629b66a429e7f2b5955003 Author: J.Bruce Fields Date: Wed Oct 4 02:16:13 2006 -0700 [PATCH] knfsd: nfsd4: acls: simplify nfs4_acl_nfsv4_to_posix interface There's no need to handle the case where the caller passes in null for pacl or dpacl; no caller does that, because it would be a dumb thing to do. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b548edc2dd9440c561f3302cb9f212ef2d06a8ef Author: J.Bruce Fields Date: Wed Oct 4 02:16:12 2006 -0700 [PATCH] knfsd: nfsd4: acls: fix inheritance We can be a little more flexible about the flags allowed for inheritance (in particular, we can deal with either the presence or the absence of INHERIT_ONLY), but we should probably reject other combinations that we don't understand. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09229edb68a3961db54174a2725055bd1589b4b8 Author: J.Bruce Fields Date: Wed Oct 4 02:16:11 2006 -0700 [PATCH] knfsd: nfsd4: acls: relax the nfsv4->posix mapping Use a different nfsv4->(draft posix) acl mapping which is 1. completely backwards compatible, 2. accepts any nfsv4 acl, and 3. errs on the side of restricting permissions. In detail: 1. completely backwards compatible: The new mapping produces the same result on any acl produced by the existing (draft posix)->nfsv4 mapping; the one exception is that we no longer attempt to guess the value of the mask by assuming certain denies represent the mask. Since the server still keeps track of the mask locally, sequences of chmod's will still be handled fine; the only thing this will change is sequences of chmod's with intervening read-modify-writes of the acl. That last case just isn't worth the trouble and the possible misrepresentations of the user's intent (if we guess that a certain deny indicates masking is in effect when it really isn't). 2. accepts any nfsv4 acl: That's not quite true: we still reject acls that use combinations of inheritance flags that we don't support. We also reject acls that attempt to explicitly deny read_acl or read_attributes permissions, or that attempt to deny write_acl or write_attributes permissions to the owner of the file. 3. errs on the side of restricting permissions: one exception to this last rule: we totally ignore some bits (write_owner, synchronize, read_named_attributes, etc.) that are completely alien to our filesystem semantics, in some cases even if that would mean ignoring an explicit deny that we have no intention of enforcing. Excepting that, the posix acl produced should be the most permissive acl that is not more permissive than the given nfsv4 acl. And the new code's shorter, too. Neato. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0ebd9c0e71d20ea8c2b4a071d2a2b4878ef07d6 Author: J.Bruce Fields Date: Wed Oct 4 02:16:10 2006 -0700 [PATCH] knfsd: nfsd4: clean up exp_pseudoroot The previous patch enables some minor simplification here. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f38b20c64519bb812a49b9ef4e10d90367a5af5c Author: J.Bruce Fields Date: Wed Oct 4 02:16:09 2006 -0700 [PATCH] knfsd: nfsd4: refactor exp_pseudoroot We could be using more common code in exp_pseudoroot(). This will also simplify some changes we need to make later. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8e05c5708d7e9017c47f395f8b1498f7f52922 Author: J.Bruce Fields Date: Wed Oct 4 02:16:08 2006 -0700 [PATCH] knfsd: svcrpc: use consistent variable name for the reply state The rpc reply has multiple levels of error returns. The code here contributes to the confusion by using "accept_statp" for a pointer to what the rfc (and wireshark, etc.) refer to as the "reply_stat". (The confusion is compounded by the fact that the rfc also has an "accept_stat" which follows the reply_stat in the succesful case.) Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b304bc5bfccc82b856e876e829c260df8e67ff2 Author: J.Bruce Fields Date: Wed Oct 4 02:16:07 2006 -0700 [PATCH] knfsd: svcrpc: gss: fix failure on SVC_DENIED in integrity case If the request is denied after gss_accept was called, we shouldn't try to wrap the reply. We were checking the accept_stat but not the reply_stat. To check the reply_stat in _release, we need a pointer to before (rather than after) the verifier, so modify body_start appropriately. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c15a486643a103eaf068e5fb3b7f9d720d579a7 Author: J.Bruce Fields Date: Wed Oct 4 02:16:06 2006 -0700 [PATCH] knfsd: svcrpc: gss: factor out some common wrapping code Factor out some common code from the integrity and privacy cases. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89e63ef609fb0064a47281e31e38010159c32d57 Author: Neil Brown Date: Wed Oct 4 02:16:06 2006 -0700 [PATCH] Convert lockd to use the newer mutex instead of the older semaphore Both the (recently introduces) nsm_sema and the older f_sema are converted over. Cc: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc5fea4299b8bda5f73c6f79dc35d388caf8bced Author: Olaf Kirch Date: Wed Oct 4 02:16:05 2006 -0700 [PATCH] knfsd: register all RPC programs with portmapper by default The NFSACL patches introduced support for multiple RPC services listening on the same transport. However, only the first of these services was registered with portmapper. This was perfectly fine for nfsacl, as you traditionally do not want these to show up in a portmapper listing. The patch below changes the default behavior to always register all services listening on a given transport, but retains the old behavior for nfsacl services. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ade060ee51b9b6cf18d580405dc9ab90067f69f Author: Olaf Kirch Date: Wed Oct 4 02:16:04 2006 -0700 [PATCH] knfsd: lockd: fix use of h_nextrebind nlmclnt_recovery would try to force a portmap rebind by setting host->h_nextrebind to 0. The right thing to do here is to set it to the current time. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 460f5cac1e24e947509b6112c99c5bc9ff687b45 Author: Olaf Kirch Date: Wed Oct 4 02:16:03 2006 -0700 [PATCH] knfsd: export nsm_local_state to user space via sysctl Every NLM call includes the client's NSM state. Currently, the Linux client always reports 0 - which seems not to cause any problems, but is not what the protocol says. This patch exposes the kernel's internal variable to user space via a sysctl, which can be set at system boot time by statd. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39be4502cb75dc26007fe1659735b26c8e63fcc6 Author: Olaf Kirch Date: Wed Oct 4 02:16:03 2006 -0700 [PATCH] knfsd: match GRANTED_RES replies using cookies When we send a GRANTED_MSG call, we current copy the NLM cookie provided in the original LOCK call - because in 1996, some broken clients seemed to rely on this bug. However, this means the cookies are not unique, so that when the client's GRANTED_RES message comes back, we cannot simply match it based on the cookie, but have to use the client's IP address in addition. Which breaks when you have a multi-homed NFS client. The X/Open spec explicitly mentions that clients should not expect the same cookie; so one may hope that any clients that were broken in 1996 have either been fixed or rendered obsolete. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 031d869d0e0be18cfe35526be5608225b8f0a7be Author: Olaf Kirch Date: Wed Oct 4 02:16:02 2006 -0700 [PATCH] knfsd: make nlmclnt_next_cookie SMP safe The way we incremented the NLM cookie in nlmclnt_next_cookie was not thread safe. This patch changes the counter to an atomic_t Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abd1f50094cad9dff6d68ada98b495549f52fc30 Author: Olaf Kirch Date: Wed Oct 4 02:16:01 2006 -0700 [PATCH] knfsd: lockd: optionally use hostnames for identifying peers This patch adds the nsm_use_hostnames sysctl and module param. If set, lockd will use the client's name (as given in the NLM arguments) to find the NSM handle. This makes recovery work when the NFS peer is multi-homed, and the reboot notification arrives from a different IP than the original lock calls. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 350fce8dbf43f7d441b77366851c9ce3cd28d6dc Author: NeilBrown Date: Wed Oct 4 02:16:00 2006 -0700 [PATCH] knfsd: simplify nlmsvc_invalidate_all As a result of previous patches, the loop in nlmsvc_invalidate_all just sets h_expires for all client/hosts to 0 (though does it in a very complicated way). This was possibly meant to trigger early garbage collection but half the time '0' is in the future and so it infact delays garbage collection. Pre-aging the 'hosts' is not really needed at this point anyway so we throw out the loop and nlm_find_client which is no longer needed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c53c1bb94f30cecee79ca0a8e9977640338283be Author: Olaf Kirch Date: Wed Oct 4 02:16:00 2006 -0700 [PATCH] knfsd: lockd: Add nlm_destroy_host This patch moves the host destruction code out of nlm_host_gc into a function of its own. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2af793db02d2c2f677bdb5bf8e0efdcbf9c0256 Author: Olaf Kirch Date: Wed Oct 4 02:15:59 2006 -0700 [PATCH] knfsd: lockd: make nlm_traverse_* more flexible This patch makes nlm_traverse{locks,blocks,shares} and friends use a function pointer rather than a "action" enum. This function pointer is given two nlm_hosts (one given by the caller, the other taken from the lock/block/share currently visited), and is free to do with them as it wants. If it returns a non-zero value, the lockd/block/share is released. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07ba80635117c136714084e019375aa508365375 Author: Olaf Kirch Date: Wed Oct 4 02:15:58 2006 -0700 [PATCH] knfsd: change nlm_file to use a hlist This changes struct nlm_file and the nlm_files hash table to use a hlist instead of the home-grown lists. This allows us to remove f_hash which was only used to find the right hash chain to delete an entry from. It also increases the size of the nlm_files hash table from 32 to 128. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68a2d76cea4234bc027df23085d9df4f2171f7fc Author: Olaf Kirch Date: Wed Oct 4 02:15:57 2006 -0700 [PATCH] knfsd: lockd: Change list of blocked list to list_node This patch changes the nlm_blocked list to use a list_node instead of homegrown linked list handling. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cea32761a2f954c6d42ca79d7d1e6b9663b1e4a Author: Olaf Kirch Date: Wed Oct 4 02:15:56 2006 -0700 [PATCH] knfsd: lockd: make the hash chains use a hlist_node Get rid of the home-grown singly linked lists for the nlm_host hash table. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9502c52259f7038b6c1e31532e22884716a56b1a Author: Olaf Kirch Date: Wed Oct 4 02:15:56 2006 -0700 [PATCH] knfsd: lockd: make the nsm upcalls use the nsm_handle This converts the statd upcalls to use the nsm_handle This means that we only register each host once with statd, rather than registering each host/vers/protocol triple. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c8dd29ca7fc7483690cef4306549742d534f2a2 Author: Olaf Kirch Date: Wed Oct 4 02:15:55 2006 -0700 [PATCH] knfsd: lockd: Make nlm_host_rebooted use the nsm_handle This patch makes the SM_NOTIFY handling understand and use the nsm_handle. To make it a bit clear what is happening: nlmclent_prepare_reclaim and nlmclnt_finish_reclaim get open-coded into 'reclaimer' The result is tidied up. Then some of that functionality is moved out into nlm_host_rebooted (which calls nlmclnt_recovery which starts a thread which runs reclaimer). Also host_rebooted now finds an nsm_handle rather than a host, then then iterates over all hosts and deals with each host that shares that nsm_handle. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0737a39a64a9df32bb045c54e1cdf6cecdcbdd7 Author: Olaf Kirch Date: Wed Oct 4 02:15:54 2006 -0700 [PATCH] knfsd: misc minor fixes, indentation changes cleans up some code in lockd/host.c, fixes an error printk and makes it a fatal BUG if nlmsvc_free_host_resources fails. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dead0dbd478f35fd943f3719591e5af1ac0950d Author: Olaf Kirch Date: Wed Oct 4 02:15:53 2006 -0700 [PATCH] knfsd: lockd: introduce nsm_handle This patch introduces the nsm_handle, which is shared by all nlm_host objects referring to the same client. With this patch applied, all nlm_hosts from the same address will share the same nsm_handle. A future patch will add sharing by name. Note: this patch changes h_name so that it is no longer guaranteed to be an IP address of the host. When the host represents an NFS server, h_name will be the name passed in the mount call. When the host represents a client, h_name will be the name presented in the lock request received from the client. A h_name is only used for printing informational messages, this change should not be significant. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db4e4c9a9e741ee812e1febf5e386d6a24218a71 Author: Olaf Kirch Date: Wed Oct 4 02:15:52 2006 -0700 [PATCH] knfsd: when looking up a lockd host, pass hostname & length This patch adds the peer's hostname (and name length) to all calls to nlm*_lookup_host functions. A subsequent patch will make use of these (is requested by a sysctl). Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf712c24d72341effcfd28330b83b49f77cb627b Author: Olaf Kirch Date: Wed Oct 4 02:15:52 2006 -0700 [PATCH] knfsd: consolidate common code for statd->lockd notification Common code from nlm4svc_proc_sm_notify and nlmsvc_proc_sm_notify is moved into a new nlm_host_rebooted. This is in preparation of a patch that will change the reboot notification handling entirely. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 977faf392fc898407554bbe7338d57b29e3660cf Author: Olaf Kirch Date: Wed Oct 4 02:15:51 2006 -0700 [PATCH] knfsd: hide use of lockd's h_monitored flag This patch moves all checks of the h_monitored flag into the nsm_monitor/unmonitor functions. A subsequent patch will replace the mechanism by which we mark a host as being monitored. There is still one occurence of h_monitored outside of mon.c and that is in clntlock.c where we respond to a reboot. The subsequent patch will modify this too. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b2b1fee30df7e2165525cd03f7d1d01a3a56794 Author: Greg Banks Date: Wed Oct 4 02:15:50 2006 -0700 [PATCH] knfsd: knfsd: cache ipmap per TCP socket Speed up high call-rate workloads by caching the struct ip_map for the peer on the connected struct svc_sock instead of looking it up in the ip_map cache hashtable on every call. This helps workloads using AUTH_SYS authentication over TCP. Testing was on a 4 CPU 4 NIC Altix using 4 IRIX clients, each with 16 synthetic client threads simulating an rsync (i.e. recursive directory listing) workload reading from an i386 RH9 install image (161480 regular files in 10841 directories) on the server. That tree is small enough to fill in the server's RAM so no disk traffic was involved. This setup gives a sustained call rate in excess of 60000 calls/sec before being CPU-bound on the server. Profiling showed strcmp(), called from ip_map_match(), was taking 4.8% of each CPU, and ip_map_lookup() was taking 2.9%. This patch drops both contribution into the profile noise. Note that the above result overstates this value of this patch for most workloads. The synthetic clients are all using separate IP addresses, so there are 64 entries in the ip_map cache hash. Because the kernel measured contained the bug fixed in commit commit 1f1e030bf75774b6a283518e1534d598e14147d4 and was running on 64bit little-endian machine, probably all of those 64 entries were on a single chain, thus increasing the cost of ip_map_lookup(). With a modern kernel you would need more clients to see the same amount of performance improvement. This patch has helped to scale knfsd to handle a deployment with 2000 NFS clients. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fce1456a19f5c08b688c29f00ef90fdfa074c79b Author: Greg Banks Date: Wed Oct 4 02:15:49 2006 -0700 [PATCH] knfsd: make nfsd readahead params cache SMP-friendly Make the nfsd read-ahead params cache more SMP-friendly by changing the single global list and lock into a fixed 16-bucket hashtable with per-bucket locks. This reduces spinlock contention in nfsd_read() on read-heavy workloads on multiprocessor servers. Testing was on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing 1K streaming reads at full line rate. The server had 128 nfsd threads, which sizes the RA cache at 256 entries, of which only a handful were used. Flat profiling shows nfsd_read(), including the inlined nfsd_get_raparms(), taking 10.4% of each CPU. This patch drops the contribution from nfsd() to 1.71% for each CPU. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596bbe53eb3abfe7326b2f5e8afd614265c319c8 Author: NeilBrown Date: Wed Oct 4 02:15:48 2006 -0700 [PATCH] knfsd: Allow max size of NFSd payload to be configured The max possible is the maximum RPC payload. The default depends on amount of total memory. The value can be set within reason as long as no nfsd threads are currently running. The value can also be ready, allowing the default to be determined after nfsd has started. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7adae489fe794e3e203ff168595f635d0b845e59 Author: Greg Banks Date: Wed Oct 4 02:15:47 2006 -0700 [PATCH] knfsd: Prepare knfsd for support of rsize/wsize of up to 1MB, over TCP The limit over UDP remains at 32K. Also, make some of the apparently arbitrary sizing constants clearer. The biggest change here involves replacing NFSSVC_MAXBLKSIZE by a function of the rqstp. This allows it to be different for different protocols (udp/tcp) and also allows it to depend on the servers declared sv_bufsiz. Note that we don't actually increase sv_bufsz for nfs yet. That comes next. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cc03b164cf01c6f36e64720b58610d292fb26f7 Author: NeilBrown Date: Wed Oct 4 02:15:47 2006 -0700 [PATCH] knfsd: Avoid excess stack usage in svc_tcp_recvfrom .. by allocating the array of 'kvec' in 'struct svc_rqst'. As we plan to increase RPCSVC_MAXPAGES from 8 upto 256, we can no longer allocate an array of this size on the stack. So we allocate it in 'struct svc_rqst'. However svc_rqst contains (indirectly) an array of the same type and size (actually several, but they are in a union). So rather than waste space, we move those arrays out of the separately allocated union and into svc_rqst to share with the kvec moved out of svc_tcp_recvfrom (various arrays are used at different times, so there is no conflict). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4452435948424e5322c2a2fefbdc2cf3732cc45d Author: NeilBrown Date: Wed Oct 4 02:15:46 2006 -0700 [PATCH] knfsd: Replace two page lists in struct svc_rqst with one We are planning to increase RPCSVC_MAXPAGES from about 8 to about 256. This means we need to be a bit careful about arrays of size RPCSVC_MAXPAGES. struct svc_rqst contains two such arrays. However the there are never more that RPCSVC_MAXPAGES pages in the two arrays together, so only one array is needed. The two arrays are for the pages holding the request, and the pages holding the reply. Instead of two arrays, we can simply keep an index into where the first reply page is. This patch also removes a number of small inline functions that probably server to obscure what is going on rather than clarify it, and opencode the needed functionality. Also remove the 'rq_restailpage' variable as it is *always* 0. i.e. if the response 'xdr' structure has a non-empty tail it is always in the same pages as the head. check counters are initilised and incr properly check for consistant usage of ++ etc maybe extra some inlines for common approach general review Signed-off-by: Neil Brown Cc: Magnus Maatta Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5680c44632053a6c9464bca43083f01776d318da Author: NeilBrown Date: Wed Oct 4 02:15:45 2006 -0700 [PATCH] knfsd: Fixed handling of lockd fail when adding nfsd socket Arrgg.. We cannot 'lockd_up' before 'svc_addsock' as we don't know the protocol yet.... So switch it around again and save the name of the created sockets so that it can be closed if lock_up fails. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda9e0cd8a6b30ccc32edced066c378fbd87003d Author: NeilBrown Date: Wed Oct 4 02:15:44 2006 -0700 [PATCH] knfsd: Protect update to sn_nrthreads with lock_kernel Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37a034729ae611295bbb8e925333d4d54d7c1ebc Author: NeilBrown Date: Wed Oct 4 02:15:44 2006 -0700 [PATCH] knfsd: call lockd_down when closing a socket via a write to nfsd/portlist The refcount that nfsd holds on lockd is based on the number of open sockets. So when we close a socket, we should decrement the ref (with lockd_down). Currently when a socket is closed via writing to the portlist file, that doesn't happen. So: make sure we get an error return if the socket that was requested does is not found, and call lockd_down if it was. Cc: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ed94296a660a61989b5d54f0c4bb804f30567d3 Author: NeilBrown Date: Wed Oct 4 02:15:43 2006 -0700 [PATCH] knfsd: nfsd: lockdep annotation fix nfsv2 needs the I_MUTEX_PARENT on the directory when creating a file too. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d02a030b01443f1cb81f22750113fe9a98109d9 Author: Jiri Slaby Date: Wed Oct 4 02:15:42 2006 -0700 [PATCH] hisax niccy cleanup Whitespace cleanup, delete unnecesasry parenthesis and braces. Signed-off-by: Jiri Slaby Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 176f00ffed3ef94a198326fbf6a5db64f1cf73ad Author: Pierre Ossman Date: Wed Oct 4 02:15:41 2006 -0700 [PATCH] mmc: properly use the new multi block-write error handling Use the new multi block-write error reporting flag and properly tell the block layer how much data was transferred before the error. Signed-off-by: Pierre Ossman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7104e2d5a85b4b786d6a63568beffe1e185547bb Author: Pierre Ossman Date: Wed Oct 4 02:15:41 2006 -0700 [PATCH] mmc: use own work queue The MMC layer uses the standard work queue for doing card detection. As this queue is shared with other crucial subsystems, the effects of a long (and perhaps buggy) detection can cause the system to be unusable. E.g. the keyboard stops working while the detection routine is running. The solution is to add a specific mmc work queue to run the detection code in. This is similar to how other subsystems handle detection (a full kernel thread is the most common theme). Signed-off-by: Pierre Ossman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a4da1430f7f2a16df3be9c7b5d55ba4e75b708c Author: Pierre Ossman Date: Wed Oct 4 02:15:40 2006 -0700 [PATCH] mmc: avoid some resets without card Some Ricoh controllers only respect a full reset when there is no card in the slot. As we wait for the reset to complete, we must avoid even requesting those resets on the buggy controllers. Signed-off-by: Pierre Ossman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f25a66f6bbac563c94af94f03491b3ae43c40af Author: Pierre Ossman Date: Wed Oct 4 02:15:39 2006 -0700 [PATCH] mmc: fix MMIO vs memory races in sdhci Sprinkle some mmiowb() where needed (writeX() before unlock()). Signed-off-by: Pierre Ossman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9565129993446e16678cfc4d9c7f3b7e75eecbd Author: Alex Dubov Date: Wed Oct 4 02:15:38 2006 -0700 [PATCH] mmc: driver for TI FlashMedia card reader - Kconfig/Makefile Signed-off-by: Alex Dubov Cc: Daniel Qarras Acked-by: Pierre Ossman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4020f2d7f0b0e68b92bec9a3e1f4a54a7a9dc672 Author: Alex Dubov Date: Wed Oct 4 02:15:37 2006 -0700 [PATCH] mmc: driver for TI FlashMedia card reader - source Driver for TI Flash Media card reader. At present, only MMC/SD cards are supported. [akpm@osdl.org: cleanups, build fixes] Signed-off-by: Alex Dubov Cc: Daniel Qarras Acked-by: Pierre Ossman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 856fe98f168e5b80b053979769af2514aab96d6b Author: Jim Cromie Date: Wed Oct 4 02:15:35 2006 -0700 [PATCH] scx200_hrt: fix precedence bug manifesting as 27x clock in 1 MHz mode Fix paren-placement / precedence bug breaking initialization for 1 MHz clock mode. Also fix comment spelling error, and fence-post (off-by-one) error on symbol used in request_region. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=7242 Thanks alexander.krause@erazor-zone.de, dzpost@dedekind.net, for the reports and patch test, and phelps@mantara.com for the independent patch and verification. Signed-off-by: Jim Cromie Cc: Cc: Cc: Acked-by: John Stultz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bded00bf62090ebc9d6e8be640cdb69e8497db6 Author: Kenji Kaneshige Date: Wed Oct 4 02:15:34 2006 -0700 [PATCH] fix "PCI: assign ioapic resource at hotplug" Roland Dreier wrote: > The change "PCI: assign ioapic resource at hotplug" (commit > 23186279658cea6d42a050400d3e79c56cb459b4 in Linus's tree) makes > networking stop working on my system (SuperMicro H8QC8 with four > dual-core Opteron 885 CPUs). In particular, the on-board NIC stops > working, probably because it gets assigned the wrong IRQ (225 in the > non-working case, 217 in the working case) > > With that patch applied, e1000 doesn't work. Reverting just that > patch (shown below) from Linus's latest tree fixes things for me. > The cause of this problem might be an wrong assumption that the 'start' member of resource structure for ioapic device has non-zero value if the resources are assigned by firmware. The 'start' member of ioapic device seems not to be set even though the resources were actually assigned to ioapic devices by firmware. Cc: Kenji Kaneshige Cc: MUNEDA Takahiro Cc: Satoru Takeuchi Cc: Kristen Carlson Accardi Cc: Greg Kroah-Hartman Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18e39913d41ca4d63e9e94a2ad25b5ea31caaa7f Author: David Gibson Date: Wed Oct 4 02:15:32 2006 -0700 [PATCH] Fix spurious error on TAGS target when missing defconfig Not all architectures have a file named 'defconfig' (e.g. powerpc). However the make TAGS and make tags targets search such files for tags, causing an error message when they don't exist. This patch addresses the problem by instructing xargs not to run the tags program if there are no matching files. Signed-off-by: David Gibson Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 585b7747d63e3a5f65628d21c1745edd926d7897 Author: Eric Sesterhenn Date: Wed Oct 4 02:15:30 2006 -0700 [PATCH] Remove unnecessary check in fs/reiserfs/inode.c Since all callers dereference dir, we dont need this check. Coverity id #337. Signed-off-by: Eric Sesterhenn Cc: Jeff Mahoney Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit add216608a63713b8a2c4545698d5ae02e27ac3b Author: Thomas Maier Date: Wed Oct 4 02:15:30 2006 -0700 [PATCH] pktcdvd: rename a variable for better readability pktcdvd: Rename a variable for better readability. Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7822082d4e054fbdec8cf26590a350e3496c5cc9 Author: Thomas Maier Date: Wed Oct 4 02:15:28 2006 -0700 [PATCH] pktcdvd: Replace pktcdvd strings with macro DRIVER_NAME. pktcdvd: Replace pktcdvd strings with macro DRIVER_NAME. Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d321765f7cbc2dc0683374c91bb3720d57331d37 Author: Jiri Slaby Date: Wed Oct 4 02:15:28 2006 -0700 [PATCH] Char: serial167, remove useless tty check serial167, remove useless tty check tty is dereferenced before it is checked to be non-NULL. Remove such check. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3218a79aa3d58b975b066c300153a8520f7051c Author: Jiri Slaby Date: Wed Oct 4 02:15:27 2006 -0700 [PATCH] char: kill unneeded memsets char, another tmp_buf cleanup No need to allocate one page as a side buffer. It's no more used. Clean this (de)allocs of this useless memory pages in char subtree. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d2c8eea698514cfaa53fc991b960791d09508e1 Author: Christoph Hellwig Date: Wed Oct 4 02:15:25 2006 -0700 [PATCH] slab: clean up leak tracking ifdefs a little bit - rename ____kmalloc to kmalloc_track_caller so that people have a chance to guess what it does just from it's name. Add a comment describing it for those who don't. Also move it after kmalloc in slab.h so people get less confused when they are just looking for kmalloc - move things around in slab.c a little to reduce the ifdef mess. [penberg@cs.helsinki.fi: Fix up reversed #ifdef] Signed-off-by: Christoph Hellwig Signed-off-by: Pekka Enberg Cc: Christoph Lameter Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88ca3b94e82e763ef90c8e57cacd51a3c143ea62 Author: Randy Dunlap Date: Wed Oct 4 02:15:25 2006 -0700 [PATCH] page_alloc: fix kernel-doc and func. declaration Fix kernel-doc and function declaration (missing "void") in mm/page_alloc.c. Add mm/page_alloc.c to kernel-api.tmpl in DocBook. mm/page_alloc.c:2589:38: warning: non-ANSI function declaration of function 'remove_all_active_ranges' Signed-off-by: Randy Dunlap Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe1668ae5bf0145014c71797febd9ad5670d5d05 Author: Chen, Kenneth W Date: Wed Oct 4 02:15:24 2006 -0700 [PATCH] enforce proper tlb flush in unmap_hugepage_range Spotted by Hugh that hugetlb page is free'ed back to global pool before performing any TLB flush in unmap_hugepage_range(). This potentially allow threads to abuse free-alloc race condition. The generic tlb gather code is unsuitable to use by hugetlb, I just open coded a page gathering list and delayed put_page until tlb flush is performed. Cc: Hugh Dickins Signed-off-by: Ken Chen Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e80ee884ae0e3794ef2b65a18a767d502ad712ee Author: Nick Piggin Date: Wed Oct 4 02:15:23 2006 -0700 [PATCH] mm: micro optimise zone_watermark_ok Having min be a signed quantity means gcc can't turn high latency divides into shifts. There happen to be two such divides for GFP_ATOMIC (ie. networking, ie. important) allocations, one of which depends on the other. Fixing this makes code smaller as a bonus. Shame on somebody (probably me). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2abacf3a2699a8020829c85c16f358ba85cecaf Author: Henrik Kretzschmar Date: Wed Oct 4 02:15:22 2006 -0700 [PATCH] mm: fix in kerneldoc Fixes an kerneldoc error. Signed-off-by: Henrik Kretzschmar Cc: "Randy.Dunlap" Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e95be9a5326f0f6d314a7aa04a3c0c0e67fa976b Author: Daniel Walker Date: Wed Oct 4 02:15:21 2006 -0700 [PATCH] docs: small kbuild cleanup While reading this I noticed that the contents of this document list section "3.8 Command line dependency" but it doesn't exist in the document. Signed-off-by: Daniel Walker Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e776b1d5e976d6bb2aafb177dde7d5f8d2bf37f Author: Andrew Morton Date: Wed Oct 4 02:15:20 2006 -0700 [PATCH] hdrcheck permission fix Don't require that scripts/hdrcheck.sh be executable - shit happens... Cc: Sam Ravnborg Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b119f13f56a7a47915278ab5eb3c666ca5dbb067 Author: Cedric Le Goater Date: Wed Oct 4 02:15:19 2006 -0700 [PATCH] ipc: headers_check fix Fix headers_check #ifdef __KERNEL__ stuff. Signed-off-by: Cedric Le Goater All-the-fault-of: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f024a251f0b3b179bbc8fc62f3a650e49359db5 Author: Andrew Morton Date: Sun Oct 1 16:17:13 2006 -0400 [PARISC] Kill wall_jiffies use wall_jiffies and jiffies are now equal, so this is a noop... Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 22fced881122f7fc6f5f259dca03ac6d5c601404 Author: Helge Deller Date: Sat Sep 30 15:45:58 2006 +0200 [PARISC] Honour "panic_on_oops" sysctl Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit dc02747da7897cb89b62bb08aeb06fa0bb1e7319 Author: Matthew Wilcox Date: Sun Sep 24 13:35:50 2006 -0600 [PARISC] Fix fs/binfmt_som.c Fix compilation (missing include of a.out.h) Fix security hole (need to call unshare_files) Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 8d0b7d1055bedca784b143b0af9b37bd971b7cd2 Author: Matthew Wilcox Date: Wed Sep 20 21:44:09 2006 -0600 [PARISC] Export clear_user_page to modules Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 99b6e9be71b9ad2c50c0d160b5af18848fee466d Author: Matthew Wilcox Date: Wed Sep 20 20:36:42 2006 -0600 [PARISC] Make DMA routines more stubby We were pretending to use the GENERIC_ISA_DMA routines, but never selected that symbol. Since ISA DMA is known to not work right now, just remove the attempts to acquire the dma_spin_lock to fix compile warnings. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit f312094556619aed849862089938c14aa6a5b84b Author: Matthew Wilcox Date: Tue Sep 19 19:37:09 2006 -0600 [PARISC] Define pci_get_legacy_ide_irq We can compile at least one IDE driver that refers to this. We can't use the asm-generic file because we have our own definitions of pcibios_resource_to_bus etc. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit d207ac0f7c9736782bfa51cff2109b74d26c3622 Author: Matthew Wilcox Date: Tue Sep 19 19:32:42 2006 -0600 [PARISC] Fix CONFIG_DEBUG_SPINLOCK Joel Soete points out that we refer to pa_tlb_lock but only define it if CONFIG_SMP which breaks a uniprocessor build with CONFIG_DEBUG_SPINLOCK enabled. No module refers to pa_tlb_lock, so we can delete the export. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 32f468139209459c3293a0895cf5b8e66ccc30a5 Author: Matthew Wilcox Date: Tue Sep 19 16:44:38 2006 -0600 [PARISC] Fix HPUX compat compile with current GCC GCC no longer allows a cast as lvalue; fix the same way fs/readdir.c was Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 01232e932988fcf6ad87be49f69e633dd652a46d Author: Matthew Wilcox Date: Tue Sep 19 16:37:01 2006 -0600 [PARISC] Fix iounmap compile warning iounmap's argument needs to be both const and volatile, otherwise we'll get warnings that we're discarding pointer qualifiers Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 08a6436816f7a16113c73be767ee8d50440e494e Author: Kyle McMartin Date: Thu Aug 24 21:33:40 2006 -0400 [PARISC] Add support for Quicksilver AGPGART Signed-off-by: Kyle McMartin commit 983daeec99f07fca0a8a9180ba1ca65bbd40c820 Author: Kyle McMartin Date: Fri Aug 25 12:28:24 2006 -0400 [PARISC] Move LBA and SBA register defines to the common ropes.h header. This will allow the use of more constants in the agpgart driver. Signed-off-by: Kyle McMartin commit 1790cf9111f61d360d861901b97eba4de3b5414c Author: Kyle McMartin Date: Thu Aug 24 21:32:49 2006 -0400 [PARISC] Create shared header Pull out struct sba_device and struct lba_device into a common ropes.h header. Also fold the parisc portion of iosapic.h into this file. (Then delete the useless portion of iosapic.h) Signed-off-by: Kyle McMartin commit b0eecc4da9c0a5261711e0d83280fd5d1e3db742 Author: Kyle McMartin Date: Thu Aug 24 21:31:41 2006 -0400 [PARISC] Stash the lba_device in its struct device drvdata Signed-off-by: Kyle McMartin commit 1b240f415f42204ff5a885c1c552b26a2ee780a1 Author: Kyle McMartin Date: Thu Aug 24 21:30:19 2006 -0400 [PARISC] Generalize IS_ASTRO et al to take a parisc_device like IS_ELROY. Also remove the useless caching of the parisc_device_id in struct sba_device. Signed-off-by: Kyle McMartin commit ba9877b6734fb0313bca99ae2077613f24ff5b5c Author: Kyle McMartin Date: Thu Aug 24 21:28:58 2006 -0400 [PARISC] Pretty print the name of the lba type on kernel boot (it's pretty useless telling a user they have a whole bunch of TR%d.%d LBAs) Signed-off-by: Kyle McMartin commit 7886089e3c06518c5e65675a932922f915e20e77 Author: Matthew Wilcox Date: Tue Sep 12 05:19:15 2006 -0600 [PARISC] Remove some obsolete comments and I checked that Reo is similar to Ike Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 8a63674f70ac443d166b746d6c04154f8ee9de7b Author: Matthew Wilcox Date: Tue Sep 12 05:17:59 2006 -0600 [PARISC] Add hardware found in the rp8400 Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 7085689ed135f94108e46c372015c6f5cd3372a3 Author: James Bottomley Date: Sat Sep 9 12:36:25 2006 -0700 [PARISC] Allow nested interrupts Our prior mode of operation didn't allow nested interrupts because it makes the interrupt code much simpler. However, nested interrupts are better for latency. This code uses the EIEM register to simulate level interrupts and thus achieve nesting. Signed-off-by: James Bottomley Signed-off-by: Kyle McMartin commit 6e5dc42b5add25c94ce0e95da87122f91b4bfdb3 Author: Grant Grundler Date: Sun Sep 10 12:57:55 2006 -0700 [PARISC] Further updates to timer_interrupt() This version (relative to the current tree): o eliminates "while (ticks_elapsed)" loop. It's not needed. o drop "ticks_elapsed" completely from timer_interrupt(). o Estimates elapsed cycles (based on HZ) to see which kind of math we want to use to calculate "cycles_remainder". o Fixes a bug where we would loose a tick if we decided we wanted to skip one interrupt. Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit 6b799d9222fef265802b0b6dcc4fb982cc8f55ca Author: Grant Grundler Date: Mon Sep 4 13:56:11 2006 -0700 [PARISC] remove halftick and copy clocktick to local var (gcc can optimize usage) Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit bed583f76e1d5fbb5a6fdf27a0f7b2ae235f7e99 Author: Grant Grundler Date: Fri Sep 8 23:29:22 2006 -0700 [PARISC] Rewrite timer_interrupt() and gettimeoffset() using "unsigned" math. It's just a bit easier to follow and timer code is complex enough. So far, only tested on A500-5x (64-bit SMP), ie: gettimeoffset() code hasn't been tested at all. Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit 65ee8f0a7fc2f2267b983f1f0349acb8f19db6e6 Author: Matthew Wilcox Date: Fri Sep 8 05:43:44 2006 -0600 [PARISC] Enable interrupts while spinning Use the __raw_spin_lock_flags routine so we can take an interrupt while spinning. This re-fixes a bug jejb found on 2005-10-20: CPU0 does a flush_tlb_all holding the vmlist_lock for write. CPU1 tries a cat of /proc/meminfo which tries to acquire vmlist_lock for read CPU1 is now spinning with interrupts disabled CPU0 tries to execute a smp_call_function to flush the local tlb caches This is now a deadlock because CPU1 is spinning with interrupts disabled and can never receive the IPI Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 56f335c89e28c488b1bfea3e5e697fce805c784d Author: Grant Grundler Date: Sun Sep 3 00:02:16 2006 -0700 [PARISC] Add new function to start local Interval Timer, start_cpu_itimer() I couldn't find where the itimer was getting started for slave CPUs. CPU 0 (master) itimer was started in time_init() (arch/parisc/kernel/time.c). start_cpu_itimer() code was striped from time_init(). Slaves now start their itimer in smp_cpu_init(). This is a first step towards making gettimeoffset() work for SMP. Next step will be to determine the CR16 (cycle counter) offsets for each CPU relative to the master (CPU 0). Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit 7908a0c72ee78ba5476c2a773d808c77593719c6 Author: Grant Grundler Date: Fri Sep 1 14:18:39 2006 -0700 [PARISC] Prevent processor_probe() from clobbering cpu_data[0] processor_probe() shouldn't clobber cpu_data[0] cpu_data[0].it_value (used by timer_interrupt()) is already set. Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit 9cf8f370f0777a24808b3485f3b5abb8e736d3e8 Author: Grant Grundler Date: Fri Sep 1 14:50:25 2006 -0700 [PARISC] Use CONFIG_HZ to determine interval timer rate (aka clock ticks) This isn't likely to be causing problems for other bits of kernel code. I can't find any other user of CONFIG_HZ outside of arch specific code. Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit 342a0497c23c278633f8674ab62f71e5049b7080 Author: Carlos O'Donell Date: Thu Sep 7 13:05:17 2006 -0400 [PARISC] Implement futex_atomic_cmpxchg_inatomic Implement trivial futex_atomic_cmpxchg_inatomic for testing. Signed-off-by: Carlos O'Donell Signed-off-by: Kyle McMartin commit 6e071852a10ec02570c472052f07b5facb5ad857 Author: Matthew Wilcox Date: Sat Sep 2 07:54:58 2006 -0600 [PARISC] Improve rwlock implementation Rewrite rwlock implementation to avoid various deadlocks in the current scheme. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 9c2c54574e724589858ad656a507be29f9034943 Author: Kyle McMartin Date: Mon Aug 28 15:42:07 2006 -0400 [PARISC] [BUGFIX] nullify branch delay slot of the jump back to intr_restore in intr_do_preempt. This prevents the execution of an unwanted insn... Signed-off-by: Kyle McMartin commit 136ce40e9f1f24ca1dbf7714c669a7bca56440ea Author: Matthew Wilcox Date: Mon Aug 28 11:53:30 2006 -0600 [PARISC] Clean up asm-parisc/serial.h Russell King pointed out that asm/serial.h is anachronistic and we were misusing BASE_BAUD. So fix BASE_BAUD for PCI 16550 UARTs, move LASI_BASE_BAUD into 8250_gsc, and fix the obsolete comment about reserving serial port slots. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 75a4958154f5d0028d5464f2479b4297d55cf4a3 Author: Kyle McMartin Date: Sun Aug 27 11:12:13 2006 -0400 [PARISC] Allow overriding personality with sys_personality And now suddenly, linux32 works on parisc... Signed-off-by: Kyle McMartin commit df570b9c284701d08b22aa00cbfcf870b7f1b7c1 Author: Kyle McMartin Date: Sun Aug 27 11:04:26 2006 -0400 [PARISC] Switch is_compat_task to use TIF_32BIT Stop using PER_LINUX32 to designate processes needing compaterizing. Convert is_compat_task to use TIF_32BIT and set TIF_32BIT in binfmt_elf32.c Signed-off-by: Kyle McMartin commit 8f611c453c6a41eee73645c80ccb10493e74b630 Author: Kyle McMartin Date: Sat Sep 16 14:38:22 2006 -0400 [PARISC] Prevent multiple includes of asm-parisc/parisc-device.h Signed-off-by: Kyle McMartin commit 20f4d3cb9b94ce3fec9a6135b9ad075b82b24f41 Author: James Bottomley Date: Wed Aug 23 09:00:04 2006 -0700 [PARISC] parisc specific kmap API implementation for pa8800 This patch fixes the pa8800 at a gross level (there are still other subtle incoherency issues which can still cause crashes and HPMCs). What it does is try to force eject inequivalent aliases before they become visible to the L2 cache (which is where we get the incoherence problems). A new function (parisc_requires_coherency) is introduced in asm/processor.h to identify the pa8x00 processors (8800 and 8900) which have the issue. Signed-off-by: James Bottomley Signed-off-by: Kyle McMartin commit e45da35e180a4fc91307648d021a598495742c32 Author: Carlos O'Donell Date: Sat Sep 16 14:35:51 2006 -0400 [PARISC] Document that D-class can also use serial_mux Signed-off-by: Carlos O'Donell Signed-off-by: Kyle McMartin commit 5cfe87d3f543d05a84a509d232330261f1b7bccf Author: Kyle McMartin Date: Sun Aug 13 22:25:45 2006 -0400 [PARISC] Fix up parisc irq handling for genirq changes Clean up enough to get things compiling again in the interim. Signed-off-by: Kyle McMartin commit 6f03495d65db4cecc8dc8f2266768f83af0c2710 Author: Kyle McMartin Date: Sun Aug 13 22:18:57 2006 -0400 [PARISC] Add asm-parisc/mckinley.h bus header Add header for McKinley bus related code. Remove extern decl of proc_mckinley_root in drivers/parisc/sba_iommu.c Signed-off-by: Kyle McMartin commit 3d73cf5e18c47d416db4d0734245d3fb087603d9 Author: Kyle McMartin Date: Sun Aug 13 22:17:19 2006 -0400 [PARISC] Abstract shift register left in .S Abstract existing shift register left macros as shift register right are. This lends itself to a nice clean up of some #ifdef blocks in entry.S Signed-off-by: Kyle McMartin commit f86e45131f9d41b1617fbaac7aa1ef23e8d0ab48 Author: Kyle McMartin Date: Sun Aug 13 21:09:31 2006 -0400 [PATCH] Need forward decl of task_struct in linux/debug_locks.h Signed-off-by: Kyle McMartin commit c51d476af36d1e9634e77afccc4d48e344acf243 Author: Kyle McMartin Date: Sun Aug 13 20:39:48 2006 -0400 [PARISC] Remove variables decls duplicated from asm-generic/sections.h Signed-off-by: Kyle McMartin commit 32104b29cdf93f78ac37e681bd4547413466d13c Author: Kyle McMartin Date: Sun Aug 13 20:37:26 2006 -0400 [PARISC] PA7200 also supports prefetch for read It seems PA7200 processors also suppress traps on loads to %r0. This means we can prefetch for read on these cpus. Of course, we can't support prefetch for write, since that requires LOAD DOUBLEWORD which was added with PA2.0 Signed-off-by: Kyle McMartin commit 4068d93cd17561bcbfc821c831cb048385320bd6 Author: Kyle McMartin Date: Sun Aug 13 22:15:47 2006 -0400 [PARISC] Untangle header include mess asm/processor.h on parisc wants spinlocks for cpuinfo, but linux/spinlock_types.h needs lockdep, and lockdep wants prefetch. This leads to a horrible circular dependancy, because is including something which depends on things which are not defined until the end of the file. Kludge around this by moving prefetch related code into and including it before , however this is just a temporary solution until this mess can be cleaned up. Signed-off-by: Kyle McMartin commit c8e649ba908954447e9a095677f6a6c8e50a37b2 Author: Steve Grubb Date: Fri Sep 29 11:56:49 2006 -0400 [PATCH] message types updated Hi, This patch adds a new type for 3rd party module use and cleans up a deprecated message type. Signed-off-by: Steve Grubb Signed-off-by: Al Viro commit ac9910ce017ff5f86f3a25e969b2c4f5d6ac438f Author: Steve Grubb Date: Thu Sep 28 14:31:32 2006 -0400 [PATCH] name_count array overrun Hi, This patch removes the rdev logging from the previous patch The below patch closes an unbounded use of name_count. This can lead to oopses in some new file systems. Signed-off-by: Steve Grubb Signed-off-by: Al Viro commit 419c58f11fb732cc8bd1335fa43e0decb34e0be3 Author: Alexander Viro Date: Fri Sep 29 00:08:50 2006 -0400 [PATCH] PPID filtering fix On Thu, Sep 28, 2006 at 04:03:06PM -0400, Eric Paris wrote: > After some looking I did not see a way to get into audit_log_exit > without having set the ppid. So I am dropping the set from there and > only doing it at the beginning. > > Please comment/ack/nak as soon as possible. Ehh... That's one hell of an overhead to be had ;-/ Let's be lazy. Signed-off-by: Al Viro commit 4b8a311bb161a3bd2ab44311f42c526b6dc76270 Author: Eric Paris Date: Thu Sep 28 17:46:21 2006 -0400 [PATCH] arch filter lists with < or > should not be accepted Currently the kernel audit system represents arch's as numbers and will gladly accept comparisons between archs using >, <, >=, <= when the only thing that makes sense is = or !=. I'm told that the next revision of auditctl will do this checking but this will provide enforcement in the kernel even for old userspace. A simple command to show the issue would be to run auditctl -d entry,always -F arch>i686 -S chmod with this patch the kernel will reject this with -EINVAL Please comment/ack/nak as soon as possible. -Eric kernel/auditfilter.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) Signed-off-by: Al Viro commit e1634208b77872ac0884da6d92f0d46f9a61eaa7 Author: Mauro Carvalho Chehab Date: Wed Oct 4 08:13:14 2006 -0300 V4L/DVB (4712): Fix warning when compiling on x86_i64 drivers/media/dvb/dvb-usb/usb-urb.c: In function 'usb_allocate_stream_buffers': drivers/media/dvb/dvb-usb/usb-urb.c:125: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'long long unsigned int' Signed-off-by: Mauro Carvalho Chehab commit 13962753190a43fcc2b4a38d064f05d667691cc8 Author: Tobias Klauser Date: Wed Oct 4 08:09:10 2006 -0300 V4L/DVB (4711): Radio: No need to return void The module_exit function has return-type void and pci_unregister_driver() returns void anyway. Signed-off-by: Tobias Klauser Signed-off-by: Mauro Carvalho Chehab commit 003138cf52bd1eec59cb468334b0396fbfbf66cd Author: Hans Verkuil Date: Tue Oct 3 19:10:33 2006 -0300 V4L/DVB (4708): Add tveeprom support for Philips FM1236/FM1216ME MK5 Add new Philips tuners: Philips FM1236 MK5 and Philips FM1216ME MK5. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e491cbc8b2eabc8856bf890006604edd91b1cce2 Author: Alan Cox Date: Tue Oct 3 20:44:12 2006 -0300 V4L/DVB (4707): 4linux: complete conversion to hotplug safe PCI API Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit a868b45dad04854e07bb1c7c81a73930098bc370 Author: Maciej W. Rozycki Date: Tue Oct 3 16:01:17 2006 -0300 V4L/DVB (4706): Do not enable VIDEO_V4L2 unconditionally The VIDEO_V4L2 config setting is enabled unconditionally, even for configurations with no support for this subsystem whatsoever. The following patch adds the necessary dependency. Signed-off-by: Maciej W. Rozycki Signed-off-by: Mauro Carvalho Chehab commit 9448025be057f6b64c4bab01894c8e6b1a406e6e Author: Hartmut Hackmann Date: Mon Oct 2 21:00:32 2006 -0300 V4L/DVB (4704): SAA713x: fixed compile warning in SECAM fixup The variable fixup could be used uninitialized. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit cf146ca4c2d56f275235526d9ada6c007313c7c7 Author: Hartmut Hackmann Date: Mon Oct 2 20:49:24 2006 -0300 V4L/DVB (4703): Add support for the ASUS EUROPA2 OEM board This is a analog DVB-T hybrid board Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 6b14ff9e901935a685ac430828452b53936dcbad Author: Hermann Pitton Date: Mon Oct 2 20:18:26 2006 -0300 V4L/DVB (4702): Fix: set antenna input for DVB-T for Asus P7131 Dual hybrid This patch forces the correct antenna input input in DVB-T mode for this card. Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 17b10a73e697da71faa3e54e35421aca4531aa9b Author: Hartmut Hackmann Date: Mon Oct 2 19:55:07 2006 -0300 V4L/DVB (4701): Saa713x audio fixes This change fixes the following issues: - resolve the SECAM D/K vs SECAM-L sound conflict It is now possible to select the SECAM version either by the VIDEOIOC_S_STD IO control or by the new secam= insmod option. The driver now adapts its audio standard search list to the selected standard. - don't trigger a sound standard search when a LINE input is selected. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 39666962a3c598f221bc99e835d9d6046a700d85 Author: Mauro Carvalho Chehab Date: Wed Oct 4 08:01:59 2006 -0300 V4L/DVB (4676a): Remove Kconfig item for DiB7000M support Support for DiB7000M frontend were not included on 2.6.19, since still not completed. Removing Kconfig item. Signed-off-by: Mauro Carvalho Chehab commit 038b0a6d8d32db934bba6a24e74e76e4e327a94f Author: Dave Jones Date: Wed Oct 4 03:38:54 2006 -0400 Remove all inclusions of kbuild explicitly includes this at build time. Signed-off-by: Dave Jones commit 0a69452cb45add0841c2bc1e75c25f6bd4f1d8d9 Author: Diego Beltrami Date: Tue Oct 3 23:47:05 2006 -0700 [XFRM]: BEET mode This patch introduces the BEET mode (Bound End-to-End Tunnel) with as specified by the ietf draft at the following link: http://www.ietf.org/internet-drafts/draft-nikander-esp-beet-mode-06.txt The patch provides only single family support (i.e. inner family = outer family). Signed-off-by: Diego Beltrami Signed-off-by: Miika Komu Signed-off-by: Herbert Xu Signed-off-by: Abhinav Pathak Signed-off-by: Jeff Ahrenholz Signed-off-by: David S. Miller commit 80246ab36ec8baf7d107254adb166baa555a59f8 Author: David S. Miller Date: Tue Oct 3 16:49:53 2006 -0700 [TCP]: Kill warning in tcp_clean_rtx_queue(). GCC can't tell we always initialize 'tv' in all the cases we actually use it, so explicitly set it up with zeros. Signed-off-by: David S. Miller commit 2473ffe3cae0f86341958e3cf962bb4fc261d028 Author: Patrick McHardy Date: Tue Oct 3 16:29:52 2006 -0700 [NET_SCHED]: Remove old estimator implementation Remove unused file, estimators live in net/core/gen_estimator.c now. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3e0c0ac84c01f41fb266bcdd2802708409901bed Author: Chas Williams Date: Tue Oct 3 16:28:31 2006 -0700 [ATM]: [zatm] always *pcr in alloc_shaper() Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 3a4e5e2033eb7558ebe307e46f5fb6e63b92cab8 Author: Jeff Garzik Date: Tue Oct 3 16:27:55 2006 -0700 [ATM]: [ambassador] Change the return type to reflect reality Signed-off-by: Jeff Garzik Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 0c1cca1d8e0d58775dad43374f925e6cddf1bebc Author: Om Narasimhan Date: Tue Oct 3 16:27:18 2006 -0700 [ATM]: kmalloc to kzalloc patches for drivers/atm Signed-off-by: Om Narasimhan Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 617dbeaa3f2987acc83c1149409685005e9dd740 Author: Jeff Garzik Date: Tue Oct 3 16:25:34 2006 -0700 [TIPC]: fix printk warning gcc spits out this warning: net/tipc/link.c: In function ‘link_retransmit_failure’: net/tipc/link.c:1669: warning: cast from pointer to integer of different size More than a little bit ugly, storing integers in void*, but at least the code is correct, unlike some of the more crufty Linux kernel code found elsewhere. Rather than having two casts to massage the value into u32, it's easier just to have a single cast and use "%lu", since it's just a printk. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ae8c05779ac2f286b872db9ebea0c3c0a031ad1e Author: David S. Miller Date: Tue Oct 3 16:00:26 2006 -0700 [XFRM]: Clearing xfrm_policy_count[] to zero during flush is incorrect. When we flush policies, we do a type match so we might not actually delete all policies matching a certain direction. So keep track of how many policies we actually kill and subtract that number from xfrm_policy_count[dir] at the end. Based upon a patch by Masahide NAKAMURA. Signed-off-by: David S. Miller commit 667bbcb6c099d1b74f95c6963ddf37a32e7afc29 Author: Masahide NAKAMURA Date: Tue Oct 3 15:56:09 2006 -0700 [XFRM] STATE: Use destination address for src hash. Src hash is introduced for Mobile IPv6 route optimization usage. On current kenrel code it is calculated with source address only. It results we uses the same hash value for outbound state (when the node has only one address for Mobile IPv6). This patch use also destination address as peer information for src hash to be dispersed. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit c5e29460f5f9eb189cab5d9fdaa137e64f7734b6 Author: Julian Anastasov Date: Tue Oct 3 15:49:46 2006 -0700 [NEIGH]: always use hash_mask under tbl lock Make sure hash_mask is protected with tbl->lock in all cases just like the hash_buckets. Signed-off-by: Julian Anastasov Signed-off-by: David S. Miller commit 1e0c14f49d6b393179f423abbac47f85618d3d46 Author: Herbert Xu Date: Tue Oct 3 14:35:49 2006 -0700 [UDP]: Fix MSG_PROBE crash UDP tracks corking status through the pending variable. The IP layer also tracks it through the socket write queue. It is possible for the two to get out of sync when MSG_PROBE is used. This patch changes UDP to check the write queue to ensure that the two stay in sync. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 132a55f3c5c0b1a364d32f65595ad8838c30a60e Author: Herbert Xu Date: Tue Oct 3 14:34:00 2006 -0700 [UDP6]: Fix flowi clobbering The udp6_sendmsg function uses a shared buffer to store the flow without taking any locks. This leads to races with SMP. This patch moves the flowi object onto the stack. Signed-off-by: Herbert Xu Acked-by: James Morris Signed-off-by: David S. Miller commit 81771b3b20fb4e98c6f2b2aac2bc10ed41a8f006 Author: Ismail Donmez Date: Tue Oct 3 13:49:10 2006 -0700 [NET_SCHED]: Revert "HTB: fix incorrect use of RB_EMPTY_NODE" With commit 10fd48f2376db52f08bf0420d2c4f580e39269e1 [1] , RB_EMPTY_NODE changed behaviour so it returns true when the node is empty as expected. Hence Patrick McHardy's fix for sched_htb.c should be reverted. Signed-off-by: Ismail Donmez ACKed-by: Patrick McHardy Signed-off-by: David S. Miller commit b18dfa90c008850e0f3bfd63638dd8fbe8e08701 Author: Bart De Schuymer Date: Mon Oct 2 16:12:52 2006 -0700 [NETFILTER]: ebt_mark: add or/and/xor action support to mark target The following patch adds or/and/xor functionality for the mark target, while staying backwards compatible. Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9d02002d2dc2c7423e5891b97727fde4d667adf1 Author: Patrick McHardy Date: Mon Oct 2 16:12:20 2006 -0700 [NETFILTER]: ipt_REJECT: remove largely duplicate route_reverse function Use ip_route_me_harder instead, which now allows to specify how we wish the packet to be routed. Based on patch by Simon Horman . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 901eaf6c8f997f18ebc8fcbb85411c79161ab3b2 Author: Simon Horman Date: Mon Oct 2 16:11:51 2006 -0700 [NETFILTER]: Honour source routing for LVS-NAT For policy routing, packets originating from this machine itself may be routed differently to packets passing through. We want this packet to be routed as if it came from this machine itself. So re-compute the routing information using ip_route_me_harder(). This patch is derived from work by Ken Brownfield Cc: Ken Brownfield Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b4c4ed175ff0ee816df48571cfa9b73f521964b6 Author: Simon Horman Date: Mon Oct 2 16:11:13 2006 -0700 [NETFILTER]: add type parameter to ip_route_me_harder By adding a type parameter to ip_route_me_harder() the expensive call to inet_addr_type() can be avoided in some cases. A followup patch where ip_route_me_harder() is called from within ip_vs_out() is one such example. Signed-off-By: Simon Horman Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f1da70632fa0875f80fc60991a010c31f40983ff Author: Patrick McHardy Date: Mon Oct 2 16:10:47 2006 -0700 [NETFILTER]: Kconfig: fix xt_physdev dependencies xt_physdev depends on bridge netfilter, which is a boolean, but can still be built modular because of special handling in the bridge makefile. Add a dependency on BRIDGE to prevent XT_MATCH_PHYSDEV=y, BRIDGE=m. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9020fc960b8f5fbca0de6e4d11881ddc827aa61d Author: Kim Phillips Date: Mon Oct 2 20:10:30 2006 -0500 [POWERPC] Add support for the mpc832x mds board Add support for MPC832x MDS evaluation board. This patch depends on the 8360+QE lib patches by Leo. The MPC832x processors (MPC8323E, MPC8323, MPC8321E, MPC8321) sport the e300c2 core plus a QUICC Engine (QE). This patch adds support for the 832x MDS evaluation board. The 832x MDS dts and defconfig files are pending more tests. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 6c4a2501d0b9fe90882efea5541275a46cda2a1a Author: Kim Phillips Date: Mon Oct 2 20:10:24 2006 -0500 [POWERPC] Add initial support for the e300c2 core Add support for the Freescale e300c2 core found in the MPC832x processor line. As far as initial kernel support is concerned, the e300c2 core is identical to the e300c1 found in the mpc834x, except that it's had its floating point unit chopped off. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 7a234d03774a2949d0ce73e3aef56cfdb6856404 Author: Li Yang Date: Mon Oct 2 20:10:10 2006 -0500 [POWERPC] Add MPC8360EMDS default dts file Add MPC8360EMDS default device-tree source file Signed-off-by: Li Yang Signed-off-by: Jiang Bo Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit bc141deafb81f2efa453081e9d52d602a8cec766 Author: Li Yang Date: Tue Oct 3 23:17:51 2006 -0500 [POWERPC] Add MPC8360EMDS board support The patch adds MPC8360EMDS board support. Signed-off-by: Li Yang Signed-off-by: Yin Olivia Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 9865853851313e0d94a4acde42d6f9d8070bb376 Author: Li Yang Date: Tue Oct 3 23:10:46 2006 -0500 [POWERPC] Add QUICC Engine (QE) infrastructure Add QUICC Engine (QE) configuration, header files, and QE management and library code that are used by QE devices drivers. Includes Leo's modifications up to, and including, the platform_device to of_device adaptation: "The series of patches add generic QE infrastructure called qe_lib, and MPC8360EMDS board support. Qe_lib is used by QE device drivers such as ucc_geth driver. This version updates QE interrupt controller to use new irq mapping mechanism, addresses all the comments received with last submission and includes some style fixes. v2: Change to use device tree for BCSR and MURAM; Remove I/O port interrupt handling code as it is not generic enough. v3: Address comments from Kumar; Update definition of several device tree nodes; Copyright style change." In addition, the following changes have been made: o removed typedefs o uint -> u32 conversions o removed following defines: QE_SIZEOF_BD, BD_BUFFER_ARG, BD_BUFFER_CLEAR, BD_BUFFER, BD_STATUS_AND_LENGTH_SET, BD_STATUS_AND_LENGTH, and BD_BUFFER_SET because they hid sizeof/in_be32/out_be32 operations from the reader. o fixed qe_snums_init() serial num assignment to use a const array o made CONFIG_UCC_FAST select UCC_SLOW o reduced NR_QE_IC_INTS from 128 to 64 o remove _IO_BASE, etc. defines (not used) o removed irrelevant comments, added others to resemble removed BD_ defines o realigned struct definitions in headers o various other style fixes including things like pinMask -> pin_mask o fixed a ton of whitespace issues o marked ioregs as __be32/__be16 o removed platform_device code and redundant get_qe_base() o removed redundant comments o added cpu_relax() to qe_reset o uncasted all get_property() assignments o eliminated unneeded casts o eliminated immrbar_phys_to_virt (not used) Signed-off-by: Li Yang Signed-off-by: Shlomi Gridish Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 9a1ab883c04e43f9f9819c40eb435bcdc4136193 Author: Li Yang Date: Mon Oct 2 20:08:59 2006 -0500 [POWERPC] Add QE device tree node definition OF device tree node spec used in QE/8360 support patches. Signed-off-by: Li Yang Signed-off-by: Jiang Bo Signed-off-by: Kim Phillips Signed-off-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit 0a730ae59960165ae50de3284fb50316d1755d98 Author: Paul Mackerras Date: Tue Oct 3 21:32:49 2006 +1000 [POWERPC] Don't try to just continue if xmon has no input device Currently, if xmon has no input device (as is generally the case on G5 powermacs), and we drop into xmon as a result of a fatal exception, it will return 1, which die() interprets as "continue without causing an oops". This fixes it by making xmon() return 0 in the case where it has no input device. Signed-off-by: Paul Mackerras commit 586da2cc78131d194ecacaf4de26b49691de5fd3 Author: Michael Ellerman Date: Tue Oct 3 14:48:43 2006 +1000 [POWERPC] Fix a printk in pseries_mpic_init_IRQ This should probably say "mpic" to save confusion. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2ec6ef1034632c67896955d52bf8efb99195b742 Author: Benjamin Herrenschmidt Date: Tue Oct 3 14:47:58 2006 +1000 [POWERPC] Get default baud rate in udbg_scc On powermac, when open firmware is set to use the SCC for console, this causes the low level udbg early console to read back the speed and re-use it instead of hard coding 57600 bps. This doesn't (yet) pass the detected speed all the way to pmac_zilog though. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 54c9941288e86fad983e307e540808e155b16b34 Author: Benjamin Herrenschmidt Date: Tue Oct 3 14:27:16 2006 +1000 [POWERPC] Fix zImage.coff on oldworld PowerMac Recent changes to the PowerPC zImage wrapper broke zImage.coff due to the addition of new ELF sections that aren't very well converted to xcoff and not supported by old OpenFirmware. This fixes it by putting those sections in the xcoff .data. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 476792839467c08ddeedd8b44a7423d415b68259 Author: Michael Ellerman Date: Tue Oct 3 14:12:08 2006 +1000 [POWERPC] Fix xmon=off and cleanup xmon initialisation My patch to make the early xmon logic work with earlier early param parsing (480f6f35a149802a94ad5c1a2673ed6ec8d2c158) breaks xmon=off. No one does this obviously as xmon rocks, but it should really work as documented. While fixing that it struck me that we could move the xmon param handling into xmon.c, and also consolidate the xmon_init()/do_early_xmon logic into xmon_setup(). This means xmon=early drops into xmon a little earlier on 32-bit, but it seems to work just fine. Tested on PSERIES and CLASSIC32. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 23b8acb1cf49fea74a9d431de258787384951eac Author: Michael Ellerman Date: Tue Oct 3 14:12:07 2006 +1000 [POWERPC] Cleanup include/asm-powerpc/xmon.h For some reason we have two prototypes for xmon_init(), remove the one in system.h. No one calls xmon() anymore, debugger() is preferable, so we don't need the prototype. And similarly no one calls xmon_printf(). Also update the include guards on xmon.h to match the standard format, add copyright and license, and add comments to #endifs. Built for pseries_defconfig and pmac32_defconfig. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 14b1ffb577a8678e228683bd015302cfe964040c Author: Olaf Hering Date: Mon Oct 2 22:57:23 2006 +0200 [POWERPC] Update swim3 printk after blkdev.h change drivers/block/swim3.c: In function 'swim3_interrupt': drivers/block/swim3.c:640: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'unsigned int' drivers/block/swim3.c:746: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'unsigned int' Update printk format string after blkdev.h change: Split struct request ->flags into two parts Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 2e194583125bfea94d1ceaa6a32e891643befa7d Author: Benjamin Herrenschmidt Date: Fri Sep 29 15:00:29 2006 +1000 [POWERPC] Cell interrupt rework This patch reworks the cell iic interrupt handling so that: - Node ID is back in the interrupt number (only one IRQ host is created for all nodes). This allows interrupts from sources on another node to be routed non-locally. This will allow possibly one day to fix maxcpus=1 or 2 and still get interrupts from devices on BE 1. (A bit more fixing is needed for that) and it will allow us to implement actual affinity control of external interrupts. - Added handling of the IO exceptions interrupts (badly named, but I re-used the name initially used by STI). Those are the interrupts exposed by IIC_ISR and IIC_IRR, such as the IOC translation exception, performance monitor, etc... Those get their special numbers in the IRQ number space and are internally implemented as a cascade on unit 0xe, class 1 of each node. Signed-off-by: Benjamin Herrenschmidt Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 78b656b8bf933101b42409b4492734b23427bfc3 Author: Keith Mannthey Date: Tue Oct 3 18:25:52 2006 -0700 [PATCH] i383 numa: fix numaq/summit apicid conflict This allows numaq to properly align cpus to their given node during boot. Pass logical apicid to apicid_to_node and allow the summit sub-arch to use physical apicid (hard_smp_processor_id()). Tested against numaq and summit based systems with no issues. Signed-off-by: Keith Mannthey Signed-off-by: Linus Torvalds commit 7ecdb70a0ea436c06540140242bfac6ac3babfc0 Author: Steven Whitehouse Date: Tue Oct 3 21:03:35 2006 -0400 [GFS2] Fix endian bug for de_type Missing endian conversion for the de_type field. Signed-off-by: Steven Whitehouse commit 65935ff95cfda67c7b2bf228d6f7083a46f832a1 Author: Andrew Vasquez Date: Mon Oct 2 12:00:50 2006 -0700 [SCSI] qla2xxx: Update version number to 8.01.07-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 07db51831371f2875ef234b1535a15afdb381b6c Author: Andrew Vasquez Date: Mon Oct 2 12:00:49 2006 -0700 [SCSI] qla2xxx: Stall mid-layer error handlers while rport is blocked. Stall error handler if attempting recovery while an rport is blocked. This avoids device offline scenarios due to errors in the error handler. Reference implementation from lpfc/mptfc. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bb8ee4998498e15b5c8ed94cd7dd8d07e586c0ab Author: Andrew Vasquez Date: Mon Oct 2 12:00:48 2006 -0700 [SCSI] qla2xxx: Add MODULE_FIRMWARE tags. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7047fcddb1bc96a80fc54ac3a88ea18ca3ae77f6 Author: Andrew Vasquez Date: Mon Oct 2 12:00:47 2006 -0700 [SCSI] qla2xxx: Add support for host port state FC transport attribute. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 90991c85d398fd46b2b07440b5639eb50dfacb2b Author: Andrew Vasquez Date: Mon Oct 2 12:00:46 2006 -0700 [SCSI] qla2xxx: Add support for fabric name FC transport attribute. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a740a3f0407ed3344b28b05926b0ce61768e9893 Author: Andrew Vasquez Date: Mon Oct 2 12:00:45 2006 -0700 [SCSI] qla2xxx: Add support for system hostname FC transport attribute. The system hostname will be used during a subsequent FDMI registration with the fabric. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1620f7c2d8e3fdd7dba04bfe5f9c42201eef1188 Author: Andrew Vasquez Date: Mon Oct 2 12:00:44 2006 -0700 [SCSI] qla2xxx: Add support for symbolic nodename FC transport attribute. Refactored original code from qla_gs.c:qla2x00_rsnn_nn(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d8b4521349274ab610d0b29384c704444e55cbca Author: Andrew Vasquez Date: Mon Oct 2 12:00:43 2006 -0700 [SCSI] qla2xxx: Add iIDMA support. iIDMA (Intelligent Interleaved Direct Memory Access) allows for the HBA hardware to send FC frames at the rate at which they can be received by a target device. By taking advantage of the higher link rate, the HBA can maximize bandwidth utilization in a heterogeneous multi-speed SAN. Within a fabric topology, port speed detection is done via a Name Server command (GFPN_ID) followed by a Fabric Management command (GPSC). In an FCAL/N2N topology, port speed is based on the HBA link-rate. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ee0ca6bab394fe41a2b4de58c4532b09a41c9165 Author: Henne Date: Sun Oct 1 13:18:37 2006 +0200 [SCSI] scsi: Scsi_Cmnd convertion in arm subtree Changes the obsolete Scsi_Cmnd to struct scsi_cmnd in the arm subdir of the scsi-subsys. Signed-off-by: Henrik Kretzschmar Acked-by: Russell King Signed-off-by: James Bottomley commit 1516b55d903a5d370859d9013e48db5caea95204 Author: Henne Date: Mon Oct 2 14:56:23 2006 +0200 [SCSI] scsi: Convertion to struct scsi_cmnd in ips-driver Converts the obsolete Scsi_Cmnd to struct scsi_cmnd in the ips-driver. Signed-off-by: Henrik Kretzschmar Signed-off-by: James Bottomley commit a847825970e741e20a09c659978baa34016b63bc Author: Samuel Tardieu Date: Tue Oct 3 23:41:34 2006 +0200 Add missing maintainer countries in CREDITS Add missing maintainer countries. Signed-off-by: Samuel Tardieu Signed-off-by: Adrian Bunk commit 73cf9630683e8b9f58485b75a13a21ac9ff33aef Author: Christian Borntraeger Date: Tue Oct 3 23:40:34 2006 +0200 Fix bytes <-> kilobytes typo in Kconfig for ramdisk This is a small fix for a typo in Kconfig. The default value for the block size is 1024 bytes not 1024 kilobytes. Signed-off-by: Christian Borntraeger Signed-off-by: Adrian Bunk commit 96016cfae5739902944aaec9c3cbbbdeabc7a38b Author: Riccardo Magliocchetti Date: Tue Oct 3 23:39:02 2006 +0200 fix a typo in Documentation/pi-futex.txt Signed-off-by: Riccardo Magliocchetti Signed-off-by: Adrian Bunk commit 9ab5aa911a5b5d7c721436bce8709202b707a361 Author: Eric Sesterhenn Date: Tue Oct 3 23:37:55 2006 +0200 BUG_ON conversion for fs/xfs/ This patch converts two if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 73dff8be9ea89df26bfb6a0443ad912de6e7bd00 Author: Eric Sesterhenn Date: Tue Oct 3 23:37:14 2006 +0200 BUG_ON() conversion in fs/nfsd/ This patch converts an if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 14a61442c2203d2a49f2f954bfa9259c0ddac1aa Author: Eric Sesterhenn Date: Tue Oct 3 23:36:38 2006 +0200 BUG_ON conversion for fs/reiserfs This patch converts several if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. S_ISREG() has no side effects, so the conversion is safe. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 8d8f3cbe777e014123bfa63f2cebd6eb29032225 Author: Eric Sesterhenn Date: Tue Oct 3 23:34:58 2006 +0200 BUG_ON cleanups in arch/i386 This changes a couple of if() BUG(); constructs to BUG_ON(); so it can be safely optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 644c12d7f695c0a30662ac781b0f06f79d7f9bab Author: Eric Sesterhenn Date: Tue Oct 3 23:34:11 2006 +0200 BUG_ON cleanup in drivers/net/tokenring/ This patch converts one if() BUG(); to BUG_ON(); so it can be safely optimized away. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 52e5f9d1cf0b10b24317037dcd1c9be38ca7011c Author: Eric Sesterhenn Date: Tue Oct 3 23:33:23 2006 +0200 BUG_ON cleanup for drivers/md/ This changes two if() BUG(); usages to BUG_ON(); so people can disable it safely. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 70d63ccc71fe1a413ce82b88aa175b1dcf28654e Author: Henrik Kretzschmar Date: Tue Oct 3 23:31:30 2006 +0200 kerneldoc-typo in led-class.c Fixes a typo in led-class.c kerneldoc. Signed-off-by: Henrik Kretzschmar Signed-off-by: Adrian Bunk commit 5a65980ec5edfb3acee293c541b392e4146a30f6 Author: Komal Shah Date: Tue Oct 3 23:28:36 2006 +0200 debugfs: spelling fix Change debufs_create_file() to debugfs_create_file(). Signed-off-by: Komal Shah Signed-off-by: Adrian Bunk commit 4802211cfd68e44c8401a8fe3657e9c2522ec517 Author: Josh Triplett Date: Tue Oct 3 23:26:16 2006 +0200 rcutorture: Fix incorrect description of default for nreaders parameter The comment for the nreaders parameter of rcutorture gives the default as 4*ncpus, but the value actually defaults to 2*ncpus; fix the comment. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Adrian Bunk commit d32ccc431b2247535ce1114d7e31cc136c89262a Author: Matthew Martin Date: Tue Oct 3 23:25:14 2006 +0200 parport: Remove space in function calls This removes the space in function calls in drivers/parport/daisy.c Signed-off-by: Matthew Martin Signed-off-by: Adrian Bunk commit f66e928b96b717c6bb0cefba338d687dd86e6a9b Author: Michal Wronski Date: Tue Oct 3 23:23:27 2006 +0200 Michal Wronski: update contact info My email has changed. Signed-Off-By: Michal Wronski Signed-off-by: Adrian Bunk commit c1c8897f830c66649b6866a0cbe21c263466295e Author: Michael Opdenacker Date: Tue Oct 3 23:21:02 2006 +0200 Spelling fix: "control" instead of "cotrol" This patch against fixes a spelling mistake ("control" instead of "cotrol"). Signed-off-by: Michael Opdenacker Acked-by: Alan Cox Signed-off-by: Adrian Bunk commit f3e299fe3d53a0d78fea4e46ec3e0cadf375246c Author: Michael Opdenacker Date: Tue Oct 3 23:19:24 2006 +0200 reboot parameter in Documentation/kernel-parameters.txt Documentation fix for the arm and arm26 architectures, in which the reboot kernel parameter is set in arch/*/kernel/process.c Signed-off-by: Michael Opdenacker Signed-off-by: Adrian Bunk commit a073a8bde49b2c90777c526110488f4d0c52ea47 Author: Rolf Eike Beer Date: Tue Oct 3 23:13:02 2006 +0200 Fix copy&waste bug in comment in scripts/kernel-doc This is obviously copied from some lines before without proper fixing. Signed-off-by: Rolf Eike Beer Acked-by: Alan Cox Signed-off-by: Adrian Bunk commit 9f5d785e93f7c68c37582ddea848de23689fdd76 Author: Rolf Eike Beer Date: Tue Oct 3 23:07:31 2006 +0200 remove duplicate "until" from kernel/workqueue.c s/until until/until/ Signed-off-by: Rolf Eike Beer Signed-off-by: Adrian Bunk commit c98acc5865c1217195217444cc6c6d317fddda50 Author: Jim Cromie Date: Tue Oct 3 23:04:37 2006 +0200 ite_gpio fix tabbage caught some leading spaces in passing. Signed-off-by: Adrian Bunk commit f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb Author: Uwe Zeisberger Date: Tue Oct 3 23:01:26 2006 +0200 fix file specification in comments Many files include the filename at the beginning, serveral used a wrong one. Signed-off-by: Uwe Zeisberger Signed-off-by: Adrian Bunk commit 670e9f34ee3c7e052514c85014d2fdd99b672cdc Author: Paolo Ornati Date: Tue Oct 3 22:57:56 2006 +0200 Documentation: remove duplicated words Remove many duplicated words under Documentation/ and do other small cleanups. Examples: "and and" --> "and" "in in" --> "in" "the the" --> "the" "the the" --> "to the" ... Signed-off-by: Paolo Ornati Signed-off-by: Adrian Bunk commit 53cb47268e6b38180d9f253527135e1c69c5d310 Author: Matt LaPlante Date: Tue Oct 3 22:55:17 2006 +0200 Fix typos in Documentation/: 'S' This patch fixes typos in various Documentation txts. The patch addresses some words starting with the letter 'S'. Signed-off-by: Matt LaPlante Acked-by: Alan Cox Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit d6bc8ac9e13e466e844313b590fbc49f7f1abdea Author: Matt LaPlante Date: Tue Oct 3 22:54:15 2006 +0200 Fix typos in Documentation/: 'Q'-'R' This patch fixes typos in various Documentation txts. The patch addresses some words starting with the letters 'Q'-'R'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 84eb8d0608af1576175307ed8fb3c8fde329e579 Author: Matt LaPlante Date: Tue Oct 3 22:53:09 2006 +0200 Fix "can not" in Documentation and Kconfig Randy brought it to my attention that in proper english "can not" should always be written "cannot". I donot see any reason to argue, even if I mightnot understand why this rule exists. This patch fixes "can not" in several Documentation files as well as three Kconfigs. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 992caacf1141b31e94540eb31e0540e3da3a5e25 Author: Matt LaPlante Date: Tue Oct 3 22:52:05 2006 +0200 Fix typos in Documentation/: 'N'-'P' This patch fixes typos in various Documentation txts. The patch addresses some words starting with the letters 'N'-'P'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit f311896a990a0b766e279defe9adff29160ada03 Author: Wim Van Sebroeck Date: Wed Sep 13 21:27:29 2006 +0200 [WATCHDOG] use ENOTTY instead of ENOIOCTLCMD in ioctl() Return ENOTTY instead of ENOIOCTLCMD in user-visible ioctl() results The watchdog drivers used to return ENOIOCTLCMD for bad ioctl() commands. ENOIOCTLCMD should not be visible by the user, so use ENOTTY instead. Signed-off-by: Samuel Tardieu Signed-off-by: Wim Van Sebroeck Acked-by: Alan Cox Signed-off-by: Andrew Morton commit 2fe0ae78c6975d6fa2fc0c84f2b8944543054105 Author: Matt LaPlante Date: Tue Oct 3 22:50:39 2006 +0200 Fix typos in Documentation/: 'H'-'M' This patch fixes typos in various Documentation txts. The patch addresses some words starting with the letters 'H'-'M'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit a2ffd2751683f4275d4d1aa5ce37e5a6a1ae21df Author: Matt LaPlante Date: Tue Oct 3 22:49:15 2006 +0200 Fix typos in Documentation/: 'F'-'G' This patch fixes typos in various Documentation txts. The patch addresses some words starting with the letters 'F'-'G'. Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 353cefdb33929bd5d925d59060be11759cee8f52 Author: Russell King Date: Tue Oct 3 17:36:11 2006 +0100 [PATCH] Remove me from maintainers for serial and mmc As advertised earlier. I invite interested parties to take over and add their own entries as they see fit. Signed-off-by: Russell King Signed-off-by: Linus Torvalds commit fff9289b219f48cb2296714fea3d71f516991f9f Author: Matt LaPlante Date: Tue Oct 3 22:47:42 2006 +0200 Fix typos in Documentation/: 'D'-'E' This patch fixes typos in various Documentation txts. This patch addresses some words starting with the letters 'D'-'E'. Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 6c28f2c0f2054865d82b5a6b2164eac956f15c94 Author: Matt LaPlante Date: Tue Oct 3 22:46:31 2006 +0200 Fix typos in Documentation/: 'B'-'C' This patch fixes typos in various Documentation txts. This patch addresses some words starting with the letters 'B'-'C'. There are also a few grammar fixes thrown in for Randy. ;) Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 3f6dee9b2a22cc66050682287a77d5fccadb9733 Author: Matt LaPlante Date: Tue Oct 3 22:45:33 2006 +0200 Fix some typos in Documentation/: 'A' This patch fixes typos in various Documentation txts. This patch addresses some words starting with the letter 'A'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Acked-by: Alan Cox Signed-off-by: Adrian Bunk commit cab00891c5489cb6d0cde0a55d39bd5f2871fa70 Author: Matt LaPlante Date: Tue Oct 3 22:36:44 2006 +0200 Still more typo fixes Signed-off-by: Adrian Bunk commit 44c09201a4178e08ed1c8cc37e7aea0683888f0a Author: Matt LaPlante Date: Tue Oct 3 22:34:14 2006 +0200 more misc typo fixes Signed-off-by: Adrian Bunk commit 095096038d637c477ef3c1b674612bcbc4d60c2d Author: Matt LaPlante Date: Tue Oct 3 22:31:37 2006 +0200 Fix several typos in drivers/ Signed-off-by: Adrian Bunk commit c73a668c096fe3dd23c1062018e82eb85f5c7043 Author: Matt LaPlante Date: Tue Oct 3 22:24:43 2006 +0200 fix drivers/acpi/Kconfig typos Signed-off-by: Adrian Bunk commit fc31e838162c60ed81659da677d7f72917576269 Author: Matt LaPlante Date: Tue Oct 3 22:23:47 2006 +0200 fix an arch/alpha/Kconfig typo Signed-off-by: Adrian Bunk commit cc2e2767f172fb2f38ca72e22ac98e452550437f Author: Matt LaPlante Date: Tue Oct 3 22:22:29 2006 +0200 Typos in fs/Kconfig Signed-off-by: Adrian Bunk commit 4b3f686d4aa8ad815dc68a4e8fabd05b1ebb9f2c Author: Matt LaPlante Date: Tue Oct 3 22:21:02 2006 +0200 Attack of "the the"s in arch The patch below corrects multiple occurances of "the the" typos across several files, both in source comments and KConfig files. There is no actual code changed, only text. Note this only affects the /arch directory, and I believe I could find many more elsewhere. :) Signed-off-by: Adrian Bunk commit bf6ee0ae494596aaf311e8430684db85d1d2f25c Author: Adrian Bunk Date: Tue Oct 3 22:17:48 2006 +0200 remove mentionings of devfs in documentation Now that devfs is removed, there's no longer any need to document how to do this or that with devfs. This patch includes some improvements by Joe Perches. Signed-off-by: Adrian Bunk commit 0a8fe0d756fba2953462cec6db09c81dd732d0b5 Author: Adrian Bunk Date: Tue Oct 3 22:11:20 2006 +0200 input: remove obsolete contact information This patch removes some obsolete contact information from Documentation/input/input.txt Signed-off-by: Adrian Bunk commit 1bef84bea273f40486936ae97cda70ee8b252cd0 Author: Wim Van Sebroeck Date: Sat Aug 5 20:59:01 2006 +0200 [WATCHDOG] iTCO_wdt.c shutdown patch Since we are using the device driver model, we don't need to arrange the shutdown via a reboot_notifier. Signed-off-by: Wim Van Sebroeck commit 4802c6533af3223f43b9e4a1bb8a2a1c51f398b1 Author: Wim Van Sebroeck Date: Wed Jul 19 22:39:13 2006 +0200 [WATCHDOG] iTCO_wdt.c - pci_dev_put fix for_each_pci_dev calls pci_get_device (and thus it calls pci_dev_get). So we need to do a pci_dev_put to keep the refcounting correct. (Thanks to Jiri Slaby ) Signed-off-by: Wim Van Sebroeck commit 3836cc0ff8c875e21a8119e7a4f0227f6e227650 Author: Wim Van Sebroeck Date: Fri Jun 30 08:44:53 2006 +0200 [WATCHDOG] iTCO_wdt (Intel TCO Timer) driver Convert the iTCO_wdt driver to a platform device driver. Signed-off-by: Wim Van Sebroeck commit 9e0ea345ff542320882caa21ec2248e6c02d8b91 Author: Wim Van Sebroeck Date: Sun May 21 14:37:44 2006 +0200 [WATCHDOG] iTCO_wdt (Intel TCO Timer) driver Hardware driver for the intel TCO timer based watchdog devices. These drivers are included in the Intel 82801 I/O Controller Hub family (from ICH0 up to ICH7) and in the Intel 6300ESB controller hub. This driver will replace the i8xx_tco.c driver. Signed-off-by: Wim Van Sebroeck commit 9b5a4a676a4d6126664c3df5a11f6fe87da63133 Author: Steven Toth Date: Mon Oct 2 21:35:40 2006 -0300 V4L/DVB (4699): CX24109 patch to eliminate the weird mis-tunings A number of people have been reporting wierd tuning problems with various cards. Yeasah tracked down the problem to a miss-read datasheet. This resolves the problems. Signed-off-by: Yeasah Pell Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d2be893616c45e4ea4403d1ba501b7ee2f32b0ec Author: Mauro Carvalho Chehab Date: Mon Oct 2 23:52:48 2006 -0300 V4L/DVB (4698): Fix S-Video configuration for Pinnacle PCTV-Sat Thanks to Edgar Toernig for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 3979ecc7324973cf90d8ea4a2ba3fe79c7150d56 Author: Steven Toth Date: Fri Sep 29 22:37:07 2006 -0300 V4L/DVB (4689): Adding support for Nova-T-PCI PCI ID 0070:9000 Adding support for Nova-T-PCI PCI ID 0070:9000 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit de98cdaf7ead419fe8b0a0a636ffb175489958fe Author: Hans Verkuil Date: Sun Oct 1 17:56:32 2006 -0300 V4L/DVB (4688): Fix msp343xG handling (regression from 2.6.16) The msp3430G and msp3435G models cannot do Automatic Standard Detection. So these should be forced to BTSC. These chips are early production versions for the msp34xxG series and are quite rare. The workaround for kernel 2.6.18 is to use 'standard=32' as msp3400 module option. Due to broken handling of the 'standard' option in 2.6.17 there is no workaround possible for that kernel. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 587c03d104c418a7958f24a03ac6239ac3f2e608 Author: Michael Krufky Date: Thu Sep 28 02:16:01 2006 -0300 V4L/DVB (4686): Cxusb: add support for DViCO FusionHDTV DVB-T Dual Digital 2 Add support for DViCO FusionHDTV DVB-T Dual Digital 2 USB, which is identical to the usb portion of DViCO FusionHDTV DVB-T Dual Digital 1. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6eb32a792ec19816d68529805f8169ce3ba1b1a2 Author: Sujoy Gupta Date: Sat Sep 30 06:55:29 2006 -0300 V4L/DVB (4685): Fix compiler warning in drivers/media/video/video-buf.c Using a double cast to avoid compiler warnings when building for PAE. Compiler doesn't like direct casting of a 32 bit ptr to 64 bit integer. Signed-off-by: Martin J. Bligh Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit f1db955acbda253051a3256708d0dbfec2781de2 Author: Richard Knutsson Date: Fri Sep 29 16:15:37 2006 -0300 V4L/DVB (4684): Drivers/media/video/cx88: Remove unused defined FALSE/TRUE Remove defines of FALSE/TRUE because they are not used. Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit ccbf64b1d434b78dad491993b57a9619503ab35f Author: Mauro Carvalho Chehab Date: Fri Sep 29 12:39:36 2006 -0300 V4L/DVB (4683): Norm_notchfilter is used on just one point and argument is bogus Removed norm_notchfilter function. All the code is bound to 4 x FSC, so, any other filter won't work fine. Signed-off-by: Mauro Carvalho Chehab commit 4f43ac0cb228064cf6a253275ec1ecdab30c62f0 Author: Lars Gjesse Kjellberg Date: Mon Sep 25 23:44:06 2006 -0300 V4L/DVB (4681): Cx88: fix analog capture notch filter This patch changes the setting of the cx2388x notch filter to match that of the video capture sample frequency, removing some annoying interference lines THAT would appear when capturing composite video. This has been tested in PAL and NTSC TV norms. It sets the Y/C separation luma notch filter, which removes the chroma signal from the luma signal when using a composite input. The luma notch filter operates at the video decoder's frequency, not the ADC's frequency or at the frequency of the scaled video. Y/C separation happens after the sample rate converter, before video scaling. The datasheet provides plots of the filter response for three _video decoder_ frequencies, 4x Fsc, square pixel, and ccir601. These are the same three frequencies for the notch filter control. It seems pretty clear that this filter should be set based on the video decoder frequency. The cx88 driver always uses a video decoder frequency of 4xFsc. Signed-off-by: Lars Gjesse Kjellberg Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76ac5dd6c055101ef9f8c6349cae4ef571039e93 Author: Steven Toth Date: Wed Sep 27 01:16:50 2006 -0300 V4L/DVB (4679): Fix for NULL pointer dereference oops during boot. A fix for intermittent oops's during boot which occurs in cx88_call_i2c_clients when dvb_attach is bringing up the frontend. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6d98816fbe2b0a6887de0237021d6d900fbaff84 Author: Mike Isely Date: Thu Sep 28 17:53:49 2006 -0300 V4L/DVB (4675): Pvrusb2: Fix VIDIOC_INT_[G|S]_REGISTER so that it actually works now Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ab9caf9e221ee1b13186a9144da26ac358f2a6f4 Author: Randy Dunlap Date: Thu Sep 28 14:03:26 2006 -0300 V4L/DVB (4674): Use NULL instead of 0 for ptrs Use NULL instead of 0 for pointer value, eliminate sparse warnings. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit dcc29cbcec8c8482eea249030e0aa65b7451073d Author: Mauro Carvalho Chehab Date: Thu Sep 28 13:48:26 2006 -0300 V4L/DVB (4673): Mark the two newer ioctls as experimental VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS ioctls are meant to be used to provide better support for webcams. Currently, it is not yet used on kernel drivers. Better to keep it marked as experimental, until we have several kernel drivers supporting those features. Signed-off-by: Mauro Carvalho Chehab commit 92b2db08b1150576d295ba9440e172675095c3ae Author: Laurent Pinchart Date: Thu Sep 28 13:42:05 2006 -0300 V4L/DVB (4672): Frame format enumeration (1/2) Add VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS ioctls to enumerate supported frame sizes and frame intervals. Signed-off-by: Martin Rubli Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 515c208db869459e4f2a58021df5aecf21c9a19f Author: Petr Baudis Date: Tue Sep 26 16:53:53 2006 -0300 V4L/DVB (4671): Support for SAA7134-based AVerTV Hybrid A16AR This adds support for a hybrid PAL/DVB/FM card. Unfortunately I tested only the DVB since I don't have any proper antenna available and I can receive even the DVB just barely so; I can hear noise in the FM part but I couldn't catch any station, then again I don't have an FM antenna either. The PAL/FM and IR control data are based on what I harvested on the 'net. Perhaps I or someone else will fix them if they turn out to be wrong. Signed-off-by: Petr Baudis Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit cc7093df3cf7ace678284c0ad3a6cfb3a1d5efd9 Author: David Hardeman Date: Tue Sep 26 16:39:00 2006 -0300 V4L/DVB (4670): Allow RC5 codes 64 - 127 in ir-kbd-i2c.c The RC5 coding has for a long time supported commands 64-127 in addition to 0-63. This is controlled by the second bit of the RC5 packet (see The attached patch modifies ir-kbd-i2c.c to allow for commands 64-127, tested with a PVR350 card in combination with a programmable remote. Signed-off-by: David Hardeman Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 4508f59826b81ad562912887e72caff392da18d1 Author: Michael Krufky Date: Mon Sep 25 14:14:24 2006 -0300 V4L/DVB (4669): Cx88: autodetect Club3D Zap TV2100 by subsystem id 12ab:2300 The Club3D Zap TV2100 has been reported to be a clone of the Yuan PG300 and KWorld/VStream XPert DVB-T with cx22702 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 48d5e8031e45545d353cb81a8f52c727deea88c0 Author: Michael Krufky Date: Mon Sep 25 14:09:10 2006 -0300 V4L/DVB (4668): Cx88: rename mpeg capability flags from CX88_BOARD_FOO to CX88_MPEG_FOO The flags for mpeg capabilities are sub-optimally named as CX88_BOARD_DVB and CX88_BOARD_BLACKBIRD, which creates some confusion. This patch renames the above to CX88_MPEG_DVB and CX88_MPEG_BLACKBIRD. Signed-off-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 3a5ba52a1a1981c51af8f3559c16feaa238b2fec Author: Steven Toth Date: Mon Sep 25 12:43:45 2006 -0300 V4L/DVB (4667): Changed cx88_board .dvb and .register to an enum. Some basic cleanup in preperation for a future patch where the cx88-mpeg functions have to deal with the port being used by multiple frontends in (mpeg2 hw encoder and dvb demod). Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3057906df5c9be9c99a181eccac3bc40cf07ad9f Author: Steven Toth Date: Mon Sep 25 12:43:42 2006 -0300 V4L/DVB (4666): Ensure the WM8775 driver is loaded generically for any board. A generic change to cards to allow any board to specify whether it needs the wm8775 module loaded (by the core) or not. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ba7e6f3e3e639de2597afffaae3fda75f6e6082d Author: Steven Toth Date: Mon Sep 25 12:41:53 2006 -0300 V4L/DVB (4665): Add frontend structure callback for bus acquisition. This patch enables generic bus arbitration callbacks enabling dvbcore frontend_open and frontend_release to pass 'acquire' and 'release' hardware messages back into the DVB bridge frameworks. Frameworks like cx88 can then implement single bus multiple demod card sharing features, which would prohibit two frontends from attempting to use a single transport bus at the same time. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 43e0602222e861957c82a7ddc7c4c2062c1aebbb Author: Mike Isely Date: Sat Sep 23 23:47:50 2006 -0300 V4L/DVB (4664): Pvrusb2: Don't use videodev.h; use v4l2-dev.h in its place The function prototype needed in pvrusb2-v4l2.c has been moved to v4l2-dev.h. Track that change. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 759100531d76f36714dde0f05a09245e9e921e4c Author: Mike Isely Date: Sat Sep 23 22:30:50 2006 -0300 V4L/DVB (4663): Pvrusb2: Get rid of private global context array brain damage A previous attempt to deal with the upcoming loss of video_set_drvdata() and video_get_drvdata() resulted in logic which causes a circular locking dependency - also known as a deadlock. This changeset attacks the problem in a different manner, using a technique that no longer requires the problematic mutex (or that private global array either). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 32ffa9ae03c529df4208b63b4b17c6d84141faa3 Author: Mike Isely Date: Sat Sep 23 22:26:52 2006 -0300 V4L/DVB (4662): Pvrusb2: Implement VIDIOC_INT_[G|S]_REGISTER Implement VIDIOC_INT_SET_REGISTER and VIDIOC_INT_GET_REGISTER for the pvrusb2 driver. This is a debugging aid which will not be enabled unless CONFIG_VIDEO_ADV_DEBUG has been enabled. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 59753950a67edf386413c7b18039b89de56b40fb Author: Mike Isely Date: Sat Sep 23 22:19:29 2006 -0300 V4L/DVB (4661): Pvrusb2: improve 24XXX config option description The CONFIG_VIDEO_PVRUSB2_24XXX is not nearly as "experimental" as the description suggests. So refine the description to better match reality. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 06afc0ffe0023c4a378e255883c83eb996d1a8e6 Author: Mauro Carvalho Chehab Date: Sat Sep 30 06:54:14 2006 -0300 V4L/DVB (4660): Some cleanups at helper chips menu Rearranged itens, so that decoders came first; cx25840 is, in fact, an audio and video decoder; Fixed some incorrect upercases; Removed the word "chip" for some audio processors at item name; Removed the word "driver" for some item names; Signed-off-by: Mauro Carvalho Chehab commit 025c5d66ad43bb53651379d0fb257daca568d3f9 Author: Patrick Boettcher Date: Wed Sep 20 06:06:58 2006 -0300 V4L/DVB (4658): Another fix because of dvb_attach Fixed mt2060-usage with dvb_attach Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a37ddced86b092f8f4fd8dc20d4f5dce2e7cc6d3 Author: Patrick Boettcher Date: Wed Sep 20 06:06:11 2006 -0300 V4L/DVB (4657): Power control of the device for dual board Corrected power control of the device for dual boards Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1d57436040a7ff486fb90a82b6f542fbe275f624 Author: Patrick Boettcher Date: Wed Sep 20 04:42:23 2006 -0300 V4L/DVB (4656): Fixed dvb_attach for dib3000mc in dibusb When converting the dib3000mc-driver to dvb_attach I forgot to invert the check for NULL. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b97c5c7e6cc9ab1d2bb590db094b8534410deca3 Author: Patrick Boettcher Date: Wed Sep 20 04:40:14 2006 -0300 V4L/DVB (4655): Removed compilation warnings Removed compilation warnings for unused statics and locals Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7fb3fc0c30a8bb8831da9d74b0c5f574962044f1 Author: Patrick Boettcher Date: Wed Sep 20 04:37:18 2006 -0300 V4L/DVB (4654): Added module parameter force_lna_activation Added a module parameter for force the activation of any LNA on a board. Suggest by Steve Toth. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 9d0bc7047fc7a3f0e3bdc9ccc53ab6c487d4e189 Author: Patrick Boettcher Date: Tue Sep 26 04:10:14 2006 -0300 V4L/DVB (4654a): dib700m is not yet ready. Removing include for kernel 2.6.19 Signed-off-by: Mauro Carvalho Chehab commit 303cbeaaacd449545d259f82b966d070418c58af Author: Patrick Boettcher Date: Tue Sep 19 12:51:56 2006 -0300 V4L/DVB (4653): Misc fixes for Nova-T 500 - forward the clock to the slave undivided - when sleeping the 3000 do not shutdown the clock Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 01b4bf31ce6ca6c1de31c773fa281a34fd98ff87 Author: Patrick Boettcher Date: Tue Sep 19 12:51:53 2006 -0300 V4L/DVB (4652): Misc fixes for DiB3000MC and Nova-T 500 - make the timing frequency update work. - fix AGC calibration for Nova-T 500 Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d535cfa776b091a95ca88ba560a9d296cb1570fd Author: Patrick Boettcher Date: Tue Sep 19 12:51:49 2006 -0300 V4L/DVB (4651): Adding another USB product ID for Nova-T 500 Adding another USB product ID for the Nova-T 500. Reported by Jose Alberto Reguero. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 5bc636072d708287c106af15a4cd11c434c8329a Author: Patrick Boettcher Date: Tue Sep 19 12:51:46 2006 -0300 V4L/DVB (4650): Misc fixes for dib0700 download Several fixes for dib0700-module. (Firmware error checking, dependency) Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0540c4961fcc6d69b8a3314c330c376890715eee Author: Patrick Boettcher Date: Tue Sep 19 12:51:43 2006 -0300 V4L/DVB (4649): Merged VP702x support to dvb-usb multi input The fixed support for the VP70x (supports only StarBox2) is now in sync with latest changes in the dvb-usb framework. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 6958effedb0dc709966c22e7fd0e8210b5401b84 Author: Patrick Boettcher Date: Tue Sep 19 12:51:40 2006 -0300 V4L/DVB (4648): Hauppauge Nova-T 500 support added This changeset finalizes the support of the Hauppauge Nova-T 500 (Dual DVB-T). It adds correct AGC setting for the 3000P, correct firmware download state detection. Additionally it fixes the mt2060-driver to be able to be used with dvb_attach. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b7f54910ce018f93a74211136be46c09cefd80e2 Author: Patrick Boettcher Date: Tue Sep 19 12:51:37 2006 -0300 V4L/DVB (4647): Added module for DiB0700 based devices Added module for DiB0700 based USB devices. This module is preliminary and untested (because of a lack of test devices) but should work. Further commits will be necessary to make it work properly. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 136cafbf4a024b52ba0a10627217f03cea9ff9f8 Author: Patrick Boettcher Date: Tue Sep 19 12:51:33 2006 -0300 V4L/DVB (4646): Misc. changes, DiB3000MC, MT2060 Changed the attach-function of the dib3000mc-driver to return only one frontend. In case of multiple dib3000-chips on one board, one has to call the i2c-enumeration manually before. Added a field to Microtune 2060 config to output the clock to other tuners/device on a board. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 6870ab576c86a496869fbd5bb339da7e442ee7f5 Author: Patrick Boettcher Date: Tue Sep 19 12:51:30 2006 -0300 V4L/DVB (4645): Added new file for multiple input rewrite Forgot to add usb-urb.c which is new after adding support for multiple inputs Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit c19da7efb34fc4b9ef672073ff0890ded7bc821a Author: Patrick Boettcher Date: Tue Sep 19 12:51:27 2006 -0300 V4L/DVB (4644): Multi-input fix for dtt200u Small fix for multi input for dtt200u module. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4d43e13f723e12734257277cc38497fab1efc605 Author: Patrick Boettcher Date: Sat Sep 30 06:53:48 2006 -0300 V4L/DVB (4643): Multi-input patch for DVB-USB device This patch is the first commit of the Multiple Input Patch for the DVB-USB frame work. It changes the DVB-USB-device to be able to have more than one streaming input (e.g. multiple DVB-T sources) on one device. This is a necessary feature for the upcoming DiB7700 driven devices. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 91bd61099defb28a442db358dd9c1693c6589cee Author: Vitaly Bordug Date: Mon Oct 2 22:45:17 2006 +0400 POWERPC: mpc82xx merge: board-specific/platform stuff(resend) This intruduces 82xx family in arch/powerpc/platforms, and has all the board-specific code to represent regression-less transaction from ppc. The functionality is apparently the same, including PCI controller. Signed-off-by: Vitaly Bordug commit ed943c1faba53d9a0bde56007ee27762b29dccbd Author: Vitaly Bordug Date: Mon Oct 2 22:41:50 2006 +0400 POWERPC: 8272ads merge to powerpc: common stuff This has modules of common directories related to the mpc8272ADS board, mainly common cpm2 changes and fsl_soc.c portions related to the bitbang MDIO and other mechanisms specific for this family. Signed-off-by: Vitaly Bordug commit e02f73e9fd69f1c6d16c207f7a91ce721fe8beab Author: Vitaly Bordug Date: Mon Oct 2 22:22:36 2006 +0400 POWERPC: Added devicetree for mpc8272ads board This adds current dts file used with MPC8272ADS, introducing new mdio bitbang defines, as well as fully-CPM2-SoC board design. Signed-off-by: Vitaly Bordug commit 8db0201026fbb45c383176f539dc8af2a6871ab8 Author: Ralf Baechle Date: Mon Oct 2 16:54:48 2006 +0100 [MIPS] Fix wreckage after removal of tickadj; convert to GENERIC_TIME. Signed-off-by: Ralf Baechle commit 3f821640341b86e47b79122d92af365fc99b5d65 Author: Maciej W. Rozycki Date: Tue Oct 3 12:27:38 2006 +0100 [MIPS] DECstation defconfig update Sanitise a number of settings for the DECstation. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit b58e5d050ff60335b106a895a87a59a8f5475db4 Author: Atsushi Nemoto Date: Sat Sep 30 03:34:06 2006 +0900 [MIPS] Fix size of zones_size and zholes_size array Commit f06a96844a577c43249fce25809a4fae07407f46 broke MIPS. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 34c2dd01fd10268fb8f362c8275f75517770e286 Author: Ralf Baechle Date: Tue Oct 3 14:42:02 2006 +0100 [MIPS] BCM1480: Mask pending interrupts against c0_status.im. Signed-off-by: Ralf Baechle commit d599def5cd81439e7da04dc6754b257043f5e584 Author: Maciej W. Rozycki Date: Tue Oct 3 12:42:02 2006 +0100 [MIPS] SB1250: Interrupt handler fixes Mask cp0.status against cp0.cause. Additionally, spurious interrupts are not recorded. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit af8b128719f5248e542036ea994610a29d0642a6 Author: Yoichi Yuasa Date: Mon Oct 2 23:19:00 2006 +0900 [MIPS] Remove IT8172-based platforms, ITE 8172G and Globespan IVR support. As per feature-removal-schedule.txt. Signed-off-by: Yoichi Yuasa Acked-by: Alan Cox Signed-off-by: Ralf Baechle commit 08dfcee84c5c747ca1cecbd04c3a7e65cc9ce26b Author: Ralf Baechle Date: Mon Oct 2 16:36:51 2006 +0100 [MIPS] Remove Atlas and SEAD from feature-removal-schedule. Maciej has started fixing the code for these platforms. Signed-off-by: Ralf Baechle commit 33a1943cb49e4049530624399e70ee3be82cb635 Author: Ralf Baechle Date: Mon Oct 2 16:32:43 2006 +0100 [MIPS] Remove Jaguar and Ocelot family from feature list. There are remaining users with interest in the platform after all. Signed-off-by: Ralf Baechle commit 15a1c5140436c5be7673a4709c5d7e1f3cd7bdd9 Author: Maciej W. Rozycki Date: Mon Oct 2 12:55:09 2006 +0100 [MIPS] BCM1250: TRDY timeout tweaks for Broadcom SiByte systems It was obesrved that at least one older PCI card predating the requirement for the TRDY signal to respond within 16 clock ticks actually does not meet this rule nor even the power-on defaults of the PCI bridges found in development systems built around the Broadcom SiByte SOCs. Here is a patch that bumps up the timeout to the highest finite value supported by these chips, which is 255 clock ticks. The bridges affected are the SiByte SOC itself and the SP1011. This change does not effectively affect systems only having PCI option cards installed that meet the TRDY requirement of the current PCI spec. The rule was introduced with PCI 2.1, so any older card may make the system affected. If this is the case, performance of the system will suffer in return for the card working at all. If this is a concern, then the solution is not to use such cards. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle --- commit 3a42aa934856bfe3f28946f66ea8a5f056445747 Author: Maciej W. Rozycki Date: Fri Sep 29 19:06:38 2006 +0100 [MIPS] Remove dead DECstation boot code Code in arch/mips/dec/boot/ has been dead for long. Let's get rid of it before some epidemic spreads. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 0e90f49b112e4c91dee7d61eccc06bcd25b9c534 Author: Franck Bui-Huu Date: Fri Sep 29 11:08:59 2006 +0200 [MIPS] Let gcc align 'struct pt_regs' on 8 bytes boundary The stack pointer in MIPS/gcc should always 8 bytes aligned on entry to any routines. Therefore pt_regs structure must be aligned to 8-byte boundary too. Instead of creating dummy fields to achieve this alignment, this patch let gcc doing it. Therefore 'smtc_pad' field can be safely removed. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 8ccb3dcd1f8e80e8702642e1de26541b52f6bb7c Author: Linus Torvalds Date: Tue Oct 3 09:45:46 2006 -0700 x86: Fix booting with "no387 nofxsr" Jesper Juhl reported that testing the software math-emulation by forcing "no387" doesn't work on modern CPU's. The reason was two-fold: - you also need to pass in "nofxsr" to make sure that we not only don't touch the old i387 legacy hardware, it also needs to disable the modern XMM/FXSR sequences - "nofxsr" didn't actually clear the capability bits immediately, leaving the early boot sequence still using FXSR until we got to the identify_cpu() stage. This fixes the "nofxsr" flag to take effect immediately on the boot CPU. Debugging by Randy Dunlap Acked-by: Randy Dunlap Cc: Jesper Juhl Cc: Andi Kleen Signed-off-by: Linus Torvalds commit fcb47e0bd279cab5ba8299c0a1e3364d15413a6b Author: Ryan O'Hara Date: Tue Oct 3 11:57:35 2006 -0400 [GFS2] Initialize SELinux extended attributes at inode creation time. This patch has gfs2_security_init declared as a static function, which is correct. As a result, the declaration of this function in inode.h is removed (and thus inode.h is unchanged). Also removed #include eaops.h, which is not needed. Signed-Off-By: Ryan O'Hara Signed-off-by: Steven Whitehouse commit ddacfaf76dd620af9b73343a975749778321b51c Author: Steven Whitehouse Date: Tue Oct 3 11:10:41 2006 -0400 [GFS2] Move logging code into log.c (mostly) This moves the logging code from meta_io.c into log.c and glops.c. As a result the routines can now be static and all the logging code is together in log.c, leaving meta_io.c with just metadata i/o code in it. Signed-off-by: Steven Whitehouse commit 8b2a1fd1b394c60eaa2587716102dd5e9b4e5990 Author: Zach Brown Date: Tue Oct 3 01:16:15 2006 -0700 [PATCH] pr_debug: check pr_debug() arguments check pr_debug() arguments When DEBUG isn't defined pr_debug() is defined away as an empty macro. By throwing away the arguments we allow completely incorrect code to build. Instead let's make it an empty inline which checks arguments and mark it so gcc can check the format specification. This results in a seemingly insignificant code size increase. A x86-64 allyesconfig: text data bss dec hex filename 25354768 7191098 4854720 37400586 23ab00a vmlinux.before 25354945 7191138 4854720 37400803 23ab0e3 vmlinux Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3879b6b6a8ee39b50559b2c2dd083c557d39e0f8 Author: Andrew Morton Date: Tue Oct 3 01:16:15 2006 -0700 [PATCH] isdn: more pr_debug() fixes drivers/isdn/sc/event.c: In function 'indicate_status': drivers/isdn/sc/event.c:49: error: 'events' undeclared (first use in this function) drivers/isdn/sc/event.c:49: error: (Each undeclared identifier is reported only once drivers/isdn/sc/event.c:49: error: for each function it appears in.) drivers/isdn/sc/event.c:49: warning: format '%d' expects type 'int', but argument 4 has type 'ulong' drivers/isdn/sc/interrupt.c: In function 'interrupt_handler': drivers/isdn/sc/interrupt.c:97: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'long unsigned int' drivers/isdn/sc/timer.c: In function 'check_reset': drivers/isdn/sc/timer.c:80: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Acked-by: Karsten Keil Cc: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20f43535694bb19e1bb45917b73b7e5cd5d74818 Author: Andrew Morton Date: Tue Oct 3 01:16:14 2006 -0700 [PATCH] isdn-debug-build-fix When pr_debug() is enabled: drivers/isdn/sc/command.c: In function 'command': drivers/isdn/sc/command.c:107: error: 'commands' undeclared (first use in this function) drivers/isdn/sc/command.c:107: error: (Each undeclared identifier is reported only once drivers/isdn/sc/command.c:107: error: for each function it appears in.) drivers/isdn/sc/command.c:122: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' drivers/isdn/sc/command.c: In function 'dial': drivers/isdn/sc/command.c:199: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' drivers/isdn/sc/command.c: In function 'answer': drivers/isdn/sc/command.c:221: warning: format '%s' expects type 'char *', but argument 3 has type 'long unsigned int' drivers/isdn/sc/command.c: In function 'hangup': drivers/isdn/sc/command.c:244: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' drivers/isdn/sc/command.c: In function 'setl2': drivers/isdn/sc/command.c:265: error: 'l2protos' undeclared (first use in this function) drivers/isdn/sc/command.c: In function 'setl3': drivers/isdn/sc/command.c:297: error: 'l3protos' undeclared (first use in this function) drivers/isdn/sc/command.c:297: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' drivers/isdn/sc/command.c: In function 'acceptb': drivers/isdn/sc/command.c:315: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' drivers/isdn/sc/command.c: In function 'clreaz': drivers/isdn/sc/command.c:330: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' drivers/isdn/sc/command.c: In function 'seteaz': drivers/isdn/sc/command.c:345: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Cc: Zach Brown Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42d3fb5a8771b840e0bd6dbcd0c734883dd90b6f Author: Frederik Deweerdt Date: Tue Oct 3 01:16:11 2006 -0700 [PATCH] arm build fail: vfpsingle.c It looks like Zach Brown's patch pr_debug-check-pr_debug-arguments worked as inteded. That is, it doesn't "allow completely incorrect code to build." :). The arm build fails with the following message: CC arch/arm/vfp/vfpsingle.o arch/arm/vfp/vfpsingle.c: In function `__vfp_single_normaliseround': arch/arm/vfp/vfpsingle.c:201: error: `func' undeclared (first use in this function) arch/arm/vfp/vfpsingle.c:201: error: (Each undeclared identifier is reported only once arch/arm/vfp/vfpsingle.c:201: error: for each function it appears in.) make[1]: *** [arch/arm/vfp/vfpsingle.o] Error 1 make: *** [arch/arm/vfp] Error 2 The following patch fixes the issue by using func only when DEBUG is defined. Signed-off-by: Frederik Deweerdt Cc: Russell King Cc: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8c94b11399b1dc7f08f7b28ec4289a727f0daee Author: Zach Brown Date: Tue Oct 3 01:16:10 2006 -0700 [PATCH] pr_debug: trident: use size_t length modifier in pr_debug format arguments trident: use size_t length modifier in pr_debug format arguments Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8057de64fd4734ae3e70cf76deb77f1c19958494 Author: Zach Brown Date: Tue Oct 3 01:16:10 2006 -0700 [PATCH] pr_debug: ifb: replace missing comma to separate pr_debug arguments ifb: replace missing comma to separate pr_debug arguments Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb7cf57a6196a4b27e5d2f71debefc80a2fa1725 Author: Zach Brown Date: Tue Oct 3 01:16:09 2006 -0700 [PATCH] pr_debug: dell_rbu: fix pr_debug argument warnings dell_rbu: fix pr_debug argument warnings Use size_t length modifier when outputting size_t and use %p instead of %lu for 'u8 *'. Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5df0a29d9c2239c28b5864037b51ac3d747439a9 Author: Zach Brown Date: Tue Oct 3 01:16:08 2006 -0700 [PATCH] pr_debug: tipar: repair nonexistant pr_debug argument use tipar: repair nonexistant pr_debug argument use I guessed what the pr_debug meant by 'data'. Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2b9ecc41654256ae8829193d3380935833ae976 Author: Zach Brown Date: Tue Oct 3 01:16:07 2006 -0700 [PATCH] pr_debug: umem: repair nonexistant bh pr_debug reference umem: repair nonexistant bh pr_debug reference Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c1fdf4150c3b4e486020d0ada787469900d66ed Author: Zach Brown Date: Tue Oct 3 01:16:06 2006 -0700 [PATCH] pr_debug: sysfs: use size_t length modifier in pr_debug format arguments sysfs: use size_t length modifier in pr_debug format arguments Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4779efca147475a708e84d902e096bbd20e613b7 Author: Zach Brown Date: Tue Oct 3 01:16:05 2006 -0700 [PATCH] pr_debug: configfs: use size_t length modifier in pr_debug format argument configfs: use size_t length modifier in pr_debug format argument Signed-off-by: Zach Brown Acked-by: Joel Becker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 691578cd558e647dd89ae5bc74a2307bce821186 Author: Zach Brown Date: Tue Oct 3 01:16:04 2006 -0700 [PATCH] pr_debug: aio: use size_t length modifier in pr_debug format arguments aio: use size_t length modifier in pr_debug format arguments Signed-off-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a0f5bbb1a36ed113065099d3dc69a66e1c8d567 Author: NeilBrown Date: Tue Oct 3 01:16:03 2006 -0700 [PATCH] md: add error reporting to superblock write failure Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d19c2ee0b8d1cd83f8bc0f1f5e94e6b6ec71ea10 Author: Paul Clements Date: Tue Oct 3 01:16:02 2006 -0700 [PATCH] md: allow SET_BITMAP_FILE to work on 64bit kernel with 32bit userspace Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a638b2dc951c4cafea31b34a1db1c3d94809649e Author: Paul Clements Date: Tue Oct 3 01:16:01 2006 -0700 [PATCH] md: use ffz instead of find_first_set to convert multiplier to shift find_first_set doesn't find the least-significant bit on bigendian machines, so it is really wrong to use it. ffs is closer, but takes an 'int' and we have a 'unsigned long'. So use ffz(~X) to convert a chunksize into a chunkshift. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14f50b49fdab8f4c9fc87b55d3631e3bf1ffd385 Author: NeilBrown Date: Tue Oct 3 01:16:00 2006 -0700 [PATCH] md: remove 'experimental' classification from raid5 reshape I have had enough success reports not to believe that this is safe for 2.6.19. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8703fe1f5cdcff686f7eb0a46487b5a04a9324a Author: NeilBrown Date: Tue Oct 3 01:15:59 2006 -0700 [PATCH] md: remove MAX_MD_DEVS which is an arbitrary limit Once upon a time we needed to fixed limit to the number of md devices, probably because we preallocated some array. This need no longer exists, but we still have an arbitrary limit. So remove MAX_MD_DEVS and allow as many devices as we can fit into the 'minor' part of a device number. Also remove some useless noise at init time (which reports MAX_MD_DEVS) and remove MD_THREAD_NAME_MAX which hasn't been used for a while. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d33a56d3639eba077489c937943a32ef6237b1b8 Author: NeilBrown Date: Tue Oct 3 01:15:58 2006 -0700 [PATCH] md: fix duplicity of levels in md.txt md.txt has two sections describing the 'level' sysfs attribute, and some of the text is out-of-date. So make just one section, and make it right. Cc: Christian Kujau Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61df9d91e986f1314af482e7ea5f2312a6cd0d14 Author: NeilBrown Date: Tue Oct 3 01:15:57 2006 -0700 [PATCH] md: make messages about resync/recovery etc more specific It is possible to request a 'check' of an md/raid array where the whole array is read and consistancies are reported. This uses the same mechanisms as 'resync' and so reports in the kernel logs that a resync is being started. This understandably confuses/worries people. Also the text in /proc/mdstat suggests a 'resync' is happen when it is just a check. This patch changes those messages to be more specific about what is happening. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f022b2fddd97795bc9333ffb6862eacfa95c6a95 Author: NeilBrown Date: Tue Oct 3 01:15:56 2006 -0700 [PATCH] md: add a ->congested_fn function for raid5/6 This is very different from other raid levels and all requests go through a 'stripe cache', and it has congestion management already. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d12922823408b26f83b15cae4a4feff4bd22f28 Author: NeilBrown Date: Tue Oct 3 01:15:54 2006 -0700 [PATCH] md: define ->congested_fn for raid1, raid10, and multipath raid1, raid10 and multipath don't report their 'congested' status through bdi_*_congested, but should. This patch adds the appropriate functions which just check the 'congested' status of all active members (with appropriate locking). raid1 read_balance should be modified to prefer devices where bdi_read_congested returns false. Then we could use the '&' branch rather than the '|' branch. However that should would need some benchmarking first to make sure it is actually a good idea. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26be34dc3a46be983352dd89683db374b0cb73fa Author: NeilBrown Date: Tue Oct 3 01:15:53 2006 -0700 [PATCH] md: define backing_dev_info.congested_fn for raid0 and linear Each backing_dev needs to be able to report whether it is congested, either by modulating BDI_*_congested in ->state, or by defining a ->congested_fn. md/raid did neither of these. This patch add a congested_fn which simply checks all component devices to see if they are congested. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c04be0aa82ff535e3676ab3e573957bdeef41879 Author: NeilBrown Date: Tue Oct 3 01:15:53 2006 -0700 [PATCH] md: Improve locking around error handling The error handling routines don't use proper locking, and so two concurrent errors could trigger a problem. So: - use test-and-set and test-and-clear to synchonise the In_sync bits with the ->degraded count - use the spinlock to protect updates to the degraded count (could use an atomic_t but that would be a bigger change in code, and isn't really justified) - remove un-necessary locking in raid5 Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11ce99e625fe2718ad2682bfdd99070b337e6252 Author: NeilBrown Date: Tue Oct 3 01:15:52 2006 -0700 [PATCH] md: Remove working_disks from raid1 state data It is equivalent to conf->raid_disks - conf->mddev->degraded. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 867868fb557eb2a2120b80779468fa372584ddb0 Author: NeilBrown Date: Tue Oct 3 01:15:51 2006 -0700 [PATCH] md: Factor out part of raid1d into a separate function raid1d has toooo many nested block, so take the fix_read_error functionality out into a separate function. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d2063ceae73660d5142f4754d50a75b655fd1f9 Author: Coywolf Qi Hunt Date: Tue Oct 3 01:15:50 2006 -0700 [PATCH] md: remove unnecessary variable x in stripe_to_pdidx() Signed-off-by: Coywolf Qi Hunt Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b1d1dac181d8c1b9492e05cee660a985d035a06 Author: Paul Clements Date: Tue Oct 3 01:15:49 2006 -0700 [PATCH] md: new sysfs interface for setting bits in the write-intent-bitmap Add a new sysfs interface that allows the bitmap of an array to be dirtied. The interface is write-only, and is used as follows: echo "1000" > /sys/block/md2/md/bitmap (dirty the bit for chunk 1000 [offset 0] in the in-memory and on-disk bitmaps of array md2) echo "1000-2000" > /sys/block/md1/md/bitmap (dirty the bits for chunks 1000-2000 in md1's bitmap) This is useful, for example, in cluster environments where you may need to combine two disjoint bitmaps into one (following a server failure, after a secondary server has taken over the array). By combining the bitmaps on the two servers, a full resync can be avoided (This was discussed on the list back on March 18, 2005, "[PATCH 1/2] md bitmap bug fixes" thread). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76186dd8b73d2b7b9b4c8629b89c845e97009801 Author: NeilBrown Date: Tue Oct 3 01:15:48 2006 -0700 [PATCH] md: remove 'working_disks' from raid10 state It isn't needed as mddev->degraded contains equivalent info. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02c2de8cc835885bdff51a8bfd6c0b659b969f50 Author: NeilBrown Date: Tue Oct 3 01:15:47 2006 -0700 [PATCH] md: remove the working_disks and failed_disks from raid5 state data. They are not needed. conf->failed_disks is the same as mddev->degraded and conf->working_disks is conf->raid_disks - mddev->degraded. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 850b2b420cd5b363ed4cf48a8816d656c8b5251b Author: NeilBrown Date: Tue Oct 3 01:15:46 2006 -0700 [PATCH] md: replace magic numbers in sb_dirty with well defined bit flags Instead of magic numbers (0,1,2,3) in sb_dirty, we have some flags instead: MD_CHANGE_DEVS Some device state has changed requiring superblock update on all devices. MD_CHANGE_CLEAN The array has transitions from 'clean' to 'dirty' or back, requiring a superblock update on active devices, but possibly not on spares MD_CHANGE_PENDING A superblock update is underway. We wait for an update to complete by waiting for all flags to be clear. A flag can be set at any time, even during an update, without risk that the change will be lost. Stop exporting md_update_sb - isn't needed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6814d5368d68341ec6b5e4ecd10ea5947130775a Author: NeilBrown Date: Tue Oct 3 01:15:45 2006 -0700 [PATCH] md: factor out part of raid10d into a separate function. raid10d has toooo many nested block, so take the fix_read_error functionality out into a separate function. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5c124af69119c1b5c1e728bd2e7b5b1fad9b7be Author: NeilBrown Date: Tue Oct 3 01:15:45 2006 -0700 [PATCH] md: fix a comment that is wrong in raid5.h Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbedac04fa11d7f9f9f425c7ec253f55becaae57 Author: Adrian Bunk Date: Tue Oct 3 01:15:44 2006 -0700 [PATCH] md: the scheduled removal of the START_ARRAY ioctl for md This patch contains the scheduled removal of the START_ARRAY ioctl for md. Signed-off-by: Adrian Bunk Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 999d816851c3e080412a19558f111d01852d2f04 Author: Bryn Reeves Date: Tue Oct 3 01:15:43 2006 -0700 [PATCH] dm table: add target flush This patch adds support for a per-target dm_flush_fn method. This is needed to allow dm-loop to invalidate page cache mappings in response to BLKFLSBUF ioctl commands. Signed-off-by: Bryn Reeves Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cb4021453a69585e458ec2177677c0c1300dccf Author: Bryn Reeves Date: Tue Oct 3 01:15:42 2006 -0700 [PATCH] dm: extract device limit setting Separate the setting of device I/O limits from dm_get_device(). dm-loop will use this. Signed-off-by: Bryn Reeves Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9faf400f7e51e56ec76b2fc481c3191c01cb3a57 Author: Stefan Bader Date: Tue Oct 3 01:15:41 2006 -0700 [PATCH] dm: use private biosets I found a problem within device-mapper that occurs in low-mem situations. It was found using a mirror target but I think in theory it would hit any setup that stacks device-mapper devices (like LVM on top of multipath). Since device-mapper core uses the common fs_bioset in clone_bio(), and a private, but still global, bio_set in split_bvec() it is possible that the filesystem and the first level target successfully get bios but the lower level target doesn't because there is no more memory and the pool was drained by upper layers. So the remapping will be stuck forever. To solve this device-mapper core needs to use a private bio_set for each device. Signed-off-by: Stefan Bader Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a24c71843de1354d3bcc2ce47fd0b3bee936399 Author: Milan Broz Date: Tue Oct 3 01:15:40 2006 -0700 [PATCH] dm crypt: use private biosets In the low memory situation dm-crypt needs to use a private mempool of bios to avoid blocking. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23541d2d288cdb54f417ba1001dacc7f3ea10a97 Author: Milan Broz Date: Tue Oct 3 01:15:39 2006 -0700 [PATCH] dm crypt: move io to workqueue This patch is designed to help dm-crypt comply with the new constraints imposed by the following patch in -mm: md-dm-reduce-stack-usage-with-stacked-block-devices.patch Under low memory the existing implementation relies upon waiting for I/O submitted recursively to generic_make_request() completing before the original generic_make_request() call can return. This patch moves the I/O submission to a workqueue so the original generic_make_request() can return immediately. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93e605c237a61f5a0ea37b12353392f01d596628 Author: Milan Broz Date: Tue Oct 3 01:15:38 2006 -0700 [PATCH] dm crypt: restructure write processing Restructure the dm-crypt write processing in preparation for workqueue changes in the next patches. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b004457168995f2ae2a35327f885183a9e74141 Author: Milan Broz Date: Tue Oct 3 01:15:37 2006 -0700 [PATCH] dm crypt: restructure for workqueue change Restructure part of the dm-crypt code in preparation for workqueue changes. Use 'base_bio' or 'clone' variable names consistently throughout. No functional changes are included in this patch. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e48d4bbf9697f4fee4f4e48c5e2586b332809519 Author: Milan Broz Date: Tue Oct 3 01:15:37 2006 -0700 [PATCH] dm crypt: add key msg Add the facility to wipe the encryption key from memory (for example while a laptop is suspended) and reinstate it later (when the laptop gets resumed). Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8757b7764f13e336f3c0eb1f634440d4ee4c3a67 Author: Milan Broz Date: Tue Oct 3 01:15:36 2006 -0700 [PATCH] dm table: add target preresume This patch adds a target preresume hook. It is called before the targets are resumed and if it returns an error the resume gets cancelled. The crypt target will use this to indicate that it is unable to process I/O because no encryption key has been supplied. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc1092019ce3d9b3e85a285b41e852ff94a6b590 Author: Bryn Reeves Date: Tue Oct 3 01:15:35 2006 -0700 [PATCH] dm: add debug macro Add CONFIG_DM_DEBUG and DMDEBUG() macro. Signed-off-by: Bryn Reeves Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8560ed6fa8d43537af558514fa48f670b3349f08 Author: Hannes Reinecke Date: Tue Oct 3 01:15:35 2006 -0700 [PATCH] dm: add uevent change event on resume Device-mapper devices are not accessible until a 'resume' ioctl has been issued. For userspace to find out when this happens we need to generate an uevent for udev to take appropriate action. As discussed at OLS we should send 'change' events for 'resume'. We can think of no useful purpose served by also having 'suspend' events. Signed-off-by: Hannes Reinecke Signed-off-by: Kay Sievers Signed-off-by: Alasdair G Kergon Signed-off-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e69fae561f422f7f9dbda19f448633aa6564663e Author: Micha³ Miros³aw Date: Tue Oct 3 01:15:34 2006 -0700 [PATCH] dm mpath: use kzalloc Use kzalloc() instead of kmalloc() + memset(). Signed-off-by: Micha³ Miros³aw Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f16c2039b4eefdc09c99b12f310afb44de5536 Author: Micha³ Miros³aw Date: Tue Oct 3 01:15:33 2006 -0700 [PATCH] dm mpath: tidy ctr After initialising m->ti, there's no need to pass it in subsequent calls to static functions used for parsing parameters. Signed-off-by: Micha³ Miros³aw Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e52b8f6dbe18c879ad2b5013f991ec9e46813043 Author: Jonathan Brassow Date: Tue Oct 3 01:15:32 2006 -0700 [PATCH] dm mirror: remove trailing space from table Remove trailing space from 'dmsetup table' output. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 695368ac3302174531429a90d55c3f7f9b83906e Author: Alasdair G Kergon Date: Tue Oct 3 01:15:31 2006 -0700 [PATCH] dm snapshot: fix freeing pending exception If a snapshot became invalid while there are outstanding pending_exceptions, when pending_complete() processes each one it forgets to remove the corresponding exception from its exception table before freeing it. Fix this by moving the 'out:' label up one statement so that remove_exception() is always called. Then __invalidate_exception() no longer needs to call it and its 'pe' argument become superfluous. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b832e8de22726206eb886f6dbff47a0f3fe5168 Author: Alasdair G Kergon Date: Tue Oct 3 01:15:30 2006 -0700 [PATCH] dm snapshot: tidy pe ref counting Rename sibling_count to ref_count and introduce get and put functions. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca3a931fd33b841cbcc5932f8eac7c43e0909242 Author: Alasdair G Kergon Date: Tue Oct 3 01:15:30 2006 -0700 [PATCH] dm snapshot: add workqueue Add a workqueue so that I/O can be queued up to be flushed from a separate thread (e.g. if local interrupts are disabled). A new per-snapshot spinlock pe_lock is introduced to protect queued_bios. Signed-off-by: Alasdair G Kergon Signed-off-by: Mark McLoughlin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d493fa8c943ed4ec6e42b7ebfd8f0b7657d54f8 Author: Alasdair G Kergon Date: Tue Oct 3 01:15:29 2006 -0700 [PATCH] dm snapshot: tidy pending_complete This patch rearranges the pending_complete() code so that the functional changes in subsequent patches are clearer. By consolidating the error and the non-error paths, we can move error_snapshot_bios() and __flush_bios() in line. Signed-off-by: Alasdair G Kergon Signed-off-by: Mark McLoughlin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba40a2aa6e6f3d084cf35c8b872fc9f18f91231f Author: Alasdair G Kergon Date: Tue Oct 3 01:15:28 2006 -0700 [PATCH] dm snapshot: tidy snapshot_map This patch rearranges the snapshot_map code so that the functional changes in subsequent patches are clearer. The only functional change is to replace the existing read lock with a write lock which the next patch needs. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 927ffe7c9a156e259aae31c07dd76072c459ec57 Author: Mark McLoughlin Date: Tue Oct 3 01:15:27 2006 -0700 [PATCH] dm snapshot: fix metadata writing when suspending When suspending a device-mapper device, dm_suspend() sleeps until all necessary I/O is completed. This state is triggered by a callback from persistent_commit(). But some I/O can still be issued *after* the callback (to prepare the next metadata area for use if the current one is full). This patch delays the callback until after that I/O is complete. Signed-off-by: Mark McLoughlin Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4ff496db72473949ddfe29a37471969d2f1d4ee Author: Mark McLoughlin Date: Tue Oct 3 01:15:26 2006 -0700 [PATCH] dm snapshot: make read and write exception functions void read_exception() and write_exception() only return an error if supplied with an out-of-range index. If this ever happens it's the result of a bug in the calling code so we handle this with an assertion and remove the error handling in the callers. Signed-off-by: Mark McLoughlin Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9cea4f70734f743e0beb55552a9794fa5032645 Author: Mark McLoughlin Date: Tue Oct 3 01:15:25 2006 -0700 [PATCH] dm snapshot: fix metadata error handling Fix the error handling when store.read_metadata is called: the error should be returned immediately. Signed-off-by: Mark McLoughlin Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c7e3bf44d0ae227ea1ee87c2197212e65d043d7 Author: Mark McLoughlin Date: Tue Oct 3 01:15:25 2006 -0700 [PATCH] dm snapshot: allow zero chunk_size The chunk size of snapshots cannot be changed so it is redundant to require it as a parameter when activating an existing snapshot. Allow a value of zero in this case and ignore it. For a new snapshot, use a default value if zero is specified. Signed-off-by: Mark McLoughlin Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92c060a692a0c3482cdfcaf346cb2f7572368895 Author: Milan Broz Date: Tue Oct 3 01:15:24 2006 -0700 [PATCH] dm snapshot: fix invalidation ENOMEM Fix ENOMEM error sign. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3f6ac6123be6f4ba14d71af0da0e8d3d39c33ed Author: Ishai Rabinovitz Date: Tue Oct 3 01:15:22 2006 -0700 [PATCH] dm: fix alloc_dev error path While reading the code I found a bug in the error path in alloc_dev in dm.c When blk_alloc_queue fails there is no call to free_minor. This patch fixes the problem. Signed-off-by: Ishai Rabinovitz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e90dae1f58d475b71bcc4eebf6d4fd5217ed85c7 Author: Milan Broz Date: Tue Oct 3 01:15:22 2006 -0700 [PATCH] dm: support ioctls on mapped devices: fix with fake file The new ioctl code passes the wrong file pointer to the underlying device. No file pointer is available so make a temporary fake one. ioctl_by_bdev() does set_fs(KERNEL_DS) so it's for ioctls originating within the kernel and unsuitable here. We are processing ioctls that originated in userspace and mapping them to different devices. Fixing the existing callers that pass a NULL file struct and consolidating the fake_file users are separate matters to solve in later patches. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7006f6eca874cd44d37ccb8cfeb8bed04e3bff22 Author: Alasdair G Kergon Date: Tue Oct 3 01:15:21 2006 -0700 [PATCH] dm: export blkdev_driver_ioctl Export blkdev_driver_ioctl for device-mapper. If we get as far as the device-mapper ioctl handler, we know the ioctl is not a standard block layer BLK* one, so we don't need to check for them a second time and can call blkdev_driver_ioctl() directly. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9af4aa30b713a58e5952045f52c41a6e3baa2fdc Author: Milan Broz Date: Tue Oct 3 01:15:20 2006 -0700 [PATCH] dm mpath: support ioctls When an ioctl is performed on a multipath device simply pass it on to the underlying block device through current_path. If current path is not yet selected, select it. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab17ffa440cb54ca64111fa4922ba12496fcc8af Author: Milan Broz Date: Tue Oct 3 01:15:18 2006 -0700 [PATCH] dm linear: support ioctls When an ioctl is performed on a device with a linear target, simply pass it on to the underlying block device. Note that the ioctl will pass through the filtering in blkdev_ioctl() twice. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa129a2247b164173d45da8ad43cca5de9211403 Author: Milan Broz Date: Tue Oct 3 01:15:15 2006 -0700 [PATCH] dm: support ioctls on mapped devices Extend the core device-mapper infrastructure to accept arbitrary ioctls on a mapped device provided that it has exactly one target and it is capable of supporting ioctls. [We can't use unlocked_ioctl because we need 'inode': 'file' might be NULL. Is it worth changing this?] Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Arnd Bergmann wrote: > Am Wednesday 21 June 2006 21:31 schrieb Alasdair G Kergon: > > static struct block_device_operations dm_blk_dops = { > > .open = dm_blk_open, > > .release = dm_blk_close, > > +.ioctl = dm_blk_ioctl, > > .getgeo = dm_blk_getgeo, > > .owner = THIS_MODULE > > I guess this also needs a ->compat_ioctl method, otherwise it won't > work for ioctl numbers that have a compat_ioctl implementation in the > low-level device driver. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70abac6e4f4bfb05a8198e22225f9e066239c7a2 Author: Paul Mackerras Date: Tue Oct 3 01:15:14 2006 -0700 [PATCH] nvidia fbdev: fix powerpc xmon scribbles xmon writes garbage on the screen because the nvidia console driver has changed the line pitch from what the firmware set it to. Fix it by making the nvidia driver inform the btext engine (which xmon uses if the screen is its output device) about changes to display resolution. Signed-off-by: Paul Mackerras Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a09fd48f8fb6ecb8bf85efdd884b21b6201ef9cc Author: Geert Uytterhoeven Date: Tue Oct 3 01:15:11 2006 -0700 [PATCH] fbdev: correct buffer size limit in fbmem_read_proc() Address http://bugzilla.kernel.org/show_bug.cgi?id=7189 It should check `clen', not `len'. Signed-off-by: Geert Uytterhoeven Cc: Cc: "Antonino A. Daplas" Cc: Cc: Willy Tarreau Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5b747b487038ce2a23e7b922bc4d27149838965 Author: Carl-Daniel Hailfinger Date: Tue Oct 3 01:15:09 2006 -0700 [PATCH] radeonfb supend/resume support for Acer Aspire 2010 This patch adds suspend/resume support for the graphics chip in the Acer Aspire 2010: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10] 01:00.0 0300: 1002:4e50 (prog-if 00 [VGA]) Subsystem: 1025:0061 Flags: bus master, 66MHz, medium devsel, latency 128, IRQ 16 Memory at a8000000 (32-bit, prefetchable) [size=128M] I/O ports at c100 [size=256] Memory at e0010000 (32-bit, non-prefetchable) [size=64K] [virtual] Expansion ROM at a0000000 [disabled] [size=128K] Capabilities: [58] AGP version 2.0 Capabilities: [50] Power Management version 2 Signed-off-by: Carl-Daniel Hailfinger Acked-by: Benjamin Herrenschmidt Cc: "Benjamin A. Okopnik" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b262144a1b84c781555efd68769711279ebfba3 Author: Reiner Herrmann Date: Tue Oct 3 01:15:08 2006 -0700 [PATCH] Documentation fixes in intel810.txt Signed-off-by: Reiner Herrmann Acked-by: Randy Dunlap Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b98fc9a34bfcfd2a04e58c4fc5e408fce13204bb Author: Alan Cox Date: Tue Oct 3 01:15:07 2006 -0700 [PATCH] sstfb: cleanups - Remove 24/32bit unused support (the chips don't do 24/32bit anyway) - Clean up printk obfuscation - Clean up lispitus in the if(())()) stuff - Minor tidying No functionality changes, may have a crack at hardware scrolling based on my X driver once the cleanups are in. Signed-off-by: Alan Cox Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cb340ecbb010013229ac56f26707252ebed09b8 Author: Adrian Bunk Date: Tue Oct 3 01:15:06 2006 -0700 [PATCH] vt: proper prototypes for some console functions This patch adds proper prototypes to header files for three console init functions used on drivers/char/vt.c Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48afdf6eb750b6836932e4d492b90448bc68dfc0 Author: Adrian Bunk Date: Tue Oct 3 01:15:05 2006 -0700 [PATCH] fbcon:: make 3 functions static This patch makes three needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c60b118d62c14ad7586ed6a6e537c3294c90227 Author: Raphael Assenat Date: Tue Oct 3 01:15:05 2006 -0700 [PATCH] mbxfb: Fix framebuffer size smaller than requested This patch fixes a bug where we obtain a smaller resolution than requested. (eg: in 640x480, only 639x479 usable pixels). This was due to 1 being substracted from the xres and yres vars two times: first in mbxfb.c and then in the macros from reg_bits.h. This patch removes the minus ones from the mbxfb.c file. Tested and works. Signed-off-by: Raphael Assenat Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bc218410d6c2b22a7581fac6f3dc2ac1f8fc99f Author: Raphael Assenat Date: Tue Oct 3 01:15:03 2006 -0700 [PATCH] mbxfb: Fix a chip bug? resulting in wrong pixclock This is a workaround for what I think is a bug in the 2700G chip. The PLL output frequency is adustable using 3 values (M, N and P. See code for formula). The N value range is documented to be 1 to 7 but when it is set to 1, the output frequency is lower than it should be (divided by 2), giving unexpected results such as no sync on a CRT display. This patch prevents N=1 when searching for the best value for the requested pixclock. Signed-off-by: Raphael Assenat Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c5b39e0bcb407a95716de4650a2d1e6064baffa Author: Adrian Bunk Date: Tue Oct 3 01:15:02 2006 -0700 [PATCH] atyfb: Possible cleanups - make the following needlessly global function static: - mach64_ct.c: aty_st_pll_ct() - proper prototypes for the following functions: - atyfb_base.c: atyfb_copyarea() - atyfb_base.c: atyfb_fillrect() - atyfb_base.c: atyfb_imageblit() Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe27e67616e300f2c891a669ea3b0e29f1e3bead Author: Michal Piotrowski Date: Tue Oct 3 01:15:01 2006 -0700 [PATCH] drivers/video/sis/sis_main.h Removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86702ad483fa50e09f9535a0e5d2ecad2202facc Author: Michal Piotrowski Date: Tue Oct 3 01:15:01 2006 -0700 [PATCH] drivers/video/sis/vgatypes.h: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4370409a924b5e065f9f0905d243ab69a95b52f4 Author: Michal Piotrowski Date: Tue Oct 3 01:15:00 2006 -0700 [PATCH] drivers/video/sis/sis_main.c: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dc350283d3ea194c954428d86025190cab47366 Author: Michal Piotrowski Date: Tue Oct 3 01:14:59 2006 -0700 [PATCH] drivers/video/sis/sis_accel.h: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 882e6afd71a7cd8c2f97067bb819eaa310540e36 Author: Michal Piotrowski Date: Tue Oct 3 01:14:58 2006 -0700 [PATCH] drivers/video/sis/sis_accel.c: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31df9ee8c63a8d9459358e9d4be17e331f63de76 Author: Michal Piotrowski Date: Tue Oct 3 01:14:57 2006 -0700 [PATCH] drivers/video/sis/osdef.h: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db3affc0b256162a957253b4eaedb202885bb38d Author: Michal Piotrowski Date: Tue Oct 3 01:14:56 2006 -0700 [PATCH] drivers/video/sis/init.h: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8e3d4c19c1b81a8d1bf7ea709524ab8fc2186c3 Author: Michal Piotrowski Date: Tue Oct 3 01:14:55 2006 -0700 [PATCH] drivers/video/sis/initextlfb.c: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99dbb4641a820c777cb32d2907402525a6ab4015 Author: Michal Piotrowski Date: Tue Oct 3 01:14:54 2006 -0700 [PATCH] drivers/video/sis/init301.h: removal of old code Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9237ed0fef8d0373b39cc7884451d3c3e3bc8a2a Author: Antonino A. Daplas Date: Tue Oct 3 01:14:54 2006 -0700 [PATCH] i810fb: Honor the return value of pci_enable_device Check the return value of pci_enable_device(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b566b1f7bdbbcfa8d11b8018c6dec5467f7c62b Author: Antonino A. Daplas Date: Tue Oct 3 01:14:53 2006 -0700 [PATCH] nvidiafb: Honor the return value of pci_enable_device Check the return value of pci_enable_device(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0b10324b85d0379a2eec4984e77b25299a97ed4 Author: Antonino A. Daplas Date: Tue Oct 3 01:14:52 2006 -0700 [PATCH] matroxfb: Honor the return value of pci_register_driver Check the return value of pci_register_driver() Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1cc53be0fc112cc8cb21ac4e0ab1af0a4082943 Author: Antonino A. Daplas Date: Tue Oct 3 01:14:51 2006 -0700 [PATCH] atyfb: Honor the return value of pci_register_driver Check return value of pci_register_driver(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a727dea774c47ad1e18907be33f12c9f325ee4a Author: Antonino A. Daplas Date: Tue Oct 3 01:14:50 2006 -0700 [PATCH] fbcon: Honor the return value of device_create_file Check the return value of device_create_file(). If return is 'fail', remove attributes by calling device_remove_file(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a6600be3e5dafe2ddcc5d969d931c2591eed896 Author: Antonino A. Daplas Date: Tue Oct 3 01:14:50 2006 -0700 [PATCH] fbdev: Honor the return value of device_create_file Check the return value of device_create_file(). If return is 'fail', remove attributes by calling device_remove_file(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 928e964f262b522dad57483108f62d87c52ccf82 Author: Antonino A. Daplas Date: Tue Oct 3 01:14:49 2006 -0700 [PATCH] vt: Honor the return value of device_create_file Check the return value of device_create_file(). If return is 'fail', remove attributes by calling device_remove_file(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 212f26398f63bc905ea28f55b31d4ecd4a21a33b Author: Antonino A. Daplas Date: Tue Oct 3 01:14:48 2006 -0700 [PATCH] fbcon: Remove cursor timer if unused Remove the cursor timer (cursor flashing) on the following conditions: - if vc is in KD_GRAPHICS mode, ie, when X owns the console - if vc is blanked This misbehavior was exposed by Dave Jones. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e299dd4d7c5f38a24045e0578049d872b62f21eb Author: Dave Jones Date: Tue Oct 3 01:14:47 2006 -0700 [PATCH] fbcon: Use persistent allocation for cursor blinking Every time the console cursor blinks, we do a kmalloc/kfree pair. This patch turns that into a single allocation. This allocation was the most frequent kmalloc I saw on my test box. [adaplas] Per Alan's suggestion, move global variables to fbcon's private structure. This would also avoid resource leaks when fbcon is unloaded. Signed-off-by: Dave Jones Acked-by: Alan Cox Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a45093b7caa9d3d5421274b4ba80fba5da17e19 Author: Dennis Munsie Date: Tue Oct 3 01:14:46 2006 -0700 [PATCH] radeonfb: Use generic DDC reading Uses the generic ddc read functionality in fbmon.c instead of the previous functionality. Signed-off-by: Dennis Munsie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 946c4eab86cc67dac6021b56f45495f59b3970b4 Author: Antonino A. Daplas Date: Tue Oct 3 01:14:45 2006 -0700 [PATCH] savagefb: Use generic DDC reading Update driver to use generic DDC reading [khali@linux-fr.org: fix oops in i2c handling] Signed-off-by: Antonino Daplas Signed-off-by: Jean Delvare Cc: Jurriaan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e80987f8db7b9c33089bb395ed54cb96d55eae04 Author: Antonino A. Daplas Date: Tue Oct 3 01:14:44 2006 -0700 [PATCH] i810fb: Use generic DDC reading Update driver to use generic DDC reading Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf5df0a2c54c2dc0fad619ac25d029119023610a Author: Antonino A. Daplas Date: Tue Oct 3 01:14:44 2006 -0700 [PATCH] rivafb: Use generic DDC reading Update driver to use generic DDC reading Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 346bc21026e7a92e1d7a4a1b3792c5e8b686133d Author: Antonino A. Daplas Date: Tue Oct 3 01:14:43 2006 -0700 [PATCH] nvidiafb: Use generic DDC reading Update driver to use generic DDC reading Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc5891c8a3ba284f13994d7bc1f1bfa8283982de Author: Dennis Munsie Date: Tue Oct 3 01:14:42 2006 -0700 [PATCH] fbdev: Add generic ddc read functionality Adds functionality to read the EDID information over the DDC bus in a generic way. This code is based on the DDC implementation in the radeon driver. [adaplas] - separate from fbmon.c and place in new file fb_ddc.c - remove dependency to CONFIG_I2C and CONFIG_I2C_ALGOBIT, otherwise, feature will not compile if i2c support is compiled as a module - feature is selectable only by drivers needing it. It must have a 'select FB_DDC if xxx' in Kconfig - change printk's to dev_*, the i2c people prefers it Signed-off-by: Dennis Munsie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66cf75121b1c8128ef9ab2d772c5654ae00c4284 Author: Mike Frysinger Date: Tue Oct 3 01:14:41 2006 -0700 [PATCH] vfb: Document option to enable the driver The Kconfig help text doesnt mention that in order to load the vfb module, you have to pass in the parameter vfb_enable=1 Document required module options in Kconfig for loading the vfb module. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535a09ad59286b7675ffbf8b51d8ecb001c44386 Author: Guido Guenther Date: Tue Oct 3 01:14:40 2006 -0700 [PATCH] rivafb: use constants instead of magic values use (MIN/MAX)_LEVEL and FB_(UN)BLANK instead of the values they are defined to Signed-off-by: Guido Guenther Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bf1d73d7a512cfa791b7415742f71c80f6b8d7e Author: Ph. Marek Date: Tue Oct 3 01:14:38 2006 -0700 [PATCH] intelfb: Documentation update Correct sample boot line and add a remark on mode setting. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca27ac4cc6caa73740122a5f3d601c8a27b89e7c Author: Rodolfo Giometti Date: Tue Oct 3 01:14:36 2006 -0700 [PATCH] au1100fb: Add option to enable/disable the cursor - add cursor enable/disable, very useful if you wish a full screen boot logo. Cursor can be disabled from kernel command line: video=au1100fb:nocursor,panel:Toppoly_TD035STED4 or from sysfs interface: echo 1 > /sys/module/au1100fb/parameters/nocursor - fix up some wrong indentation issues. Signed-off-by: Rodolfo Giometti Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53a04c6fb2e886efbc28b564d413bb5e70d79784 Author: David Brownell Date: Tue Oct 3 01:14:35 2006 -0700 [PATCH] ide-cs (CompactFlash) driver, rm irq warning Git rid of the runtime warning about pcmcia not supporting exclusive IRQs, so "the driver needs updating". Signed-off-by: David Brownell Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 652aa16291095911640137155063a5c6ea9bad74 Author: Alan Cox Date: Tue Oct 3 01:14:35 2006 -0700 [PATCH] IDE: more pci_find cleanup Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4bea10eca68152e84ffc4eaeb9d20ec2ac34664 Author: Patrick Jefferson Date: Tue Oct 3 01:14:34 2006 -0700 [PATCH] Allow ide_generic_all to be used modular and built in Allow ide/pci/generic to claim chipsets as a a module or when built-in. It requires using "all_generic_ide" as a boot option. Signed-off-by: Patrick Jefferson Acked-by: Alan Cox Closes-Bug: 7017 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 913759ac90a727b86da72efcfb70931f497d1cb7 Author: Alan Cox Date: Tue Oct 3 01:14:33 2006 -0700 [PATCH] ide: Fix crash on repeated reset Michal Miroslaw reported a problem (bugzilla #7023) where a user initiated reset while the IDE layer was already resetting the channel caused a crash, and provided a rough fix. This is a slightly cleaner version of the fix which tracks the reset state and blocks further reset requests while a reset is in progress. Note this is not a security issue - random end users can't access the ioctl in question anyway. Signed-off-by: Alan Cox Cc: Michal Miroslaw Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b86cc29dc42203588264d917e88134bdd500b0d7 Author: Alexey Dobriyan Date: Tue Oct 3 01:14:32 2006 -0700 [PATCH] CONFIG_PM=n slim: drivers/ide/pci/sc1200.c Remove some code which is unneeded if CONFIG_PM=n. Signed-off-by: Alexey Dobriyan Cc: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fa902a918518bcdc420bd272d2dd13fcae01581 Author: Marcin Juszkiewicz Date: Tue Oct 3 01:14:29 2006 -0700 [PATCH] PCMCIA: Add few IDs into ide-cs Few cards informations submitted by OpenZaurus users. Seagate 8GB microdrive: product info: "SEAGATE", "ST1" manfid 0x0111, 0x0000 One CF card: product info: "SAMSUNG", "04/05/06", "", "" manfid : 0x0000, 0x0000 Ridata 8GB Pro 150X Compact Flash Card: product info: "SMI VENDOR", "SMI PRODUCT", "" manfid: 0x000a, 0x0000 product info: "M-Systems", "CF500", "" manfid: 0x000a, 0x0000 product info: "TRANSCEND", "TS4GCF120", "" manfid: 0x000a, 0x0000 Alan sayeth: "Same update needs to go into drivers/ata/pata_pcmcia" Signed-off-by: Marcin Juszkiewicz Cc: Dominik Brodowski Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c2c0118b86183bf4826db990cae5c8a8d6c6746 Author: Jason Lunz Date: Tue Oct 3 01:14:26 2006 -0700 [PATCH] ide: reprogram disk pio timings on resume Add a step to the IDE PM state machine that reprograms disk PIO timings as the first step on resume. This prevents ide deadlock on resume-from-ram on my nforce3-based laptop. An earlier implementation was written entirely within the amd74xx ide driver, but Alan helpfully pointed out that this is the correct thing to do globally. Still, I'm only calling hwif->tuneproc() for disks, based on two things: - The existing state machine is already passed over for non-disk drives - Previous testing on my laptop shows that the hangs are related only to the disk - suspend/resume from a livecd showed that there's no need for this on the cdrom. Signed-off-by: Jason Lunz Cc: Bartlomiej Zolnierkiewicz Cc: "Rafael J. Wysocki" Cc: Sergei Shtylyov Cc: Pavel Machek Cc: Brad Campbell Cc: David Brownell Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f63c5e88a5ce45b423f3712293f1664115b09c0 Author: Sergei Shtylyov Date: Tue Oct 3 01:14:25 2006 -0700 [PATCH] ide: remove dma_base2 field from ide_hwif_t Remove dma_base2 field from ide_hwif_t as it's used only in 2 drivers and without great need. Signed-off-by: Sergei Shtylyov Cc: John Keller Signed-off-by: Jeremy Higdon Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27ac6036f31dea8117ecc525e0dbfd17b23e8c09 Author: Adrian Bunk Date: Tue Oct 3 01:14:24 2006 -0700 [PATCH] drivers/ide/: cleanups - setup-pci.c: remove the unused ide_pci_unregister_driver() - ide-dma.c: remove the unused EXPORT_SYMBOL_GPL(ide_in_drive_list) Signed-off-by: Adrian Bunk Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 349ae23fe7379a42973bcb1c85f7d43ec583c17d Author: Randy Dunlap Date: Tue Oct 3 01:14:23 2006 -0700 [PATCH] IDE core: driver layer error checking Check driver layer return values in IDE core. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ac24697699b394cdebac0a2329ce3af247d6a3b Author: Alan Cox Date: Tue Oct 3 01:14:23 2006 -0700 [PATCH] ide: backport piix fixes from libata into the legacy driver There are three flags being set by default by the PIIX driver for speeds > PIO 1, and one not being cleared properly on fallback to PIO0. The most important one is the prefetch/post write control which only works for ATA and can do bad things with ATAPI. The patch does its best to set the flags correctly for drivers/ide. Its not 100% perfect but its closer than the original. 100% perfect requires proper IORDY handling but this isn't critical (and its not right in libata either .. yet) Sergei Shtylyov said: > + { 0, 0 }, > + { 0, 0 }, > + { 1, 0 }, > + { 2, 1 }, > + { 2, 3 }, }; > > pio = ide_get_best_pio_mode(drive, pio, 5, NULL); BTW, there's quite obvious error here which leads to access outside of timings[] if somebody passes PIO mode 5 (or autotuning code finds out that drive supports PIO mode 5). Could have been fixed while at it... Those drives should be rare, though... > + } > master_data = master_data | (timings[pio][0] << 12) | (timings[pio][1] << 8); > } > pci_write_config_word(dev, master_port, master_data); Actually, there's one more serious issue with piix_tune_drive() -- it doesn't actually set the drive's own transfer mode. Signed-off-by: Alan Cox Cc: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14e0a193209aeea810ad3d66388f422dc79c5b40 Author: Kirill Smelkov Date: Tue Oct 3 01:14:18 2006 -0700 [PATCH] ide: fix revision comparison in ide_in_drive_list Fix ide_in_drive_list: drive_table->id_firmware should be searched *in* id->fw_rev, not vice versa. Signed-off-by: Kirill Smelkov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d5b34caae393f13a9486036f98c81cac1595c4 Author: Tobias Oed Date: Tue Oct 3 01:14:17 2006 -0700 [PATCH] Enable cdrom dma access with pdc20265_old This patch allows me to use dma with my cd/dvd attached to my on board pdc20265 ide controller Alan sayeth: Looks sane. Would be nice to know if there is any documentation supporting this hack being safe but the logic makes sense. The LBA48 case faces the same problem - the state machine gets confused about the transfer length and needs kicking Signed-off-by: Tobias Oed Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Cc: Sergei Shtylyov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0750508ae6479d4ac6154b35c5b82929f31efb03 Author: Sergei Shtylyov Date: Tue Oct 3 01:14:17 2006 -0700 [PATCH] ide_dma_speed() fixes ide_dma_speed() fails to actually honor the IDE drivers' mode support masks) because of the bogus checks -- thus, selecting the DMA transfer mode that the driver explicitly refuses to support is possible. Additionally, there is no check for validity of the UltraDMA mode data in the drive ID, and the function is misdocumented. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83d7dbc4095a0c314b191c573be5fb4fa6ce0897 Author: Matt Mackall Date: Tue Oct 3 01:14:16 2006 -0700 [PATCH] Make number of IDE interfaces configurable Make IDE_HWIFS configurable if EMBEDDED This lets us lop as much as 16k off an x86 build. It's a little ugly, but it's dead simple. Note the fix for HWIFS < 2. Sizing interfaces dynamically unfortunately turns out to be pretty major surgery. add/remove: 0/1 grow/shrink: 0/11 up/down: 0/-16182 (-16182) function old new delta ide_hwifs 16920 1692 -15228 init_irq 1113 750 -363 ideprobe_init 283 138 -145 ide_pci_setup_ports 1329 1193 -136 save_match 85 - -85 ide_register_hw_with_fixup 367 287 -80 ide_setup 1364 1308 -56 is_chipset_set 40 4 -36 create_proc_ide_interfaces 225 205 -20 init_ide_data 84 67 -17 ide_probe_for_cmd640x 1198 1183 -15 ide_unregister 1452 1451 -1 Signed-off-by: Matt Mackall Cc: Bartlomiej Zolnierkiewicz Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce42f19137225d01be9388a73703df40fb7af80f Author: Hua Zhong Date: Tue Oct 3 01:14:15 2006 -0700 [PATCH] IDE error handling fixes In 2.6.15.1 I encountered some IDE crashes when unplugging IDE cables to emulate disk errors. Below is a patch against 2.6.16 which I think still applies. 1. The first BUG_ON could trigger when a PREFLUSH IO fails (it would fail the original barrier request which hasn't been marked REQ_STARTED yet). 2. the rq could have been dequeued already (same as 1). 3. HWGROUP(drive)->rq could be NULL because of the ide_error() several lines earlier. Signed-off-by: Hua Zhong Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc844e05913b84d09e86d88c0f861ef0afbee2fd Author: Sergei Shtylylov Date: Tue Oct 3 01:14:14 2006 -0700 [PATCH] IDE: always release DMA engine Release the DMA engine for the custom mapping IDE drivers also (for example, siimage.c does allocate it in both I/O-mapped and custom-mapped modes). Remove useless code from the error path of ide_allocate_dma_engine(). Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 020e322de3ff75d32daa58e431aad07071da27c6 Author: Sergei Shtylylov Date: Tue Oct 3 01:14:13 2006 -0700 [PATCH] IDE: claim extra DMA ports regardless of channel - Claim extra DMA I/O ports regardless of what IDE channels are present/enabled. - Remove extra ports handling from ide_mapped_mmio_dma() since it's not applicable to the custom-mapping IDE drivers. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbb3bbdb0f78cb02451daf5687a99627f7ad1140 Author: Alan Cox Date: Tue Oct 3 01:14:12 2006 -0700 [PATCH] non-libata driver for Jmicron devices Less functional than libata this just uses the merged interface provided for dumb legacy OS's. This is basically a bridge for people not yet ready to use libata for some reason or another. Port visibility is entirely dependant on the BIOS setup. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce164428c4cabfd284ca81913415cacd889aac33 Author: Christoph Lameter Date: Tue Oct 3 01:14:11 2006 -0700 [PATCH] scheduler: NUMA aware placement of sched_group_allnodes When the per cpu sched domains are build then they also need to be placed on the node where the cpu resides otherwise we will have frequent off node accesses which will slow down the system. Signed-off-by: Christoph Lameter Acked-by: Ingo Molnar Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0feaece97795c4c775a3c732c045706eda28d0e5 Author: Satoru Takeuchi Date: Tue Oct 3 01:14:10 2006 -0700 [PATCH] sched: fixing wrong comment for find_idlest_cpu() Fixing wrong comment for find_idlest_cpu(). Signed-off-by: Satoru Takeuchi Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89c4710ee9bbbefe6a4d469d9f36266a92c275c5 Author: Siddha, Suresh B Date: Tue Oct 3 01:14:09 2006 -0700 [PATCH] sched: cleanup sched_group cpu_power setup Up to now sched group's cpu_power for each sched domain is initialized independently. This made the setup code ugly as the new sched domains are getting added. Make the sched group cpu_power setup code generic, by using domain child field and new domain flag in sched_domain. For most of the sched domains(except NUMA), sched group's cpu_power is now computed generically using the domain properties of itself and of the child domain. sched groups in NUMA domains are setup little differently and hence they don't use this generic mechanism. Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Acked-by: Nick Piggin Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a84887080dc15f048db7c3a643e98f1435790d6 Author: Siddha, Suresh B Date: Tue Oct 3 01:14:08 2006 -0700 [PATCH] sched: introduce child field in sched_domain Introduce the child field in sched_domain struct and use it in sched_balance_self(). We will also use this field in cleaning up the sched group cpu_power setup(done in a different patch) code. Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Acked-by: Nick Piggin Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74732646431a1bb7e23e6b564127a8881cfef900 Author: Dave Jones Date: Tue Oct 3 01:14:07 2006 -0700 [PATCH] sched: don't print migration cost when only 1 CPU If only a single CPU is present, printing this doesn't make much sense. Signed-off-by: Dave Jones Acked-by: Ingo Molnar Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a616058b7815aafb2163fc795e02a055b0dbc5e2 Author: Siddha, Suresh B Date: Tue Oct 3 01:14:06 2006 -0700 [PATCH] sched: remove unnecessary sched group allocations Remove dynamic sched group allocations for MC and SMP domains. These allocations can easily fail on big systems(1024 or so CPUs) and we can live with out these dynamic allocations. [akpm@osdl.org: build fix] Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c1e176781f43bc902a51e5832f789756bff911b Author: Nick Piggin Date: Tue Oct 3 01:14:04 2006 -0700 [PATCH] sched: force /sbin/init off isolated cpus Force /sbin/init off isolated cpus (unless every CPU is specified as an isolcpu). Users seem to think that the isolated CPUs shouldn't have much running on them to begin with. That's fair enough: intuitive, I guess. It also means that the cpu affinity masks of tasks will not include isolcpus by default, which is also more intuitive, perhaps. /sbin/init is spawned from the boot CPU's idle thread, and /sbin/init starts the rest of userspace. So if the boot CPU is specified to be an isolcpu, then prior to this patch, all of userspace will be run there. (throw in a couple of plausible devinit -> cpuinit conversions I spotted while we're here). Signed-off-by: Nick Piggin Cc: Dimitri Sivanich Acked-by: Paul Jackson Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c136efcf6f58d07512c4df83eb494597fe0d229 Author: OGAWA Hirofumi Date: Tue Oct 3 01:14:03 2006 -0700 [PATCH] pata_hpt366: fix typo switch(reg1 & 0x700) { case 5: info_hpt366.private_data = &hpt366_40; break; case 9: info_hpt366.private_data = &hpt366_25; break; default: info_hpt366.private_data = &hpt366_33; break; } The above runs always default part. It should be "(reg1 & 0x700) >> 8". Signed-off-by: OGAWA Hirofumi Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a545370d20519d7a72e1a801022180970eec34f Author: Luiz Fernando N. Capitulino Date: Tue Oct 3 01:14:01 2006 -0700 [PATCH] MAINTAINERS: Removes duplicated entry The 'STABLE BRANCH' entry is duplicated, remove it. Signed-off-by: Luiz Fernando N. Capitulino Cc: Greg KH Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ab54a936d75b1b100c998c8e2717fafd0b4c3b6 Author: Bjorn Helgaas Date: Tue Oct 3 01:14:00 2006 -0700 [PATCH] ia64: note requirement for 8250_pnp, now that 8250_acpi is gone We removed 8250_acpi in 2.6.17. If we don't have PNPACPI turned on, we won't find any ACPI serial devices, so mention this requirement in the troubleshooting part of the documentation. CONFIG_PNPACPI is already turned on in all the relevant defconfigs. Signed-off-by: Bjorn Helgaas Acked-by: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a51f4a81e737735668206ad1618ce4a84cf362e7 Author: Corey Minyard Date: Tue Oct 3 01:13:59 2006 -0700 [PATCH] IPMI: allow user to override the kernel IPMI daemon enable After the previous patch to disable the kernel IPMI daemon if interrupts were available, the issue of broken hardware was raised, and a reasonable request to add an override was mode. So here it is. Allow the user to force the kernel ipmi daemon on or off. This way, hardware with broken interrupts or users that are not concerned with performance can turn it on or off to their liking. [akpm@osdl.org: save 4 bytes in vmlinux] Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2537d36cf568291baacff91fe5ead6ad3949304e Author: Pekka Enberg Date: Tue Oct 3 01:13:58 2006 -0700 [PATCH] Add Pekka to CREDITS Whomever said... "When you meet someone now who is writing a compiler or hacking a Unix kernel, at least you know they're not just doing it to pick up chicks." ...has obviously never met a _Linux_ kernel hacker. Anyway, sometimes people confuse my email addresses, which is why I really should add the proper one to CREDITS ;-). Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 873ef76bdc56561df75ef5c3f3842c3a64da795d Author: Olaf Hering Date: Tue Oct 3 01:13:56 2006 -0700 [PATCH] restore parport_pc probing on powermac The last change for partport_pc did fix the common case for all PowerMacs, but it broke the case for PCI multiport IO cards. In fact, the config option CONFIG_PARPORT_PC_SUPERIO=y lead to a hard crash when cups probed the parport driver. It enables the winbond and smsc probing. Remove the PARPORT_BASE check again, parport_pc_find_nonpci_ports() will take care of it. All powerpc configs should have CONFIG_PARPORT_PC_SUPERIO=n, the code did not find anything on the chrp boards we tested it on. Tested on a G4/466 with a PCI card: 0001:10:13.0 Serial controller: Timedia Technology Co Ltd PCI2S550 (Dual 16550 UART) (rev 01) (prog-if 02 [16550]) Subsystem: Timedia Technology Co Ltd Unknown device 5079 Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Adam Belay Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17a4506d0eb1f78c9018c06a79e7dd09ae78c3a8 Author: Alan Cox Date: Tue Oct 3 01:13:55 2006 -0700 [PATCH] ISDN warning fixes Clean up warnings in drivers/isdn by using long not int for the values where we pass void * and cast to integer types. The code is ok (ok passing the stuff this way isn't pretty but the code is valid). In all the cases I checked out the right thing happens anyway but this removes all the warnings. Signed-off-by: Alan Cox Cc: Jeff Garzik Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31e7e1a806dab5e8e218b78e1b41887a4f6dfcc0 Author: Jeff Garzik Date: Tue Oct 3 01:13:54 2006 -0700 [PATCH] schedule ftape removal Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcc7a8c4636ec9d14680126e9fde39e8411c44ea Author: Jeff Garzik Date: Tue Oct 3 01:13:53 2006 -0700 [PATCH] drivers/char/ip2: kill unused code, label Kill warning: drivers/char/ip2/ip2main.c: In function ‘ip2_loadmain’: drivers/char/ip2/ip2main.c:782: warning: label ‘out_class’ defined but not used This driver's initialization (and cleanup of errors during init) is extremely convoluted, and could stand to be transformed into the standard unwinding-goto style of error cleanup. Signed-off-by: Jeff Garzik Acked-by: Michael H. Warfield Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 397f4ebf4f317b1d5ecd678a8559a5cb5c6975c3 Author: Jeff Garzik Date: Tue Oct 3 01:13:52 2006 -0700 [PATCH] ipmi: fix uninitialized data bug gcc issues the following warning: drivers/char/ipmi/ipmi_si_intf.c: In function ‘init_ipmi_si’: drivers/char/ipmi/ipmi_si_intf.c:1729: warning: ‘data.irq’ may be used uninitialized in this function This is indeed a bug. data.irq is completely uninitialized in some code paths. Worse than that, data from a previous decode_dmi() run can easily leak through successive calls. Signed-off-by: Jeff Garzik Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3b6571384024be31e8b3442c0e7c3b127110d9b Author: Jeff Garzik Date: Tue Oct 3 01:13:52 2006 -0700 [PATCH] fs/eventpoll: error handling micro-cleanup While reviewing the 'may be used uninitialized' bogus gcc warnings, I noticed that an error code assignment was only needed if an error had actually occured. Signed-off-by: Jeff Garzik Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1ca66d1b990b23e7753c729332c0ada61f4f38d Author: Randy Dunlap Date: Tue Oct 3 01:13:51 2006 -0700 [PATCH] kernel-doc for kernel/resource.c Add kernel-doc function headers in kernel/resource.c and use them in DocBook. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eed34d0fc5e4b89269053ed855ef714edbcf4518 Author: Randy Dunlap Date: Tue Oct 3 01:13:50 2006 -0700 [PATCH] kernel-doc for kernel/dma.c Add kernel-doc function headers in kernel/dma.c and use it in DocBook. Clean up kernel-doc in mca_dma.h (the colon (':') represents a section header). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3717bdf8f08a0e1039158c8bab2c24d20f492b6 Author: keios Date: Tue Oct 3 01:13:49 2006 -0700 [PATCH] low performance of lib/sort.c It is a non-standard heap-sort algorithm implementation because the index of child node is wrong . The sort function still outputs right result, but the performance is O( n * ( log(n) + 1 ) ) , about 10% ~ 20% worse than standard algorithm. Signed-off-by: keios Acked-by: Matt Mackall Acked-by: Zou Nan hai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffc5089196446c08d9a005cf0dd7cab18d119606 Author: Franck Bui-Huu Date: Tue Oct 3 01:13:48 2006 -0700 [PATCH] Create kallsyms_lookup_size_offset() Some uses of kallsyms_lookup() do not need to find out the name of a symbol and its module's name it belongs. This is specially true in arch specific code, which needs to unwind the stack to show the back trace during oops (mips is an example). In this specific case, we just need to retreive the function's size and the offset of the active intruction inside it. Adds a new entry "kallsyms_lookup_size_offset()" This new entry does exactly the same as kallsyms_lookup() but does not require any buffers to store any names. It returns 0 if it fails otherwise 1. Signed-off-by: Franck Bui-Huu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 339b0c0813a257893fa84be999b9b85a50846dd8 Author: David Howells Date: Tue Oct 3 01:13:47 2006 -0700 [PATCH] FRV: Permit large kmalloc allocations [try #2] Permit kmalloc() to make allocations of up to 32MB if so configured. This may be useful under NOMMU conditions where vmalloc() can't do this. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afefdbb28a0a2af689926c30b94a14aea6036719 Author: David Howells Date: Tue Oct 3 01:13:46 2006 -0700 [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers These patches make the kernel pass 64-bit inode numbers internally when communicating to userspace, even on a 32-bit system. They are required because some filesystems have intrinsic 64-bit inode numbers: NFS3+ and XFS for example. The 64-bit inode numbers are then propagated to userspace automatically where the arch supports it. Problems have been seen with userspace (eg: ld.so) using the 64-bit inode number returned by stat64() or getdents64() to differentiate files, and failing because the 64-bit inode number space was compressed to 32-bits, and so overlaps occur. This patch: Make filldir_t take a 64-bit inode number and struct kstat carry a 64-bit inode number so that 64-bit inode numbers can be passed back to userspace. The stat functions then returns the full 64-bit inode number where available and where possible. If it is not possible to represent the inode number supplied by the filesystem in the field provided by userspace, then error EOVERFLOW will be issued. Similarly, the getdents/readdir functions now pass the full 64-bit inode number to userspace where possible, returning EOVERFLOW instead when a directory entry is encountered that can't be properly represented. Note that this means that some inodes will not be stat'able on a 32-bit system with old libraries where they were before - but it does mean that there will be no ambiguity over what a 32-bit inode number refers to. Note similarly that directory scans may be cut short with an error on a 32-bit system with old libraries where the scan would work before for the same reasons. It is judged unlikely that this situation will occur because modern glibc uses 64-bit capable versions of stat and getdents class functions exclusively, and that older systems are unlikely to encounter unrepresentable inode numbers anyway. [akpm: alpha build fix] Signed-off-by: David Howells Cc: Trond Myklebust Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d32849b14bc8792e6f35ab27dd990d74b16126c Author: Andrew Morton Date: Tue Oct 3 01:13:45 2006 -0700 [PATCH] pid.h cleanup Make the pid.h macros look less revolting in an 80-col window. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f6fd19f1f7ab1dab225845464c96cba36a18533 Author: Guennadi Liakhovetski Date: Sun Oct 1 12:00:47 2006 +0200 [SCSI] enable clustering for tmscsim following an email from John Adams to me with a patch to enable tmscsim to use blocks up to 1MB and a discussion on linux-scsi, below is a patch to enable clustering for tmscsim. I made it switchable with a module parameter, with default "enable" - in case somebody gets problems with it. Unfortunately, I was not able to check if this alone lets you use any bigger blocks with a tape, as my tape seems to only support 1 block size - only "mt setblk 1" is successful, any other value fails. OTOH, testing on a P-133 showed that enabling clustering alone improves throughput by 10% and reduces CPU load by another 10%, so, seems a worthy thing to do. As for setting max_sectors, that might become a separate patch... Signed-off-by: James Bottomley commit 80a544cebca5f28397020332e21e04d639a18943 Author: Stephen Rothwell Date: Tue Sep 26 13:55:58 2006 +1000 [POWERPC] iSeries has no legacy I/O Signed-off-by: Stephen Rothwell commit 3f639ee8c52c187d8c95db430ac6f485bffbe5af Author: Stephen Rothwell Date: Mon Sep 25 18:19:00 2006 +1000 [POWERPC] implement BEGIN/END_FW_FTR_SECTION and use it an all the obvious places in assembler code. Signed-off-by: Stephen Rothwell commit fc246c389db7b08b4a054e68c742c6598b02523c Author: Stephen Rothwell Date: Mon Sep 25 14:00:41 2006 +1000 [POWERPC] iSeries does not need pcibios_fixup_resources Signed-off-by: Stephen Rothwell commit a542dbd3172922f178d25b463751da81d7b1e560 Author: Stephen Rothwell Date: Mon Sep 25 13:49:58 2006 +1000 [POWERPC] Allow combined iSeries and MULTIPLATFORM build This will build with ISERIES, PSERIES and PMAC64 selected, but will only boot on iSeries so far. Signed-off-by: Stephen Rothwell commit fac99d97469e7f91102f97101bea620e5f073196 Author: Paul Mundt Date: Tue Oct 3 14:13:09 2006 +0900 sh: Fixup __raw_read_trylock(). generic__raw_read_trylock() was broken, fix up the __raw_read_trylock() implementation for something sensible. Taken from m32r, which has the same use cases. Signed-off-by: Paul Mundt commit 3998a7a9d37f72c6fffd58ff39fd17f7c11a00f3 Author: Richard Curnow Date: Tue Oct 3 13:35:18 2006 +0900 sh64: Remove me from sh64 maintainers. Drop Richard as a co-maintainer, as he no longer has interest in working on the platform. Signed-off-by: Richard Curnow Signed-off-by: Paul Mundt commit b4a53b45bb48864c1b9ec61178e91651978b4632 Author: Paul Mundt Date: Tue Oct 3 13:31:43 2006 +0900 sh64: Update cayman defconfig. This fell behind a bit, update it. Signed-off-by: Paul Mundt commit 2914d4da172f53f71d0563d3c3bae14e496cbc86 Author: Paul Mundt Date: Tue Oct 3 13:19:02 2006 +0900 sh: Kill off remaining config.h references. A few of these managed to sneak back in, get rid of them once and for all. Signed-off-by: Paul Mundt commit 3e6c999de9a5438c97524a62845da8da78923205 Author: Paul Mundt Date: Tue Oct 3 13:16:15 2006 +0900 sh: Initial gitignore list Ignore build-time generated files. Signed-off-by: Paul Mundt commit 711fa8096863e4b50bb97f9ebc44606dc2182ac3 Author: Paul Mundt Date: Tue Oct 3 13:14:04 2006 +0900 sh: build fixes for defconfigs. Get all of the defconfigs building again. Signed-off-by: Paul Mundt commit 059fbd6a5ee9a35ac9f15edb2876a50bd88a008d Author: Paul Mundt Date: Tue Oct 3 13:12:38 2006 +0900 sh: Kill off more dead headers. Some old rtc and io headers were left hanging around, kill them off.. Signed-off-by: Paul Mundt commit c91485676ebea1342622b8ac566c1efd750b60dc Author: Paul Mundt Date: Tue Oct 3 13:11:00 2006 +0900 sh: Set pclk default for SH7705. CPU sub-types set the pclk default in Kconfig, add one for SH7705. Signed-off-by: Paul Mundt commit af3e17c4482cc5c8118615eddc4ac0c33b94c5f2 Author: Paul Mundt Date: Tue Oct 3 13:08:20 2006 +0900 sh: defconfig updates. Sync up all of the defconfigs, and kill off a few old ones.. Signed-off-by: Paul Mundt commit ad7a3bf30c27d902042bc85c3e54eb2082d633bd Author: Paul Mundt Date: Tue Oct 3 11:26:34 2006 +0900 [PATCH] Add unifdef to gitignore This seems to have been missed when unifdef went in via Sam's tree.. Signed-off-by: Paul Mundt Signed-off-by: Linus Torvalds commit 7525d4bf991879f489c59988cbf162558b9d6489 Author: Jeff Garzik Date: Mon Oct 2 21:08:22 2006 -0400 [PATCH] hp100: fix conditional compilation mess The previous hp100 changeset attempted to kill warnings, but was only tested on !CONFIG_ISA platforms. The correct conditional compilation setup involves tested CONFIG_ISA rather than just MODULE. Fixes link on CONFIG_ISA platforms (i386) in current -git. Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 0e4a523fa3981f20c3887803cebef1ad2948a0d4 Author: Andrew Morton Date: Mon Oct 2 17:24:06 2006 -0700 [PATCH] revert "insert IOAPIC(s) and Local APIC into resource map" Commit 54dbc0c9ebefb38840c6b07fa6eabaeb96c921f5 is causing various people's machines to fail to map PCI resources. Revert it in preparation for addressing the show-APICs-in-/proc/iomem requirement in a different manner. Cc: Aaron Durbin Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5a010690141ab805b059ba10f7401b80e0be831 Author: Hoang-Nam Nguyen Date: Mon Oct 2 14:52:17 2006 -0700 IB/ehca: Tweak trace message format Add an extra space to make things more readable. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 0f248d9cde673a481eb3182909b54d07e9d58f72 Author: Hoang-Nam Nguyen Date: Mon Oct 2 14:52:17 2006 -0700 IB/ehca: Fix device registration Move the call to ib_register_device() later, since a device should not be registered until it is completely read to be used. This fixes crashes that occur if an upper-layer driver such as IPoIB is loaded before the ehca module. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 13b18c86176cab34ef30ef0a5962fcb0305f7269 Author: Ralph Campbell Date: Fri Sep 29 14:37:51 2006 -0700 IB/ipath: Fix RDMA reads The PSN used to generate the request following a RDMA read was incorrect and some state booking wasn't maintained correctly. This patch fixes that. Signed-off-by: Ralph Campbell Signed-off-by: Bryan O'Sullivan commit 3f168d2b66d2314fea40614a3b966c1a0b6241a9 Author: Krishna Kumar Date: Fri Sep 29 12:09:51 2006 -0700 RDMA/cma: Optimize error handling Reorganize code relating to cma_get_net_info() and rdam_create_id() to optimize error case handling (no need to alloc memory/etc. as part of rdma_create_id() if input parameters are wrong). Signed-off-by: Krishna Kumar Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 94de178ac636e9d6f89b11cb3dd400b777942ac9 Author: Krishna Kumar Date: Fri Sep 29 12:03:35 2006 -0700 RDMA/cma: Eliminate unnecessary remove_list Eliminate remove_list by using list_del_init() instead during device removal handling. Signed-off-by: Krishna Kumar Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 8f0472d331619d5d74927978d0dde5b4935e41a5 Author: Sean Hefty Date: Fri Sep 29 11:57:09 2006 -0700 RDMA/cma: Set status correctly on route resolution error On reporting a route error, also include the status for the error, rather than indicating a status of 0 when an error has occurred. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 6e35aabee125999f4b3c01326f5339fa74a89259 Author: Krishna Kumar Date: Fri Sep 29 11:51:49 2006 -0700 RDMA/cma: Fix device removal race The race is as follows: A process : cma_process_remove() calls cma_remove_id_dev(), which sets id state to CMA_DEVICE_REMOVAL and calls wait_event(dev_remove). B process : cma_req_handler() had incremented dev_remove, and calls cma_acquire_ib_dev() and on failure calls cma_release_remove(), which does a wake_up of cma_process_remove(). Then cma_req_handler() calls rdma_destroy_id(); A Process : cma_remove_id_dev() gets woken and checks the state of id, and since it is still (wrongly) CMA_DEVICE_REMOVAL, it calls notify_user(id) and if that fails, the caller - cma_process_remove() calls rdma_destroy_id(id). Two processes can call rdma_destroy_id(), resulting in one de-referencing kfreed id_priv. Fix is for process B to set CMA_DESTROYING in cma_req_handler() so that process A will return instead of doing a rdma_destroy_id(). Signed-off-by: Krishna Kumar Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 675a027c3db25a439f6ea744bb0c284f983dbfb9 Author: Krishna Kumar Date: Fri Sep 29 11:47:06 2006 -0700 RDMA/cma: Fix leak of cm_ids in case of failures cma_connect_ib() and cma_connect_iw() leak cm_id's in failure cases. Signed-off-by: Krishna Kumar Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 94e45a2b87bde64fd2eb170999da2fd2c5b04d28 Author: David S. Miller Date: Mon Oct 2 14:31:19 2006 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 36d046bbbdc72a3b2f728d79b21c7275822928fd Author: David S. Miller Date: Mon Oct 2 14:30:45 2006 -0700 [SPARC64]: Do not include compat.h from asm-sparc64/signal.h any more. It's not needed, now that all of that stuff is now in asm/compat_signal.h, and it breaks the build too :-) Signed-off-by: David S. Miller commit 14cc6abada7770bb7bd637bf7bce35503e10b652 Author: David S. Miller Date: Mon Oct 2 14:17:57 2006 -0700 [SPARC64]: Move signal compat bits to new header file. Create asm-sparc64/compat_signal.h and stuff things there. This avoids the "linux/compat.h includes asm/signal.h but asm/signal.h needs compat_sigset_t which isn't defined yet" problems introduced recently. Signed-off-by: David S. Miller commit 11dc10195aed0636d9a60907594b349424b933a7 Author: Dave Jones Date: Tue Aug 1 20:06:43 2006 +0200 [WATCHDOG] improve machzwd detection On a machine with no machzwd, loading the module prints out.. machzwd: MachZ ZF-Logic Watchdog driver initializing. 0xffff machzwd: Watchdog using action = RESET - the 0xffff printk is unnecessary - 0xffff seems to be 'hardware not present' - fix CodingStyle. (This driver could use some more work here) Signed-off-by: Dave Jones Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 795b89d207d8ff5397f9ff1f4d44662aa7c821fc Author: Samuel Tardieu Date: Sat Sep 9 17:34:31 2006 +0200 [WATCHDOG] use ENOTTY instead of ENOIOCTLCMD in ioctl() Return ENOTTY instead of ENOIOCTLCMD in user-visible ioctl() results The watchdog drivers used to return ENOIOCTLCMD for bad ioctl() commands. ENOIOCTLCMD should not be visible by the user, so use ENOTTY instead. Signed-off-by: Samuel Tardieu Signed-off-by: Wim Van Sebroeck Acked-by: Alan Cox Signed-off-by: Andrew Morton commit 25ff3780d4cd46804e22192a728cfb6b33c84d1b Author: Ben Dooks Date: Wed Sep 6 12:24:35 2006 +0100 [WATCHDOG] s3c24XX nowayout If the driver is not configured for `no way out`, then the open method should not automatically allow the setting of allow_close to CLOSE_STATE_ALLOW. The setting of allow_close nullifies the use of the magic close via the write path. It means that in the default state, the watchdog will shut-down even if the magic close has not been issued. Signed-off-by: Ben Dooks commit 65a64ec3b4fc904932b832c53e5a86d56b972682 Author: Vitaly Wool Date: Mon Sep 11 14:42:39 2006 +0400 [WATCHDOG] pnx4008: add cpu_relax() Added cpu_relax as suggested by Alan Cox. Signed-off-by: Vitaly Wool Signed-off-by: Wim Van Sebroeck commit 99d2853ac953900962d8191788060e80766eb214 Author: Wim Van Sebroeck Date: Sun Sep 10 12:48:15 2006 +0200 [WATCHDOG] pnx4008_wdt.c - spinlock fixes. Add io spinlocks to prevent possible race conditions between start and stop operations that are issued from different child processes where the master process opened /dev/watchdog. Signed-off-by: Wim Van Sebroeck commit 0235497f7a961db57ef975eb889503809ce82fe5 Author: Linus Torvalds Date: Mon Oct 2 14:05:20 2006 -0700 Add prototype for sigset_from_compat() Duh. I screwed up editing David Howells patch in commit 3f2e05e90e0846c42626e3d272454f26be34a1bc, and the actual declaration for the sigset_from_compat() function went missing. My bad. Olaf Hering saved the day and noticed that I'm a moron. Signed-off-by: Linus Torvalds commit f676449785d333078acb60ccf2046d0d3c59548f Author: Wim Van Sebroeck Date: Sun Jul 30 20:06:07 2006 +0200 [WATCHDOG] pnx4008_wdt.c - remove patch Change remove code so that we first detach the driver from userspace, then clean up the clock and then clean up the memory we allocated. Signed-off-by: Wim Van Sebroeck commit 2898172708aa84c9b0ce3865d6ff1ef76b538f51 Author: Wim Van Sebroeck Date: Mon Jul 3 09:03:47 2006 +0200 [WATCHDOG] pnx4008_wdt.c - nowayout patch Change nowayout to: WATCHDOG_NOWAYOUT as defined in include/linux/watchdog.h . Signed-off-by: Wim Van Sebroeck commit 9325fa36151fb9af39e697a6cd87e82667e2d8f9 Author: Vitaly Wool Date: Mon Jun 26 19:31:49 2006 +0400 [WATCHDOG] pnx4008: add watchdog support Add watchdog support for Philips PNX4008 ARM board inlined. Signed-off-by: Vitaly Wool Signed-off-by: Wim Van Sebroeck commit 92dd9994c36fb83883585058232e082cb78b19c1 Author: Jiri Slaby Date: Wed Jul 19 02:18:23 2006 +0159 [WATCHDOG] i8xx_tco remove pci_find_device. Use refcounting for pci device obtaining. Use PCI_DEVICE macro. Signed-off-by: Jiri Slaby Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit 02be2ee9e0797b6f657827e32345f0bfeae4c20e Author: Jiri Slaby Date: Tue Jul 18 18:29:00 2006 +0159 [WATCHDOG] alim remove pci_find_device Convert pci_find_device to pci_get_device + pci_dev_put in alim watchdog cards' drivers (refcounting). Signed-off-by: Jiri Slaby Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit f92a0b6ff43e8e07bbd5b1d2dd1cff130014f3c7 Author: Steven Whitehouse Date: Mon Oct 2 16:01:53 2006 -0400 [GFS2] Mark nlink cleared so VFS sees it happen This does nothing atm, but will be required for later support of r/o bind mounts. Signed-off-by: Steven Whitehouse commit 409e185d2370356ac2e4c7160e002ac5340b6709 Author: Steven Whitehouse Date: Mon Oct 2 14:20:43 2006 -0400 [GFS2] Two redundant casts removed Signed-off-by: Steven Whitehouse commit 48516ced21e83a755ebae3d1ed03f1731befc391 Author: Steven Whitehouse Date: Mon Oct 2 12:39:19 2006 -0400 [GFS2] Remove uneeded endian conversion In many places GFS2 was calling the endian conversion routines for an inode even when only a single field, or a few fields might have changed. As a result we were copying lots of data needlessly. This patch replaces those calls with conversion of just the required fields in each case. This should be faster and easier to understand. There are still other places which suffer from this problem, but this is a start in the right direction. Signed-off-by: Steven Whitehouse commit 3cf1e7bed4681bdb1c14b6e146ae9c0afb6c1552 Author: Steven Whitehouse Date: Mon Oct 2 11:49:41 2006 -0400 [GFS2] Remove duplicate sb reading code For some reason we had two different sets of code for reading in the superblock. This removes one of them in favour of the other. Also we don't need the temporary buffer for the sb since we already have one in the gfs2 sb itself. Signed-off-by: Steven Whitehouse commit 2e565bb69ce2184eabf4f43e64afc79c46f46204 Author: Steven Whitehouse Date: Mon Oct 2 11:38:25 2006 -0400 [GFS2] Mark metadata reads for blktrace Mark the metadata reads so that blktrace knows what they are. Signed-off-by: Steven Whitehouse commit 128e5ebaf8abbda375bba82690b09630003c9213 Author: Steven Whitehouse Date: Mon Oct 2 11:24:43 2006 -0400 [GFS2] Remove iflags.h, use FS_ Update GFS2 in the light of David Howells' patch: [PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6] 36695673b012096228ebdc1b39a6a5850daa474e which calls the filesystem independant flags FS_..._FL. As a result we no longer need the flags.h file and the conversion routine is moved into the GFS2 source code. Userland programs which used to include iflags.h should now include fs.h and use the new flag names. Signed-off-by: Steven Whitehouse commit 3f2e05e90e0846c42626e3d272454f26be34a1bc Author: David Howells Date: Mon Oct 2 14:12:31 2006 +0100 [PATCH] BLOCK: Revert patch to hack around undeclared sigset_t in linux/compat.h Revert Andrew Morton's patch to temporarily hack around the lack of a declaration of sigset_t in linux/compat.h to make the block-disablement patches build on IA64. This got accidentally pushed to Linus and should be fixed in a different manner. Also make linux/compat.h #include asm/signal.h to gain a definition of sigset_t so that it can externally declare sigset_from_compat(). This has been compile-tested for i386, x86_64, ia64, mips, mips64, frv, ppc and ppc64 and run-tested on frv. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 9ec52099e4b8678a60e9f93e41ad87885d64f3e6 Author: Cedric Le Goater Date: Mon Oct 2 02:19:00 2006 -0700 [PATCH] replace cad_pid by a struct pid There are a few places in the kernel where the init task is signaled. The ctrl+alt+del sequence is one them. It kills a task, usually init, using a cached pid (cad_pid). This patch replaces the pid_t by a struct pid to avoid pid wrap around problem. The struct pid is initialized at boot time in init() and can be modified through systctl with /proc/sys/kernel/cad_pid [ I haven't found any distro using it ? ] It also introduces a small helper routine kill_cad_pid() which is used where it seemed ok to use cad_pid instead of pid 1. [akpm@osdl.org: cleanups, build fix] Signed-off-by: Cedric Le Goater Cc: Eric W. Biederman Cc: Martin Schwidefsky Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f Author: Oleg Nesterov Date: Mon Oct 2 02:18:59 2006 -0700 [PATCH] introduce get_task_pid() to fix unsafe get_pid() proc_pid_make_inode: ei->pid = get_pid(task_pid(task)); I think this is not safe. get_pid() can be preempted after checking "pid != NULL". Then the task exits, does detach_pid(), and RCU frees the pid. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0d04c9e44f4a248335c33d2be7c7f7b06ff359 Author: Eric W. Biederman Date: Mon Oct 2 02:18:57 2006 -0700 [PATCH] proc: comment what proc_fill_cache does Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e61feafa2c641c2a013ba94eec56c411011cc94 Author: Eric W. Biederman Date: Mon Oct 2 02:18:57 2006 -0700 [PATCH] proc: remove the useless SMP-safe comments from /proc Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bcd6b0efd5216f2f208e92150b0e5b9bea2c210 Author: Eric W. Biederman Date: Mon Oct 2 02:18:56 2006 -0700 [PATCH] proc: remove trailing blank entry from pid_entry arrays It was pointed out that since I am taking ARRAY_SIZE anyway the trailing empty entry is silly and just wastes space. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e95bd936df2d3fc0e773068aa34350306a5c52a Author: Eric W. Biederman Date: Mon Oct 2 02:18:55 2006 -0700 [PATCH] proc: properly compute TGID_OFFSET The value doesn't change but this ensures I will have the proper value when other files are added to proc_base_stuff. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0fa9db6abdb2875a6d3069ddc6a2846a73fa5cd Author: Oleg Nesterov Date: Mon Oct 2 02:18:54 2006 -0700 [PATCH] proc: drop tasklist lock in task_state() task_state() needs tasklist_lock to protect ->parent/->real_parent. However task->parent points to nowhere only when the actions below happen in order 1) release_task(task) 2) release_task(task->parent) 3) a grace period passed But 3) implies that the memory ops from 1) should be finished, so pid_alive() can't be true in such a case. Otherwise, we don't care if ->parent/->real_parent changes under us. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a593d6edeb0a5a2c6e6919b225cec668a375df52 Author: Oleg Nesterov Date: Mon Oct 2 02:18:53 2006 -0700 [PATCH] proc: convert do_task_stat() to use lock_task_sighand() Drop tasklist_lock. ->siglock protects almost all interesting data (including sub-threads traversal) except: ->signal->tty protected by tty_mutex ->real_parent the task can't be unhashed while we are holding ->siglock, so ->real_parent can change from under us but we can safely dereference it under rcu_read_lock() ->pgrp/->session we can get inconsistent numbers if the task does sys_setsid/daemonize at the same time. I hope this is acceptable. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e6b3f42edc20e988b186fbfb9eec174294222ea Author: Oleg Nesterov Date: Mon Oct 2 02:18:52 2006 -0700 [PATCH] proc: convert task_sig() to use lock_task_sighand() lock_task_sighand() can take ->siglock without holding tasklist_lock. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fbaac005cab2f3b4d6999cdb32fb93d442c5cdb Author: Eric W. Biederman Date: Mon Oct 2 02:18:51 2006 -0700 [PATCH] proc: Use pid_task instead of open coding it Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72d9dcfc7afd80fe98334ec23531b638ee54df8b Author: Eric W. Biederman Date: Mon Oct 2 02:18:50 2006 -0700 [PATCH] proc: Merge proc_tid_attr and proc_tgid_attr The implementation is exactly the same and there is currently nothing to distinguish proc_tid_attr, and proc_tgid_attr. So it is pointless to have two separate implementations. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61a28784028e6d55755e4d0f39bee8d9bf2ee8d9 Author: Eric W. Biederman Date: Mon Oct 2 02:18:49 2006 -0700 [PATCH] proc: Remove the hard coded inode numbers The hard coded inode numbers in proc currently limit its maintainability, its flexibility, and what can be done with the rest of system. /proc limits pid-max to 32768 on 32 bit systems it limits fd-max to 32768 on all systems, and placing the pid in the inode number really gets in the way of implementing subdirectories of per process information. Ever since people started adding to the middle of the file type enumeration we haven't been maintaing the historical inode numbers, all we have really succeeded in doing is keeping the pid in the proc inode number. The pid is already available in the directory name so no information is lost removing it from the inode number. So if something in user space cares if we remove the inode number from the /proc inode it is almost certainly broken. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 444ceed8d186631fdded5e3f24dc20b93d0d3fda Author: Eric W. Biederman Date: Mon Oct 2 02:18:49 2006 -0700 [PATCH] proc: Factor out an instantiate method from every lookup method To remove the hard coded proc inode numbers it is necessary to be able to create the proc inodes during readdir. The instantiate methods are the subset of lookup that is needed to accomplish that. This first step just splits the lookup methods into 2 functions. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 801199ce805a2412bbcd9bfe213092ec656013dd Author: Eric W. Biederman Date: Mon Oct 2 02:18:48 2006 -0700 [PATCH] proc: Make the generation of the self symlink table driven This patch generalizes the concept of files in /proc that are related to processes but live in the root directory of /proc Ideally this would reuse infrastructure from the rest of the process specific parts of proc but unfortunately security_task_to_inode must not be called on files that are not strictly per process. security_task_to_inode really needs to be reexamined as the security label can change in important places that we are not currently catching, but I'm not certain that simplifies this problem. By at least matching the structure of the rest of proc we get more idiom reuse and it becomes easier to spot problems in the way things are put together. Later things like /proc/mounts are likely to be moved into proc_base as well. If union mounts are ever supported we may be able to make /proc a union mount, and properly split it into 2 filesystems. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5f2420a063fcc5a4cd6610c3ef6934827853001 Author: Haavard Skinnemoen Date: Mon Oct 2 02:18:46 2006 -0700 [PATCH] AVR32: Implement kernel_execve Move execve() into arch/avr32/kernel/sys_avr32.c, rename it to kernel_execve() and return the syscall return value directly without setting errno. This also gets rid of the __KERNEL_SYSCALLS__ stuff from unistd.h and expands #ifdef __KERNEL__ to cover everything in unistd.h except the __NR_foo definitions. Signed-off-by: Haavard Skinnemoen Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 135ab6ec8fdad6f61aabe53f456821baf4a4aa0e Author: Arnd Bergmann Date: Mon Oct 2 02:18:44 2006 -0700 [PATCH] remove remaining errno and __KERNEL_SYSCALLS__ references The last in-kernel user of errno is gone, so we should remove the definition and everything referring to it. This also removes the now-unused lib/execve.c file that was introduced earlier. Also remove every trace of __KERNEL_SYSCALLS__ that still remained in the kernel. Signed-off-by: Arnd Bergmann 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" Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 821278a75d270048e291fcbec9304439a176ba88 Author: Arnd Bergmann Date: Mon Oct 2 02:18:41 2006 -0700 [PATCH] sh64: remove the use of kernel syscalls sh64 is using system call macros to call some functions from the kernel. The old debug code can simply be removed, since we don't really have that much of a need for it anymore, it was mostly something that was handy during the initial bringup. This also brings us closer to something that looks like readable code again.. I also added a sane kernel_thread() implementation that gets away from this, so that should take care of sh64 at least. Signed-off-by: Paul Mundt Signed-off-by: Arnd Bergmann 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: Kazumoto Kojima Cc: Richard Curnow Cc: William Lee Irwin III Cc: "David S. Miller" Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Miles Bader Cc: Chris Zankel Cc: "Luck, Tony" Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f4c6bc1f369f20807a8e753c2308d1629478c61 Author: Arnd Bergmann Date: Mon Oct 2 02:18:37 2006 -0700 [PATCH] Remove the use of _syscallX macros in UML User mode linux uses _syscallX() to call into the host kernel. The recommended way to do this is to use the syscall() function from libc. Signed-off-by: Arnd Bergmann 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" Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe74290d51bc08e9b90ed7c145d74a22cd50b90e Author: Arnd Bergmann Date: Mon Oct 2 02:18:34 2006 -0700 [PATCH] provide kernel_execve on all architectures This adds the new kernel_execve function on all architectures that were using _syscall3() to implement execve. The implementation uses code from the _syscall3 macros provided in the unistd.h header file. I don't have cross-compilers for any of these architectures, so the patch is untested with the exception of i386. Most architectures can probably implement this in a nicer way in assembly or by combining it with the sys_execve implementation itself, but this should do it for now. [bunk@stusta.de: m68knommu build fix] [markh@osdl.org: build fix] [bero@arklinux.org: build fix] [ralf@linux-mips.org: mips fix] [schwidefsky@de.ibm.com: s390 fix] Signed-off-by: Arnd Bergmann 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" Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Ralf Baechle Signed-off-by: Bernhard Rosenkraenzer Signed-off-by: Mark Haverkamp Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3db03b4afb3ecd66a0399b8ba57742ca953b0ecd Author: Arnd Bergmann Date: Mon Oct 2 02:18:31 2006 -0700 [PATCH] rename the provided execve functions to kernel_execve Some architectures provide an execve function that does not set errno, but instead returns the result code directly. Rename these to kernel_execve to get the right semantics there. Moreover, there is no reasone for any of these architectures to still provide __KERNEL_SYSCALLS__ or _syscallN macros, so remove these right away. [akpm@osdl.org: build fix] [bunk@stusta.de: build fix] Signed-off-by: Arnd Bergmann Cc: Andi Kleen Acked-by: 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" Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Adrian Bunk Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6760856791c6e527da678021ee6a67896549d4da Author: Arnd Bergmann Date: Mon Oct 2 02:18:26 2006 -0700 [PATCH] introduce kernel_execve The use of execve() in the kernel is dubious, since it relies on the __KERNEL_SYSCALLS__ mechanism that stores the result in a global errno variable. As a first step of getting rid of this, change all users to a global kernel_execve function that returns a proper error code. This function is a terrible hack, and a later patch removes it again after the kernel syscalls are gone. Signed-off-by: Arnd Bergmann 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" Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2453a3062d36f39f01302f9f1ad18e7a0c54fe38 Author: Matt Helsley Date: Mon Oct 2 02:18:25 2006 -0700 [PATCH] ipc: replace kmalloc and memset in get_undo_list with kzalloc Simplify get_undo_list() by dropping the unnecessary cast, removing the size variable, and switching to kzalloc() instead of a kmalloc() followed by a memset(). This cleanup was split then modified from Jes Sorenson's Task Notifiers patches. Signed-off-by: Matt Helsley Cc: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d124e99c2fee1c8f3020ecb0dff8d5617ee7991 Author: Pavel Date: Mon Oct 2 02:18:24 2006 -0700 [PATCH] nsproxy cloning error path fix This patch fixes copy_namespaces()'s error path. when new nsproxy (new_ns) is created pointers to namespaces (ipc, uts) are copied from the old nsproxy. Later in copy_utsname, copy_ipcs, etc. according namespaces are get-ed. On error path needed namespaces are put-ed, so there's no need to put new nsproxy itelf as it woud cause putting namespaces for the second time. Found when incorporating namespaces into OpenVZ kernel. Signed-off-by: Pavel Emelianov Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcfbd547b1209aae9d880fe5db33464413925cc8 Author: Kirill Korotaev Date: Mon Oct 2 02:18:23 2006 -0700 [PATCH] IPC namespace - sysctls Sysctl tweaks for IPC namespace Signed-off-by: Pavel Emelianiov Signed-off-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e9823111bdc76127b17fc70dc57f584fd7dd34c Author: Kirill Korotaev Date: Mon Oct 2 02:18:22 2006 -0700 [PATCH] IPC namespace - shm IPC namespace support for IPC shm code. Signed-off-by: Pavel Emelianiov Signed-off-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e38935341a3105471848220b5750e1ea8722d197 Author: Kirill Korotaev Date: Mon Oct 2 02:18:22 2006 -0700 [PATCH] IPC namespace - sem IPC namespace support for IPC sem code. Signed-off-by: Pavel Emelianiov Signed-off-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e78693738b71da037d0df340f38e919e8227c2b Author: Kirill Korotaev Date: Mon Oct 2 02:18:21 2006 -0700 [PATCH] IPC namespace - msg IPC namespace support for IPC msg code. Signed-off-by: Pavel Emelianiov Signed-off-by: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73ea41302bab5e02c9e86ab15c509494a550f1db Author: Kirill Korotaev Date: Mon Oct 2 02:18:20 2006 -0700 [PATCH] IPC namespace - utils This patch adds basic IPC namespace functionality to IPC utils: - init_ipc_ns - copy/clone/unshare/free IPC ns - /proc preparations Signed-off-by: Pavel Emelianov Signed-off-by: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25b21cb2f6d69b0475b134e0a3e8e269137270fa Author: Kirill Korotaev Date: Mon Oct 2 02:18:19 2006 -0700 [PATCH] IPC namespace core This patch set allows to unshare IPCs and have a private set of IPC objects (sem, shm, msg) inside namespace. Basically, it is another building block of containers functionality. This patch implements core IPC namespace changes: - ipc_namespace structure - new config option CONFIG_IPC_NS - adds CLONE_NEWIPC flag - unshare support [clg@fr.ibm.com: small fix for unshare of ipc namespace] [akpm@osdl.org: build fix] Signed-off-by: Pavel Emelianov Signed-off-by: Kirill Korotaev Signed-off-by: Cedric Le Goater Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0b2fc316599d6cd875b6b8cafa67f03b9512b4d Author: Serge Hallyn Date: Mon Oct 2 02:18:18 2006 -0700 [PATCH] uts: copy nsproxy only when needed The nsproxy was being copied in unshare() when anything was being unshared, even if it was something not referenced from nsproxy. This should end up in some cases with far more memory usage than necessary. Signed-off-by: Serge Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 071df104f808b8195c40643dcb4d060681742e29 Author: Serge E. Hallyn Date: Mon Oct 2 02:18:17 2006 -0700 [PATCH] namespaces: utsname: implement CLONE_NEWUTS flag Implement a CLONE_NEWUTS flag, and use it at clone and sys_unshare. [clg@fr.ibm.com: IPC unshare fix] [bunk@stusta.de: cleanup] Signed-off-by: Serge Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Adrian Bunk Signed-off-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf47fdcda65b44dbd674eeedcaa06e0aa28a5a00 Author: Serge E. Hallyn Date: Mon Oct 2 02:18:16 2006 -0700 [PATCH] namespaces: utsname: remove system_utsname The system_utsname isn't needed now that kernel/sysctl.c is fixed. Nuke it. Signed-off-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8218c74c02a7bdb5db2e40a2100534bdeb83475b Author: Serge E. Hallyn Date: Mon Oct 2 02:18:15 2006 -0700 [PATCH] namespaces: utsname: sysctl Sysctl uts patch. This will need to be done another way, but since sysctl itself needs to be container aware, 'the right thing' is a separate patchset. [akpm@osdl.org: ia64 build fix] [sam.vilain@catalyst.net.nz: cleanup] [sam.vilain@catalyst.net.nz: add proc_do_utsns_string] Signed-off-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4865ecf1315b450ab3317a745a6678c04d311e40 Author: Serge E. Hallyn Date: Mon Oct 2 02:18:14 2006 -0700 [PATCH] namespaces: utsname: implement utsname namespaces This patch defines the uts namespace and some manipulators. Adds the uts namespace to task_struct, and initializes a system-wide init namespace. It leaves a #define for system_utsname so sysctl will compile. This define will be removed in a separate patch. [akpm@osdl.org: build fix, cleanup] Signed-off-by: Serge Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96b644bdec977b97a45133e5b4466ba47a7a5e65 Author: Serge E. Hallyn Date: Mon Oct 2 02:18:13 2006 -0700 [PATCH] namespaces: utsname: use init_utsname when appropriate In some places, particularly drivers and __init code, the init utsns is the appropriate one to use. This patch replaces those with a the init_utsname helper. Changes: Removed several uses of init_utsname(). Hope I picked all the right ones in net/ipv4/ipconfig.c. These are now changed to utsname() (the per-process namespace utsname) in the previous patch (2/7) [akpm@osdl.org: CIFS fix] Signed-off-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Cc: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9ff3990f08e9a0c2839cc22808b01732ea5b3e4 Author: Serge E. Hallyn Date: Mon Oct 2 02:18:11 2006 -0700 [PATCH] namespaces: utsname: switch to using uts namespaces Replace references to system_utsname to the per-process uts namespace where appropriate. This includes things like uname. Changes: Per Eric Biederman's comments, use the per-process uts namespace for ELF_PLATFORM, sunrpc, and parts of net/ipv4/ipconfig.c [jdike@addtoit.com: UML fix] [clg@fr.ibm.com: cleanup] [akpm@osdl.org: build fix] Signed-off-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Cedric Le Goater Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bdd7aab7f0ecd5d337910816aa058c18398628e Author: Serge E. Hallyn Date: Mon Oct 2 02:18:10 2006 -0700 [PATCH] namespaces: utsname: introduce temporary helpers Define utsname() and init_utsname() which return &system_utsname. Users of system_utsname will be changed to use these helpers, after which system_utsname will disappear. Signed-off-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fab413a334a7b3dd2688c5cd5d4718476e430ea4 Author: Cedric Le Goater Date: Mon Oct 2 02:18:09 2006 -0700 [PATCH] namespaces: exit_task_namespaces() invalidates nsproxy exit_task_namespaces() has replaced the former exit_namespace(). It invalidates task->nsproxy and associated namespaces. This is an issue for the (futur) pid namespace which is required to be valid in exit_notify(). This patch moves exit_task_namespaces() after exit_notify() to keep nsproxy valid. Signed-off-by: Cedric Le Goater Cc: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1651e14e28a2d9f446018ef522882e0709a2ce4f Author: Serge E. Hallyn Date: Mon Oct 2 02:18:08 2006 -0700 [PATCH] namespaces: incorporate fs namespace into nsproxy This moves the mount namespace into the nsproxy. The mount namespace count now refers to the number of nsproxies point to it, rather than the number of tasks. As a result, the unshare_namespace() function in kernel/fork.c no longer checks whether it is being shared. Signed-off-by: Serge Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0437eb594e6e5e699248f865482e61034be846d0 Author: Serge E. Hallyn Date: Mon Oct 2 02:18:07 2006 -0700 [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c Move the init_nsproxy definition out of arch/ into kernel/nsproxy.c. This avoids all arches having to be updated. Compiles and boots on s390. Signed-off-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab516013ad9ca47f1d3a936fa81303bfbf734d52 Author: Serge E. Hallyn Date: Mon Oct 2 02:18:06 2006 -0700 [PATCH] namespaces: add nsproxy This patch adds a nsproxy structure to the task struct. Later patches will move the fs namespace pointer into this structure, and introduce a new utsname namespace into the nsproxy. The vserver and openvz functionality, then, would be implemented in large part by virtualizing/isolating more and more resources into namespaces, each contained in the nsproxy. [akpm@osdl.org: build fix] Signed-off-by: Serge Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1ba4ddde0cf67991d89f039365eaaeda61aa027 Author: Adrian Bunk Date: Mon Oct 2 02:18:05 2006 -0700 [PATCH] make kernel/sysctl.c:_proc_do_string() static This patch makes the needlessly global _proc_do_string() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5dd3d6fadf98a53b35d20427ca198fda42f1251 Author: Sam Vilain Date: Mon Oct 2 02:18:04 2006 -0700 [PATCH] proc: sysctl: add _proc_do_string helper The logic in proc_do_string is worth re-using without passing in a ctl_table structure (say, we want to calculate a pointer and pass that in instead); pass in the two fields it uses from that structure as explicit arguments. Signed-off-by: Sam Vilain Cc: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12fd352038c037ba3a7071a2ca8597c55114abc3 Author: Peter Zijlstra Date: Mon Oct 2 02:18:03 2006 -0700 [PATCH] nfsd: lockdep annotation while doing a kernel make modules_install install over an NFS mount. ============================================= [ INFO: possible recursive locking detected ] --------------------------------------------- nfsd/9550 is trying to acquire lock: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f but task is already holding lock: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f other info that might help us debug this: 2 locks held by nfsd/9550: #0: (hash_sem){..--}, at: [] exp_readlock+0xd/0xf [nfsd] #1: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f stack backtrace: [] show_trace_log_lvl+0x58/0x152 [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] __lock_acquire+0x77a/0x9a3 [] lock_acquire+0x60/0x80 [] __mutex_lock_slowpath+0xa7/0x20e [] mutex_lock+0x1c/0x1f [] vfs_unlink+0x34/0x8a [] nfsd_unlink+0x18f/0x1e2 [nfsd] [] nfsd3_proc_remove+0x95/0xa2 [nfsd] [] nfsd_dispatch+0xc0/0x178 [nfsd] [] svc_process+0x3a5/0x5ed [] nfsd+0x1a7/0x305 [nfsd] [] kernel_thread_helper+0x5/0xb DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb Leftover inexact backtrace: [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] __lock_acquire+0x77a/0x9a3 [] lock_acquire+0x60/0x80 [] __mutex_lock_slowpath+0xa7/0x20e [] mutex_lock+0x1c/0x1f [] vfs_unlink+0x34/0x8a [] nfsd_unlink+0x18f/0x1e2 [nfsd] [] nfsd3_proc_remove+0x95/0xa2 [nfsd] [] nfsd_dispatch+0xc0/0x178 [nfsd] [] svc_process+0x3a5/0x5ed [] nfsd+0x1a7/0x305 [nfsd] [] kernel_thread_helper+0x5/0xb ============================================= [ INFO: possible recursive locking detected ] --------------------------------------------- nfsd/9580 is trying to acquire lock: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f but task is already holding lock: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f other info that might help us debug this: 2 locks held by nfsd/9580: #0: (hash_sem){..--}, at: [] exp_readlock+0xd/0xf [nfsd] #1: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f stack backtrace: [] show_trace_log_lvl+0x58/0x152 [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] __lock_acquire+0x77a/0x9a3 [] lock_acquire+0x60/0x80 [] __mutex_lock_slowpath+0xa7/0x20e [] mutex_lock+0x1c/0x1f [] nfsd_setattr+0x2c8/0x499 [nfsd] [] nfsd_create_v3+0x31b/0x4ac [nfsd] [] nfsd3_proc_create+0x128/0x138 [nfsd] [] nfsd_dispatch+0xc0/0x178 [nfsd] [] svc_process+0x3a5/0x5ed [] nfsd+0x1a7/0x305 [nfsd] [] kernel_thread_helper+0x5/0xb DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb Leftover inexact backtrace: [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] __lock_acquire+0x77a/0x9a3 [] lock_acquire+0x60/0x80 [] __mutex_lock_slowpath+0xa7/0x20e [] mutex_lock+0x1c/0x1f [] nfsd_setattr+0x2c8/0x499 [nfsd] [] nfsd_create_v3+0x31b/0x4ac [nfsd] [] nfsd3_proc_create+0x128/0x138 [nfsd] [] nfsd_dispatch+0xc0/0x178 [nfsd] [] svc_process+0x3a5/0x5ed [] nfsd+0x1a7/0x305 [nfsd] [] kernel_thread_helper+0x5/0xb Signed-off-by: Peter Zijlstra Cc: Neil Brown Cc: Ingo Molnar Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eed2965af1bae30f746e936d80ad4fabb9e208c8 Author: Greg Banks Date: Mon Oct 2 02:18:02 2006 -0700 [PATCH] knfsd: allow admin to set nthreads per node Add /proc/fs/nfsd/pool_threads which allows the sysadmin (or a userspace daemon) to read and change the number of nfsd threads in each pool. The format is a list of space-separated integers, one per pool. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfd241600a3b0db4fe43c859f1460d0a958d924a Author: Greg Banks Date: Mon Oct 2 02:18:01 2006 -0700 [PATCH] knfsd: make rpc threads pools numa aware Actually implement multiple pools. On NUMA machines, allocate a svc_pool per NUMA node; on SMP a svc_pool per CPU; otherwise a single global pool. Enqueue sockets on the svc_pool corresponding to the CPU on which the socket bh is run (i.e. the NIC interrupt CPU). Threads have their cpu mask set to limit them to the CPUs in the svc_pool that owns them. This is the patch that allows an Altix to scale NFS traffic linearly beyond 4 CPUs and 4 NICs. Incorporates changes and feedback from Neil Brown, Trond Myklebust, and Christoph Hellwig. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eec09661dc82e90a31051d045a94026a91aceb82 Author: Greg Banks Date: Mon Oct 2 02:18:00 2006 -0700 [PATCH] knfsd: use svc_set_num_threads to manage threads in knfsd Replace the existing list of all nfsd threads with new code using svc_create_pooled(). Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a74554429eada89a7ddb47317e6a2968d03e41a2 Author: Greg Banks Date: Mon Oct 2 02:17:59 2006 -0700 [PATCH] knfsd: add svc_set_num_threads Currently knfsd keeps its own list of all nfsd threads in nfssvc.c; add a new way of managing the list of all threads in a svc_serv. Add svc_create_pooled() to allow creation of a svc_serv whose threads are managed by the sunrpc code. Add svc_set_num_threads() to manage the number of threads in a service, either per-pool or globally across the service. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a24ab5749a31aa10ee60d9310ad72f24d7c38ab Author: Greg Banks Date: Mon Oct 2 02:17:58 2006 -0700 [PATCH] knfsd: add svc_get add svc_get() for those occasions when we need to temporarily bump up svc_serv->sv_nrthreads as a pseudo refcount. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3262c816a3d7fb1eaabce633caa317887ed549ae Author: Greg Banks Date: Mon Oct 2 02:17:58 2006 -0700 [PATCH] knfsd: split svc_serv into pools Split out the list of idle threads and pending sockets from svc_serv into a new svc_pool structure, and allocate a fixed number (in this patch, 1) of pools per svc_serv. The new structure contains a lock which takes over several of the duties of svc_serv->sv_lock, which is now relegated to protecting only sv_tempsocks, sv_permsocks, and sv_tmpcnt in svc_serv. The point is to move the hottest fields out of svc_serv and into svc_pool, allowing a following patch to arrange for a svc_pool per NUMA node or per CPU. This is a major step towards making the NFS server NUMA-friendly. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c081a0c7cfe42adf8e8b9c2b8d0b2ec7f47603e8 Author: Greg Banks Date: Mon Oct 2 02:17:57 2006 -0700 [PATCH] knfsd: test and set SK_BUSY atomically The SK_BUSY bit in svc_sock->sk_flags ensures that we do not attempt to enqueue a socket twice. Currently, setting and clearing the bit is protected by svc_serv->sv_lock. As I intend to reduce the data that the lock protects so it's not held when svc_sock_enqueue() tests and sets SK_BUSY, that test and set needs to be atomic. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5685f0fa1c24b138d041ef129ed419c5effa40e1 Author: Greg Banks Date: Mon Oct 2 02:17:56 2006 -0700 [PATCH] knfsd: convert sk_reserved to atomic_t Convert the svc_sock->sk_reserved variable from an int protected by svc_serv->sv_lock, to an atomic. This reduces (by 1) the number of places we need to take the (effectively global) svc_serv->sv_lock. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a68d952af5f43032012d26dd0d5164c9e9986bc Author: Greg Banks Date: Mon Oct 2 02:17:55 2006 -0700 [PATCH] knfsd: use new lock for svc_sock deferred list Protect the svc_sock->sk_deferred list with a new lock svc_sock->sk_defer_lock instead of svc_serv->sv_lock. Using the more fine-grained lock reduces the number of places we need to take the svc_serv lock. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c45c357d7dbc9e94338f44349e0035149da86b26 Author: Greg Banks Date: Mon Oct 2 02:17:54 2006 -0700 [PATCH] knfsd: convert sk_inuse to atomic_t Convert the svc_sock->sk_inuse counter from an int protected by svc_serv->sv_lock, to an atomic. This reduces the number of places we need to take the (effectively global) svc_serv->sv_lock. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36bdfc8bae51339aa27ef8e4ce148185293061ae Author: Greg Banks Date: Mon Oct 2 02:17:54 2006 -0700 [PATCH] knfsd: move tempsock aging to a timer Following are 11 patches from Greg Banks which combine to make knfsd more Numa-aware. They reduce hitting on 'global' data structures, and create some data-structures that can be node-local. knfsd threads are bound to a particular node, and the thread to handle a new request is chosen from the threads that are attach to the node that received the interrupt. The distribution of threads across nodes can be controlled by a new file in the 'nfsd' filesystem, though the default approach of an even spread is probably fine for most sites. Some (old) numbers that show the efficacy of these patches: N == number of NICs == number of CPUs == nmber of clients. Number of NUMA nodes == N/2 N Throughput, MiB/s CPU usage, % (max=N*100) Before After Before After --- ------ ---- ----- ----- 4 312 435 350 228 6 500 656 501 418 8 562 804 690 589 This patch: Move the aging of RPC/TCP connection sockets from the main svc_recv() loop to a timer which uses a mark-and-sweep algorithm every 6 minutes. This reduces the amount of work that needs to be done in the main RPC loop and the length of time we need to hold the (effectively global) svc_serv->sv_lock. [akpm@osdl.org: cleanup] Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a3ae42dc312dbdffee803efaf393421b79f997a Author: NeilBrown Date: Mon Oct 2 02:17:53 2006 -0700 [PATCH] knfsd: Correctly handle error condition from lockd_up If lockd_up fails - what should we expect? Do we have to later call lockd_down? Well the nfs client thinks "no", the nfs server thinks "yes". lockd thinks "yes". The only answer that really makes sense is "no" !! So: Make lockd_up only increment nlmsvc_users on success. Make nfsd handle errors from lockd_up properly. Make sure lockd_up(0) never fails when lockd is running so that the 'reclaimer' call to lockd_up doesn't need to be error checked. Cc: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee Author: NeilBrown Date: Mon Oct 2 02:17:52 2006 -0700 [PATCH] knfsd: Move makesock failed warning into make_socks. Thus it is printed for any path that leads to failure (make_socks is called from two places). Cc: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dfb4210535303bb4c2e0ff1c4fdd4dfe9b93472 Author: NeilBrown Date: Mon Oct 2 02:17:51 2006 -0700 [PATCH] knfsd: Check return value of lockd_up in write_ports We should be checking the return value of lockd_up when adding a new socket to nfsd. So move the lockd_up before the svc_addsock and check the return value. The move is because lockd_down is easy, but there is no easy way to remove a recently added socket. Cc: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fb2b47fa16c81317ec282248e6cff521cca31c2 Author: NeilBrown Date: Mon Oct 2 02:17:50 2006 -0700 [PATCH] knfsd: Drop 'serv' option to svc_recv and svc_process It isn't needed as it is available in rqstp->rq_server, and dropping it allows some local vars to be dropped. [akpm@osdl.org: build fix] Cc: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 896440d560de3bca6813e83792f431edf5073318 Author: Josh Triplett Date: Mon Oct 2 02:17:50 2006 -0700 [PATCH] nfsd: add lock annotations to e_start and e_stop e_start acquires svc_export_cache.hash_lock, and e_stop releases it. Add lock annotations to these two functions so that sparse can check callers for lock pairing, and so that sparse will not complain about these functions since they intentionally use locks in this manner. Signed-off-by: Josh Triplett Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc6f02e516b487ada46823fb05f237a0ef705f92 Author: Greg Banks Date: Mon Oct 2 02:17:49 2006 -0700 [PATCH] knfsd: Use SEQ_START_TOKEN instead of hardcoded magic (void*)1 Signed-off-by: Greg Banks Acked-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b41b66d63c730cc45a1024e1f1e67439e507e40f Author: NeilBrown Date: Mon Oct 2 02:17:48 2006 -0700 [PATCH] knfsd: allow sockets to be passed to nfsd via 'portlist' Userspace should create and bind a socket (but not connectted) and write the 'fd' to portlist. This will cause the nfs server to listen on that socket. To close a socket, the name of the socket - as read from 'portlist' can be written to 'portlist' with a preceding '-'. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80212d59e32a8a8e030c2ddc5861d8ff70542c56 Author: NeilBrown Date: Mon Oct 2 02:17:47 2006 -0700 [PATCH] knfsd: define new nfsdfs file: portlist - contains list of ports This file will list all ports that nfsd has open. Default when TCP enabled will be ipv4 udp 0.0.0.0 2049 ipv4 tcp 0.0.0.0 2049 Later, the list of ports will be settable. 'portlist' chosen rather than 'ports', to avoid unnecessary confusion with non-mainline patches which created 'ports' with different semantics. [akpm@osdl.org: cleanups, build fix] Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a375f0ac4bc2e9b767fabb6b2f9915547226a7 Author: NeilBrown Date: Mon Oct 2 02:17:46 2006 -0700 [PATCH] knfsd: separate out some parts of nfsd_svc, which start nfs servers Separate out the code for creating a new service, and for creating initial sockets. Some of these new functions will have multiple callers soon. [akpm@osdl.org: cleanups] Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6658d3a7bbfd1768a7b599def47939417f0ee8ef Author: NeilBrown Date: Mon Oct 2 02:17:46 2006 -0700 [PATCH] knfsd: remove nfsd_versbits as intermediate storage for desired versions We have an array 'nfsd_version' which lists the available versions of nfsd, and 'nfsd_versions' (poor choice there :-() which lists the currently active versions. Then we have a bitmap - nfsd_versbits which says which versions are wanted. The bits in this bitset cause content to be copied from nfsd_version to nfsd_versions when nfsd starts. This patch removes nfsd_versbits and moves information directly from nfsd_version to nfsd_versions when requests for version changes arrive. Note that this doesn't make it possible to change versions while the server is running. This is because serv->sv_xdrsize is calculated when a service is created, and used when threads are created, and xdrsize depends on the active versions. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24e36663c375df577d2dcae437713481ffd6850c Author: NeilBrown Date: Mon Oct 2 02:17:45 2006 -0700 [PATCH] knfsd: be more selective in which sockets lockd listens on Currently lockd listens on UDP always, and TCP if CONFIG_NFSD_TCP is set. However as lockd performs services of the client as well, this is a problem. If CONFIG_NfSD_TCP is not set, and a tcp mount is used, the server will not be able to call back to lockd. So: - add an option to lockd_up saying which protocol is needed - Always open sockets for which an explicit port was given, otherwise only open a socket of the type required - Change nfsd to do one lockd_up per socket rather than one per thread. This - removes the dependancy on CONFIG_NFSD_TCP - means that lockd may open sockets other than at startup - means that lockd will *not* listen on UDP if the only mounts are TCP mount (and nfsd hasn't started). The latter is the only one that concerns me at all - I don't know if this might be a problem with some servers. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc591ccff27e6a85d3a0d6fcb16cfadcc45267a8 Author: NeilBrown Date: Mon Oct 2 02:17:44 2006 -0700 [PATCH] knfsd: add a callback for when last rpc thread finishes nfsd has some cleanup that it wants to do when the last thread exits, and there will shortly be some more. So collect this all into one place and define a callback for an rpc service to call when the service is about to be destroyed. [akpm@osdl.org: cleanups, build fix] Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40f10522173c34e56cb9bf2fd37c62f69a427f1b Author: Greg Banks Date: Mon Oct 2 02:17:43 2006 -0700 [PATCH] knfsd: remove an unused variable from auth_unix_lookup() Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b06c7b43335788a62f77a9be9cc8eb479a929853 Author: Greg Banks Date: Mon Oct 2 02:17:42 2006 -0700 [PATCH] knfsd: remove an unused variable from e_show() Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e3b480096568d58d931df6104ef7ca80757efd3 Author: Greg Banks Date: Mon Oct 2 02:17:41 2006 -0700 [PATCH] knfsd: add some missing newlines in printks Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a406c3664e171ca8f20dfb339074b26eb2674ac0 Author: Greg Banks Date: Mon Oct 2 02:17:41 2006 -0700 [PATCH] cpumask: export node_to_cpu_mask consistently cpumask: ensure that node_to_cpumask() is available to modules for all supported combinations of architecture and CONFIG_NUMA. Signed-off-by: Greg Banks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e16b38f71322efd8a221f64b6ddc0748d21d2e1a Author: Greg Banks Date: Mon Oct 2 02:17:40 2006 -0700 [PATCH] cpumask: export cpu_online_map and cpu_possible_map consistently cpumask: ensure that the cpu_online_map and cpu_possible_map bitmasks, and hence all the macros in that require them, are available to modules for all supported combinations of architecture and CONFIG_SMP. Signed-off-by: Greg Banks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f532f3861d2c4e5aa7dcd33fb18e9975eb28457 Author: Greg Banks Date: Mon Oct 2 02:17:39 2006 -0700 [PATCH] cpumask: add highest_possible_node_id cpumask: add highest_possible_node_id(), analogous to highest_possible_processor_id(). [pj@sgi.com: fix typo] Signed-off-by: Greg Banks Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca8af486765852302931bb69075871d5564e1e5b Author: Andrew Morton Date: Mon Oct 2 02:17:38 2006 -0700 [PATCH] isdn: work around excessive udelay() As reported in http://bugzilla.kernel.org/show_bug.cgi?id=6970, ISDN can issue excessively-long udelays, which triggers a build-time error on ARM. This is very sucky of ISDN, but I doubt if anyone is going to suddenly fix it. So change the macro to do the microsecond counting itself. Cc: Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd0fbcc27fd72a11dacc3f1a1681ee4dfd256a0b Author: Tilman Schmidt Date: Mon Oct 2 02:17:37 2006 -0700 [PATCH] isdn4linux: Gigaset driver: fix __must_check warning This patch to the Siemens Gigaset driver fixes the compile warning "ignoring return value of 'class_device_create_file', declared with attribute warn_unused_result" appearing with CONFIG_ENABLE_MUST_CHECK=y in release 2.6.18-rc1-mm1. Signed-off-by: Tilman Schmidt Acked-by: Hansjoerg Lipp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bb31b9d5340ed3dfef45d322f59fcf18a0d598b Author: Ankita Garg Date: Mon Oct 2 02:17:36 2006 -0700 [PATCH] Linux Kernel Dump Test Module A simple module to test Linux Kernel Dump mechanism. This module uses jprobes to install/activate pre-defined crash points. At different crash points, various types of crashing scenarios are created like a BUG(), panic(), exception, recursive loop and stack overflow. The user can activate a crash point with specific type by providing parameters at the time of module insertion. Please see the file header for usage information. The module is based on the Linux Kernel Dump Test Tool by Fernando . This module could be merged with mainline. Jprobes is used here so that the context in which crash point is hit, could be maintained. This implements all the crash points as done by LKDTT except the one in the middle of tasklet_action(). Signed-off-by: Ankita Garg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99219a3fbc2dcf2eaa954f7b2ac27299fd7894cd Author: bibo,mao Date: Mon Oct 2 02:17:35 2006 -0700 [PATCH] kretprobe spinlock deadlock patch kprobe_flush_task() possibly calls kfree function during holding kretprobe_lock spinlock, if kfree function is probed by kretprobe that will incur spinlock deadlock. This patch moves kfree function out scope of kretprobe_lock. Signed-off-by: bibo, mao Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2aa85a0ccd90110e76c6375535adc3ae358f971 Author: bibo,mao Date: Mon Oct 2 02:17:34 2006 -0700 [PATCH] disallow kprobes on notifier_call_chain When kprobe is re-entered, the re-entered kprobe kernel path will will call atomic_notifier_call_chain function, if this function is kprobed that will incur numerous kprobe recursive fault. This patch disallows kprobes on atomic_notifier_call_chain function. Signed-off-by: bibo, mao Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62c27be0dd8144e11bd3ed054a0fb890579925f8 Author: bibo,mao Date: Mon Oct 2 02:17:33 2006 -0700 [PATCH] kprobe whitespace cleanup Whitespace is used to indent, this patch cleans up these sentences by kernel coding style. Signed-off-by: bibo, mao Signed-off-by: Ananth N Mavinakayanahalli Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09b18203d772db318ef92f6908c439ee5a35a4f9 Author: Ananth N Mavinakayanahalli Date: Mon Oct 2 02:17:32 2006 -0700 [PATCH] Update Documentation/kprobes.txt Documentation/kprobes.txt updated to reflect: o In-kernel symbol resolution o CONFIG_KALLSYMS dependency o Usage of JPROBE_ENTRY o Addition of regs_return_value() Also update the references list and usage examples to use correct module interfaces. Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Jim Keniston Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3f827cb0fe0660c2eacea2c2f9bdb1f225ff768 Author: Ananth N Mavinakayanahalli Date: Mon Oct 2 02:17:31 2006 -0700 [PATCH] Add regs_return_value() helper Add the regs_return_value() macro to extract the return value in an architecture agnostic manner, given the pt_regs. Other architecture maintainers may want to add similar helpers. Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Anil S Keshavamurthy Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 412998cf6bce78b8dc5f68660e09bf3b4fcbb210 Author: Ananth N Mavinakayanahalli Date: Mon Oct 2 02:17:31 2006 -0700 [PATCH] kprobes: handle symbol resolution when is specified kallsyms_lookup_name() allows for style specification for looking up symbol addresses. Handle the case where the user specifies on powerpc, given that 64-bit powerpc uses function descriptors. Signed-off-by: Anil S Keshavamurthy Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a872d89baae821a0f6e2c1055d4b47650661137 Author: Ananth N Mavinakayanahalli Date: Mon Oct 2 02:17:30 2006 -0700 [PATCH] Kprobes: Make kprobe modules more portable In an effort to make kprobe modules more portable, here is a patch that: o Introduces the "symbol_name" field to struct kprobe. The symbol->address resolution now happens in the kernel in an architecture agnostic manner. 64-bit powerpc users no longer have to specify the ".symbols" o Introduces the "offset" field to struct kprobe to allow a user to specify an offset into a symbol. o The legacy mechanism of specifying the kprobe.addr is still supported. However, if both the kprobe.addr and kprobe.symbol_name are specified, probe registration fails with an -EINVAL. o The symbol resolution code uses kallsyms_lookup_name(). So CONFIG_KPROBES now depends on CONFIG_KALLSYMS o Apparantly kprobe modules were the only legitimate out-of-tree user of the kallsyms_lookup_name() EXPORT. Now that the symbol resolution happens in-kernel, remove the EXPORT as suggested by Christoph Hellwig o Modify tcp_probe.c that uses the kprobe interface so as to make it work on multiple platforms (in its earlier form, the code wouldn't work, say, on powerpc) Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Prasanna S Panchamukhi Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 782237a2418e2561a87c86a4832726931adce737 Author: Cedric Le Goater Date: Mon Oct 2 02:17:28 2006 -0700 [PATCH] s390: update fs3270 to use a struct pid Replaces the pid_t value with a struct pid to avoid pid wrap around problems. Signed-off-by: Cedric Le Goater Cc: Martin Schwidefsky Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2425c08b37244005ff221efe4957d8aaff18609c Author: Eric W. Biederman Date: Mon Oct 2 02:17:28 2006 -0700 [PATCH] usb: fixup usb so it uses struct pid The problem with remembering a user space process by its pid is that it is possible that the process will exit, pid wrap around will occur. Converting to a struct pid avoid that problem, and paves the way for implementing a pid namespace. Also since usb is the only user of kill_proc_info_as_uid rename kill_proc_info_as_uid to kill_pid_info_as_uid and have the new version take a struct pid. Signed-off-by: Eric W. Biederman Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43fa1adb9334bf4585cd53144eb5911488f85bc7 Author: Eric W. Biederman Date: Mon Oct 2 02:17:27 2006 -0700 [PATCH] file: Add locking to f_getown This has been needed for a long time, but now with the advent of a reference counted struct pid there are real consequences for getting this wrong. Someone I think it was Oleg Nesterov pointed out that this construct was missing locking, when I introduced struct pid. After taking time to review the locking construct already present I figured out which lock needs to be taken. The other paths that access f_owner.pid take either the f_owner read or the write lock. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a03fcb730b4fe7da14ca4405f23dbde717b1d2b9 Author: Cedric Le Goater Date: Mon Oct 2 02:17:26 2006 -0700 [PATCH] update mq_notify to use a struct pid Message queues can signal a process waiting for a message. This patch replaces the pid_t value with a struct pid to avoid pid wrap around problems. Signed-off-by: Cedric Le Goater Acked-by: Eric Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f40f50d3bb33b52dfd550ca80be7daaddad21883 Author: Eric W. Biederman Date: Mon Oct 2 02:17:25 2006 -0700 [PATCH] Use struct pspace in next_pidmap and find_ge_pid This updates my proc: readdir race fix (take 3) patch to account for the changes made by: Sukadev Bhattiprolu to introduce struct pspace. Signed-off-by: Eric W. Biederman Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fbc96486459324e182717b03c50c90c880be6ec Author: Sukadev Bhattiprolu Date: Mon Oct 2 02:17:24 2006 -0700 [PATCH] Define struct pspace Define a per-container pid space object. And create one instance of this object, init_pspace, to define the entire pid space. Subsequent patches will provide/use interfaces to create/destroy pid spaces. Its a subset/rework of Eric Biederman's patch http://lkml.org/lkml/2006/2/6/285 . Signed-off-by: Eric Biederman Signed-off-by: Sukadev Bhattiprolu Cc: Dave Hansen Cc: Serge Hallyn Cc: Cedric Le Goater Cc: Kirill Korotaev Cc: Andrey Savochkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa5a6662f93f52605b6c447ba6f7291e92f515c5 Author: Sukadev Bhattiprolu Date: Mon Oct 2 02:17:23 2006 -0700 [PATCH] Move pidmap to pspace.h Move struct pidmap and PIDMAP_ENTRIES to a new file, include/linux/pspace.h where it will be used in subsequent patches to define pid spaces. Its a subset of Eric Biederman's patch http://lkml.org/lkml/2006/2/6/285 [akpm@osdl.org: cleanups] Signed-off-by: Eric W. Biederman Signed-off-by: Sukadev Bhattiprolu Cc: Dave Hansen Cc: Serge Hallyn Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d387cae075b0aec479adbdfb71df39f7de8e9adb Author: Oleg Nesterov Date: Mon Oct 2 02:17:22 2006 -0700 [PATCH] pid: simplify pid iterators I think it is hardly possible to read the current do_each_task_pid(). The new version is much simpler and makes the code smaller. Only the do_each_task_pid change is tested, the do_each_pid_task isn't. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c88be3eb2e01bbb21c9ccdc3805f0d3546c1898c Author: Eric W. Biederman Date: Mon Oct 2 02:17:21 2006 -0700 [PATCH] pids coding style use struct pidmap in next_pidmap Use struct pidmap instead of pidmap_t. This updates my proc: readdir race fix (take 3) patch to account for the changes made by: Sukadev Bhattiprolu to kill pidmap_t. Signed-off-by: Eric W. Biederman Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a1f3b84557774a46af68747c92d8f36382027ae Author: Sukadev Bhattiprolu Date: Mon Oct 2 02:17:20 2006 -0700 [PATCH] pids: coding style: use struct pidmap Use struct pidmap instead of pidmap_t. Its a subset of Eric Biederman's patch http://lkml.org/lkml/2006/2/6/271. Signed-off-by: Eric W. Biederman Signed-off-by: Sukadev Bhattiprolu Cc: Dave Hansen Cc: Serge Hallyn Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b68e31d0ebbcc909d1941f9f230c9d062a3a13d3 Author: Jeff Dike Date: Mon Oct 2 02:17:18 2006 -0700 [PATCH] const struct tty_operations As part of an SMP cleanliness pass over UML, I consted a bunch of structures in order to not have to document their locking. One of these structures was a struct tty_operations. In order to const it in UML without introducing compiler complaints, the declaration of tty_set_operations needs to be changed, and then all of its callers need to be fixed. This patch declares all struct tty_operations in the tree as const. In all cases, they are static and used only as input to tty_set_operations. As an extra check, I ran an i386 allyesconfig build which produced no extra warnings. 53 drivers are affected. I checked the history of a bunch of them, and in most cases, there have been only a handful of maintenance changes in the last six months. serial_core.c was the busiest one that I looked at. Signed-off-by: Jeff Dike Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed97bd37efd8ff7398d3a7eedf4bcbf245f5dad3 Author: Andreas Mohr Date: Mon Oct 2 02:17:17 2006 -0700 [PATCH] fs/inode.c tweaks Only touch inode's i_mtime and i_ctime to make them equal to "now" in case they aren't yet (don't just update timestamp unconditionally). Uninline the hash function to save 259 Bytes. This tiny inode change which may improve cache behaviour also shaves off 8 Bytes from file_update_time() on i386. Included a tiny codestyle cleanup, too. Signed-off-by: Andreas Mohr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07acaf28d21e710bcf1cec91c0cfdb1a7b5e3d65 Author: Alexey Dobriyan Date: Mon Oct 2 02:17:16 2006 -0700 [PATCH] Remove NULL check in register_nls() Everybody passes valid pointer there. Signed-off-by: Alexey Dobriyan Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 609d7fa9565c754428d2520cac2accc9052e1245 Author: Eric W. Biederman Date: Mon Oct 2 02:17:15 2006 -0700 [PATCH] file: modify struct fown_struct to use a struct pid File handles can be requested to send sigio and sigurg to processes. By tracking the destination processes using struct pid instead of pid_t we make the interface safe from all potential pid wrap around problems. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bde0d2c98bcfc9acc83ac79c33a6ac1335b95a92 Author: Eric W. Biederman Date: Mon Oct 2 02:17:14 2006 -0700 [PATCH] vt: Make vt_pid a struct pid (making it pid wrap around safe). I took a good hard look at the locking and it appears the locking on vt_pid is the console semaphore. Every modified path is called under the console semaphore except reset_vc when it is called from fn_SAK or do_SAK both of which appear to be in interrupt context. In addition I need to be careful because in the presence of an oops the console_sem may be arbitrarily dropped. Which leads me to conclude the current locking is inadequate for my needs. Given the weird cases we could hit because of oops printing instead of introducing an extra spin lock to protect the data and keep the pid to signal and the signal to send in sync, I have opted to use xchg on just the struct pid * pointer instead. Due to console_sem we will stay in sync between vt_pid and vt_mode except for a small window during a SAK, or oops handling. SAK handling should kill any user space process that care, and oops handling we are broken anyway. Besides the worst that can happen is that I try to send the wrong signal. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81af8d67d4fc35b1ee6e0feb1f1b34b3a33eeb44 Author: Eric W. Biederman Date: Mon Oct 2 02:17:13 2006 -0700 [PATCH] vt: rework the console spawning variables This is such a rare path it took me a while to figure out how to test this after soring out the locking. This patch does several things. - The variables used are moved into a structure and declared in vt_kern.h - A spinlock is added so we don't have SMP races updating the values. - Instead of raw pid_t value a struct_pid is used to guard against pid wrap around issues, if the daemon to spawn a new console dies. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5feb8f5f8403d8874a04aac443692dfe83bd63d2 Author: Eric W. Biederman Date: Mon Oct 2 02:17:12 2006 -0700 [PATCH] pid: implement pid_nr As we stop storing pid_t's and move to storing struct pid *. We need a way to get the pid_t from the struct pid to report to user space what we have stored. Having a clean well defined way to do this is especially important as we move to multiple pid spaces as may need to report a different value to the caller depending on which pid space the caller is in. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbf73147e2d46611fbdcbc126f887c614c32350b Author: Eric W. Biederman Date: Mon Oct 2 02:17:11 2006 -0700 [PATCH] pid: export the symbols needed to use struct pid * pids aren't something that drivers should care about. However there are a lot of helper layers in the kernel that do care, and are built as modules. Before I can convert them to using struct pid instead of pid_t I need to export the appropriate symbols so they can continue to be built. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4b92fc112f7be5cce308128236ff75cc98535c3 Author: Eric W. Biederman Date: Mon Oct 2 02:17:10 2006 -0700 [PATCH] pid: implement signal functions that take a struct pid * Currently the signal functions all either take a task or a pid_t argument. This patch implements variants that take a struct pid *. After all of the users have been update it is my intention to remove the variants that take a pid_t as using pid_t can be more work (an extra hash table lookup) and difficult to get right in the presence of multiple pid namespaces. There are two kinds of functions introduced in this patch. The are the general use functions kill_pgrp and kill_pid which take a priv argument that is ultimately used to create the appropriate siginfo information, Then there are _kill_pgrp_info, kill_pgrp_info, kill_pid_info the internal implementation helpers that take an explicit siginfo. The distinction is made because filling out an explcit siginfo is tricky, and will be even more tricky when pid namespaces are introduced. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 558cb325485aaf655130f140e8ddd25392f6c972 Author: Eric W. Biederman Date: Mon Oct 2 02:17:09 2006 -0700 [PATCH] pid: add do_each_pid_task To avoid pid rollover confusion the kernel needs to work with struct pid * instead of pid_t. Currently there is not an iterator that walks through all of the tasks of a given pid type starting with a struct pid. This prevents us replacing some pid_t instances with struct pid. So this patch adds do_each_pid_task which walks through the set of task for a given pid type starting with a struct pid. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22c935f47c03399c78e64c71b757eb36fa917ff6 Author: Eric W. Biederman Date: Mon Oct 2 02:17:09 2006 -0700 [PATCH] pid: implement access helpers for a tacks various process groups In the last round of cleaning up the pid hash table a more general struct pid was introduced, that can be referenced counted. With the more general struct pid most if not all places where we store a pid_t we can now store a struct pid * and remove the need for a hash table lookup, and avoid any possible problems with pid roll over. Looking forward to the pid namespaces struct pid * gives us an absolute form a pid so we can compare and use them without caring which pid namespace we are in. This patchset introduces the infrastructure needed to use struct pid instead of pid_t, and then it goes on to convert two different kernel users that currently store a pid_t value. There are a lot more places to go but this is enough to get the basic idea. Before we can merge a pid namespace patch all of the kernel pid_t users need to be examined. Those that deal with user space processes need to be converted to using a struct pid *. Those that deal with kernel processes need to converted to using the kthread api. A rare few that only use their current processes pid values get to be left alone. This patch: task_session returns the struct pid of a tasks session. task_pgrp returns the struct pid of a tasks process group. task_tgid returns the struct pid of a tasks thread group. task_pid returns the struct pid of a tasks process id. These can be used to avoid unnecessary hash table lookups, and to implement safe pid comparisions in the face of a pid namespace. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6c7a1f34e92b0b561024ead9fa70623683025e4 Author: Eric W. Biederman Date: Mon Oct 2 02:17:07 2006 -0700 [PATCH] proc: give the root directory a task Helper functions in base.c like proc_pident_readdir and proc_pident_lookup assume the directories have an associated task, and cannot currently be used on the /proc root directory because it does not have such a task. This small changes allows for base.c to be simplified and later when multiple pid spaces are introduced it makes getting the needed context information trivial. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20cdc894c45d2e4ab0c69e95a56b7c5ed36ae0dd Author: Eric W. Biederman Date: Mon Oct 2 02:17:07 2006 -0700 [PATCH] proc: modify proc_pident_lookup to be completely table driven Currently proc_pident_lookup gets the names and types from a table and then has a huge switch statement to get the inode and file operations it needs. That is silly and is becoming increasingly hard to maintain so I just put all of the information in the table. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28a6d67179da6964d1640d379c5e5d4f46dd0042 Author: Eric W. Biederman Date: Mon Oct 2 02:17:05 2006 -0700 [PATCH] proc: reorder the functions in base.c There were enough changes in my last round of cleaning up proc I had to break up the patch series into smaller chunks, and my last chunk never got resent. This patchset gives proc dynamic inode numbers (the static inode numbers were a pain to maintain and prevent all kinds of things), and removes the horrible switch statements that had to be kept in sync with everything else. Being fully table driver takes us 90% of the way of being able to register new process specific attributes in proc. This patch: Group the functions by what they implement instead of by type of operation. As it existed base.c was quickly approaching the point where it could not be followed. No functionality or code changes asside from adding/removing forward declartions are implemented in this patch. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0804ef4b0de7121261f77c565b20a11ac694e877 Author: Eric W. Biederman Date: Mon Oct 2 02:17:04 2006 -0700 [PATCH] proc: readdir race fix (take 3) The problem: An opendir, readdir, closedir sequence can fail to report process ids that are continually in use throughout the sequence of system calls. For this race to trigger the process that proc_pid_readdir stops at must exit before readdir is called again. This can cause ps to fail to report processes, and it is in violation of posix guarantees and normal application expectations with respect to readdir. Currently there is no way to work around this problem in user space short of providing a gargantuan buffer to user space so the directory read all happens in on system call. This patch implements the normal directory semantics for proc, that guarantee that a directory entry that is neither created nor destroyed while reading the directory entry will be returned. For directory that are either created or destroyed during the readdir you may or may not see them. Furthermore you may seek to a directory offset you have previously seen. These are the guarantee that ext[23] provides and that posix requires, and more importantly that user space expects. Plus it is a simple semantic to implement reliable service. It is just a matter of calling readdir a second time if you are wondering if something new has show up. These better semantics are implemented by scanning through the pids in numerical order and by making the file offset a pid plus a fixed offset. The pid scan happens on the pid bitmap, which when you look at it is remarkably efficient for a brute force algorithm. Given that a typical cache line is 64 bytes and thus covers space for 64*8 == 200 pids. There are only 40 cache lines for the entire 32K pid space. A typical system will have 100 pids or more so this is actually fewer cache lines we have to look at to scan a linked list, and the worst case of having to scan the entire pid bitmap is pretty reasonable. If we need something more efficient we can go to a more efficient data structure for indexing the pids, but for now what we have should be sufficient. In addition this takes no additional locks and is actually less code than what we are doing now. Also another very subtle bug in this area has been fixed. It is possible to catch a task in the middle of de_thread where a thread is assuming the thread of it's thread group leader. This patch carefully handles that case so if we hit it we don't fail to return the pid, that is undergoing the de_thread dance. Thanks to KAMEZAWA Hiroyuki for providing the first fix, pointing this out and working on it. [oleg@tv-sign.ru: fix it] Signed-off-by: Eric W. Biederman Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Oleg Nesterov Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bc2d61a9638dab670d8361e928d1a5a291173ef Author: Randy Dunlap Date: Mon Oct 2 02:17:02 2006 -0700 [PATCH] list module taint flags in Oops/panic When listing loaded modules during an oops or panic, also list each module's Tainted flags if non-zero (P: Proprietary or F: Forced load only). If a module is did not taint the kernel, it is just listed like usbcore but if it did taint the kernel, it is listed like wizmodem(PF) Example: [ 3260.121718] Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: [ 3260.121729] [] :dump_test:proc_dump_test+0x99/0xc8 [ 3260.121742] PGD fe8d067 PUD 264a6067 PMD 0 [ 3260.121748] Oops: 0002 [1] SMP [ 3260.121753] CPU 1 [ 3260.121756] Modules linked in: dump_test(P) snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device ide_cd generic ohci1394 snd_hda_intel snd_hda_codec snd_pcm snd_timer snd ieee1394 snd_page_alloc piix ide_core arcmsr aic79xx scsi_transport_spi usblp [ 3260.121785] Pid: 5556, comm: bash Tainted: P 2.6.18-git10 #1 [Alternatively, I can look into listing tainted flags with 'lsmod', but that won't help in oopsen/panics so much.] [akpm@osdl.org: cleanup] Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a58cbd7c249f3079dd62d6391a33b9f43f2bfbef Author: Dean Nelson Date: Mon Oct 2 02:17:01 2006 -0700 [PATCH] make genpool allocator adhere to kernel-doc standards The exported kernel interfaces of genpool allocator need to adhere to the requirements of kernel-doc. Signed-off-by: Dean Nelson Cc: Steve Wise Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 322acc96d4bd3debea11cd0160b18bd5d7ff0d73 Author: Steve Wise Date: Mon Oct 2 02:17:00 2006 -0700 [PATCH] LIB: add gen_pool_destroy() Modules using the genpool allocator need to be able to destroy the data structure when unloading. Signed-off-by: Steve Wise Cc: Randy Dunlap Cc: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63f83c9fcf40ab61b75edf5d2f2c1ae6bf876482 Author: Dave Kleikamp Date: Mon Oct 2 09:55:27 2006 -0500 JFS: White space cleanup Removed trailing spaces & tabs, and spaces preceding tabs. Also a couple very minor comment cleanups. Signed-off-by: Dave Kleikamp (cherry picked from f74156539964d7b3d5164fdf8848e6a682f75b97 commit) commit 087387f90f577f5a0ab68d33ef326c9bb6d80dda Author: Akinobu Mita Date: Thu Sep 14 09:22:38 2006 -0500 [PATCH] JFS: return correct error when i-node allocation failed I have seen confusing behavior on JFS when I injected many intentional slab allocation errors. The cp command failed with no disk space error with enough disk space. This patch makes: - change the return value in case slab allocation failures happen from -ENOSPC to -ENOMEM - ialloc() return error code so that the caller can know the reason of failures Signed-off-by: Akinobu Mita Signed-off-by: Dave Kleikamp (cherry picked from 2b46f77976f798f3fe800809a1d0ed38763c71c8 commit) commit 2a6968a9784551c216f9379a728d4104dbad98a8 Author: Tony Breeds Date: Mon Sep 11 08:19:19 2006 -0500 JFS: Remove shadow variable from fs/jfs/jfs_txnmgr.c:xtLog() Signed-off-by: Tony Breeds Signed-off-by: Dave Kleikamp (cherry picked from bdc3d9e5af7d9c105be734dd7b5c3f1d9425a15a commit) commit d00223f1693173c7b51f867dd52049955a92d0ed Author: Steven Whitehouse Date: Mon Oct 2 10:28:05 2006 -0400 [GFS2] Fix code style/indent in ops_file.c Fix a couple of minor issues. Signed-off-by: Steven Whitehouse commit 930cc237d67dc62464fe71529631d16f51d7aee3 Author: Andrew Morton Date: Sat Sep 30 23:38:51 2006 -0700 [GFS2] streamline-generic_file_-interfaces-and-filemap gfs fix Fix GFS for streamline-generic_file_-interfaces-and-filemap.patch Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit 9c9eb21eee1790804ce407fd820f65be0b4fdd03 Author: Badari Pulavarty Date: Sat Sep 30 23:38:50 2006 -0700 [GFS2] Remove readv/writev methods and use aio_read/aio_write instead (gfs bits) This patch removes readv() and writev() methods and replaces them with aio_read()/aio_write() methods. Signed-off-by: Badari Pulavarty Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit d14b272bc63f35a8f20b4b1df16c080b8d24f8f1 Author: Richard Purdie Date: Wed Sep 20 22:54:21 2006 +0100 [ARM] 3848/1: pxafb: Add option of fixing video modes and spitz QVGA mode support Add the ability to have pxafb use only certain fixed video modes (selected on a per platform basis). This is useful on production hardware such as the Zaurus cxx00 models where the valid modes are known in advance and any other modes could result in hardware damage. Following this, add support for the cxx00 QVGA mode. Mode information is passed to the lcd_power call to allowing the panel drivers to configure the display hardware accordingly (corgi_lcd already contains the functionality for the cxx00 panel). This mirrors the setup already used by w100fb. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit 5e980823581682d1566e7b5089cf827ddd5f3c94 Author: Li Yang Date: Fri Sep 29 18:15:52 2006 +0800 [POWERPC] Fix rheap alignment problem Honor alignment parameter in the rheap allocator. This is needed by qe_lib. Remove compile warning. Signed-off-by: Pantelis Antoniou Signed-off-by: Li Yang Acked-by: Kumar Galak Signed-off-by: Paul Mackerras commit 07bd1c4a82d1787d6acc32b5e3873cca24f39769 Author: David Woodhouse Date: Wed Sep 27 08:18:55 2006 +0100 [POWERPC] Use check_legacy_ioport() for ISAPnP Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit 61e37ca22b717a9edc3e5e7c7f3603fad464c76d Author: Olaf Hering Date: Tue Sep 26 22:28:36 2006 +0200 [POWERPC] Avoid NULL pointer in gpio1_interrupt gpio1_interrupt() may dereference a NULL pointer if ioremap() fails. But, maybe no gpio interrupt happens in the first place? Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 76a5027c374a638e55de5d8c4485ea0201254870 Author: Amol Lad Date: Mon Oct 2 09:48:23 2006 +0100 [MTD] Cleanup of 'ioremap balanced with iounmap for drivers/mtd subsystem' Updated version of patch, in response to comments from Francois Romieu Remove gratuitous casts from iounmap and initialisation of variables. Signed-off-by: Amol Lad Signed-off-by: David Woodhouse commit 553a8012088b3452c7d66ff60d2d06ad0c9bea00 Author: Frederik Deweerdt Date: Mon Oct 2 09:42:25 2006 +0100 [MTD] fix nftl_write warning Building 2.6.18-mm2 issues the following warning if CONFIG_NFTL_RW is not set: CC [M] drivers/mtd/nftlcore.o drivers/mtd/nftlcore.c:183: warning: 'nftl_write' defined but not used The following patch only compiles nftl_write if CONFIG_NFTL_RW is set. Signed-off-by: Frederik Deweerdt Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit a8ed4f7ec3aa472134d7de6176f823b2667e450b Author: Kim Phillips Date: Tue Sep 26 17:46:51 2006 -0500 [POWERPC] Enable generic rtc hook for the MPC8349 mITX Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 7a69af63e788a324d162201a0b23df41bcf158dd Author: Kim Phillips Date: Tue Sep 26 17:46:37 2006 -0500 [POWERPC] Add powerpc get/set_rtc_time interface to new generic rtc class Add powerpc get/set_rtc_time interface to new generic rtc class. This abstracts rtc chip specific code from the platform code for rtc-over-i2c platforms. Specific RTC chip support is now configured under Device Drivers -> Real Time Clock. Setting time of day from the RTC on startup is also configurable. this time without the potentially platform breaking initcall. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit bb0885900de49b5822d7e8c91c1adf9a0fcc228b Author: Ashutosh Naik Date: Sun Oct 1 22:07:14 2006 -0400 Input: wistron - add support for Acer TravelMate 2424NWXCi The key mappings are the same as the older Acer TravelMate 240. Signed-off-by: Ashutosh Naik Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit cde45f19ca0d2ff1ede01528a7629388d4139309 Author: Reiner Herrmann Date: Sun Oct 1 21:58:51 2006 -0400 Input: wistron - fix setting up special buttons If either wifi or bluetooth button has been detected, the code would break off the loop. But there are laptops that have both types of buttons, so the loop has to continue checking. Signed-off-by: Reiner Herrmann Signed-off-by: Dmitry Torokhov commit 04b314b2c3732bb5aa752fdbb3076de16decdab6 Author: Yoichi Yuasa Date: Sun Oct 1 19:47:08 2006 +0900 [MIPS] Remove unused galileo-boars header files Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b772da30b4b22230c214f37429edcd7ddbf641e1 Author: Yoichi Yuasa Date: Sun Oct 1 19:43:27 2006 +0900 [MIPS] Rename SERIAL_PORT_DEFNS for EV64120 Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 998ec2901aea9f412d2dc3e29a3c20f377793916 Author: Yoichi Yuasa Date: Sun Oct 1 19:35:28 2006 +0900 [MIPS] Add UART IRQ number for EV64120 Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b00f3774f2e073d399ffbd0475337466938e9273 Author: Yoichi Yuasa Date: Fri Sep 29 18:27:07 2006 +0900 [MIPS] Remove excite_flash.c excite_flashtest.c is unused. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit aa400804e0181d9c451b3b4ddba25f0a088e8c13 Author: Yoichi Yuasa Date: Fri Sep 29 18:17:51 2006 +0900 [MIPS] Update i8259 resources. Updated i8259 resources to same as i386. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 1924600cdb3143cdcc32b6fa43325739503659b9 Author: Atsushi Nemoto Date: Fri Sep 29 18:02:51 2006 +0900 [MIPS] Make unwind_stack() can dig into interrupted context If the PC was ret_from_irq or ret_from_exception, there will be no more normal stackframe. Instead of stopping the unwinding, use PC and RA saved by an exception handler to continue unwinding into the interrupted context. This also simplifies the CONFIG_STACKTRACE code. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 23126692e30ec22760e0ef932c3c2fff00d440bb Author: Atsushi Nemoto Date: Thu Sep 28 19:15:33 2006 +0900 [MIPS] Stacktrace build-fix and improvement Fix build error due to stacktrace API change. Now save_stack_trace() tries to save all kernel context, including interrupts and exception. Also some asm code are changed a bit so that we can detect the end of current context easily. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c8cc9618c55a341dda39357cce5ff39f7ad17132 Author: Aurelien Jarno Date: Wed Sep 27 23:07:25 2006 +0200 [MIPS] QEMU: Add support for little endian mips This very small patch adds support for little endian on the virtual QEMU mips platform. The status of this platform is the same as the big endian one, ie it is possible to boot a system with init=/bin/sh. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit c59a0f15be6e586aa0fe1fb5c7f740005c36ec56 Author: Atsushi Nemoto Date: Sat Sep 2 00:43:07 2006 +0900 [MIPS] Remove __flush_icache_page __flash_icache_page is unused, so kill it. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1a6183f2e6f0fa2d1898f0228559df15a89a1ffe Author: Atsushi Nemoto Date: Tue Sep 26 23:44:16 2006 +0900 [MIPS] lockdep: update defconfigs Add those lines to all defconfigs. CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y This is a patch againt linux-mips.org git tree. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1df0f0ff7e56f6dcb1351b9490d55ebf91ff4bd8 Author: Atsushi Nemoto Date: Tue Sep 26 23:44:01 2006 +0900 [MIPS] lockdep: Add STACKTRACE_SUPPORT and enable LOCKDEP_SUPPORT Implement stacktrace interface by using unwind_stack() and enable lockdep support in Kconfig. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit eae6c0da9df81300895949897c0451423340ac40 Author: Atsushi Nemoto Date: Tue Sep 26 23:43:40 2006 +0900 [MIPS] lockdep: fix TRACE_IRQFLAGS_SUPPORT In handle_sys and its variants, we must reload some registers which might be clobbered by trace_hardirqs_on(). Also we must make sure trace_hardirqs_on() called in kernel level (not exception level). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 75fde2eddcfcd1dcc87a72dc6cd3c859420b6148 Author: Matthew Garrett Date: Sun Oct 1 19:27:38 2006 +0100 [SERIAL] add PNP IDs for FPI based touchscreens The Compaq TC1000 and Fujitsu Stylistic range of tablet machines use touchscreens from FPI. These are implemented as serial interfaces, generally exposed in the ACPIPNP information on the system. This patch adds them to the 8250_pnp driver tables, avoiding the need to mess around with setserial to set them up. I haven't been able to confirm what FUJ02B5, FUJ02BA and FUJ02BB are. FUJ02B1 refers to the controller for the system hotkeys. FUJ02BC appears to be the last in the range - after this, they moved to Wacom-based systems. Signed-off-by: Matthew Garrett Signed-off-by: Russell King commit d834c16516d1ebec4766fc58c059bf01311e6045 Author: Linus Torvalds Date: Sun Oct 1 13:17:44 2006 -0700 pccard_store_cis: fix wrong error handling The test for the error from pcmcia_replace_cis() was incorrect, and would always trigger (because if an error didn't happen, the "ret" value would not be zero, it would be the passed-in count). Reported and debugged by Fabrice Bellet Rather than just fix the single broken test, make the code in question use an understandable code-sequence instead, fixing the whole function to be more readable. Signed-off-by: Linus Torvalds commit f70cfa9bef432d7aeb4e35c093ac27fd6f071d7e Author: Mike Christie Date: Sat Sep 30 20:42:31 2006 -0400 [SCSI] scsi_devinfo: scsi2 HP and Hitachi entries When SCSI-2 they can support luns past 7 and sparse luns. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 12427d99489966185dc12a0b6f725d682a3277ca Author: Mike Christie Date: Sat Sep 30 20:42:30 2006 -0400 [SCSI] scsi_devinfo: add nec iStorage support the report luns opcode . Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5f619c5ba509994c9203bfd18f5246b4457e2c22 Author: Mike Christie Date: Sat Sep 30 20:42:29 2006 -0400 [SCSI] scsi_devinfo: add Tornado This is from RHEL4. I do not have any info from our bugzilla. All I could find was something like this thread http://lkml.org/lkml/2005/1/7/346 Report lun for linux does not work. It may be our lun format code or it may be the device. It is probably not worth it to add anything special for this device, so the patch just adds BLIST_NOREPORTLUN. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3441afc672bc9bfc137ae7717ac1db4b9c28cc8b Author: Mike Christie Date: Sat Sep 30 20:42:28 2006 -0400 [SCSI] scsi_devinfo: add EMC Invista This is from RHEL4. This box can support scsi2 and can also support BLIST_SPARSELUN | BLIST_LARGELUN. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 6470f2ba641cf93d357854cdc63a65350352bb97 Author: Arne Redlich Date: Sat Sep 30 15:49:40 2006 +0200 [SCSI] trivial scsi_execute_async fix In scsi_execute_async()'s error path, a struct scsi_io_context allocated with kmem_cache_alloc() is kfree()'d. Obviously kmem_cache_free() should be used instead. Signed-off-by: Arne Redlich Signed-off-by: James Bottomley commit fb4f66be59f3dcc66fda2e681f1fc77b5cc4508d Author: Ed Lin Date: Wed Sep 27 19:23:41 2006 +0800 [SCSI] stex: add new device (id 0x8650) support A new device (id 0x8650, nickname 'yosemite') support is added. It's basically the same, except for following items: - mapping of id and lun by firmware - special handling for some commands in interrupt routine - change of internal copy function for these special commands - different reset handling code - different shutdown notification command Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit f903d7b7a80b7c3103335d506533790a322da87b Author: Ed Lin Date: Wed Sep 27 19:23:33 2006 +0800 [SCSI] stex: cancel unused field in struct req_msg The payload_sz field in struct req_msg is not big enough to indicate the size of req_msg, as its type is u8. It is confirmed that this field is not used by firmware, so cancel it here. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 80c6e3c0b5eb855b69270658318f5ccf04d7b1ff Author: Eric Sesterhenn Date: Tue Sep 26 13:22:13 2006 +0200 [SCSI] fix scsi_device_types overrun in scsi.c this overrun was spotted by coverity (cid #1403). If type == ARRAY_SIZE(scsi_device_types), we are off by one. Signed-off-by: Eric Sesterhenn Signed-off-by: James Bottomley commit 7b75b990e3cb33fd529640d589e77950e72a607c Author: Denis Vlasenko Date: Mon Sep 25 16:57:42 2006 -0700 [SCSI] aic7xxx: fix byte I/O order in ahd_inw Comment says "Read high byte first as some registers increment..." but code doesn't guarantee that, I think: return ((ahd_inb(ahd, port+1) << 8) | ahd_inb(ahd, port)); Compiler can reorder it. Make the order explicit. Signed-off-by: Denis Vlasenko Signed-off-by: Andrew Morton Fixed rejections and added aic7xxx code Signed-off-by: James Bottomley commit d8d64d6b29d331f1217c77999f5104fe68b0ef3a Author: Simon Tatham Date: Mon Sep 25 16:51:28 2006 -0700 [SERIAL] Magic SysRq SAK does nothing on serial consoles Make sysrq-K work on serial console by passing in the tty. Signed-off-by: Andrew Morton Signed-off-by: Russell King commit e480af09c49736848f749a43dff2c902104f6691 Author: Dave Jones Date: Mon Sep 25 16:51:26 2006 -0700 [SERIAL] tickle NMI watchdog on serial output. Serial is _slow_ sometimes. So slow, that the NMI watchdog kicks in. NMI Watchdog detected LOCKUP on CPU2CPU 2 Modules linked in: loop usb_storage md5 ipv6 parport_pc lp parport autofs4 i2c_dev i2c_core rfcomm l2cap bluetooth sunrpc pcdPid: 3138, comm: gpm Not tainted 2.6.11-1.1290_FC4smp RIP: 0010:[] {serial_in+106} RSP: 0018:ffff81003afc3d50 EFLAGS: 00000002 RAX: 0000000000000020 RBX: 0000000000000020 RCX: 0000000000000000 RDX: 00000000000003fd RSI: 0000000000000005 RDI: ffffffff804dcd60 RBP: 00000000000024fc R08: 000000000000000a R09: 0000000000000033 R10: ffff81001beb7c20 R11: 0000000000000020 R12: ffffffff804dcd60 R13: ffffffff804ade76 R14: 000000000000002b R15: 000000000000002c FS: 00002aaaaaac4920(0000) GS:ffffffff804fca00(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00002aaaaabcb000 CR3: 000000003c0d0000 CR4: 00000000000006e0 Process gpm (pid: 3138, threadinfo ffff81003afc2000, task ffff81003eb63780) Stack: ffffffff80275f2e 0000000000000000 ffffffff80448380 0000000000007d6b 000000000000002c fffffffffffffbbf 0000000000000292 0000000000008000 ffffffff80138e8c 0000000000007d97 Call Trace:{serial8250_console_write+270} {__call_console_drivers+76} {release_console_sem+315} {con_open+149} {tty_open+537} {chrdev_open+387} {dentry_open+260} {filp_open+68} {get_unused_fd+227} {sys_open+76} {tracesys+209} Code: 0f b6 c0 c3 66 90 41 57 49 89 f7 41 56 41 be 00 01 00 00 41 console shuts up ... I initially did the patch below a year ago for the Fedora kernel, and have been keeping it up to date since. I recently got the same thing happening on a vanilla kernel, so figured it was time to repost this. Signed-off-by: Dave Jones Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 4e9011d50d77ce7d234272e203235d8ecffd61a1 Author: Andrew Morton Date: Sun Oct 1 02:22:41 2006 -0700 [PATCH] rtc-sysfs fix It's not clear how this thinko got through.. Cc: Olaf Hering Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a292308255ad381dd74541be468c4aec240a615 Author: Jeff Garzik Date: Sun Oct 1 12:16:00 2006 -0400 [MTD] fix printk warning gcc spits out this warning: drivers/mtd/mtd_blkdevs.c: In function ‘do_blktrans_request’: drivers/mtd/mtd_blkdevs.c:72: warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘unsigned int’ This could be fixed any number of ways, including use of BUG(). rq_data_dir() only returns 0 or 1, so this entire case is superfluous. I did the most simple fix. Signed-off-by: Jeff Garzik Signed-off-by: David Woodhouse commit a6b93a908508810c5d51dd9b390283345af6f2d9 Author: Russell King Date: Sun Oct 1 17:17:40 2006 +0100 [SERIAL] Fix oops when removing suspended serial port A serial card might have been removed when the system is resumed. This results in a suspended port being shut down, which results in the ports shutdown method being called twice in a row. This causes BUGs. Avoid this by tracking the suspended state separately from the initialised state. Signed-off-by: Russell King commit fe59d5372ae719ca4550958f1e5bb4dd6eeac9cd Author: Russell King Date: Sun Oct 1 17:14:07 2006 +0100 [SERIAL] Fix resume handling bug Unfortunately, pcmcia_dev_present() returns false when a device is suspended, so checking this on resume does not work too well. Omit this test. Signed-off-by: Russell King commit bcf5111a58c7db968c3fb9cd77e340a5e076f549 Author: Russell King Date: Wed Aug 30 10:27:15 2006 +0100 [SERIAL] Remove wrong asm/serial.h inclusions asm/serial.h is supposed to contain the definitions for the architecture specific 8250 ports for the 8250 driver. It may also define BASE_BAUD, but this is the base baud for the architecture specific ports _only_. Therefore, nothing other than the 8250 driver should be including this header file. In order to move towards this goal, here is a patch which removes some of the more obvious incorrect includes of the file. Acked-by: Paul Fulghum Acked-by: Tony Luck Acked-by: Ralf Baechle Acked-by: David Howells Signed-off-by: Russell King commit 1d5e799663046917a0eb085e716d818af20050b2 Author: Alexey Dobriyan Date: Mon Sep 25 16:51:27 2006 -0700 [SERIAL] CONFIG_PM=n slim: drivers/serial/8250_pci.c Remove some code which is unneeded if CONFIG_PM=n. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 255341c6fded73204b1ee6feb5fe16e125b27f62 Author: Jonathan McDowell Date: Mon Aug 14 23:05:32 2006 -0700 [SERIAL] OMAP1510 serial fix for 115200 baud The patch below is necessary for 115200 baud on an OMAP1510 internal UART. It's been in the linux-omap tree for some time and with it applied to a vanilla Linus git tree the serial console on the Amstrad Delta (which is OMAP1510 based and whose initial bootloader runs at 115200) works fine (it doesn't without it). Signed-off-by: Jonathan McDowell Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 80e3c2b659515ef236f33f691ff5b22ae90ae8e4 Author: Ram Gupta Date: Mon Aug 14 23:05:29 2006 -0700 [SERIAL] returning proper error from serial core driver Fix the issue of returning 0 even in case of error from uart_set_info function. Now it returns the error EBUSY when it can not set new port. Signed-off-by: Ram Gupta Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 6c6a2334a1e8af7c3eaab992732825fa9ade77cf Author: Sergei Shtylyov Date: Mon Sep 4 00:04:20 2006 +0400 [SERIAL] Make uart_line_info() correctly tell MMIO from I/O port /proc/tty/driver/serial incorrectly claims that UARTs having iotype of UPIO_MEM32, UPIO_AU, or UPIO_TSI are I/O mapped. Signed-off-by: Sergei Shtylyov Signed-off-by: Russell King commit a4b775735c0dff5a8d59a877ff0033526b469116 Author: Sergei Shtylyov Date: Mon Sep 11 20:32:58 2006 +0400 [SERIAL] suspend/resume handlers don't have level arg anymore 8250.c and serial_txx9.c port suspend/resume handler still have this obsolete argument documented... Signed-off-by: Sergei Shtylyov Signed-off-by: Russell King commit 0b30d668a20acd2ffd4268f7bbe799b0dd73d5cf Author: Sergei Shtylyov Date: Sat Sep 9 22:23:56 2006 +0400 [SERIAL] 8250 resourse management fixes I think register ranges obviously need to be claimed/released for all UARTs including those with UPIO_MEM32 and UPIO_TSI iotype. Also, serial8250_request_rsa_resources() returns false positives with UPIO_MEM32, UPIO_AU, and UPIO_TSI iotype -- I don't think this makes any sense. Signed-off-by: Sergei Shtylyov Signed-off-by: Russell King commit f3d106881b06a423455f95916e666acebe6503f2 Author: Russell King Date: Sat Sep 16 23:07:46 2006 +0100 [SERIAL] serial_cs: Add quirk for brainboxes 2-port RS232 card Mauro Ziliani reports that this card has a higher clock rate. Rather than tweak the 8250 driver to handle this, add a quirk to pass the correct clock rate to the driver. Signed-off-by: Russell King commit 20f130495c07cd01fb423c3dec7f045038118dec Author: Russell King Date: Sat Sep 16 23:04:37 2006 +0100 [SERIAL] serial_cs: handle Nokia multi->single port bodge via config quirk According to the existing code, Nokia only make single-port cards, but are detected as multi-port cards. Handle this in roughly the same way via the config quirk - forcing it to be a real single port card (info->multi=0) changes the way we allocate the IO memory, which might stop the card working. Signed-off-by: Russell King commit efd92dfaad962c4fbaf4251b28578c97bd3aa85f Author: Russell King Date: Sat Sep 16 23:00:54 2006 +0100 [SERIAL] serial_cs: add configuration quirk Add a quirk primerily to handle tweaks to the link->conf structure, eg as required for Socket cards. Signed-off-by: Russell King commit 7ef057fa707897c19725d7e07123e57f6aea79db Author: Russell King Date: Sat Sep 16 22:45:41 2006 +0100 [SERIAL] serial_cs: Convert Oxford 950 / Possio GCC wakeup quirk Move the Oxford Semi OX950 / Possio GCC wakeup handling to a quirk wakeup handler. Signed-off-by: Russell King commit eee3a883cebefca6c450c3c1c18a996e23001c2c Author: Russell King Date: Sat Sep 16 21:34:11 2006 +0100 [SERIAL] serial_cs: convert IBM post-init handling to a quirk Move IBM quirk handling into its own quirk entry. Note that doing quirk handling after we've registered the ports is racy, but since I don't know if moving this will have an undesired effect, it's probably better to leave where it is. Signed-off-by: Russell King commit a8244b564ccc46dabf2367008aecf2b380a9be8d Author: Russell King Date: Sat Sep 16 21:26:16 2006 +0100 [SERIAL] serial_cs: allow wildcarded quirks Some quirks we will introduce next apply to (eg) all cards of one manufacturer. Therefore, we need a way to list these in the quirk table - use ~0 - this is not a possible device ID value. Signed-off-by: Russell King commit 1fbbac4bcb03033d325c71fc7273aa0b9c1d9a03 Author: Russell King Date: Sat Sep 16 21:09:41 2006 +0100 [SERIAL] serial_cs: convert multi-port table to quirk table - rename multi_id table to serial_quirk / quirks[] - use named initialisers - store a pointer to the quirk table in the serial_info structure so we can use the quirk table entry later. - apply multi-port quirk after the multi-port guessing code, but only if it's != -1. Signed-off-by: Russell King commit 43549ad7a74e33947f3ba1756a7713086d32e97c Author: Russell King Date: Sat Sep 16 20:53:05 2006 +0100 [SERIAL] serial_cs: Use clean up multiport card detection - Use ARRAY_SIZE() instead of home grown based version. - use parse->manfid.card rather than le16_to_cpu(buf[1]) - manfid.card is already converted to this format. - use info->prodid in subsequent tests rather than parse->manfid.card. Signed-off-by: Russell King commit de6cc84f723ab4373d1f83e64771392d6f784c81 Author: Russell King Date: Wed Aug 30 15:30:39 2006 +0100 [SERIAL] Remove m32r_sio dependency on asm/serial.h m32r_sio re-uses a custom defined BASE_BAUD from asm/serial.h, and replaces SERIAL_PORT_DFNS with its own driver private copy. Since asm/serial.h is supposed to define 8250-based ports using these symbols, this isn't a sane idea. Hence, eliminate asm/serial.h from m32r_sio.c. Acked-by: Hirokazu Takata Signed-off-by: Russell King commit 02a0fa676cd453ce4254c2eee838307ffc5c37f4 Author: Alan Cox Date: Mon Sep 25 23:45:51 2006 +0100 [SCSI] Switch ips to pci_register from pci_module Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 15a7c3bbe344d75e4891c7d30595899c12ccfaa1 Author: Jeff Garzik Date: Sun Oct 1 10:38:22 2006 -0400 [libata] pata_artop: kill gcc warning gcc complains thusly: drivers/ata/pata_artop.c: In function ‘artop_init_one’: drivers/ata/pata_artop.c:429: warning: ‘info’ may be used uninitialized in this function While this warning is indeed bogus, even with improved static analysis and value range propagation, gcc will probably never be able to detect this. Add a BUG_ON() to trap invalid driver_data entries in the PCI table. Signed-off-by: Jeff Garzik commit 2c81fbc4cfc895e80c18fffdc04a3d870eb16cb8 Author: Jeff Garzik Date: Sun Oct 1 07:32:20 2006 -0400 [netdrvr] hp100: encapsulate all non-module code The previous '#ifndef MODULE' block did not cover all the static-build-only code. Now it does. Signed-off-by: Jeff Garzik commit de897881e474cae06cf06c830fcadc916c53ce64 Author: Jeff Garzik Date: Sun Oct 1 07:31:09 2006 -0400 drivers/net/wireless/{airo,ipw2100}: fix error handling bugs airo: * fix oops, if !CONFIG_PROC_FS (create_proc_entry always returns NULL) * handle pci_register_driver() failure. if it fails, we really do want to exit, rather than (as a comment indicates) return success because-we-are-a-library. * #if 0 have_isa_dev variable, which is assigned a value but never used ipw2100: * handle sysfs_create_group() failure * handle driver_create_file() failure Signed-off-by: Jeff Garzik commit b7a00ecd557859c4037b6465fdd6c9a49b1fa649 Author: Jeff Garzik Date: Sun Oct 1 07:27:46 2006 -0400 [netdrvr] phy: Fix bugs in error handling The recent __must_check stuff flagged some error handling bugs. phy/fixed.c: * handle device_bind_driver() failure phy/phy_device.c: * handle device_bind_driver() failure * release rwsem upon failure Signed-off-by: Jeff Garzik commit 99c8b9477f2b8c4f625545c41f0318570fa38894 Author: Robert P. J. Day Date: Mon Sep 25 15:55:51 2006 -0400 kbuild: trivial documentation fixes Signed-off-by: "Robert P. J. Day" Signed-off-by: Sam Ravnborg commit 9a3d0fe84f9fe296a86ea9315092d31986bc7a3a Author: Sam Ravnborg Date: Sun Oct 1 11:48:53 2006 +0200 kconfig: fix saving alternate kconfig file in parent dir This fixes bugzilla entry: 7182 http://bugzilla.kernel.org/show_bug.cgi?id=7182 With this patch we no longer append the directory part twice before saving the config file. This patch has been sent to Roman Zippel for review with no feedback. It is so obviously simple that this should be OK to apply it anyway. Signed-off-by: Sam Ravnborg commit ea837f1c050344c3f884531a195c6e339b1a54e8 Author: Sam Ravnborg Date: Sun Oct 1 11:35:24 2006 +0200 kbuild: make modpost processing configurable On request from Al Viro make modpost processing configurable. KBUILD_MODPOST_WARN can be set to make modpost warn instead of error out in case on unresolved symbols in final module link. KBUILD_MODPOST_NOFINAL can be set to avoid the final and timeconsuming .c file generation and link of .ko files. This is solely useful for speeding up when doing compile checks with for example allmodconfig Signed-off-by: Sam Ravnborg commit 5a73fdc5ea836d2edc5e02890b51185fe304d7d3 Author: Zachary Amsden Date: Sat Sep 30 23:29:38 2006 -0700 [PATCH] Some config.h removals During tracking down a PAE compile failure, I found that config.h was being included in a bunch of places in i386 code. It is no longer necessary, so drop it. Signed-off-by: Zachary Amsden Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 789e6ac0a7cbbb38402293256a295302fd8a1100 Author: Zachary Amsden Date: Sat Sep 30 23:29:38 2006 -0700 [PATCH] paravirt: update pte hook Add a pte_update_hook which notifies about pte changes that have been made without using the set_pte / clear_pte interfaces. This allows shadow mode hypervisors which do not trap on page table access to maintain synchronized shadows. It also turns out, there was one pte update in PAE mode that wasn't using any accessor interface at all for setting NX protection. Considering it is PAE specific, and the accessor is i386 specific, I didn't want to add a generic encapsulation of this behavior yet. Signed-off-by: Zachary Amsden Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a93cb055a23f3172c1e6a22ac1dc4f1c07929b08 Author: Zachary Amsden Date: Sat Sep 30 23:29:37 2006 -0700 [PATCH] paravirt: remove set pte atomic Now that ptep_establish has a definition in PAE i386 3-level paging code, the only paging model which is insane enough to have multi-word hardware PTEs which are not efficient to set atomically, we can remove the ghost of set_pte_atomic from other architectures which falesly duplicated it, and remove all knowledge of it from the generic pgtable code. set_pte_atomic is now a private pte operator which is specific to i386 Signed-off-by: Zachary Amsden Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6d861e3c963b4077c83e078e3e300c4b81f93e7 Author: Zachary Amsden Date: Sat Sep 30 23:29:36 2006 -0700 [PATCH] paravirt: optimize ptep establish for pae The ptep_establish macro is only used on user-level PTEs, for P->P mapping changes. Since these always happen under protection of the pagetable lock, the strong synchronization of a 64-bit cmpxchg is not needed, in fact, not even a lock prefix needs to be used. We can simply instead clear the P-bit, followed by a normal set. The write ordering is still important to avoid the possibility of the TLB snooping a partially written PTE and getting a bad mapping installed. Signed-off-by: Zachary Amsden Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23002d88be309a7c78db69363c9d933a29a3b0bb Author: Zachary Amsden Date: Sat Sep 30 23:29:35 2006 -0700 [PATCH] paravirt: kpte flush Create a new PTE function which combines clearing a kernel PTE with the subsequent flush. This allows the two to be easily combined into a single hypercall or paravirt-op. More subtly, reverse the order of the flush for kmap_atomic. Instead of flushing on establishing a mapping, flush on clearing a mapping. This eliminates the possibility of leaving stale kmap entries which may still have valid TLB mappings. This is required for direct mode hypervisors, which need to reprotect all mappings of a given page when changing the page type from a normal page to a protected page (such as a page table or descriptor table page). But it also provides some nicer semantics for real hardware, by providing extra debug-proofing against using stale mappings, as well as ensuring that no stale mappings exist when changing the cacheability attributes of a page, which could lead to cache conflicts when two different types of mappings exist for the same page. Signed-off-by: Zachary Amsden Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25e4df5bae333a06cd2c9b88baf14432652dc9f7 Author: Zachary Amsden Date: Sat Sep 30 23:29:34 2006 -0700 [PATCH] paravirt: combine flush accessed dirty.patch Remove ptep_test_and_clear_{dirty|young} from i386, and instead use the dominating functions, ptep_clear_flush_{dirty|young}. This allows the TLB page flush to be contained in the same macro, and allows for an eager optimization - if reading the PTE initially returned dirty/accessed, we can assume the fact that no subsequent update to the PTE which cleared accessed / dirty has occurred, as the only way A/D bits can change without holding the page table lock is if a remote processor clears them. This eliminates an extra branch which came from the generic version of the code, as we know that no other CPU could have cleared the A/D bit, so the flush will always be needed. We still export these two defines, even though we do not actually define the macros in the i386 code: #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY The reason for this is that the only use of these functions is within the generic clear_flush functions, and we want a strong guarantee that there are no other users of these functions, so we want to prevent the generic code from defining them for us. Signed-off-by: Zachary Amsden Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6606c3e0da5360799e07ae24b05080cc85c68e72 Author: Zachary Amsden Date: Sat Sep 30 23:29:33 2006 -0700 [PATCH] paravirt: lazy mmu mode hooks.patch Implement lazy MMU update hooks which are SMP safe for both direct and shadow page tables. The idea is that PTE updates and page invalidations while in lazy mode can be batched into a single hypercall. We use this in VMI for shadow page table synchronization, and it is a win. It also can be used by PPC and for direct page tables on Xen. For SMP, the enter / leave must happen under protection of the page table locks for page tables which are being modified. This is because otherwise, you end up with stale state in the batched hypercall, which other CPUs can race ahead of. Doing this under the protection of the locks guarantees the synchronization is correct, and also means that spurious faults which are generated during this window by remote CPUs are properly handled, as the page fault handler must re-check the PTE under protection of the same lock. Signed-off-by: Zachary Amsden Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9888a1cae3f859db38b9604e3df1c02177161bb0 Author: Zachary Amsden Date: Sat Sep 30 23:29:31 2006 -0700 [PATCH] paravirt: pte clear not present Change pte_clear_full to a more appropriately named pte_clear_not_present, allowing optimizations when not-present mapping changes need not be reflected in the hardware TLB for protected page table modes. There is also another case that can use it in the fremap code. Signed-off-by: Zachary Amsden Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dc907951446b9317b1887223caa4e083390de9f Author: Zachary Amsden Date: Sat Sep 30 23:29:30 2006 -0700 [PATCH] paravirt: remove read hazard from cow We don't want to read PTEs directly like this after they have been modified, as a lazy MMU implementation of direct page tables may not have written the updated PTE back to memory yet. Signed-off-by: Zachary Amsden Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd4c8ce41a2e2f0c5bf54343ab54e8e09faec021 Author: Andrew Morton Date: Sat Sep 30 23:29:29 2006 -0700 [PATCH] invalidate_inode_pages2(): ignore page refcounts The recent fix to invalidate_inode_pages() (git commit 016eb4a) managed to unfix invalidate_inode_pages2(). The problem is that various bits of code in the kernel can take transient refs on pages: the page scanner will do this when inspecting a batch of pages, and the lru_cache_add() batching pagevecs also hold a ref. Net result is transient failures in invalidate_inode_pages2(). This affects NFS directory invalidation (observed) and presumably also block-backed direct-io (not yet reported). Fix it by reverting invalidate_inode_pages2() back to the old version which ignores the page refcounts. We may come up with something more clever later, but for now we need a 2.6.18 fix for NFS. Cc: Chuck Lever Cc: Nick Piggin Cc: Peter Zijlstra Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d025c9db7f31fc0554ce7fb2dfc78d35a77f3487 Author: Andi Kleen Date: Sat Sep 30 23:29:28 2006 -0700 [PATCH] Support piping into commands in /proc/sys/kernel/core_pattern Using the infrastructure created in previous patches implement support to pipe core dumps into programs. This is done by overloading the existing core_pattern sysctl with a new syntax: |program When the first character of the pattern is a '|' the kernel will instead threat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file. This is useful for having automatic core dump analysis without filling up disks. The program can do some simple analysis and save only a summary of the core dump. The core dump proces will run with the privileges and in the name space of the process that caused the core dump. I also increased the core pattern size to 128 bytes so that longer command lines fit. Most of the changes comes from allowing core dumps without seeks. They are fairly straight forward though. One small incompatibility is that if someone had a core pattern previously that started with '|' they will get suddenly new behaviour. I think that's unlikely to be a real problem though. Additional background: > Very nice, do you happen to have a program that can accept this kind of > input for crash dumps? I'm guessing that the embedded people will > really want this functionality. I had a cheesy demo/prototype. Basically it wrote the dump to a file again, ran gdb on it to get a backtrace and wrote the summary to a shared directory. Then there was a simple CGI script to generate a "top 10" crashes HTML listing. Unfortunately this still had the disadvantage to needing full disk space for a dump except for deleting it afterwards (in fact it was worse because over the pipe holes didn't work so if you have a holey address map it would require more space). Fortunately gdb seems to be happy to handle /proc/pid/fd/xxx input pipes as cores (at least it worked with zsh's =(cat core) syntax), so it would be likely possible to do it without temporary space with a simple wrapper that calls it in the right way. I ran out of time before doing that though. The demo prototype scripts weren't very good. If there is really interest I can dig them out (they are currently on a laptop disk on the desk with the laptop itself being in service), but I would recommend to rewrite them for any serious application of this and fix the disk space problem. Also to be really useful it should probably find a way to automatically fetch the debuginfos (I cheated and just installed them in advance). If nobody else does it I can probably do the rewrite myself again at some point. My hope at some point was that desktops would support it in their builtin crash reporters, but at least the KDE people I talked too seemed to be happy with their user space only solution. Alan sayeth: I don't believe that piping as such as neccessarily the right model, but the ability to intercept and processes core dumps from user space is asked for by many enterprise users as well. They want to know about, capture, analyse and process core dumps, often centrally and in automated form. [akpm@osdl.org: loff_t != unsigned long] Signed-off-by: Andi Kleen Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e239ca540594cff00adcce163dc332b27015d8e5 Author: Andi Kleen Date: Sat Sep 30 23:29:27 2006 -0700 [PATCH] Create call_usermodehelper_pipe() A new member in the ever growing family of call_usermode* functions is born. The new call_usermodehelper_pipe() function allows to pipe data to the stdin of the called user mode progam and behaves otherwise like the normal call_usermodehelp() (except that it always waits for the child to finish) Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6cbd281d189977b38eac7eb2a4678de19b6b483 Author: Andi Kleen Date: Sat Sep 30 23:29:26 2006 -0700 [PATCH] Some cleanup in the pipe code Split the big and hard to read do_pipe function into smaller pieces. This creates new create_write_pipe/free_write_pipe/create_read_pipe functions. These functions are made global so that they can be used by other parts of the kernel. The resulting code is more generic and easier to read and has cleaner error handling and less gotos. [akpm@osdl.org: cleanup] Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65da4d81f48e092f71feaf04bf2ccd096b5a5171 Author: Amol Lad Date: Sat Sep 30 23:29:25 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/sunsu.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af907dc8cd4157d629e48533b3400786467340d5 Author: Amol Lad Date: Sat Sep 30 23:29:25 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/mux.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a141a04330bd6eadf7081a0860dc786be7d09c46 Author: Amol Lad Date: Sat Sep 30 23:29:24 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/mpsc.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Cc: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be618f550cb499db263e2ce22c5ad4f4dbfd53e6 Author: Amol Lad Date: Sat Sep 30 23:29:23 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/mpc52xx_uart.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6257b3bdfde4295c04872d710c2419ff8efc1b86 Author: Amol Lad Date: Sat Sep 30 23:29:22 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/ip22zilog.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4664132613caf40bfbf17b7e0ab3340a8b8f526 Author: Amol Lad Date: Sat Sep 30 23:29:21 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/ioc4_serial.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Cc: Brent Casavant Cc: Pat Gefre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9964d5c9067fe58fecb7ba10b2de4771d2005d9 Author: Amol Lad Date: Sat Sep 30 23:29:21 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/8250_gsc.c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f12ad7d59ab77591e4ab2dacd6faa9ea9afffb99 Author: Amol Lad Date: Sat Sep 30 23:29:20 2006 -0700 [PATCH] ioremap balanced with iounmap for drivers/serial/8250_acorn,c ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16c564bb3cdecbc39eab5c0de3fe94ed58ba4163 Author: Haavard Skinnemoen Date: Sat Sep 30 23:29:19 2006 -0700 [PATCH] Generic ioremap_page_range: x86_64 conversion Convert x86_64 to use generic ioremap_page_range() [akpm@osdl.org: build fix] Signed-off-by: Haavard Skinnemoen Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9540fc42305859705b0232a10c8dec3ad866bd40 Author: Haavard Skinnemoen Date: Sat Sep 30 23:29:18 2006 -0700 [PATCH] Generic ioremap_page_range: m32r conversion Convert m32r to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a148ecfdf04d5fcb840324eef45d63ed674c73b9 Author: Haavard Skinnemoen Date: Sat Sep 30 23:29:17 2006 -0700 [PATCH] Generic ioremap_page_range: i386 conversion Convert i386 to use generic ioremap_page_range() [bunk@stusta.de: build fix] Signed-off-by: Haavard Skinnemoen Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e32cbc3df44838cc93a679aca3561f75b4964c57 Author: Haavard Skinnemoen Date: Sat Sep 30 23:29:17 2006 -0700 [PATCH] Generic ioremap_page_range: cris conversion Convert CRIS to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86c8eb360daa6286e3f9bd32a22e5d9c69e86dd1 Author: Haavard Skinnemoen Date: Sat Sep 30 23:29:16 2006 -0700 [PATCH] Generic ioremap_page_range: avr32 conversion Convert AVR32 to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 801f92ad5a0c630646f6746f3ed1663fcab185d1 Author: Haavard Skinnemoen Date: Sat Sep 30 23:29:15 2006 -0700 [PATCH] Generic ioremap_page_range: alpha conversion Convert Alpha to use generic ioremap_page_range() by turning __alpha_remap_area_pages() into an inline wrapper around ioremap_page_range(). Signed-off-by: Haavard Skinnemoen