summaryrefslogtreecommitdiff
path: root/drivers/char
Commit message (Collapse)AuthorAgeFilesLines
* sonypi - Move sonypi.txt to Documentation/laptopsCarlos Corbacho2008-02-091-1/+1
| | | | | | | | | Also update references to sonypi.txt in Kconfig. Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> CC: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
* Char: applicom, use pci_match_idJiri Slaby2008-02-081-11/+4
| | | | | | | | | | | | Instead of testing hardcoded values, use pci_match_id to reference the pci_device_id table. Sideways, it allows easy new additions to the table. [akpm@linux-foundation.org: remove wrongly-added semicolon] Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: WANG Cong <xiyou.wangcong@gmail.com> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Char: applicom, use pci_resource_startJiri Slaby2008-02-081-4/+5
| | | | | | | | | | Use pci_resource_start instead of accessing pci_dev struct internals. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: WANG Cong <xiyou.wangcong@gmail.com> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* tty_ioctl: drag screaming into compliance with the coding styleAlan Cox2008-02-081-182/+180
| | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* tty_io: drag screaming into coding style complianceAlan Cox2008-02-081-278/+283
| | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* tty_audit: fix checkpatch complaintAlan Cox2008-02-081-1/+1
| | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* rocket: don't let random users reset the controllerAlan Cox2008-02-081-0/+3
| | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* rocket: first pass at termios reportingAlan Cox2008-02-081-10/+8
| | | | | | | | | Also removes a cflag comparison that caused some mode changes to get wrongly ignored Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* n_tty: clean up old code to follow coding style and (mostly) checkpatchAlan Cox2008-02-081-75/+73
| | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* moxa: first pass at termios reportingAlan Cox2008-02-081-8/+15
| | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Cc: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ipwireless: driver for PC Card 3G/UMTS modemDavid Sterba2008-02-0712-0/+3854
| | | | | | | | | | | | | | | | | The device is manufactured by IPWireless. In some countries (for example Czech Republic, T-Mobile ISP) this card is shipped for service called UMTS 4G. It's a piece of PCMCIA "4G" UMTS PPP networking hardware that presents itself as a serial character device (i.e. looks like usual modem to userspace, accepts AT commands, etc). Rewieved-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Ben Martel <benm@symmetric.co.nz> Signed-off-by: Stephen Blackheath <stephen@symmetric.co.nz> Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-02-071-3/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (34 commits) Input: i8042 - non-x86 build fix Input: pxa27x_keypad - also enable on PXA3xx Input: pxa27x_keypad - add debounce_interval to the keypad platform data Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ Input: pxa27x_keypad - enable rotary encoders and direct keys Input: pxa27x_keypad - introduce pxa27x_keypad_config() Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys Input: pxa27x_keypad - remove pin configuration from the driver Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard) Input: constify function pointer tables (seq_operations) Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list Input: i8042 - enable DMI quirks on x86-64 Input: i8042 - add Dritek quirk for Acer Aspire 9110 Input: add input event to APM event bridge Input: mousedev - use BIT_MASK instead of BIT Input: remove duplicate includes Input: remove cdev from input_dev structure Input: remove duplicated headers in drivers/char/keyboard.c Input: i8042 - add Dritek keyboard extension quirk Input: add Tosa keyboard driver ...
| * Input: remove duplicated headers in drivers/char/keyboard.cFrancisco Alecrim2008-01-211-1/+0
| | | | | | | | | | | | | | drivers/char/keyboard.c: linux/consolemap.h is included more than once. Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: Add proper locking when changing device's keymapDmitry Torokhov2008-01-211-2/+2
| | | | | | | | | | | | | | Take dev->event_lock to make sure that we don't race with input_event() and also force key up event when removing a key from keymap table. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | i915: Fix GR register array size off-by-one bugJesse Barnes2008-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | Make sure we have enough room for all the GR registers or we'll end up clobbering the AR index register (which should actually be harmless unless the BIOS is making an assumption about it). Noticed-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Jesse Barnes <jesse.barnes@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'drm-patches' of ↵Linus Torvalds2008-02-0761-770/+2291
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (22 commits) drm: add initial r500 drm support radeon: setup the ring buffer fetcher to be less agressive. drm: fixup some of the ioctl function exit paths drm: the drm really should call pci_set_master.. i915: Add chipset id for Intel Integrated Graphics Device drm: cleanup DRM_DEBUG() parameters drm/i915: add support for E7221 chipset drm: don't cast a pointer to pointer of list_head mga_dma: return 'err' not just zero from mga_do_cleanup_dma() drm: add _DRM_DRIVER flag, and re-order unload. drm: enable udev node creation drm: Make DRM_IOCTL_GET_CLIENT return EINVAL when it can't find client #idx. drm: move drm_mem_init to proper place in startup sequence drm: call driver load function after initialising AGP drm: Fix ioc32 compat layer drm: fd.o bug #11895: Only add the AGP base to map offset if the caller didn't. i915: add suspend/resume support drm: update DRM sysfs support drm: Initialize the AGP structure's base address at init rather than enable. drm: move two function extern into the correct block ...
| * | drm: add initial r500 drm supportDave Airlie2008-02-076-59/+240
| | | | | | | | | | | | | | | | | | | | | This adds CP support for the r500 series of chips, and allows accel 2D support on these chips with a new radeon driver. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | radeon: setup the ring buffer fetcher to be less agressive.Roland Scheidegger2008-02-072-3/+62
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: fixup some of the ioctl function exit pathsDave Airlie2008-02-071-5/+7
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: the drm really should call pci_set_master..Dave Airlie2008-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | perhaps bonghits could turn on my bus-mastering because the drm certainly never bothered doing it before. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | i915: Add chipset id for Intel Integrated Graphics DeviceZhenyu Wang2008-02-073-3/+7
| | | | | | | | | | | | | | | | | | | | | This adds new chipset id in drm. Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm: cleanup DRM_DEBUG() parametersMárton Németh2008-02-0728-145/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As DRM_DEBUG macro already prints out the __FUNCTION__ string (see drivers/char/drm/drmP.h), it is not worth doing this again. At some other places the ending "\n" was added. airlied:- I cleaned up a few that this patch missed also Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm/i915: add support for E7221 chipsetCarlos Martín2008-02-071-1/+1
| | | | | | | | | | | | | | | | | | E7221 chipset is a server version of the i915. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: don't cast a pointer to pointer of list_headLi Zefan2008-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The casting is safe only when the list_head member is the first member of the structure. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | mga_dma: return 'err' not just zero from mga_do_cleanup_dma()Jesper Juhl2008-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While reading some code I stumbled across the use of 'err' in drivers/char/drm/mga_dma.c::mga_do_cleanup_dma() and I think there's a small problem. The variable is only used inside #if __OS_HAS_AGP which is fine, but all that ever happens is an assignment to the variable - it is never actually used for anything. The variable is nicely initialized to zero which is also what the return statement at the end of function returns (always at the moment). It looks to me like that function should be returning 'err' instead of always just returning 0. Here's a patch to do that. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: add _DRM_DRIVER flag, and re-order unload.Dave Airlie2008-02-073-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | Allow drivers to addmaps that won't be removed by lastclose or unload. The unload needs to be re-ordered to avoid removing the hashs before the driver has removed the final maps. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: enable udev node creationDave Airlie2008-02-071-6/+1
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Make DRM_IOCTL_GET_CLIENT return EINVAL when it can't find client #idx.Eric Anholt2008-02-071-14/+11
| | | | | | | | | | | | | | | | | | Fixes the getclient test and dritest -c. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: move drm_mem_init to proper place in startup sequenceDave Airlie2008-02-071-2/+2
| | | | | | | | | | | | | | | | | | For TTM this needs to be called later. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: call driver load function after initialising AGPDave Airlie2008-02-071-4/+4
| | | | | | | | | | | | | | | | | | needed to intel chipset flushing Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Fix ioc32 compat layerIan Romanick2008-02-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously any ioctls that weren't explicitly listed in the compat ioctl table would fail with ENOTTY. If the incoming ioctl number is outside the range of the table, assume that it Just Works, and pass it off to drm_ioctl. This make the fence related ioctls work on 64-bit PowerPC. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: fd.o bug #11895: Only add the AGP base to map offset if the caller didn't.Eric Anholt2008-02-071-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | The i830 and newer intel 2D code adds the AGP base to map offsets already, because it wasn't doing the AGP enable which used to set dev->agp->base. Credit goes to Zhenyu for finding the issue. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | i915: add suspend/resume supportJesse Barnes2008-02-074-57/+1309
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add suspend/resume support to the i915 driver. Moves some of the initialization into the driver load routine, and fixes up places where we assumed no dev_private existed in some of the cleanup paths. This allows us to suspend/resume properly even if X isn't running. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: update DRM sysfs supportJesse Barnes2008-02-074-62/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make DRM devices use real Linux devices instead of class devices, which are going away. While we're at it, clean up some of the interfaces to take struct drm_device * or struct device * and use the global drm_class where needed instead of passing it around. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Initialize the AGP structure's base address at init rather than enable.Eric Anholt2008-02-072-3/+2
| | | | | | | | | | | | | | | | | | | | | Not all drivers call enable (intel), but they would still like to use this member in driver code. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: move two function extern into the correct blockDave Airlie2008-02-071-3/+2
| | |
| * | drm: run cleanfile across drm treeDave Airlie2008-02-0743-375/+362
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: some minor cleanups and changes to make memory manager merging easier.Dave Airlie2008-02-072-28/+28
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* | | Merge branch 'for-2.6.25' of ↵Linus Torvalds2008-02-079-0/+1995
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits) [POWERPC] Add SPE registers to core dumps [POWERPC] Use regset code for compat PTRACE_*REGS* calls [POWERPC] Use generic compat_sys_ptrace [POWERPC] Use generic compat_ptrace_request [POWERPC] Use generic ptrace peekdata/pokedata [POWERPC] Use regset code for PTRACE_*REGS* requests [POWERPC] Switch to generic compat_binfmt_elf code [POWERPC] Switch to using user_regset-based core dumps [POWERPC] Add user_regset compat support [POWERPC] Add user_regset_view definitions [POWERPC] Use user_regset accessors for GPRs [POWERPC] ptrace accessors for special regs MSR and TRAP [POWERPC] Use user_regset accessors for SPE regs [POWERPC] Use user_regset accessors for altivec regs [POWERPC] Use user_regset accessors for FP regs [POWERPC] mpc52xx: fix compile error introduce when rebasing patch [POWERPC] 4xx: PCIe indirect DCR spinlock fix. [POWERPC] Add missing native dcr dcr_ind_lock spinlock [POWERPC] 4xx: Fix offset value on Warp board [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry ...
| * \ \ Merge branch 'virtex-for-2.6.25' of ↵Josh Boyer2008-02-069-0/+1995
| |\ \ \ | | | | | | | | | | | | | | | git://git.secretlab.ca/git/linux-2.6-virtex into for-2.6.25
| | * | | [POWERPC] Xilinx: hwicap driverStephen Neuendorffer2008-02-069-0/+1995
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes code for new fifo-based xps_hwicap in addition to the older opb_hwicap, which has a significantly different interface. The common code between the two drivers is largely shared. Significant differences exists between this driver and what is supported in the EDK drivers. In particular, most of the architecture-specific code for reconfiguring individual FPGA resources has been removed. This functionality is likely better provided in a user-space support library. In addition, read and write access is supported. In addition, although the xps_hwicap cores support interrupt-driver mode, this driver only supports polled operation, in order to make the code simpler, and since the interrupt processing overhead is likely to slow down the throughput under Linux. Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | | | | Char: mxser, add support for CP-114ULJiri Slaby2008-02-071-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new card (0x1393:0x1143) support added in 1.11 original driver, also allow rate change in set_serial_info ioctl (as per 1.11 too). Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Reviewed-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | Char: mxser, remove itJiri Slaby2008-02-076-5485/+1891
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Old) mxser is obsoleted by mxser_new and scheduled for removal on Dec 2007. Remove it by renaming mxser_new to mxser. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Reviewed-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | Char: mxser, ioctl cleanupJiri Slaby2008-02-072-45/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove dead MOXA_GET_CONF (always returned -ENXIO) - remove useless MOXA_GET_CUMAJOR (unused) - use get/put_user instead of copy_from/to_user for simple types - cleanup TIOCMIWAIT -- return -ERESTARTSYS on signal, move condition into separate function Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Reviewed-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | Char: mxser, simplify mxser_get_serial_infoJiri Slaby2008-02-071-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialize temp structure directly with proper values without first zeroing it and setting later as suggested by Jan. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Jan Engelhardt <jengelh@computergmbh.de> Reviewed-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | Char: mxser, reorder mxser_cardinfo fieldsJiri Slaby2008-02-071-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reorder fields to save some memory and code on 64bit due to alignment as suggested by Jan. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Jan Engelhardt <jengelh@computergmbh.de> Reviewed-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | Char: mxser, 0 to NULL in pointerJiri Slaby2008-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't test a pointer against 0. Use NULL instead. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Reviewed-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | Char: mxser, remove special baudrate processingJiri Slaby2008-02-072-101/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let the special baudrate processing on the tty layer. Also remove set/get_special_rate ioctls introduced in commit f64c84a1668930d1ca2b7dbaa92146c2139cb508, since it is no longer needed. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Reviewed-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | mxser/mxser_new: first pass over termios reporting for the mxser cardsAlan Cox2008-02-072-15/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Cc: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | Char: riscom8, remove wakeup and hangup bottomhalvesJiri Slaby2008-02-072-50/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both of them may be called directly from the code, don't add special code and variables and schedule a work for them. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>