summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | UBI: use byte hexdumpArtem Bityutskiy2007-10-142-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | More handy since word hexdump prints in host endian. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| | * | UBI: do not use vmalloc on I/O pathArtem Bityutskiy2007-10-148-112/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar reason as in case of the previous patch: it causes deadlocks if a filesystem with writeback support works on top of UBI. So pre-allocate needed buffers when attaching MTD device. We also need mutexes to protect the buffers, but they do not cause much contantion because they are used in recovery, torture, and WL copy routines, which are called seldom. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| | * | UBI: allocate memory with GFP_NOFSArtem Bityutskiy2007-10-146-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use GFP_NOFS flag when allocating memory on I/O path, because otherwise we may deadlock the filesystem which works on top of us. We observed the deadlocks with UBIFS. Example: VFS->FS lock a lock->UBI->kmalloc()->VFS writeback->FS locks the same lock again. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| | * | UBI: use linux print_hex_dump(), not home-grown oneArtem Bityutskiy2007-10-143-38/+3
| | | | | | | | | | | | | | | | Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| | * | UBI: don't use array index before testing if it is negativeJesper Juhl2007-10-141-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I can't find anything guaranteeing that 'ubi_num' cannot be <0 in drivers/mtd/ubi/kapi.c::ubi_open_volume(), and in fact the code even tests for that and errors out if so. Unfortunately the test for "ubi_num < 0" happens after we've already used 'ubi_num' as an array index - bad thing to do if it is negative. This patch moves the test earlier in the function and then moves the indexing using that variable after the check. A bit safer :-) Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| | * | UBI: add more printsArtem Bityutskiy2007-10-142-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I hit those situations and found out lack of print messages. Add more prints when erase problems occur. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| | * | UBI: fix sparse warningsArtem Bityutskiy2007-10-142-41/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix "symbol shadows an earlier one" warnings. Although they are harmless but it does not hurt to fix them and make sparse happy. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| | * | UBI: fix leak in ubi_scan_erase_pebFlorin Malita2007-10-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coverity (1769) found the following problem: if the erase counter overflow check triggers, ec_hdr is leaked. Moving the allocation after the overflow check should take care of it. Signed-off-by: Florin Malita <fmalita@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| * | | [MTD] fix mtdconcat for subpage-write NANDChris Paulson-Ellis2007-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the mtdconcat driver to work with NAND flash devices that support sub-page writes. Signed-off-by: Chris Paulson-Ellis <chris@edesix.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [MTD] [OneNAND] Avoid deadlock in erase callback; release chip lock first.Adrian Hunter2007-10-141-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the erase callback performs some other action on the flash, it's highly likely to deadlock unless we actually release the chip lock before calling it. This patch mirrors that same change already done for NAND. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [MTD] [OneNAND] Return only negative error codesAdrian Hunter2007-10-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OneNAND driver was confusing JFFS2 by returning positive error codes. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [MTD] [OneNAND] Synchronize block locking operationsAdrian Hunter2007-10-141-4/+14
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Ensure OneNAND's block locking operations are synchronized like all other operations. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* | | Merge branch 'master' of ↵Linus Torvalds2007-10-1433-1148/+1760
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (23 commits) [SPARC64]: virt_to_real_irq_table --> virt_irq_table [SPARC64]: virt_irq --> bucket mapping no longer necessary [SPARC64]: Kill ugly __bucket() macro. [SPARC64]: Kill ugly __irq_ino() macro. [SPARC64]: Only use bypass accesses to INO buckets. [SPARC64]: Update defconfig. [SPARC64]: Use sun4v VIRQ interfaces as intended. [SPARC64]: Allocate ivector_table dynamically. [SPARC64]: Access ivector_table[] using physical addresses. [SPARC64]: Make IVEC pointers 64-bit. [SPARC64]: Fix register usage in xor_raid_4(). [SPARC64]: Kill pci_memspace_mask. [SPARC64]: Consolidate MSI support code. [SPARC/64]: Move of_platform_driver initialisations: arch/sparc{,64}. [SPARC64]: Fix bugs in SYSV IPC handling in 64-bit processes. [SPARC/64]: Prepare to remove of_platform_driver name. [SPARC32]: Add irqflags.h to sparc32 and use it from generic code. [SPARC64]: beautify vmlinux.lds [SPARC]: beautify vmlinux.lds [SPARC64]: Enable MSI on sun4u Fire PCI-E controllers. ...
| * | | [SPARC64]: virt_to_real_irq_table --> virt_irq_tableDavid S. Miller2007-10-131-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It no longer translates to "real irqs" (aka. INO buckets) so reflect that by using a simpler name for it. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: virt_irq --> bucket mapping no longer necessaryDavid S. Miller2007-10-133-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to need this to compute virt_irq --> ino, but that is no longer necessary. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Kill ugly __bucket() macro.David S. Miller2007-10-131-146/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the users go through virt_irq_to_bucket() and essentially want to go from a virt_irq to an INO, but we have a way to do that already via virt_to_real_irq_table[].dev_ino. This also allows us to kill both virt_to_real_irq() and virt_irq_to_bucket(). Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Kill ugly __irq_ino() macro.David S. Miller2007-10-133-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a place to stick INO information in the virt_to_real_irq_table[], which is currently only used for VIRQs. And that is readily accessible from the one __irq_ino() call site. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Only use bypass accesses to INO buckets.David S. Miller2007-10-132-33/+91
| | | | | | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Update defconfig.David S. Miller2007-10-131-5/+33
| | | | | | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Use sun4v VIRQ interfaces as intended.David S. Miller2007-10-132-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were simply concatenating the devhandle and devino and using that as the cookie, which defeats the entire purpose of the VIRQ hypervisor interfaces. Now that we use physical addresses for the INO buckets, we can allocate them dynamically for VIRQs and encode the cookies as ~__pa(bucket). This allows us to test for and decode the cookie with a simple: brlz $reg1, 1f xnor $reg1, %g0, $reg2 sequence. This works because bit 64 is never set in traditional INO vectors, and it is also never set in a physical address. So xnor'ing the physical address of the bucket always gives us a negative number, and thus a unique condition we can test cheaply. Inspired by ideas from Greg Onufer. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Allocate ivector_table dynamically.David S. Miller2007-10-131-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Shrinks kernel by 16K compared to before the IVEC physical address changes. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Access ivector_table[] using physical addresses.David S. Miller2007-10-135-45/+55
| | | | | | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Make IVEC pointers 64-bit.David S. Miller2007-10-135-32/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we chain IVEC entries using 32-bit "pointers" because we know that the ivector_table is in the main kernel image, thus below 4GB. This uses proper 64-bit pointers instead. Whilst this bloats up the kernel image size, this sets the infrastructure necessary to significantly shrink the kernel size by using physical addresses and dynamically allocating the ivector table. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Fix register usage in xor_raid_4().David S. Miller2007-10-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some typos led to using %i6/%i7 instead of %l6/%l7 in loads which is really really bad because those are the frame pointer and return PC. Based upon a raid5 crash report by Bertrand Joel. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Kill pci_memspace_mask.David S. Miller2007-10-136-52/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is totally unnecessary as the needed information is properly encoded in the resources. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Consolidate MSI support code.David S. Miller2007-10-137-777/+704
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also makes us use the MSI queues correctly. Each MSI queue is serviced by a normal sun4u/sun4v INO interrupt handler. This handler runs the MSI queue and dispatches the virtual interrupts indicated by arriving MSIs in that MSI queue. All of the common logic is placed in pci_msi.c, with callbacks to handle the PCI controller specific aspects of the operations. This common infrastructure will make it much easier to add MSG support. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC/64]: Move of_platform_driver initialisations: arch/sparc{,64}.Stephen Rothwell2007-10-134-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We no longer initialise the name field of the of_platform_driver, but use the name field of the embedded device_driver's name field instead. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Fix bugs in SYSV IPC handling in 64-bit processes.David S. Miller2007-10-131-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to Tom Callaway for the excellent bug report and test case. sys_ipc() has several problems, most to due with semaphore call handling: 1) 'err' return should be a 'long' 2) "union semun" is passed in a register on 64-bit compared to 32-bit which provides it on the stack and therefore by reference 3) Second and third arguments to SEMCTL are swapped compared to 32-bit. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC/64]: Prepare to remove of_platform_driver name.Stephen Rothwell2007-10-133-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The name field of of_platform_driver is just copied into the included device_driver. By not overriding an already initialised device_driver name, we can convert the drivers over time to stop using the of_platform_driver name. Also we were not copying the owner field from of_platform_driver, so do the same with it. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC32]: Add irqflags.h to sparc32 and use it from generic code.Robert Reif2007-10-134-26/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added asm-sparc/irqflags.h and moved irq related code from system.h to it. Renamed local_irq functions to raw_local_irq in irq.c. Modified system.h to include linux/irqflags.h which includes asm/irqflags.h. Added TRACE_IRQFLAGS_SUPPORT to Kconfig.debug. This is the first step in adding IRQ-flags state tracing as outlined in Documentation/irqflags-tracing.txt. These changes should be harmless because they just move things around and rename them. The next step is making the lowlevel entry code modifications which to be honest are beyond my capabilities at this point. Boot tested on an ss20 running an SMP kernel. Signed-off-by: Robert Reif <reif@earthlink.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: beautify vmlinux.ldsSam Ravnborg2007-10-131-89/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply a consistent format to vmlinux.lds. The file is now to some degree readable. In addition move several labels inside the braces such that they reflect the actual start address of a section. Without this the label would not reflect if ld added alignment. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC]: beautify vmlinux.ldsSam Ravnborg2007-10-131-72/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make vmlinux.lds almost readable. When going through the file fixed the following: - Use PAGE_SIZE as replacement for hardcoded 4096 - Moves label definitions inside {} to avoid ld alignment that may be added between label and section Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [SPARC64]: Enable MSI on sun4u Fire PCI-E controllers.David S. Miller2007-10-133-1/+522
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The support code is identical to the hypervisor sun4v stuff, just replacing the hypervisor calls with register reads and writes in the Fire controller. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [FFB]: source cleanupKrzysztof Helt2007-10-131-83/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch cleans up the driver a bit. It contains coding style fixes (pointed by Lindent and checkpatch) and white space clean ups. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [CG6]: accelerated copyareaKrzysztof Helt2007-10-131-3/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds accelerated copyarea and sets READS_FAST flag. This doubles scrolling speed on SparcStation20 85MHz. It also fixes a comment in cg6_fillrect function. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | [CG6]: code cleanupKrzysztof Helt2007-10-131-126/+118
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch: - corrects coding style errors pointed by Lindent and checkpatch - replaces space chunks with tabs - removes one redundant include - improves indentations of defines - removes from comments leftovers from skeletonfb - adds __devinit attribute to two init functions Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | mpc52xx-uart: fix compile warning (format type mismatch)Grant Likely2007-10-141-4/+4
| | | | | | | | | | | | | | | | | | | | | Trivial compile warning fix Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | mpc52xx-ata: fix compile warning (unused variable)Grant Likely2007-10-141-1/+0
| | | | | | | | | | | | | | | | | | | | | Trivial unused variable fix Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | XilinxFB: typo bugfixGrant Likely2007-10-141-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Lite5200 shouldn't mess with ROOT_DEVGrant Likely2007-10-141-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no good reason for board platform code to mess with the ROOT_DEV. Remove it from all in-tree platforms except powermac This is a follow on to commit 745e1027751acbc1f14f8bbef378b491242b9c83. The original patch had this change to lite5200.c, but it got dropped in the psycho madness that is the 2.6.24 merge window. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | more uevent fallout (drivers/base/memory.c)Al Viro2007-10-141-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | missing include in ssbAl Viro2007-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Using readw() and friends => needs to pull io.h and not all targets are doing that via indirect chains. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | typo in ibm_newemac/rgmii.cAl Viro2007-10-141-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | uevent environment changes falloutAl Viro2007-10-142-19/+6
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Fix ohci-ssb with !CONFIG_PMAl Viro2007-10-131-0/+2
|/ / | | | | | | | | | | | | | | ohci_bus_{suspend,resume} exists only if we have CONFIG_PM; do the same thing as other subdrivers... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-linus' of ↵Linus Torvalds2007-10-131-1/+1
|\ \ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Fix infinite loop on device initialization
| * | mlx4_core: Fix infinite loop on device initializationRoland Dreier2007-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 3d73c288 ("mlx4_core: Fix section mismatches") introduced a stupid bug in device init: when some of mlx4_init_one() was split off into __mlx4_init_one(), the call from the main mlx4_init_one() function was back to mlx4_init_one() rather than to __mlx4_init_one(), which leads to an obvious infinite loop if the function is every called. Signed-off-by: Roland Dreier <rolandd@cisco.com>
* | | i2c-nforce2: Declare PEC as supportedJean Delvare2007-10-131-0/+1
| | | | | | | | | | | | | | | | | | The i2c-nforce2 driver has SMBus PEC support, so it should say so. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* | | i2c-nforce2: Abort the transaction on errorOleg Ryjkov2007-10-131-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is to add an abort function that will bring back the MCP51/55 controller if it was blocked by a block-read operation, in particular. (When a slave sends a wrong byte count on a byte read, the host gets locked up). I've only tested it on an MCP51 and MCP55. However, I'm almost certain it will also work on MCP65, I just did not have the board to test it on. Thus for now the abort function will only be called if an MCP51/55 was detected. Signed-off-by: Oleg Ryjkov <olegr@olegr.ca> Signed-off-by: Jean Delvare <khali@linux-fr.org>
* | | i2c-nforce2: Move status checking to a separate functionOleg Ryjkov2007-10-131-16/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first part of the patch that adds a function to reset the nvidia MCP51/55 i2c controller, if something bad happens to it (e.g. a slave sends a wrong byte count during a block transaction). This patch just adds nforce2_check_status function. It was originally written by Hans-Frieder Vogt. The reason that I'm the one sending it is: - I relied on it for the second part of the patch, - It makes the driver code cleaner/better. Signed-off-by: Oleg Ryjkov <olegr@olegr.ca> Signed-off-by: Jean Delvare <khali@linux-fr.org>