aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-09-27USB: wacom tablet driver reorganizationPing Cheng6-1003/+1142
- split wacom.c into 4 files: wacom.h, wacom_wac.h, wacom_sys.c, and wacom_wac.c - where wacom_sys.c deals with system specific code, - and wacom_wac.c deals with Wacom specific code Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: usbcore get rid of the timer in usb_start_wait_urb()Franck Bui-Huu1-44/+29
This patch uses completion timeout instead of a timer to implement a timeout when submitting an URB in usb_start_wait_urb(). It also fixes a small issue. With the previous code, if no timeout happened and the URB's status was set to ECONNRESET value, the code assumed wrongly that a timeout had occured. Signed-off-by: Franck Bui-Huu <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: ipaq: minor ipaq_open() cleanup.Luiz Fernando N. Capitulino1-15/+23
Commit b512504e5671f83638be0ddr085c4b1832f623d3 made ipaq_open() a bit messy by moving the read urb submission far from its usb_fill_bulk_urb() call and the comment explaining what it does. This patch put they together again. Although only compiled tested, should not break the fix introduced by b512504e5671f83638be0ddr085c4b1832f623d3, of course. Signed-off-by: Luiz Fernando N. Capitulino <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbnet: printk format warningRandy Dunlap1-1/+1
Fix printk format warning(s): drivers/usb/net/usbnet.c:654: warning: int format, different type arg (arg 3) The fact that rx_urb_size happens to be a size_t has propagated all the way back to this printk. It's fragile to be using %z in this case - let's just typecast the args instead. Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: asix - Add AX88178 support and many other changesDavid Hollis1-232/+769
* More generi-fication of function/macro names where appropriate: ax88772_xx() -> asix_xx() * Reorder functions to provide more logical grouping * AX88178 device support * Support DLink DUB-E100 Rev B Support * Hopefully resolve all endian-ness issues * Use more defines for bitmask values * Change a number of devdbg() calls to deverr() so that if DEBUG is not defined, the error messages still get through as necessary Signed-off-by: David Hollis <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: usbnet - Add unlink_rx_urbs() call to allow for Jumbo FramesJamie Painter2-3/+28
Add usbnet_unlink_rx_urbs() which can be called by mini-drivers when they change their MTU such as for Jumbo Frame support. Signed-off-by: David Hollis <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: pl2303: cosmetic changes to quirkThiago Galesi1-6/+13
Cosmetic changes to quirk in pl2303_update_line_status Signed-off-by: Thiago Galesi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: pl2303: reduce number of prototypesThiago Galesi1-301/+269
Reduce number of needed prototypes in Prolific pl2303 driver Signed-off-by: Thiago Galesi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: pl2303: cosmetic changes to pl2303_buf_{clear, data_avail}Thiago Galesi1-6/+6
Changes the functions pl2303_buf_clear and pl2303_buf_data_avail for the purpose of keeping them under the 80 column limit, making them more similar to similar functions and making then simpler. Signed-off-by: Thiago Galesi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: pl2303: remove 80-columns limit violations in pl2303 driverThiago Galesi1-129/+123
Fixes several lines that overrun 80 columns in Prolific pl2303 driver and cleans up some space usages in the function calls. Signed-off-by: Thiago Galesi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: pl2303: Removes unneeded goto.Luiz Fernando N. Capitulino1-4/+1
Signed-off-by: Luiz Fernando N. Capitulino <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbtouchscreen: version 0.4Daniel Ritz2-84/+219
changes over 0.3: - some more eGalax device IDs (from eGalax driver/spec) - return the error code in probe() - 3M/MTouch init fixes, tested by Don Alexander - eGalax fixes for bugs in multi-packet handling, spottet by Pieter Grimmerink - support for some eTurboTouch devices, mostly by Pieter Grimmerink - support for Gunze AHL61 controller (untested, but simple enough) Signed-off-by: Daniel Ritz <[email protected]> Cc: Pieter Grimmerink <[email protected]> Cc: Don Alexander <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27hub driver: improve use of #ifdefAlan Stern2-18/+57
This patch (as736) makes the hub driver more readable by improving the usage of "#ifdef CONFIG_PM" and "#ifdef CONFIG_USB_SUSPEND". Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: suspending devices with no driverAlan Stern1-4/+15
Since usb_generic can be unbound from a USB device, we need to be able to handle the possibility that a suspend or resume request arrives for a device with no driver. This patch (as735) arranges things so that resume requests will fail and suspend requests will use the standard USB port-suspend code. Attempts to suspend or resume an unbound interface are handled similarly (although the error caused by trying to resume an unbound interface is dropped by the calling routine). Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: fix up device and power state testsAlan Stern3-61/+29
This patch (as734) rationalizes the various tests of device state and power states. There are duplications and mistaken tests in several places. Perhaps the most interesting challenge is where the hub driver tests to see that all the child devices are suspended before allowing itself to be suspended. When CONFIG_USB_SUSPEND is set the test is straightforward, since we expect that the children _will_ be suspended. But when CONFIG_USB_SUSPEND isn't set, it's not so clear what should be done. The code compromises by checking the child's power.power_state.event field. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: set device and power states properlyAlan Stern2-35/+46
This patch (as733) fixes up the places where device states and power states are set in usbcore. Right now things are duplicated or missing; this should straighten things out. The idea is that udev->state is USB_STATE_SUSPENDED exactly when the device's upstream port has been suspended, whereas udev->dev.power.power_state.event reflects the result of the last call to the suspend/resume routines (which might not actually change the device state, especially if CONFIG_USB_SUSPEND isn't set). Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: track whether interfaces are suspendedAlan Stern2-3/+6
Currently we rely on intf->dev.power.power_state.event for tracking whether intf is suspended. This is not a reliable technique because that value is owned by the PM core, not by usbcore. This patch (as718b) adds a new flag so that we can accurately tell which interfaces are suspended and which aren't. At first one might think these flags aren't needed, since interfaces will be suspended along with their devices. It turns out there are a couple of intermediate situations where that's not quite true, such as while processing a remote-wakeup request. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: resume device resume recursionAlan Stern4-105/+70
This patch (as717b) removes the existing recursion in hub resume code: Resuming a hub will no longer automatically resume the devices attached to the hub. At the same time, it adds one level of recursion: Suspending a USB device will automatically suspend all the device's interfaces. Failure at an intermediate stage will cause all the already-suspended interfaces to be resumed. Attempts to suspend or resume an interface by itself will do nothing, although they won't return an error. Thus the regular system-suspend and system-resume procedures should continue to work as before; only runtime PM will be affected. The patch also removes the code that tests state of the interfaces before suspending a device. It's no longer needed, since everything gets suspended together. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: split suspend/resume for device and interfacesAlan Stern1-45/+77
This patch (as716b) splits up the core suspend and resume routines into two parts each: one for handling devices and one for handling interfaces. The behavior of the parts should be the same as in the old unified code. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: make usb_generic a usb_device_driverAlan Stern4-186/+232
This patch (as714b) makes usb_generic into a usb_device_driver capable of being probed and unbound, just like other drivers. A fair amount of the work that used to get done during discovery or removal of a USB device have been moved to the probe and disconnect methods of usb_generic: creating the sysfs attributes and selecting an initial configuration. However the normal behavior should continue to be the same as before. We will now have the possibility of creating other USB device drivers, They will assist with exporting devices to remote systems (USB-over-TCPIP) or to paravirtual guest operating systems. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: add usb_device_driver definitionAlan Stern5-84/+245
This patch (as732) adds a usb_device_driver structure, for representing drivers that manage an entire USB device as opposed to just an interface. Support routines like usb_register_device_driver, usb_deregister_device_driver, usb_probe_device, and usb_unbind_device are also added. Unlike an earlier version of this patch, the new code is type-safe. To accomplish this, the existing struct driver embedded in struct usb_driver had to be wrapped in an intermediate wrapper. This enables the core to tell at runtime whether a particular struct driver belongs to a device driver or to an interface driver. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: move code among source filesAlan Stern5-342/+370
This revised patch (as713b) moves a few routines among source files in usbcore. Some driver-related code in usb.c (claiming interfaces and matching IDs) is moved to driver.c, where it belongs. Also the usb_generic stuff in driver.c is moved to a new source file: generic.c. (That's the reason for revising the patch.) Although not very big now, it will get bigger in a later patch. None of the code has been changed; it has only been re-arranged. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: rename usb_suspend_device to usb_port_suspendAlan Stern3-24/+25
This revised patch (as715b) renames usb_suspend_device to usb_port_suspend, usb_resume_device to usb_port_resume, and finish_device_resume to finish_port_resume. There was no objection to the original version of the patch so this should be okay to apply. The revision was needed only because I have re-arranged the order of the earlier patches. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usb-skeleton: don't submit URBs after disconnectionAlan Stern1-7/+33
This patch (as712b) is a slight revision of one submitted earlier. It fixes the usb-skeleton example driver so that it won't try to submit URBs after skel_disconnect() has returned. This could cause errors, if the driver was unbound and then a different driver was bound to the device. It also fixes a couple of small bugs in the skel_write() routine. The revised patch uses a slightly different test, suggested by Dave Brownell, for determining whether to free a transfer buffer. It's a little clearer than the earlier version. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbfs: detect device unregistrationAlan Stern1-6/+7
This patch (as711b) is a revised version of an earlier submission. It modifies the usbfs code to detect when a device has been unregistered from usbfs, even if the device is still connected. Although this can't happen now, it will be able to happen after the upcoming changes to usb_generic. Nobody objected to this patch when it was submitted before, so it should be okay to apply this version. The revision is merely to take into account the changes introduced by as723, which touches the same driver. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbfs: private mutex for open, release, and removeAlan Stern3-11/+19
The usbfs code doesn't provide sufficient mutual exclusion among open, release, and remove. Release vs. remove is okay because they both acquire the device lock, but open is not exclusive with either one. All three routines modify the udev->filelist linked list, so they must not run concurrently. Apparently someone gave this a minimum amount of thought in the past by explicitly acquiring the BKL at the start of the usbdev_open routine. Oddly enough, there's a comment pointing out that locking is unnecessary because chrdev_open already has acquired the BKL. But this ignores the point that the files in /proc/bus/usb/* are not char device files; they are regular files and so they don't get any special locking. Furthermore it's necessary to acquire the same lock in the release and remove routines, which the code does not do. Yet another problem arises because the same file_operations structure is accessible through both the /proc/bus/usb/* and /dev/usb/usbdev* file nodes. Even when one of them has been removed, it's still possible for userspace to open the other. So simple locking around the individual remove routines is insufficient; we need to lock the entire usb_notify_remove_device notifier chain. Rather than rely on the BKL, this patch (as723) introduces a new private mutex for the purpose. Holding the BKL while invoking a notifier chain doesn't seem like a good idea. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: Phidgets should check create_device_file() return valueSean Young3-196/+199
device_create_file() could fail, add proper error paths for this condition. Signed-off-by: Sean Young <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: Put phidgets driver in a sysfs classSean Young7-190/+334
This patch creates a device class phidget and add the phidget drivers to them. Signed-off-by: Sean Young <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: Add driver for PhidgetMotorControlSean Young4-5/+451
This driver add support for the Phidgets Inc., MotorControl via sysfs. Also some minor fixes for the InterfaceKit. Signed-off-by: Sean Young <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27usbcore: add configuration_string to attribute groupAlan Stern1-3/+2
This patch (as737b) does a very small cleanup of core/sysfs.c by adding the configuration_string attribute file to the existing attribute group instead of treating it separately. It doesn't need this separate treatment because unlike the other device string attributes, it changes along with the active configuration. The patch also fixes a simple typo (which, oddly enough, doesn't seem to bother the compiler). Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: Make usb_buffer_free() NULL-safeDmitry Torokhov1-1/+3
kfree() handles NULL arguments which is handy in error handling paths as one does need to insert bunch of ifs. How about making usb_buffer_free() do the same? Signed-off-by: Dmitry Torokhov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: ark3116: Formatting cleanupsWerner Lemberg1-100/+99
Formatting only. Signed-off-by: Werner Lemberg <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: ark3116: Add TIOCGSERIAL and TIOCSSERIAL ioctl calls.Werner Lemberg1-3/+31
Add (dummy?) support for TIOCGSERIAL and TIOCSSERIAL ioctl calls to the USB serial driver file `ark3116.c'. This is sufficient for me to run wvdial successfully, receive my email, and do webbrowsing with firefox. On the other hand, running the cvs program to update archives seems not to work, and the traceroute command sometimes says send failed: No buffer space available Looks like a buffering problem... My knowledge of serial device drivers is zero, so I can't fix this -- I just did a cut'n'paste from other USB serial drivers... Signed-off-by: Werner Lemberg <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: Allow compile in g_ether, fix typoTony Lindgren1-2/+2
Allows compiling g_ether in and fixes a typo with MUSB_HDRC Signed-off-by: Tony Lindgren <[email protected]> Cc: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: pxa2xx_udc understands GPIO based VBUS sensingDavid Brownell4-32/+85
This updates the PXA 25x UDC board-independent infrastructure for VBUS sensing and the D+ pullup. The original code evolved from rather bizarre support on Intel's "Lubbock" reference hardware, so that on more sensible hardware it doesn't work as well as it could/should. The change is just to teach the UDC driver how to use built-in PXA GPIO pins directly. This reduces the amount of board-specfic object code needed, and enables the use of a VBUS sensing IRQ on boards (like Gumstix) that have one. With VBUS sensing, the UDC is unclocked until a host is actually connected. Signed-off-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: move <linux/usb_otg.h> to <linux/usb/otg.h>David Brownell5-6/+6
Move <linux/usb_otg.h> to <linux/usb/otg.h>. Signed-off-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: kill usb kconfig warningAndrew Morton1-1/+0
drivers/usb/host/Kconfig:87:warning: 'select' used by config symbol 'USB_OHCI_HCD' refer to undefined symbol 'I2C_PNX' Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB OHCI controller support for PNX4008Vitaly Wool4-0/+484
inlined is the patch that adds basic support for USB OHCI controller support for PNX4008 Philips PNX4008 ARM board. Due to HW design, it depends on I2C driver for PNX4008 which I've recetnly posted to LKML and i2c at lm-sensors. Signed-off-by: Vitaly Wool <[email protected]> Cc: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: ohci-s3c2410.c: clock now usb-bus-hostBen Dooks1-1/+1
With the newer Samsung S3C2412 and S3C2413 SoC devices, the 48MHz USB clock has been given an individual gate into the USB OHCI and gadget blocks. This clock is called usb-bus-clock, and we need to replace the old use of the USB PLL (upll) directly with the new usb-bus-host. The S3C2410 clock driver has been updated already to provide a virtual clock which is a child of the UPLL to maintain compatibility. The S3C2412 clock driver correctly enables the PLL when either usb-bus clock is active. Signed-off-by: Ben Dooks <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: OHCI avoids root hub timer pollingDavid Brownell13-45/+99
This teaches OHCI to use the root hub status change (RHSC) IRQ, bypassing root hub timers most of the time and switching over to the "new" root hub polling scheme. It's complicated by the fact that implementations of OHCI trigger and ack that IRQ differently (the spec is vague there). Avoiding root hub timers helps mechanisms like "dynamic tick" leave the CPU in lowpower modes for longer intervals. Signed-off-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB doc patch 2Sam Bishop1-7/+18
A little more detail on how and when to poll() /proc/bus/usb/devices. Signed-off-by: Sam Bishop <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: doc patch 1Sam Bishop1-54/+44
Grammar, spelling, and stylistic edits. Signed-off-by: Sam Bishop <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: unusual_dev entry for Sony P990iPhil Dibowitz1-0/+7
This patch is a re-diffed version of one originally sent by Jan Mate <[email protected]>. Signed-off-by: Phil Dibowitz <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27USB: unusual_devs entry for Lacie DVD+-RWAlan Stern1-0/+7
This patch (as781) adds an entry to unusual_devs.h for the Lacie DVD+-RW drive. Apparently its USB interface has requirements similar to the Genesys Logic interface; it doesn't like data to be sent too soon after a command. This fixes Bugzilla #6817. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Phil Dibowitz <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2006-09-27Merge branch 'release' of ↵Linus Torvalds27-198/+920
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] minor reformatting to vmlinux.lds.S [IA64] CMC/CPE: Reverse the order of fetching log and checking poll threshold [IA64] PAL calls need physical mode, stacked [IA64] ar.fpsr not set on MCA/INIT kernel entry [IA64] printing support for MCA/INIT [IA64] trim output of show_mem() [IA64] show_mem() printk levels [IA64] Make gp value point to Region 5 in mca handler Revert "[IA64] Unwire set/get_robust_list" [IA64] Implement futex primitives [IA64-SGI] Do not request DMA memory for BTE [IA64] Move perfmon tables from thread_struct to pfm_context [IA64] Add interface so modules can discover whether multithreading is on. [IA64] kprobes: fixup the pagefault exception caused by probehandlers [IA64] kprobe opcode 16 bytes alignment on IA64 [IA64] esi-support [IA64] Add "model name" to /proc/cpuinfo
2006-09-27Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds355-9006/+20709
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (108 commits) sh: Fix occasional flush_cache_4096() stack corruption. sh: Calculate shm alignment at runtime. sh: dma-mapping compile fixes. sh: Initial vsyscall page support. sh: Clean up PAGE_SIZE definition for assembly use. sh: Selective flush_cache_mm() flushing. sh: More intelligent entry_mask/way_size calculation. sh: Support for L2 cache on newer SH-4A CPUs. sh: Update kexec support for API changes. sh: Optimized readsl()/writesl() support. sh: Report movli.l/movco.l capabilities. sh: CPU flags in AT_HWCAP in ELF auxvt. sh: Add support for 4K stacks. sh: Enable /proc/kcore support. sh: stack debugging support. sh: select CONFIG_EMBEDDED. sh: machvec rework. sh: Solution Engine SH7343 board support. sh: SH7710VoIPGW board support. sh: Enable verbose BUG() support. ...
2006-09-27Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2-20/+21
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Kill bogus check from bootmem_init(). [SPARC64]: Update defconfig.
2006-09-27[PATCH] x86: use probe_kernel_address in handle_BUG()Andrew Morton1-3/+4
Avoid possible deadlock on a BUG() inside down_write(mmap_sem). The deadlock can only occur if something has gone horridly wrong, because a fault here shouldn't happen. Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-09-27[PATCH] add probe_kernel_address()Andrew Morton1-0/+22
Add a version of __get_user() which is safe to call inside mmap_sem. Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-09-27[PATCH] de_thread: Use tsk not currentEric W. Biederman1-23/+23
Ingo Oeser pointed out that because current expands to an inline function it is more space efficient and somewhat faster to simply keep a cached copy of current in another variable. This patch implements that for the de_thread function. (akpm: saves nearly 100 bytes of text on x86) Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>