Dmitry Torokhov [Thu, 11 Oct 2007 04:48:48 +0000 (00:48 -0400)]
Input: jornada720_kbd - send MSC_SCAN events
Send MSC_SCAN events to userspace to ease task of adjusting
keymap.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Kristoffer Ericson [Wed, 26 Sep 2007 04:02:56 +0000 (00:02 -0400)]
Input: add support for the HP Jornada 7xx (710/720/728) touchscreen
Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Kristoffer Ericson [Wed, 26 Sep 2007 04:02:49 +0000 (00:02 -0400)]
Input: add support for HP Jornada 7xx onboard keyboard
The driver supports onboard keyboards of HP Jornada 710/720/728
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Kristoffer Ericson [Wed, 26 Sep 2007 04:02:35 +0000 (00:02 -0400)]
Input: add support for HP Jornada onboard keyboard (HP6XX)
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Rene Herman [Wed, 26 Sep 2007 04:02:19 +0000 (00:02 -0400)]
Input: ucb1400_ts - use schedule_timeout_uninterruptible
Given that the code is not checking for signals it should
use uninterruptible sleep.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 26 Sep 2007 04:02:06 +0000 (00:02 -0400)]
Input: xpad - fix dependancy on LEDS class
The driver can not be built-in when LEDS class is a module.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Andreas Herrmann [Wed, 26 Sep 2007 04:01:50 +0000 (00:01 -0400)]
Input: auto-select INPUT for MAC_EMUMOUSEBTN option
Otherwise we'll ge the following build error:
LD .tmp_vmlinux1
drivers/built-in.o: In function `input_report_key':
include/linux/input.h:1158: undefined reference to `input_event'
...
Signed-off-by: Andreas Herrmann <aherrman@arcor.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 26 Sep 2007 04:01:41 +0000 (00:01 -0400)]
HWMON: ams - convert to use input-polldev
Switch to using input-polldev skeleton instead of implementing polling
loop by itself.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Michael Hanselmann <linux-kernel@hansmi.ch>
Dmitry Torokhov [Wed, 26 Sep 2007 04:01:35 +0000 (00:01 -0400)]
HWMON: applesmc - convert to use input-polldev
Switch to using input-polldev skeleton instead of implementing polling loop by
itself. This also fixes problem with trylock on a mutex in atomic context.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Stephen Hemminger [Wed, 26 Sep 2007 04:01:25 +0000 (00:01 -0400)]
Input: polled device power saving
For slow running polling, it saves power to align wakeups on tick boundary.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Anti Sullin [Wed, 26 Sep 2007 04:01:17 +0000 (00:01 -0400)]
Input: gpio-keys - add suspend/resume support
This patch adds suspend/resume support and enables wakeup from
gpio_keys buttons.
Signed-off-by: Anti Sullin <anti.sullin@artecdesign.ee>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Anti Sullin [Wed, 26 Sep 2007 04:01:03 +0000 (00:01 -0400)]
Input: gpio_keys - verify that supplied GPIO numbers are valid
As David Brownell pointed out, gpio_keys driver does not check
return code of gpio_to_irq().
This patch adds the gpio_to_irq return code check to gpio_keys
and moves the IRQ edge type setting to request_irq flags to avoid
changing the irq type before we have confirmed we can use it.
Signed-off-by: Anti Sullin <anti.sullin@artecdesign.ee>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Daniel Ritz [Mon, 10 Sep 2007 05:31:40 +0000 (01:31 -0400)]
Input: usbtouchscreen - support DMC devices with empty EEPROM
A reply of 0x0600 means all OK, 0x1501 means OK, but EEPROM empty.
The behavior with an empty EEPROM is the same as without one at all
so do not fail loading the driver.
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 5 Sep 2007 04:22:17 +0000 (00:22 -0400)]
Input: lifebook - add signature of Panasonic CF-72
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
William Pettersson [Wed, 5 Sep 2007 04:18:44 +0000 (00:18 -0400)]
Input: ALPS - add support for model found in Dell Vostro 1400
Signed-off-by: William Pettersson <william.pettersson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Andrew Morton [Wed, 5 Sep 2007 03:51:53 +0000 (23:51 -0400)]
Input: iforce - de-dosify iforce-protocol.txt
This file used DOS line endings.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 5 Sep 2007 03:46:42 +0000 (23:46 -0400)]
Input: remove ec3104_keyb driver
Now that ec3104 board support has been removed nothing references
this driver so it can be safely removed as well.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Ondrej Zary [Wed, 5 Sep 2007 03:45:01 +0000 (23:45 -0400)]
Input: usbtouchscreen - add support for IdealTEK URTC1000
This patch adds support for IdealTEK URTC1000 touchscreen controllers.
Documentation can be downloaded at:
http://projects.tbmn.org/cgi-bin/trac.cgi/wiki/urtc-1000
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Alon Ziv [Thu, 30 Aug 2007 04:22:48 +0000 (00:22 -0400)]
Input: psmouse - reset harder during probe
Some rodents appear to be extra-finicky, and require both PSMOUSE_RESET_DIS
and PSMOUSE_RESET_BAT before they are unconfused enough to be probed.
Signed-off-by: Alon Ziv <lkml@nolaviz.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Thu, 30 Aug 2007 04:22:39 +0000 (00:22 -0400)]
Input: tsdev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Thu, 30 Aug 2007 04:22:32 +0000 (00:22 -0400)]
Input: joydev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Thu, 30 Aug 2007 04:22:24 +0000 (00:22 -0400)]
Input: mousedev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Thu, 30 Aug 2007 04:22:18 +0000 (00:22 -0400)]
Input: evdev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Thu, 30 Aug 2007 04:22:11 +0000 (00:22 -0400)]
Input: implement proper locking in input core
Also add some kerneldoc documentation to input.h
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 18 Jul 2007 05:20:58 +0000 (01:20 -0400)]
Input: mark some functions __must_check
Mark input_register_device() and input_register_handler() functions
as __must_check so authors of new drivers add error handling right
away.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Markus Armbruster [Wed, 18 Jul 2007 05:20:41 +0000 (01:20 -0400)]
Input: i8042 - restore control register when enabling port fails
When enabling interrupts for a port fails, the interrupt enable and
port enable bits remain set in i8042_ctr. Later writes of i8042_ctr
to the hardware could accidentally retry enabling interrupts. Clear
the bits on failure.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 18 Jul 2007 05:20:34 +0000 (01:20 -0400)]
Input: xpad - use le16_to_cpup when parsing data stream
Use avaliable functions instead of doing it all manually.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 18 Jul 2007 04:38:45 +0000 (00:38 -0400)]
Input: document intended meaning of KEY_SWITCHVIDEOMODE
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Pavel Emelianov [Wed, 18 Jul 2007 04:38:32 +0000 (00:38 -0400)]
Input: switch to using seq_list_xxx helpers
This is essentially just a renaming of the existing functions
as copies of seq_list_start() and seq_list_next() already existed
in the input.c.
Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 18 Jul 2007 04:38:01 +0000 (00:38 -0400)]
Input: i8042 - give more trust to PNP data on i386
On some boxes that don't have PS/2 mice connected at startup BIOS
completely disables AUX port and attempts to access it result in
hosed keyboard. Historically we do not trust ACPI/PNP data on
i386 and try to poke AUX port even if we did not find an active
PNP node for it. However in cases when BIOS writers got KBD port
properly described we can assume that they did the right thing
for AUX port as well.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 18 Jul 2007 04:37:01 +0000 (00:37 -0400)]
Input: add driver for Fujitsu serial touchscreens
These serial touchscreens are found on some Fujitsu lifebook
P-series laptops, and the B6210. Using this requires a new
version of inputattach and doing:
inputattach -fjt /dev/ttyS0
Big thanks to Stephen Hemminger for testing it and making it
work on his B6210 laptop.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Semih Hazar [Wed, 18 Jul 2007 04:36:04 +0000 (00:36 -0400)]
Input: ads7846 - re-check pendown status before reporting events
Pendown status from the PENIRQ pin is currently read only at the beginning
of a sample set. If the pen is lifted just after sampling has began then
sampled values become wrong.
This patch adds an optional platform penirq_recheck_delay attribute. If
non-zero, samples are only reported to the input subsystem if PENIRQ is
still active that long after the samples taken.
Signed-off-by: Semih Hazar <semih.hazar@indefia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Semih Hazar [Wed, 18 Jul 2007 04:35:56 +0000 (00:35 -0400)]
Input: ads7846 - introduce sample settling delay
The ads7846 driver has support for filtering, but when the chip gets
deselected between samples this causes noise. This patch adds support
for an optional settling delay time, so that two consecutive samples
will be taken with the specified delay time apart. This ensures that
the chip won't be deselected, so the noise won't appear.
Filtering can still be done, but will have less work to do since each
time a new sample is taken the same delay applies.
Signed-off-by: Semih Hazar <semih.hazar@indefia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Jan Kratochvil [Wed, 18 Jul 2007 04:35:40 +0000 (00:35 -0400)]
Input: xpad - add support for leds on xbox 360 pad
Export LEDs on Xbox360 pad via led subsystem as a single device in
/sys/class/leds/xpad[0-9]+.
Xbox360 pad has four leds, which form a circle. Unfortunately the leds
can't be controlled independently and can only display a predefined
set of patterns (for example one is turned on wile others are off or
a rotating pattern - 1-2-3-4). To activate a pattern one needs to send
a specific command to the device (see http://www.free60.org/wiki/Gamepad).
Led subsystem allows us to set brightness, but there is nothing like
brightness on this device. So brightness is actually interpreted as
the command (only values between 0 and 14 are accepted).
Signed-off-by: Jan Kratochvil <honza@jikos.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Paul Mundt [Wed, 18 Jul 2007 00:18:36 +0000 (09:18 +0900)]
slob: Kill off duplicate kzalloc() definition.
With the slab zeroing allocations cleanups Christoph stubbed in a generic
kzalloc(), which was missed on SLOB. Follow the SLAB/SLUB changes and
kill off the __kzalloc() wrapper that SLOB was using.
Reported-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 17 Jul 2007 22:57:42 +0000 (15:57 -0700)]
Revert drivers/ide/ide.c scsi_cmd_ioctl() usage changes
The old IDE driver is not ready to take generic SCSI commands, even if
it uses them for some specific issues (ie the tray open/close ioctls for
IDE CD-ROM's). Pointed out by Bartlomiej.
I'm sure we'll have it fixed properly soon enough, but for now we should
not allow it to cause problems.
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 17 Jul 2007 22:43:56 +0000 (15:43 -0700)]
Make the "z/VM unit record device driver" depend on S390
I really don't see anybody else wanting to select it ;)
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 17 Jul 2007 22:29:33 +0000 (15:29 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] Fix broken logic, SIGA flags must be bitwise ORed
[S390] cio: Dont print trailing \0 in modalias_show().
[S390] Simplify stack trace.
[S390] z/VM unit record device driver
[S390] vmcp cleanup
[S390] qdio: output queue stall on FCP and network devices
[S390] Fix disassembly of RX_URRD, SI_URD & PC-relative instructions.
[S390] Update default configuration.
Linus Torvalds [Tue, 17 Jul 2007 22:28:18 +0000 (15:28 -0700)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: (21 commits)
[WATCHDOG] at32ap700x_wdt.c - Fix compilation warnings
[WATCHDOG] at32ap700x_wdt.c - Add spinlock support
[WATCHDOG] at32ap700x_wdt.c - Add nowayout + MAGICCLOSE features
[WATCHDOG] at32ap700x_wdt.c - timeout module parameter patch
[WATCHDOG] at32ap700x_wdt.c - checkpatch.pl-0.05 clean-up's
[WATCHDOG] change s3c2410_wdt to using dev_() macros for output
[WATCHDOG] s3c2410_wdt announce initialisation
[WATCHDOG] at32ap700x-wdt: add iounmap if probe function fails
[WATCHDOG] at32ap700x-wdt: add missing iounmap in _remove
[WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix-2
[WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix
[WATCHDOG] Watchdog driver for AT32AP700X devices
[WATCHDOG] Mixcom Watchdog - CodingStyle clean-up
[WATCHDOG] Mixcom Watchdog - clean-up printk's
[WATCHDOG] Mixcom Watchdog - clean-up printk's
[WATCHDOG] Mixcom Watchdog - checkcard part 2
[WATCHDOG] Mixcom Watchdog - checkcard
[WATCHDOG] Mixcom Watchdog - get rid of port offset's
[WATCHDOG] Mixcom Watchdog - update "Documentation"
[WATCHDOG] Remove the redundant check for pwrite() in EP93XXX watchdog.
...
Linus Torvalds [Tue, 17 Jul 2007 22:26:31 +0000 (15:26 -0700)]
Merge branch 'bsg' of git://git.kernel.dk/data/git/linux-2.6-block
* 'bsg' of git://git.kernel.dk/data/git/linux-2.6-block:
bsg: fix missing space in version print
Don't define empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG
bsg: Kconfig updates
bsg: minor cleanup
bsg: device hash table cleanup
bsg: fix initialization error handling bugs
bsg: mark FUJITA Tomonori as bsg maintainer
bsg: convert to dynamic major
bsg: address various review comments
Linus Torvalds [Tue, 17 Jul 2007 22:23:50 +0000 (15:23 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ericvh/v9fs
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
9p: fix debug compilation error
Linus Torvalds [Tue, 17 Jul 2007 22:23:37 +0000 (15:23 -0700)]
Merge branch 'isdn-cleanup' of /linux/kernel/git/jgarzik/misc-2.6
* 'isdn-cleanup' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
[ISDN] HiSax hfc_pci: minor cleanups
[ISDN] HiSax bkm_a4t: split setup into two smaller functions
[ISDN] HiSax enternow: split setup into 3 smaller functions
[ISDN] HiSax netjet_u: split setup into 3 smaller functions
[ISDN] HiSax netjet_s: code movement, prep for hotplug
[ISDN] HiSax: move card state alloc/setup code into separate functions
[ISDN] HiSax: move card setup into separate function
Linus Torvalds [Tue, 17 Jul 2007 22:19:27 +0000 (15:19 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Kill bogus set_fs(KERNEL_DS) in do_rt_sigreturn().
[SPARC64]: Update defconfig.
[SPARC64]: Kill explicit %gl register reference.
Linus Torvalds [Tue, 17 Jul 2007 22:19:06 +0000 (15:19 -0700)]
Merge branch 'uninit-var' of /linux/kernel/git/jgarzik/misc-2.6
* 'uninit-var' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
arch/i386/* fs/* ipc/*: mark variables with uninitialized_var()
drivers/*: mark variables with uninitialized_var()
Linus Torvalds [Tue, 17 Jul 2007 22:18:33 +0000 (15:18 -0700)]
Merge branch 'warnings' of /linux/kernel/git/jgarzik/misc-2.6
* 'warnings' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
drivers/atm/ambassador: kill uninit'd var warning, and fix bug
[libata] sata_mv: use pci_try_set_mwi()
drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning
drivers/net/wan/sbni: kill uninit'd var warning
drivers/mtd/ubi/eba: minor cleanup: tighten scope of a local var
drivers/telephony/ixj: cleanup and fix gcc warning
drivers/net/wan/pc300_drv: fix bug caught by gcc warning
drivers/usb/misc/auerswald: fix status check, remove redundant check
[netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails
[netdrvr] natsemi: Fix device removal bug
kernel/auditfilter: kill bogus uninit'd-var compiler warning
Al Viro [Tue, 17 Jul 2007 21:29:46 +0000 (22:29 +0100)]
smp_call_function_single() should be a macro on UP
... or we end up with header include order problems from hell.
E.g. on m68k this is 100% fatal - local_irq_enable() there
wants preempt_count(), which wants task_struct fields, which
we won't have when we are in smp.h pulled from sched.h.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Oleg Nesterov [Tue, 17 Jul 2007 21:37:54 +0000 (14:37 -0700)]
[SPARC64]: Kill bogus set_fs(KERNEL_DS) in do_rt_sigreturn().
From: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Garzik [Mon, 16 Jul 2007 01:48:07 +0000 (21:48 -0400)]
[ISDN] HiSax hfc_pci: minor cleanups
* trim trailing whitespace
* remove CONFIG_PCI ifdefs, this driver is always PCI (Kconfig enforced)
* remove return statements at the tail of a function
* remove indentation levels by returning an error code immediately.
Makes the code much more readable, and easier to update to PCI hotplug
API.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sun, 15 Jul 2007 23:58:24 +0000 (19:58 -0400)]
[ISDN] HiSax bkm_a4t: split setup into two smaller functions
No behavior changes, just code movement. Prep for PCI hotplug API.
Well, CONFIG_PCI useless ifdef was removed.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sun, 15 Jul 2007 23:25:45 +0000 (19:25 -0400)]
[ISDN] HiSax enternow: split setup into 3 smaller functions
No behavior changes, just code movement. Prep for PCI hotplug API.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sun, 15 Jul 2007 20:59:01 +0000 (16:59 -0400)]
[ISDN] HiSax netjet_u: split setup into 3 smaller functions
No behavior changes, just code movement. Prep for PCI hotplug API.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sun, 15 Jul 2007 08:25:35 +0000 (04:25 -0400)]
[ISDN] HiSax netjet_s: code movement, prep for hotplug
1) Remove CONFIG_PCI ifdefs. PCI is required in Kconfig.
2) Break up setup_netjet_s() into three separate internal functions.
This helps facilitate upcoming use of PCI hotplug API, and in addition
makes the code much easier to follow.
No code is changed, just moved around. I even kept the out-of-favor
"return(0)" style used in the current source code.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 21:14:23 +0000 (17:14 -0400)]
[ISDN] HiSax: move card state alloc/setup code into separate functions
Just code movement. No code changes or cleanups besides that which
is required to call the new functions from the old code site.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sun, 15 Jul 2007 01:58:34 +0000 (21:58 -0400)]
[ISDN] HiSax: move card setup into separate function
No behavior changes, just code movement.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Frank Lichtenheld [Tue, 17 Jul 2007 17:50:53 +0000 (19:50 +0200)]
mixart: Add missing vmalloc.h include
Fixes the following build error:
CC sound/pci/mixart/mixart_hwdep.o
sound/pci/mixart/mixart_hwdep.c: In function ‘mixart_hwdep_dsp_load’:
sound/pci/mixart/mixart_hwdep.c:610: error: implicit declaration of function ‘vmalloc’
sound/pci/mixart/mixart_hwdep.c:617: error: implicit declaration of function ‘vfree’
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Frank Lichtenheld [Tue, 17 Jul 2007 17:30:38 +0000 (19:30 +0200)]
hppb: Add missing dma-mapping.h include
This fixes the following build-error:
CC drivers/parisc/hppb.o
drivers/parisc/hppb.c: In function ‘hppb_probe’:
drivers/parisc/hppb.c:73: error: implicit declaration of function ‘ccio_request_resource’
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Jeff Garzik [Tue, 17 Jul 2007 09:40:59 +0000 (05:40 -0400)]
arch/i386/* fs/* ipc/*: mark variables with uninitialized_var()
Mark variables with uninitialized_var() if such a warning appears,
and analysis proves that the var is initialized properly on all paths
it is used.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 09:39:58 +0000 (05:39 -0400)]
drivers/*: mark variables with uninitialized_var()
Mark variables in drivers/* with uninitialized_var() if such a warning
appears, and analysis proves that the var is initialized properly on all
paths it is used.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 06:32:21 +0000 (02:32 -0400)]
drivers/atm/ambassador: kill uninit'd var warning, and fix bug
An uninitialized variable warning illuminated an area where indeed the
variable was being used without initialization. Unfortunately, after
verifying all such paths were fixed, the warning still appears. So we
follow the initialization practice of other variables in this function.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 06:21:50 +0000 (02:21 -0400)]
[libata] sata_mv: use pci_try_set_mwi()
Because sometimes in life, it's ok to fail.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 06:03:49 +0000 (02:03 -0400)]
drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning
drivers/infiniband/hw/mthca/mthca_qp.c: In function
‘mthca_tavor_post_send’:
drivers/infiniband/hw/mthca/mthca_qp.c:1594: warning: ‘f0’ may be used
uninitialized in this function
drivers/infiniband/hw/mthca/mthca_qp.c: In function
‘mthca_arbel_post_send’:
drivers/infiniband/hw/mthca/mthca_qp.c:1949: warning: ‘f0’ may be used
uninitialized in this function
Initializing 'f0' is not strictly necessary in either case, AFAICS.
I was considering use of uninitialized_var(), but looking at the
complex flow of control in each function, I feel it is wiser and
safer to simply zero the var and be certain of ourselves.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 05:56:32 +0000 (01:56 -0400)]
drivers/net/wan/sbni: kill uninit'd var warning
It's actually convenient in the code to initialize this and a sister
variable to zero.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 05:49:56 +0000 (01:49 -0400)]
drivers/mtd/ubi/eba: minor cleanup: tighten scope of a local var
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 05:35:08 +0000 (01:35 -0400)]
drivers/telephony/ixj: cleanup and fix gcc warning
1) Fix gcc uninit'd var warnings by adding 'default' switch stmt labels
in two cases. It was lightning-strikes unlikely that a problem would
ever arise, but not impossible.
2) Tighten the scope of 'blankword' in two cases.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 05:32:29 +0000 (01:32 -0400)]
drivers/net/wan/pc300_drv: fix bug caught by gcc warning
The warning
drivers/net/wan/pc300_drv.c: In function ‘cpc_open’:
drivers/net/wan/pc300_drv.c:2942: warning: ‘br’ may be used
uninitialized in this function
was valid. Ensure 'br' is initialized in all cases.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 05:08:29 +0000 (01:08 -0400)]
drivers/usb/misc/auerswald: fix status check, remove redundant check
1) We should only set 'actual_length' output variable if usb length is
known to be good.
2) No need to check actual_length for NULL. The only caller always
passes non-NULL value.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 04:15:54 +0000 (00:15 -0400)]
[netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 04:01:09 +0000 (00:01 -0400)]
[netdrvr] natsemi: Fix device removal bug
This episode illustrates how an overused warning can train people to
ignore that warning, which winds up hiding bugs.
The warning
drivers/net/natsemi.c: In function ‘natsemi_remove1’:
drivers/net/natsemi.c:3222: warning: ignoring return value of
‘device_create_file’, declared with attribute warn_unused_result
is oft-ignored, even though at close inspection one notices this occurs
in the /remove/ function, not normally where creation occurs. A quick
s/create/remove/ and we are fixed, with the warning gone.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Tue, 17 Jul 2007 01:25:01 +0000 (21:25 -0400)]
kernel/auditfilter: kill bogus uninit'd-var compiler warning
Kill this warning...
kernel/auditfilter.c: In function ‘audit_receive_filter’:
kernel/auditfilter.c:1213: warning: ‘ndw’ may be used uninitialized in this function
kernel/auditfilter.c:1213: warning: ‘ndp’ may be used uninitialized in this function
...with a simplification of the code. audit_put_nd() can accept NULL
arguments, just like kfree(). It is cleaner to init two existing vars
to NULL, remove the redundant test variable 'putnd_needed' branches, and call
audit_put_nd() directly.
As a desired side effect, the warning goes away.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
David S. Miller [Tue, 17 Jul 2007 08:20:17 +0000 (01:20 -0700)]
[SPARC64]: Update defconfig.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Tue, 17 Jul 2007 04:33:19 +0000 (21:33 -0700)]
[SPARC64]: Kill explicit %gl register reference.
Older binutils can't handle it. Use SET_GL() instead,
which is explicitly for this purpose.
Signed-off-by: David S. Miller <davem@davemloft.net>
Satyam Sharma [Tue, 17 Jul 2007 09:30:08 +0000 (15:00 +0530)]
Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check
Introduce is_owner_or_cap() macro in fs.h, and convert over relevant
users to it. This is done because we want to avoid bugs in the future
where we check for only effective fsuid of the current task against a
file's owning uid, without simultaneously checking for CAP_FOWNER as
well, thus violating its semantics.
[ XFS uses special macros and structures, and in general looked ...
untouchable, so we leave it alone -- but it has been looked over. ]
The (current->fsuid != inode->i_uid) check in generic_permission() and
exec_permission_lite() is left alone, because those operations are
covered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations
falling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.
Signed-off-by: Satyam Sharma <ssatyam@cse.iitk.ac.in>
Cc: Al Viro <viro@ftp.linux.org.uk>
Acked-by: Serge E. Hallyn <serge@hallyn.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 17 Jul 2007 18:50:26 +0000 (11:50 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/avi/kvm
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (80 commits)
KVM: Use CPU_DYING for disabling virtualization
KVM: Tune hotplug/suspend IPIs
KVM: Keep track of which cpus have virtualization enabled
SMP: Allow smp_call_function_single() to current cpu
i386: Allow smp_call_function_single() to current cpu
x86_64: Allow smp_call_function_single() to current cpu
HOTPLUG: Adapt thermal throttle to CPU_DYING
HOTPLUG: Adapt cpuset hotplug callback to CPU_DYING
HOTPLUG: Add CPU_DYING notifier
KVM: Clean up #includes
KVM: Remove kvmfs in favor of the anonymous inodes source
KVM: SVM: Reliably detect if SVM was disabled by BIOS
KVM: VMX: Remove unnecessary code in vmx_tlb_flush()
KVM: MMU: Fix Wrong tlb flush order
KVM: VMX: Reinitialize the real-mode tss when entering real mode
KVM: Avoid useless memory write when possible
KVM: Fix x86 emulator writeback
KVM: Add support for in-kernel pio handlers
KVM: VMX: Fix interrupt checking on lightweight exit
KVM: Adds support for in-kernel mmio handlers
...
Linus Torvalds [Tue, 17 Jul 2007 18:31:57 +0000 (11:31 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] Clean away some code inside some non-existent CONFIG ifdefs
[IA64] ar.itc access must really be after xtime_lock.sequence has been read
[IA64] correctly count CPU objects in the ia64/sn hwperf interface
[IA64] arbitary speed tty ioctl support
[IA64] use machvec=dig on hpzx1 platforms
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
atl1: missing include
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
mark a bunch of ISA|EISA|PCI drivers as such
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
missing exports of csum_...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
um_kmalloc() remnants
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
sparc32 has working dma-mapping only with CONFIG_PCI
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
saner typechecking in generic unaligned.h
Verify that types would match for assignment (under sizeof, so we are safe from
side effects or any code actually getting generated), then explicitly cast
everywhere to the fixed-sized types. Kills a bunch of bogus warnings about
constants being truncated (gcc, sparse), finds a pile of endianness problems
hidden by old noise (sparse).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
alpha __init fixes
__init and __initdata stuff used from __devinit one
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
alpha termios.h hadn't been updated
... fortunately, termios and ktermios there are identical, so no
run-time breakage happened.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Tue, 17 Jul 2007 07:49:35 +0000 (08:49 +0100)]
no USB on M32R
Won't build due to lack of dma-mapping.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
NeilBrown [Tue, 17 Jul 2007 11:06:13 +0000 (04:06 -0700)]
md: change bitmap_unplug and others to void functions
bitmap_unplug only ever returns 0, so it may as well be void. Two callers try
to print a message if it returns non-zero, but that message is already printed
by bitmap_file_kick.
write_page returns an error which is not consistently checked. It always
causes BITMAP_WRITE_ERROR to be set on an error, and that can more
conveniently be checked.
When the return of write_page is checked, an error causes bitmap_file_kick to
be called - so move that call into write_page - and protect against recursive
calls into bitmap_file_kick.
bitmap_update_sb returns an error that is never checked.
So make these 'void' and be consistent about checking the bit.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
NeilBrown [Tue, 17 Jul 2007 11:06:12 +0000 (04:06 -0700)]
md: check that internal bitmap does not overlap other data
We current completely trust user-space to set up metadata describing an
consistant array. In particlar, that the metadata, data, and bitmap do not
overlap.
But userspace can be buggy, and it is better to report an error than corrupt
data. So put in some appropriate checks.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
NeilBrown [Tue, 17 Jul 2007 11:06:12 +0000 (04:06 -0700)]
md: improve the is_mddev_idle test fix
Don't use 'unsigned' variable to track sync vs non-sync IO, as the only thing
we want to do with them is a signed comparison, and fix up the comment which
had become quite wrong.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
NeilBrown [Tue, 17 Jul 2007 11:06:11 +0000 (04:06 -0700)]
md: improve message about invalid superblock during autodetect
People try to use raid auto-detect with version-1 superblocks (which is not
supported) and get confused when they are told they have an invalid
superblock.
So be more explicit, and say it it is not a valid v0.90 superblock.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Jan Engelhardt [Tue, 17 Jul 2007 11:06:11 +0000 (04:06 -0700)]
Use menuconfig objects II - MD
Change Kconfig objects from "menu, config" into "menuconfig" so
that the user can disable the whole feature without having to
enter the menu first.
Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Acked-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Tony Lindgren [Tue, 17 Jul 2007 11:06:09 +0000 (04:06 -0700)]
OMAP: add TI TWL92330/Menelaus Power Management chip driver
Add Texas Instruments TWL92330/Menelaus Power Management chip driver. This
includes voltage regulators, Dual slot memory card tranceivers and
real-time clock(RTC).
The support for RTC is integrated with this driver only; it is not separate
module. Passes 'rtctest' on OMAP H4 EVM, other than lack of "periodic"
(1/N second) IRQs. System wakeup alarms (from suspend-to-RAM) work too.
The battery keeps the RTC active over power off, so once you set clock
(rdate/ntpdate/etc, then "hwclock -w") then RTC_HCTOSYS at boot time will
behave as expected.
Cc: "Jean Delvare" <khali@linux-fr.org>
Cc: "Tony Lindgren" <tony@atomide.com>
Cc: "David Brownell" <david-b@pacbell.net>
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Vovan888@gmail [Tue, 17 Jul 2007 11:06:09 +0000 (04:06 -0700)]
OMAP: LCD panel support for the Siemens SX1 mobile phone
- Add support for LCD panel on Siemens sx1 mobile phone.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Dirk Behme [Tue, 17 Jul 2007 11:06:07 +0000 (04:06 -0700)]
OMAP: LCD panel support for the TI OMAP OSK board
- Adds TFT LCD panel support for TI OMAP OSK board.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Imre Deak [Tue, 17 Jul 2007 11:06:07 +0000 (04:06 -0700)]
OMAP: LCD panel support for the TI OMAP1510 Innovator board
- Add TFT LCD panel spport for TI OMAP1510 Innovator EVM.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Imre Deak [Tue, 17 Jul 2007 11:06:06 +0000 (04:06 -0700)]
OMAP: LCD panel support for the TI OMAP1610 Innovator board
- Add TFT LCD panel spport for TI OMAP1610 Innovator EVM.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Marek Vasut [Tue, 17 Jul 2007 11:06:06 +0000 (04:06 -0700)]
OMAP: LCD panel support for the Palm Zire71
- Adds support for TFT LCD panel on Palm Zire71
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Marek Vasut [Tue, 17 Jul 2007 11:06:05 +0000 (04:06 -0700)]
OMAP: LCD panel support for Palm Tungsten|T
- Add TFT LCD panel support for Palm Tungsten|T
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Romain Goyet [Tue, 17 Jul 2007 11:06:04 +0000 (04:06 -0700)]
OMAP: LCD panel support for the Palm Tungsten E
- Adds TFT LCD panel support for Palm Tungsten E.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Imre Deak [Tue, 17 Jul 2007 11:06:04 +0000 (04:06 -0700)]
OMAP: LCD panel support for the TI OMAP H3 board
- Adds support for TFT LCD panel on TI OMAP H3 EVM board.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Imre Deak [Tue, 17 Jul 2007 11:06:03 +0000 (04:06 -0700)]
OMAP: LCD panel support for the TI OMAP H4 board
- Adds support for TFT LCD panel on TI OMAP H4 EVM board.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Imre Deak [Tue, 17 Jul 2007 11:06:01 +0000 (04:06 -0700)]
OMAP: add external Epson Blizzard LCD controller support
- Adds Epson Blizzard lcd controller driver; used in Nokia Internet Tablet
products.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Imre Deak [Sat, 26 May 2007 13:49:19 +0000 (19:19 +0530)]
OMAP: add external Epson HWA742 LCD controller support
- Adds Epson HWA742 lcd controller driver; used in Nokia Internet Tablet
products.
Signed-off-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>