| Age | Commit message (Collapse) | Author | Files | Lines |
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Jan Engelhardt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Reported-by: Hans Aschauer <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
|
|
The Acer Aspire 9110 series also requires the Dritek quirk to enable the
extra scancodes.
Signed-off-by: Carlos Corbacho <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
replace outb_p() with udelay(2). This is a real ISA device so it likely
needs this particular delay.
Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
|
|
This patch refactors the code in corgi_lcd.c moving it to the board
specific corgi and spitz files where appropriate instead of the
existing ifdef mess which hinders readability.
Fix spitz_get_hsync_len() to call get_hsync_invperiod so pxafb can be
compiled as a module.
The confusing variables which represent the inverse horizintal sync
period are renamed to "invperiod" consistently.
An incorrect comment in corgi_ts.c is also corrected.
Signed-off-by: Richard Purdie <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
With a sparc64 defconfig modified to set CONFIG_HOTPLUG=n
the following error happened during link of vmlinux:
local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o
local symbol 1: discarded in section `.devexit.text' from drivers/built-in.o
(The error message above is from kbuild.git but it happens in mainline too)
The error happens becase there is a reference from .text/.data to a
function marked __devexit. With CONFIG_HOTPLUG=n all code marked
__devexit are discarded and the linker complains.
It was tracked down to sparcspkr.c which were missing __devexit_p()
around the function pointers.
Unfortunately modpost did not catch this since modpost do not warn
about references from .data to .devexit from variables named *_driver.
Signed-off-by: Sam Ravnborg <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
|
|
Signed-off-by: Andre Haupt <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Add keyboard support on tosa (Sharp Zaurus SL-6000x).
Largely based on patches by Dirk Opfer.
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Acked-by: Arjan van de Ven <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
input_{get|set}_drvdata() helpers should be used instead.
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
|
|
atkbd_disable() provides all necessary synchronization with
atkbd_interrupt().
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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: ALPS - fix sync loss on Acer Aspire 5720ZG
Input: psmouse - fix input_dev leak in lifebook driver
Input: psmouse - fix potential memory leak in psmouse_connect()
Input: usbtouchscreen - fix buffer overflow, make more egalax work
Input: mousedev - handle mice that use absolute coordinates
|
|
The recently added support for Dell Volstro 1400 was causing protocol
synchronization errors on Acer Aspire 5720ZG, fix it.
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
The lifebook driver may register a second input device, but it never
unregisters it. This fixes that.
Signed-off-by: Andres Salomon <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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.
[[email protected]: coding-style fixes]
Signed-off-by: Daniel Ritz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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: improve Kconfig help entries for HP Jornada devices
Input: pass EV_PWR events to event handlers
Input: spitzkbd - fix suspend key handling
gameport: don't export functions that are static inline
Input: jornada680_kbd - fix default keymap
Input: Handle EV_PWR type of input caps in input_set_capability.
|
|
Signed-off-by: Kristoffer Ericson <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
This does not make sense and moreover causes build failures
on alpha.
Signed-off-by: Ivan Kokshaysky <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
Given the patch which simplifies the spi_sync calling convention, this one
updates the callers of that routine which tried using it according to the
previous specification. (Most didn't.)
Signed-off-by: Marc Pignat <[email protected]>
Signed-off-by: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
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: adds the context menu key (HUT GenDesc 0x84)
Input: add definitions for frame forward and frame back keys
Input: bf54x-keys - keypad does not exist on BF544 parts
Input: gpio-keys - request and configure GPIOs
Input: i8042 - add i8042.noloop quirk for MS Virtual Machine
Sonypi: use synchronize_irq instead of sycnronize_sched
sonypi: fit input devices into sysfs tree
sony-laptop: fit input devices into sysfs tree
|
|
Signed-off-by: Mike Frysinger <[email protected]>
Signed-off-by: Bryan Wu <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
When booting under Microsoft Virtual Machine, the noloop quirk is
needed, otherwise PS/2 mouse is not properly detected.
Reported-by: Lawrence Steeger <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
|