aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAge
* saner FASYNC handling on file closeAl Viro2008-11-01
| | | | | | | | | | | | | | As it is, all instances of ->release() for files that have ->fasync() need to remember to evict file from fasync lists; forgetting that creates a hole and we actually have a bunch that *does* forget. So let's keep our lives simple - let __fput() check FASYNC in file->f_flags and call ->fasync() there if it's been set. And lose that crap in ->release() instances - leaving it there is still valid, but we don't have to bother anymore. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* INPUT: sgi_btns: Add license specificationDmitri Vorobiev2008-10-27
| | | | | | | | | | | The SGI Volume Button interface driver uses GPL-only symbols platform_driver_unregister and platform_driver_register, but lacks license specification. Thus, when compiled as a module, this driver cannot be installed. This patch fixes this by adding the MODULE_LICENSE() specification. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.fi> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-10-26
|\ | | | | | | | | | | | | | | 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: Input: psmouse - add support for Elantech touchpads Input: i8042 - add Blue FB5601 to noloop exception table
| * Input: psmouse - add support for Elantech touchpadsArjan Opmeer2008-10-16
| | | | | | | | | | | | | | | | | | | | | | This is version 5 of the driver. Relative mode support has been dropped (users wishing to use touchpad in relative mode can use standard PS/2 protocol emulation done in hardware). The driver supports both original version of Elantech protocol and the newer one used by touchpads installed in EeePC. Signed-off-by: Arjan Opmeer <arjan@opmeer.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - add Blue FB5601 to noloop exception tableStefan Bader2008-10-16
| | | | | | | | | | Signed-off-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge branch 'for-rmk' of git://git.android.com/kernel into develRussell King2008-10-22
|\ \
| * \ Merge branch 'for-next' of git://git.o-hand.com/linux-mfdLinus Torvalds2008-10-20
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-next' of git://git.o-hand.com/linux-mfd: mfd: further unbork the ucb1400 ac97_bus dependencies mfd: ucb1400 needs GPIO mfd: ucb1400 sound driver uses/depends on AC97_BUS: mfd: Don't use NO_IRQ in WM8350 mfd: update TMIO drivers to use the clock API mfd: twl4030-core irq simplification mfd: add base support for Dialog DA9030/DA9034 PMICs mfd: TWL4030 core driver mfd: support tmiofb cell on tc6393xb mfd: add OHCI cell to tc6393xb mfd: Fix htc-egpio compile warning mfd: do tcb6393xb state restore on resume only if requested mfd: provide and use setup hook for tc6393xb mfd: update sm501 debugging/low information messages mfd: reduce stack usage in mfd-core.c
| | * | mfd: further unbork the ucb1400 ac97_bus dependenciesAndrew Morton2008-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cc: "Randy.Dunlap" <rdunlap@xenotime.net> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
| * | | sh: Migrate common board headers to mach-common/.Paul Mundt2008-10-20
| |/ / | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* / / [ARM] pxa: fix the corgi_ssp.c dependency issue in {corgi,spitz}_defconfigEric Miao2008-10-20
|/ / | | | | | | | | | | | | | | | | | | | | | | Separate building of corgi_ssp.c, and introduce a new hidden config option CONFIG_CORGI_SSP_DEPRECATED for this. Aslo mark corgi_ts.c and corgi_bl.c as deprecated. This unbreaks the legacy configs in {corgi,spitz}_defconfig, however, SPI based ADS7846 touchscreen driver and a new SPI-based corgi_lcd.c driver with integrated backlight support are recommended. Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | USB: remove info() macro from usb input driversGreg Kroah-Hartman2008-10-17
| | | | | | | | | | | | | | | | USB should not be having it's own printk macros, so remove info() and use the system-wide standard of dev_info() wherever possible. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: remove warn() macro from usb input driversGreg Kroah-Hartman2008-10-17
| | | | | | | | | | | | | | | | | | | | USB should not be having it's own printk macros, so remove warn() and use the system-wide standard of dev_warn() wherever possible. In the few places that will not work out, use a basic printk(). Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge branch 'for-linus' of ↵Linus Torvalds2008-10-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (32 commits) Input: wm97xx - update email address for Liam Girdwood Input: i8042 - add Thinkpad R31 to nomux list Input: move map_to_7segment.h to include/linux Input: ads7846 - fix cache line sharing issue Input: cm109 - add missing newlines to messages Input: document i8042.debug in kernel-parameters.txt Input: keyboard - fix potential out of bound access to key_map Input: psmouse - add OLPC touchpad driver Input: psmouse - tweak PSMOUSE_DEFINE_ATTR to support raw set callbacks Input: psmouse - add psmouse_queue_work() for ps/2 extension to make use of Input: psmouse - export psmouse_set_state for ps/2 extensions to use Input: ads7846 - introduce .gpio_pendown to get pendown state Input: ALPS - add signature for DualPoint found in Dell Latitude E6500 Input: serio_raw - allow attaching to translated (SERIO_I8042XL) ports Input: cm109 - don't use obsolete logging macros Input: atkbd - expand Latitude's force release quirk to other Dells Input: bf54x-keys - add power management support Input: atmel_tsadcc - improve accuracy Input: convert drivers to use strict_strtoul() Input: appletouch - handle geyser 3/4 status bits ...
| * Merge branch 'next' into for-linusDmitry Torokhov2008-10-15
| |\
| | * Input: wm97xx - update email address for Liam GirdwoodLiam Girdwood2008-10-13
| | | | | | | | | | | | | | | | | | | | | | | | This updates the email address for Liam Girdwood as my old address is no longer valid. Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: i8042 - add Thinkpad R31 to nomux listColin B Macdonald2008-10-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thinkpad R31 needs i8042 nomux quirk. Stops jittery jumping mouse and random keyboard input. Fixes kernel bug #11723. Cherry picked from Ubuntu who have sometimes (on-again-off-again) had a fix in their patched kernels. Signed-off-by: Colin B Macdonald <cbm@m.fsf.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: move map_to_7segment.h to include/linuxAtsushi Nemoto2008-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The map_to_7segment.h provides generic 7segment LED mappings and is designed to be used by other drivers. Moving it to common area will make it more usable. Also exporting it to userspace will help users of sysfs interface. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Acked-by: Henk Vergonet <henk.vergonet@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: ads7846 - fix cache line sharing issueDmitry Torokhov2008-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had a report a while back that the ads7846 driver had some issues when used with DMA-based SPI controllers (like atmel_spi) on systems where main memory is not DMA-coherent (most non-x86 boards). Allocate memory potentially used for DMA separately to avoid cache line issues. Reported-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: cm109 - add missing newlines to messagesDaniel Gimpelevich2008-10-09
| | | | | | | | | | | | | | | | | | | | | | | | Recent conversion from err(), warn(), info() to dev_* variants caused loss of newlines at the end of messages, add them back. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: psmouse - add OLPC touchpad driverAndres Salomon2008-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for OLPC's touchpad. It has lots of neat features, none of which are enabled because the hardware is too buggy. Instead, we use it like a normal touchpad, but with a number of workarounds in place to deal with the frequent hardware spasms. Humidity changes, sweat, tinfoil underwear, plugging in AC, drinks, evil felines.. All tend to cause the touchpad to freak out. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: psmouse - tweak PSMOUSE_DEFINE_ATTR to support raw set callbacksAndres Salomon2008-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to support attr->set callbacks that may need psmouse->state to not be updated, or may want to manually deal w/ enabling and disabling the device. To do that, we create __PSMOUSE_DEFINE_ATTR which enables us to set a 'protect' argument specifying whether or not the set callback should be protected with psmouse_disable and state setting. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: psmouse - add psmouse_queue_work() for ps/2 extension to make use ofAndres Salomon2008-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | psmouse_queue_work is passed a delayed_work struct, and queues up the work with kpsmouse_wq. Since we're dealing with delayed_work stuff, this also switches resync_work to a delayed_work struct as well, and makes use of psmouse_queue_work when doing a resync within psmouse-base. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: psmouse - export psmouse_set_state for ps/2 extensions to useAndres Salomon2008-09-21
| | | | | | | | | | | | | | | Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: ads7846 - introduce .gpio_pendown to get pendown stateEric Miao2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | The GPIO connected to ADS7846 nPENIRQ signal is usually used to get the pendown state as well. Introduce a .gpio_pendown, and use this to decide the pendown state if .get_pendown_state is NULL. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: ALPS - add signature for DualPoint found in Dell Latitude E6500Elvis Pranskevichus2008-09-10
| | | | | | | | | | | | | | | Signed-off-by: Elvis Pranskevichus <el@prans.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: serio_raw - allow attaching to translated (SERIO_I8042XL) portsNiels de Vos2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | serio_raw only binds to non-translated devices. Enable serio_raw to bind to normal (translated) keyboards which can have non-standard extensions (like POS Keyboards). With this it is possible to send commands to the device over /dev/serio_raw<n>. Signed-off-by: Niels de Vos <niels.devos@wincor-nixdorf.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: cm109 - don't use obsolete logging macrosStephen Rothwell2008-09-10
| | | | | | | | | | | | | | | | | | | | | err(), warn(), info() are being removed in favor of dev_* variants. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: atkbd - expand Latitude's force release quirk to other DellsMatthew Garrett2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dell laptops fail to send key up events for several of their special keys. There's an existing quirk in the kernel to handle this, but it's limited to the Latitude range. This patch extends it to cover all portable Dells. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: bf54x-keys - add power management supportMichael Hennerich2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix Bug: does nor properply resume after suspend mem Fix for PM_SUSPEND_MEM: Save and restore peripheral base registers Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: atmel_tsadcc - improve accuracyDan Liang2008-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Discard the last sample just before pen is up because it is quite often errorneous. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Dan Liang <dan.liang@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: convert drivers to use strict_strtoul()Joe Rouvier2008-09-10
| | | | | | | | | | | | | | | | | | | | | strict_strtoul() allows newline character at the end of the the input string and therefore is more user-friendly. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| | * Input: appletouch - handle geyser 3/4 status bitsSven Anders2008-08-08
| | | | | | | | | | | | | | | | | | | | | | | | Implement support for status bits on Geyser 3/4. Signed-off-by: Sven Anders <anders@anduras.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: appletouch - prepare for geyser 3/4 handlingSven Anders2008-08-08
| | | | | | | | | | | | | | | | | | | | | | | | Split complete function into separate functions for GEYSER1/2 and GEYSER 3/4. Signed-off-by: Sven Anders <anders@anduras.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: gpio-keys - simplify argument list for report_eventUwe Kleine-König2008-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now this only saves a few instructions (for gpio_keys_report_event, gpio_keys_isr and gpio_check_button one instraction each on ARM using arm-linux-gnu-gcc 4.2.3---I assume this is similar for other arch/compiler combinations). Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: gpio-keys - optimize interrupt handlerUwe Kleine-König2008-08-08
| | | | | | | | | | | | | | | | | | | | | | | | By passing a gpio_button_data structure to the handler instead of the whole platform_device the search for the right button can go away. Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: wistron - add support for Fujitsu-Siemens Amilo Pro v3505Remi Herilier2008-08-08
| | | | | | | | | | | | | | | | | | | | | | | | Wistron button support for Fujitsu-Siemens Amilo Pro Edition V3505. Signed-off-by: Remi Herilier <rherilier@yahoo.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: add driver for USB VoIP phones with CM109 chipsetAlfred E. Heggestad2008-08-08
| | | | | | | | | | | | | | | Signed-off-by: Alfred E. Heggestad <aeh@db.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: ati_remote2 - add autosuspend supportVille Syrjala2008-07-30
| | | | | | | | | | | | | | | Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: ati_remote2 - add loadable keymap supportVille Syrjala2008-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for loadable keymaps. The driver now supports individual keymaps for each of the five modes (AUX1-AUX4 and PC) of the remote. To achieve this the keymap scancode is interpreted as a combination of the mode and actual button scancode. The original keycode patches were done by Peter Stokes <linux@dadeos.co.uk> but I modified it quite a lot. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: gameport - check return value of gameport_register_driver()Dmitry Torokhov2008-07-30
| | | | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: gameport - make gameport_register_driver() return errorsDmitry Torokhov2008-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perform actual driver registration right in gameport_register_driver() instead of offloading it to kgameportd and return proper error code to callers if driver registration fails. Note that driver <-> port matching is still done by kgameportd. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-10-16
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (51 commits) [ARM] 5308/1: Fix Viper ISA IRQ handling [ARM] 5307/1: pxa: fix CM-X2XX PCMCIA build error [ARM] 5306/1: pxa: fix build error on CM-X270 [ARM] 5302/1: ARM: OMAP: Revert omap3 WDT changes to avoid merge conflict [ARM] 5305/1: ARM: OMAP: Fix compile of McBSP by removing unnecessary check [ARM] 5301/1: ARM: OMAP: Add missing irq defines ARM: OMAP3: Add default kernel config for OMAP LDP ARM: OMAP3: Add basic board support for OMAP LDP ARM: OMAP3: Defconfig for the Gumstix Overo board (rev 3) ARM: OMAP3: Add support for the Gumstix Overo board (rev 3) ARM: OMAP3: Add Beagle defconfig ARM: OMAP3: Add minimal Beagle board support ARM: OMAP3: Add minimal omap3430 support ARM: OMAP2: Fix sparse, checkpatch warnings in OMAP2/3 IRQ code ARM: OMAP: Fixes to omap_mcbsp_request function ARM: OMAP: Add support for OMAP2430 in McBSP ARM: OMAP: Add support for McBSP devices 3 - 5 on 34xx ARM: OMAP: Allocate McBSP devices dynamically Fix sections for omap-mcbsp platform driver [ARM] S3C24XX: Additional include moves ...
| * \ \ Merge branch 'fixes' into for-linusRussell King2008-10-15
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-versatile/core.c
| * \ \ \ Merge branch 's3c-move' into develRussell King2008-10-14
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-versatile/core.c
| * | | | Merge branch 'omap-all' into develRussell King2008-10-14
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-omap2/gpmc.c arch/arm/mach-omap2/irq.c
| | * | | | [ARM] omap: fix a load of "warning: symbol 'xxx' was not declared. Should it ↵Russell King2008-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be static?" Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | | | | omap drivers: switch to standard GPIO callsDavid Brownell2008-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates most of the OMAP drivers which are in mainline to switch to using the cross-platform GPIO calls instead of the older OMAP-specific ones. This is all fairly brainless/obvious stuff. Probably the most interesting bit is to observe that the omap-keypad code seems to now have a portable core that could work with non-OMAP matrix keypads. (That would improve with hardware IRQ debouncing enabled, of course...) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Antonino Daplas <adaplas@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>
* | | | | | misc: replace __FUNCTION__ with __func__Harvey Harrison2008-10-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | | Merge commit 'origin'Benjamin Herrenschmidt2008-10-14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manual fixup of conflicts on: arch/powerpc/include/asm/dcr-regs.h drivers/net/ibm_newemac/core.h
| * | | | | | HP input: kill warnings due to suseconds_t differencesGeert Uytterhoeven2008-10-14
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill compiler warnings related to printf() formats in the input drivers for various HP9000 machines, which are shared between PA-RISC (suseconds_t is int) and m68k (suseconds_t is long). As both are 32-bit, it's safe to cast to int. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Helge Deller <deller@gmx.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>