summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2008-02-06Merge branch 'pxa-keypad'Dmitry Torokhov
2008-02-06Input: i8042 - non-x86 build fixAndrew Morton
Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - also enable on PXA3xxEric Miao
Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - add debounce_interval to the keypad platform dataEric Miao
Currently, only one debounce_interval is introduced for both direct and matrix keys. This is true in most cases, although the keypad controller supports different debounce for direct/matrix keys. Some platforms do require this to be tuned, instead of the default reset value of 100ms. Rotary encoder will always use zero debounce time for now to achieve certain sensitivity. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQEric Miao
1. use ioremap() for registers access, this improves the portability of the driver (e.g. same IP on different processor with different I/O memory range), and make it possible to remove those registers definition in pxa-regs.h as PXA is undergoing a clean-up of that header file 2. use device specific IRQ instead of hardcoded IRQ_KEYPAD, same reason as above 3. clean up the error handling path in _probe() 4. remove DRIVER_NAME and use pdev->name when necessary, we don't actually need a constant string literals Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - enable rotary encoders and direct keysEric Miao
1. Rotary encoder events can be configured either as relative events as the legacy code does or as any specified key code, this is useful on some platform which uses the rotary keys as KEY_{UP/DOWN/LEFT/RIGHT} 2. Add support for direct keys, the corresponding keycodes for each direct key can now be specified within the platform data 3. Remove the direct/rotary key detection code from the IRQ handler to dedicated functions to improve readability Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - introduce pxa27x_keypad_config()Eric Miao
Introduce pxa27x_keypad_config() for keypad registers configuration and remove the reg_kpc, reg_kprec from platform data structure so that configurations of keypad registers can be centralized to a single function. It can also be re-used when resuming. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - introduce driver structure and use KEY() to define ↵Eric Miao
matrix keys 1. Introduce the "struct pxa27x_keypad" structure for driver specific information, such as "struct clk", generated matrix key codes and so on 2. Use KEY() macro to define matrix keys, instead of original 8x8 map this makes definition easier with keypad where keys are sparse 3. Keep a generated array in "struct pxa27x_keypad" for fast lookup 4. Separate the matrix scan into a dedicated function for readability and report only those keys whose state has been changed, instead of report all states 5. Make use of KPAS to decide the faster path if only one key has been detected Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - remove pin configuration from the driverEric Miao
The pin configurations will slowly be moved to the board specific code at initialization thus to make the driver more generic. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard)Eric Miao
The controller should really be called keypad, and also align the naming of functions and structures to use "pxa27x_keypad" as prefix, instead of "pxakbd". Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-31Input: constify function pointer tables (seq_operations)Jan Engelhardt
Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-30Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux listJiri Kosina
Reported-by: Hans Aschauer <Hans.Aschauer@web.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-30Input: i8042 - enable DMI quirks on x86-64Bruce Duncan
If firmware does not implement AUX_LOOP comand in 32 bit mode it is unlikely to implement it in 64 bit mode. Same goes for active multiplexing. See: http://bugzilla.kernel.org/show_bug.cgi?id=9664 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-30Input: i8042 - add Dritek quirk for Acer Aspire 9110Carlos Corbacho
The Acer Aspire 9110 series also requires the Dritek quirk to enable the extra scancodes. Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-30Input: add input event to APM event bridgeRichard Purdie
This patch adds a very simple input power event to APM user suspend event bridge. Its currently only works for the systems using the emulated APM driver but could easily be extended to work with anything with a true APM BIOS too. This covers a standard embedded system need which is to suspend when the user presses a suspend button. It leaves options open to system integrators to ignore (or unload) this code and implement their own more complex event handling system. Its hidden behind the EMBEDDED Kconfig option since its only likely to be of use to embedded style systems. It can be built as a module so the "hardcoded" policy can easily be removed from the kernel at runtime if desired too. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-30Input: mousedev - use BIT_MASK instead of BITDmitry Torokhov
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: remove duplicate includesAndre Haupt
Signed-off-by: Andre Haupt <andre@bitwigglers.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: remove cdev from input_dev structureDmitry Torokhov
Cdev field was obsolete and provided only for backward compatibility since conversion of input core from class devices to regular devices. It is time to remove it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: remove duplicated headers in drivers/char/keyboard.cFrancisco Alecrim
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>
2008-01-21Input: i8042 - add Dritek keyboard extension quirkCarlos Corbacho
Some Wistron based laptops need us to explicitly enable the 'Dritek keyboard extension' to make their extra keys start generating scancodes. Originally, this was just confined to older laptops, but a few Acer laptops have turned up in 2007 that also need this again. Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: add Tosa keyboard driverDmitry Baryshkov
Add keyboard support on tosa (Sharp Zaurus SL-6000x). Largely based on patches by Dirk Opfer. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: add driver for Fujitsu application buttonsStephen Hemminger
This driver supports the application buttons on some Fujitsu Lifebook laptops. It is based on the earlier apanel driver done by Jochen Eisenger, but with many changes. The original driver used ioctl's and a separate user space program (see http://apanel.sourceforge.net). This driver hooks into the input subsystem so that the normal keys act as expected without a daemon. In addition to buttons, the Mail Led is handled via LEDs class device. The driver now supports redefinable keymaps and no longer has to have a DMI table for all Fujitsu laptops. I thought about mixing this driver should be integrated into the Fujitsu laptop extras driver that handles backlight, but rejected the idea because it wasn't clear if all the Fujitsu laptops supported both. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: ads7846 - stop updating dev->power.power_stateDavid Brownell
This stops the ads7846 driver from using dev->power.power_state; that field is deprecated (overdue for removal) and the only reason to update it was to make the /sys/devices/.../power/state files (now removed) work better. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: drop redundant includes of moduleparam.hJulia Lawall
Drop #include <linux/moduleparam.h> in files that also include linux/module.h, since module.h includes moduleparam.h already. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: implement proper timer rounding for polled devicesStephen Hemminger
Rounding doesn't matter for the first tick, but we want succeeding ticks to be aligned on second boundary if poll interval is large enough. Also: cancel_rearming_delayed_workqueue is marked as obsolete in workqueue.h so use cancel_delayed_work_sync. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Acked-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21V4L/DVB: Don't access input_dev->private directlyDmitry Torokhov
Drivers should use input_{get|set}_drvdata() instead of accessing input_dev->provate directly, but since these drivers do not actually use the data stored there we can simply remove the assignments. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-21Input: iforce - don't access input_dev->private directlyDmitry Torokhov
input_{get|set}_drvdata() helpers should be used instead. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: i8042 - use synchronize_irq() instead of synchronize_sched()Dmitry Torokhov
RT guys advised me that in their kernels synchronize_sched() will not work to ensure that all IRQ handlers run to their completion and that synchronize_irq() should be used instead. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: atkbd - remove unneeded synchronize_sched()Dmitry Torokhov
atkbd_disable() provides all necessary synchronization with atkbd_interrupt(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: cobalt_btns - add support for loadable keymapsDmitry Torokhov
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: atlas_btns - add support for loadable keymapsDmitry Torokhov
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: keyspan_remote - add support for loadable keymapsDmitry Torokhov
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-21Input: Add proper locking when changing device's keymapDmitry Torokhov
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>
2008-01-21Input: atkbd - properly handle special keys on Dell LatitudesGiel de Nijs
Most of Fn+F? special keys on (at least) the Dell Latitude laptops don't generate a hardware key release event so the driver has to generate one. Signed-off-by: Giel de Nijs <giel@caffeinetrip.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-17Input: ALPS - fix sync loss on Acer Aspire 5720ZGDmitry Torokhov
The recently added support for Dell Volstro 1400 was causing protocol synchronization errors on Acer Aspire 5720ZG, fix it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-17Input: psmouse - fix input_dev leak in lifebook driverAndres Salomon
The lifebook driver may register a second input device, but it never unregisters it. This fixes that. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-17Input: psmouse - fix potential memory leak in psmouse_connect()Andres Salomon
If we successfully call input_register_device() in psmouse_connect() but sysfs_create_group() fails, we'll enter the error path without ever having called input_unregister_device() potentially leaking memory. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-17Input: usbtouchscreen - fix buffer overflow, make more egalax workDaniel Ritz
Fix a buffer overflow in mutli-packet handling code. The overflow can only happen with eGalax devices and is even there very unlikely (only non-report packet are affected any only when truncated after the first byte). Also changes the mutli-packet handling code not to drop unknown packets, but rather just drop one byte. This allows synchronizing on report packets in the data stream. It's required for some egalax devices to work at all. Also remove the pointless 'flags' member of the device struct and set the version number to 0.6, plus some minor cleanups. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-17Input: mousedev - handle mice that use absolute coordinatesMicah Parrish
Devices like the HP Integrated Remote Console Virtual Mouse, which are standard equipment on all Proliant and Integrity servers, produce absolute coordinates instead of relative coordinates. This is done to synchronize the position of the mouse cursor on the client desktop with the mouse cursor position on the server. Mousedev is not designed to pass those absolute events directly to X, but it can translate them into relative movements. It currently does this for tablet like devices and touchpads. This patch merely tells it to also include a device with ABS_X, ABS_Y, and mouse buttons in its list of devices to process input for. This patch enables the mouse pointer to move when using the remote console. Signed-off-by: Micah Parrish <micah.parrish@hp.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-14Input: improve Kconfig help entries for HP Jornada devicesKristoffer Ericson
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-03Input: pass EV_PWR events to event handlersRichard Purdie
input_handle_event() used to pass EV_PWR events to event handlers but no longer does so in 2.6.23. Modules to trigger power management events based on input power events exist but rely on the EV_PWR events being passed to the input event handlers. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-03Input: spitzkbd - fix suspend key handlingRichard Purdie
The spitz keyboard driver reports KEY_SUSPEND events but doesn't register its use of this event in the keybit bitfield, breaking input events for this key. This patch fixes that by registering the key in the keybit bitfield. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2008-01-03gameport: don't export functions that are static inlineIvan Kokshaysky
This does not make sense and moreover causes build failures on alpha. Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-12-14Input: jornada680_kbd - fix default keymapKristoffer Ericson
This patch fixes the HP Jornada 6xx keyboard default keymap which had some bad keymap values. This resulted in wrong key being returned when pressed (for example, key 'y' returned 'r'). Also, while we are at it lets arrange the include files in alphabetical order. Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-12-14Input: Handle EV_PWR type of input caps in input_set_capability.Dmitry Baryshkov
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-11-27Input: bf54x-keys - keypad does not exist on BF544 partsMike Frysinger
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-11-21Input: gpio-keys - request and configure GPIOsHerbert Valerio Riedel
Currently, gpio_keys.c assumes the GPIOs to be already properly configured; this patch changes gpio-keys to perform explicit calls to gpio_request() and gpio_configure_input(). This matches the behaviour of leds-gpio. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-11-21Input: i8042 - add i8042.noloop quirk for MS Virtual MachineJiri Kosina
When booting under Microsoft Virtual Machine, the noloop quirk is needed, otherwise PS/2 mouse is not properly detected. Reported-by: Lawrence Steeger <vendor@russte.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-11-21Sonypi: use synchronize_irq instead of sycnronize_schedDmitry Torokhov
We know exactly what IRQ we are using, so synchronize_irq() suits much better. Plus synchronize_sched() will not work for us in -rt kernels. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Mattia Dongili <malattia@linux.it>
2007-11-21sonypi: fit input devices into sysfs treeDmitry Torokhov
Properly set up parent on input devices registered by sonypi. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Mattia Dongili <malattia@linux.it>