aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* OMAP: DSS2: Taal: Use Nokia DSI panel dataTomi Valkeinen2010-08-031-21/+38
| | | | | | | | Get board specific information from the Nokia DSI panel data structure instead of the DSS. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Add Nokia DSI command mode panel configuration structJani Nikula2010-08-031-0/+31
| | | | | | | | | Introduce a configuration struct for platform/board specific information of Nokia DSI command mode panels, to be used in addition to struct omap_dss_device (passed via the 'void *data' member). Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Add proper external TE supportJani Nikula2010-08-031-18/+75
| | | | | | | Add gpio irq based external TE support with timeout. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Change probe error handling labelsJani Nikula2010-08-031-12/+12
| | | | | | | | Switch from numbered to named labels to make it easier to add new labels for error handling. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Change ESD work managementJani Nikula2010-08-031-9/+16
| | | | | | | | Move ESD work queuing and cancelling out of taal_power_on/off() to avoid problems related to taal_esd_work() calling the power on/off functions. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Check taal_power_on() return value in taal_resume()Jani Nikula2010-08-031-1/+4
| | | | | | | Change state only if power on was succesful. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Change DSI bus locking to avoid deadlock in ESD workJani Nikula2010-08-031-10/+19
| | | | | | | | Move dsi_bus_lock/unlock() out of taal_power_on/off() to avoid deadlock in taal_esd_work(). Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Ensure panel is enabled in enable_te() and run_test()Jani Nikula2010-08-031-8/+23
| | | | | | | | Bail out from taal_enable_te() and taal_run_test() if panel is not enabled. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Improve taal_power_on() error handlingJani Nikula2010-08-031-7/+23
| | | | | | | Check return values and bail out on errors. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Remove ESD work cancel from driver probe error handlingJani Nikula2010-08-031-1/+0
| | | | | | | ESD work is never queued in probe, no need to cancel it on probe error. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Fix request_irq() error handlingJani Nikula2010-08-031-7/+7
| | | | | | | Separate gpio_request() and request_irq() error handling. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Remove platform enable/disableJani Nikula2010-08-031-11/+0
| | | | | | | | After the addition of proper hardware reset, taal_hw_reset(), there's no need for an additional platform enable/disable. Remove them. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Add locks to protect taal data accessJani Nikula2010-08-031-0/+12
| | | | | | | Avoid potential race conditions in sysfs access to taal data. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: Add panel hardware resetJani Nikula2010-08-031-4/+40
| | | | | | | | Issue a proper reset pulse on the reset line instead of just doing power on/off. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Taal: add locks to taal_bl_update_statusTomi Valkeinen2010-08-031-8/+10
| | | | | | | | taal_bl_update_status was missing locks to protect taal_data. This caused a kernel crash randomly, as the code attempted to set the brightness while the OMAP's DSI block was actually disabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: DSI: change DSI timeout functionsTomi Valkeinen2010-08-031-160/+56
| | | | | | | | | | | | | | | | | | | | Using nanoseconds as arguments to functions that set the DSI timeouts was perhaps not so good idea. The timeouts are based on different DSI clocks, so the possible range for the timeouts vary greatly depending on the clocks. Also, the multipliers used with the timeouts cause big gaps in the timeout range, meaning that the nanosecond based functions could cause the timeout to be quite far from the intended value. This patch changes the functions to take the plain tick values with the multiplier enable/disable bits, and sets the TA/LP_RX/HS_TX timeouts to maximum. While the timeouts could be much lower, the fact is that when TA/LP_RX/HS_TX timeout happens, we are in an error situation and not in a hurry anyway. STOP_STATE_COUNTER is a different matter, but it is only used at initialization time, and won't normally affect the performance. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: DSI: handle error in synchronous writeTomi Valkeinen2010-08-031-0/+7
| | | | | | | Check if the peripheral answered something, and if so, dump the data and return an error. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: DSI: change dsi_vc_dcs_read_2 parametersTomi Valkeinen2010-08-032-3/+7
| | | | | | | Change dsi_vc_dcs_read_2() data parameter to two u8 parameters to make the byte-order clear. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: DSI: use a private workqueueTomi Valkeinen2010-08-031-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the shared workqueue led to to a deadlock in the case where the display was unblanked via keyboard. What happens is something like this: - User presses a key context 1: - drivers/char/keyboard.c calls schedule_console_callback() - fb_unblank takes the console semaphore - dsi bus lock is taken, and frame transfer is started (dsi bus lock is left on) - Unblank code tries to set the panel backlight, which tries to take dsi bus lock, but is blocked while the frame transfer is going on context 2, shared workqueue, console_callback in drivers/char/vt.c: - Tries to take console semaphore - Blocks, as console semaphore is being held by context 1 - No other shared workqueue work can be run context 3, HW irq, caused by FRAMEDONE interrupt: - Interrupt handler schedules framedone-work in shared workqueue - Framedone-work is never ran, as the shared workqueue is blocked. This means that the unblank thread stays blocked, which means that context 2 stays blocked. While I think the real problem is in keyboard/virtual terminal code, using a private workqueue in the DSI driver is perhaps safer and more robust than using the shared one. The DSI works should not be delayed more than a millisecond or so, and even if the private workqueue gives us no hard promise of doing so, it's still safer bet than the shared workqueue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: DSI: print errors in dsi_vc_flush_receive_data()Tomi Valkeinen2010-08-031-4/+4
| | | | | | | dsi_vc_flush_receive_data() is meant to dump data when something has gone wrong, and thus we should use DSSERR, not DSSDBG. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Add some locking debug checksVille Syrjälä2010-08-034-0/+13
| | | | | | | | Trigger WARN_ON() messages from various places in the code in case the memory region is not currently locked. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Make lockdep happyVille Syrjälä2010-08-033-13/+36
| | | | | | | | | | When more than one memory region needs to be lockd at the same time use the memory region id to fix the order in which the locks are taken. Also one needs to use the _nested() versions of the locking primitives. The memory region id can serve as the lock class there as well. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Convert the memory region locking to rwsemVille Syrjälä2010-08-034-25/+10
| | | | | | | | R/W semaphore is a good fit for the memory region locking pattern. So use it. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Add locking for memory regionsVille Syrjälä2010-08-034-21/+140
| | | | | | | | | Add locking to the memory regions to make sure the memory region size won't be changed while some other piece of code is performing some checks or setup based on that information. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Add support for switching memory regionsVille Syrjälä2010-08-035-64/+183
| | | | | | | | | | | | | | | | | Separate the memory region from the framebuffer device a little bit. It's now possible to select the memory region used by the framebuffer device using the new mem_idx parameter of omapfb_plane_info. If the mem_idx is specified it will be interpreted as an index into the memory regions array, if it's not specified the framebuffer's index is used instead. So by default each framebuffer keeps using it's own memory region which preserves backwards compatibility. This allows cloning the same memory region to several overlays and yet each overlay can be controlled independently since they can be associated with separate framebuffer devices. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Skip unnecessary set_overlay_info()Ville Syrjälä2010-08-031-0/+2
| | | | | | | | In omapfb_enable_overlay() if the overlay state is already what we want skip the set_overlay_info(). Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Check var even if there isn't memoryVille Syrjälä2010-08-031-6/+5
| | | | | | | | | | If video memory hasn't been allocate have check_fb_var() still check most of the settings, just skip the ones involving the size of the memory region. Also skip the memory address calculations in omapfb_setup_overlay() if there's no memory. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: OMAPFB: Refactor overlay address calculationsVille Syrjälä2010-08-031-25/+38
| | | | | | | Split the overlay address calculations into their own function. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Fix update area calculations with multiple scaled overlaysTomi Valkeinen2010-08-031-63/+78
| | | | | | | | | | | | | | When there are multiple scaled overlays simply checking whether the update area intersects any of them in order is not enough. If eg. VID1 starts out completely outside the update area but VID2 causes the update area to increase in such a way that VID1 now falls partially within the increased update area VID1 should be rechecked and the update area possibly increased even further to fully encompass VID1. So simply keep looping over the overlays until such time that none of the overlays caused the update area to change. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: clear spurious SYNC_LOST_DIGIT interruptsVille Syrjälä2010-08-031-1/+10
| | | | | | | | | | When DSS transitions from off mode to on VENC may generate a spurious SYNC_LOST_DIGIT error. Just ack it when restoring the context. Also restore IRQENABLE last to avoid triggering interrupts before the context is fully restored. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Make wait_for_go() succeed for disabled displaysVille Syrjälä2010-08-031-2/+5
| | | | | | | | When the display is not active make the wait_for_go() functions return immediately. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: Check if display supports update mode changesVille Syrjälä2010-08-031-0/+3
| | | | | | | | | Check whether the display actually has the set_update_mode() function before calling it. Only the sysfs codepath was broken, the omapfb ioctl had the necessary protection. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: DSI: Increase HS TX timeoutTomi Valkeinen2010-08-031-1/+1
| | | | | | | | | For some reason screen updates of certain odd widths seem to be triggering HS TX timeouts on OMAP 3430, even if bigger updates do not. The reason for this is unknown, but increasing the timeout removes the problem with no (so far) noticeable problems. I haven't seen this problem on OMAP 3630. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* OMAP: DSS2: storage class should be before const qualifierTobias Klauser2010-08-031-2/+2
| | | | | | | | | | | The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* Linux 2.6.35Linus Torvalds2010-08-011-1/+1
|
* NFS: Fix a typo in include/linux/nfs_fs.hTrond Myklebust2010-08-012-5/+6
| | | | | | | | | | | | nfs_commit_inode() needs to be defined irrespectively of whether or not we are supporting NFSv3 and NFSv4. Allow the compiler to optimise away code in the NFSv2-only case by converting it into an inlined stub function. Reported-and-tested-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2010-07-3011-49/+75
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: cyber2000fb: fix console in truecolor modes cyber2000fb: fix machine hang on module load SA1111: Eliminate use after free ARM: Fix Versatile/Realview/VExpress MMC card detection sense ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt ARM: Add barriers to io{read,write}{8,16,32} accessors as well ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE ARM: 6272/1: Convert L2x0 to use the IO relaxed operations ARM: 6271/1: Introduce *_relaxed() I/O accessors ARM: 6275/1: ux500: don't use writeb() in uncompress.h ARM: 6270/1: clean files in arch/arm/boot/compressed/ ARM: Fix csum_partial_copy_from_user()
| * cyber2000fb: fix console in truecolor modesOndrej Zary2010-07-301-0/+1
| | | | | | | | | | | | | | | | | | Return value was not set to 0 in setcolreg() with truecolor modes. This causes fb_set_cmap() to abort after first color, resulting in blank palette - and blank console in 24bpp and 32bpp modes. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * cyber2000fb: fix machine hang on module loadOndrej Zary2010-07-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | I was testing two CyberPro 2000 based PCI cards on x86 and the machine always hanged completely when the cyber2000fb module was loaded. It seems that the card hangs when some registers are accessed too quickly after writing RAMDAC control register. With this patch, both card work. Add delay after RAMDAC control register write to prevent hangs on module load. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * SA1111: Eliminate use after freeJulia Lawall2010-07-301-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __sa1111_remove always frees its argument, so the subsequent reference to sachip->saved_state represents a use after free. __sa1111_remove does not appear to use the saved_state field, so the patch simply frees it first. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression E,E2; @@ __sa1111_remove(E) ... ( E = E2 | * E ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: Fix Versatile/Realview/VExpress MMC card detection senseRussell King2010-07-303-4/+8
| | | | | | | | | | | | | | | | | | The MMC card detection sense has become really confused with negations at various levels, leading to some platforms not detecting inserted cards. Fix this by converting everything to positive logic throughout, thereby getting rid of these negations. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_viptGary King2010-07-301-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | smp_processor_id() must not be called from a preemptible context (this is checked by CONFIG_DEBUG_PREEMPT). kmap_high_l1_vipt() was doing so. This lead to a problem where the wrong per_cpu kmap_high_l1_vipt_depth could be incremented, causing a BUG_ON(*depth <= 0); in kunmap_high_l1_vipt(). The solution is to move the call to smp_processor_id() after the call to preempt_disable(). Originally by: Andrew Howe <ahowe@nvidia.com> Signed-off-by: Gary King <gking@nvidia.com> Acked-by: Nicolas Pitre <nico.as.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: Add barriers to io{read,write}{8,16,32} accessors as wellRussell King2010-07-291-20/+18
| | | | | | | | | | | | | | | | | | The ioread/iowrite accessors also need barriers as they're used in place of readl/writel et.al. in portable drivers. Create __iormb() and __iowmb() which are conditionally defined to be barriers dependent on ARM_DMA_MEM_BUFFERABLE, and always use these macros in the accessors. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLECatalin Marinas2010-07-291-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the coherent DMA buffers are mapped as Normal Non-cacheable (ARM_DMA_MEM_BUFFERABLE enabled), buffer accesses are no longer ordered with Device memory accesses causing failures in device drivers that do not use the mandatory memory barriers before starting a DMA transfer. LKML discussions led to the conclusion that such barriers have to be added to the I/O accessors: http://thread.gmane.org/gmane.linux.kernel/683509/focus=686153 http://thread.gmane.org/gmane.linux.ide/46414 http://thread.gmane.org/gmane.linux.kernel.cross-arch/5250 This patch introduces a wmb() barrier to the write*() I/O accessors to handle the situations where Normal Non-cacheable writes are still in the processor (or L2 cache controller) write buffer before a DMA transfer command is issued. For the read*() accessors, a rmb() is introduced after the I/O to avoid speculative loads where the driver polls for a DMA transfer ready bit. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: 6272/1: Convert L2x0 to use the IO relaxed operationsCatalin Marinas2010-07-291-13/+13
| | | | | | | | | | | | | | | | | | | | | | This patch is in preparation for a subsequent patch which adds barriers to the I/O accessors. Since the mandatory barriers may do an L2 cache sync, this patch avoids a recursive call into l2x0_cache_sync() via the write*() accessors and wmb() and a call into l2x0_cache_sync() with the l2x0_lock held. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: 6271/1: Introduce *_relaxed() I/O accessorsCatalin Marinas2010-07-291-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | This patch introduces readl*_relaxed()/write*_relaxed() as the main I/O accessors (when __mem_pci is defined). The standard read*()/write*() macros are now based on the relaxed accessors. This patch is in preparation for a subsequent patch which adds barriers to the I/O accessors. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: 6275/1: ux500: don't use writeb() in uncompress.hRabin Vincent2010-07-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't use writeb() in uncompress.h, to avoid the following build errors when the "Add barriers to the I/O accessors" series is applied. Use __raw_writeb() instead. arch/arm/boot/compressed/misc.o: In function `putc': arch/arm/mach-ux500/include/mach/uncompress.h:41: undefined reference to `outer_cache' Acked-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: 6270/1: clean files in arch/arm/boot/compressed/Magnus Damm2010-07-291-0/+3
| | | | | | | | | | | | | | | | Update the compressed boot Makefile for ARM to remove files during clean. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * ARM: Fix csum_partial_copy_from_user()Russell King2010-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | Using the parent functions frame pointer to access our arguments is completely wrong, whether or not we're building with frame pointers or not. What we should be using is the stack pointer to get at the word above the registers we stacked ourselves. Reported-by: Bosko Radivojevic <bosko.radivojevic@gmail.com> Tested-by: Bosko Radivojevic <bosko.radivojevic@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6Linus Torvalds2010-07-304-11/+32
|\ \ | | | | | | | | | | | | | | | | | | * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: Ensure that writepage respects the nonblock flag NFS: kswapd must not block in nfs_release_page nfs: include space for the NUL in root path