summaryrefslogtreecommitdiffstats
path: root/drivers/input/joystick
Commit message (Collapse)AuthorAgeFilesLines
...
* | Input: add Zhen Hua driverMartin Kebert2008-04-153-0/+256
| | | | | | | | | | | | | | | | | | | | | | | | This is a driver for Zhen Hua PPM-4CH RC transmitter (commonly used in cheap Ready To Fly RC helicopters by Walkera) which using "Zhen Hua 5-byte protocol" for using them as a four axis joystick via serial port. Transmitter connected to serial port (19200 8N1) sending periodically 5 bytes where first byte is for synchronization and next four bytes are values of axis. Signed-off-by: Martin Kebert <gkmarty@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - set proper buffer length for outgoing requestsMichael Gruber2008-04-151-0/+2
| | | | | | | | | | | | | | | | | | The messages for led/rumble are exactly 3 and 8 bytes respectively. Hence set up the transfer_buffer_length accordingly. Signed-off-by: Michael Gruber <lists.mg@googlemail.com> Acked-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - don't use GFP_ATOMICOliver Neukum2008-04-031-2/+2
| | | | | | | | | | | | | | GFP_ATOMIC should not be used when GFP_KERNEL can be used. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - add support for wireless xbox360 controllersBrian Magnuson2008-04-031-16/+148
| | | | | | | | | | | | Signed-off-by: Brian Magnuson <bdmagnuson@gmail.com> Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - drop obsolete driver versioningAnssi Hannula2008-04-031-3/+4
| | | | | | | | | | | | | | | | | | The driver version numbers and changelog have not been updated in a long while to reflect actual changes. Remove the version number and add a notice that later changes can be tracked in SCM. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - enable force feedback on xbox 360 controllers onlyAnssi Hannula2008-04-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Commit 4994cd8dadcf9d484ab3ec19f3c7c7a4e5353c1c introduced a regression which causes xpad to report force feedback cababilities for non-360 controllers too, even while there is no actual support for those. Fix that by adding a check for XTYPE_XBOX360 to xpad_init_ff(). Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - do not report nonexistent buttons for xbox360Anssi Hannula2008-04-031-4/+14
| | | | | | | | | | | | | | | | | | The buttons BTN_C and BTN_Z are only used in the original xbox controller, not in xbox360 controller. Therefore only add them to keybit when the controller is a non-360 one. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - add more xbox 360 controller idsAnssi Hannula2008-04-031-0/+6
| | | | | | | | | | | | | | | | | | | | Add Mad Catz and 0x0e6f xbox360 controllers which are already found in xpad_device[] table in xpad.c into the vendor id list. Also add Logitech into the vendor list for Logitech Chillstream gamepads. Also add the RedOctane Guitar Hero X-plorer. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - fix inverted Y and RY axesAnssi Hannula2008-04-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit ae91d10aab2762f81733e9194cb56eff99c8d808 inverted Y and RY axes on xbox360 so that up is positive and down is negative. This is wrong, as axes on game controllers have up as negative per convention. Also, even xpad itself reports HAT0X with up as negative. Fix that by inverting them again. Also, according to http://bugzilla.kernel.org/show_bug.cgi?id=10337 the original xbox controllers also have the Y and RY axes inverted. Fix that by inverting them as well. Cc: Brian Magnuson <bdmagnuson@gmail.com> Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - fix dpad handling of unknown devicesAnssi Hannula2008-04-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For devices not specifically listed in xpad.c, xpad->dpad_mapping is initially set to MAP_DPAD_UNKNOWN. In xpad_probe() it gets changed to either MAP_DPAD_TO_BUTTONS or MAP_DPAD_TO_AXES, depending on the module parameter dpad_to_buttons. However, MAP_DPAD_UNKNOWN is defined as -1, while the field is u8. This results in actual value of 255, causing the MAP_DPAD_UNKNOWN check in xpad_probe() to fail. Fix that by defining MAP_DPAD_UNKNOWN as 2 instead. Also, setting module parameter dpad_to_buttons to 1 should obviously map dpad to buttons, while the default behaviour (0) should be to map dpad to axes. However, dpad_to_buttons is directly assigned to xpad->dpad_mapping, and as MAP_DPAD_TO_BUTTONS is 0, the actual behaviour is reversed. Fix that by negating dpad_to_buttons in assignment. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - match xbox 360 devices with interface infoAnssi Hannula2008-04-031-5/+16
|/ | | | | | | | | | Match Xbox 360 controllers using the interface info, i.e. interface class 255 (Vendor specific), subclass 93 and protocol 1, instead of specifying the device ids individually. As the class is vendor-specific, we have to still match against vendor id as well, though. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* mn10300: add the MN10300/AM33 architecture to the kernelDavid Howells2008-02-081-2/+4
| | | | | | | | | | | | | | | | Add architecture support for the MN10300/AM33 CPUs produced by MEI to the kernel. This patch also adds board support for the ASB2303 with the ASB2308 daughter board, and the ASB2305. The only processor supported is the MN103E010, which is an AM33v2 core plus on-chip devices. [akpm@linux-foundation.org: nuke cvs control strings] Signed-off-by: Masakazu Urade <urade.masakazu@jp.panasonic.com> Signed-off-by: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Input: drop redundant includes of moduleparam.hJulia Lawall2008-01-216-6/+0
| | | | | | | | 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>
* Input: iforce - don't access input_dev->private directlyDmitry Torokhov2008-01-211-8/+9
| | | | | | input_{get|set}_drvdata() helpers should be used instead. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - add more USB IDsJoshua J Bowman2007-10-271-0/+2
| | | | | | | | Add USB IDs of Mad Catz Wired Xbox 360 Controller and Pelican 'TSZ' Wired Xbox 360 Controller. Signed-off-by: Joshua J Bowman <bowmanj@augsburg.edu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* changed emailJohann Deneux2007-10-201-1/+1
| | | | | | | | Changed email address of Johann Deneux (myself) Also removed CVS tags in comments (no longer using cvs) Signed-off-by: Johann Deneux <johann.deneux@gmail.com> Signed-off-by: Adrian Bunk <bunk@kernel.org>
* Convert files to UTF-8 and some cleanupsJan Engelhardt2007-10-191-1/+1
| | | | | | | | | | | | | | | | | | * Convert files to UTF-8. * Also correct some people's names (one example is Eißfeldt, which was found in a source file. Given that the author used an ß at all in a source file indicates that the real name has in fact a 'ß' and not an 'ss', which is commonly used as a substitute for 'ß' when limited to 7bit.) * Correct town names (Goettingen -> Göttingen) * Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313) Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Adrian Bunk <bunk@kernel.org>
* get rid of input BIT* duplicate definesJiri Slaby2007-10-1924-48/+64
| | | | | | | | | | | | | | | | | | | | | | get rid of input BIT* duplicate defines use newly global defined macros for input layer. Also remove includes of input.h from non-input sources only for BIT macro definiton. Define the macro temporarily in local manner, all those local definitons will be removed further in this patchset (to not break bisecting). BIT macro will be globally defined (1<<x) Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: <dtor@mail.ru> Acked-by: Jiri Kosina <jkosina@suse.cz> Cc: <lenb@kernel.org> Acked-by: Marcel Holtmann <marcel@holtmann.org> Cc: <perex@suse.cz> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: <vernux@us.ibm.com> Cc: <malattia@linux.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov2007-10-121-4/+4
|\ | | | | | | | | | | Conflicts: drivers/macintosh/adbhid.c
| * Input: xpad - fix dependancy on LEDS classDmitry Torokhov2007-09-281-1/+1
| | | | | | | | | | | | | | | | | | 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> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * Input: iforce - fix 'unused variable' warningAndrew Morton2007-08-301-4/+4
| | | | | | | | | | | | | | | | drivers/input/joystick/iforce/iforce-packets.c: In function `iforce_get_id_packet': drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable `status' Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - fix dependancy on LEDS classDmitry Torokhov2007-09-261-1/+1
| | | | | | | | | | | | The driver can not be built-in when LEDS class is a module. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: xpad - use le16_to_cpup when parsing data streamDmitry Torokhov2007-07-181-19/+36
|/ | | | | | Use avaliable functions instead of doing it all manually. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - add support for leds on xbox 360 padJan Kratochvil2007-07-182-42/+155
| | | | | | | | | | | | | | | | | | 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>
* Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360Dmitry Torokhov2007-07-101-20/+20
| | | | | | | | | Make the driver report Y/RY up as positive value and down as negative. Also make DPAD mapping the same as classic xpad. Reported-by: Brian Magnuson <bdmagnuson@gmail.com> Tested-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - make xpad_play_effect() staticAdrian Bunk2007-07-101-1/+2
| | | | | | | xpad_play_effect() does not need to be global. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - fix check for succesful usb_buffer_allocJan Kratochvil2007-07-101-1/+1
| | | | | Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: grip-mp - use ARRAY_SIZEAndi Drebes2007-07-101-2/+2
| | | | | Signed-off-by: Andi Drebes <lists-receive@programmierforen.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - add Xbox360 gamepad rumble supportJan Kratochvil2007-07-102-4/+128
| | | | | | | Implementation is using force feedback support for memoryless devices. Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - add support for Xbox 360 gamepadJan Kratochvil2007-07-101-34/+117
| | | | | | | | | | | | | | | | Xbox 360 gamepad is slightly different then the previous model so it has its own version of process_packet method. Detection of this new device relies on USB_DEVICE_INTERFACE_PROTOCOL macro. This device got vendor specific subclass so it can't be matched with USB_INTERFACE_INFO and we need only one interface protocol from four availaible. It means USB_DEVICE can't be used either. Added xpad360_btn structure with additional buttons for x360 gamepad. Added xtype into xpad_device structure to distinguish between different types of xbox devices. Signed-off-by: Jan Kratochvil <honza@jikos.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge branch 'for-linus' of ↵Linus Torvalds2007-06-041-1/+1
|\ | | | | | | | | | | | | | | | | | | 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: reduce raciness when input handlers disconnect Input: ucb1x00 - do not access input_dev->private directly Input: logips2pp - fix typo in Kconfig Input: db9 - do not ignore dev2 module parameter
| * Input: db9 - do not ignore dev2 module parameterDmitry Torokhov2007-05-281-1/+1
| | | | | | | | | | | | | | Because of incorrect parameter setup anything passed in dev2=... was always ignored by the driver. See bugzilla #8541. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge branch 'for-linus' of ↵Linus Torvalds2007-05-233-7/+12
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: ads7846 - SPI_CPHA mode bugfix Input: ads7846 - document that it handles tsc2046 too Input: input-polldev - add module info Input: ucb1x00-ts - remove commented out code Input: ucb1400_ts - use sched_setscheduler() Input: ALPS - force stream mode Input: iforce - minor clean-ups Input: iforce - fix force feedback not working Input: adbhid - do not access input_dev->private directly Input: logips2pp - add type 72 (PS/2 TrackMan Marble)
| * Input: iforce - minor clean-upsJohann Deneux2007-05-222-5/+9
| | | | | | | | | | Signed-off-by: Johann Deneux <johann.deneux@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: iforce - fix force feedback not workingJohann Deneux2007-05-221-2/+3
| | | | | | | | | | | | | | | | Use an interrupt URB to send force-feedback data to the device instead of a bulk URB. This was broken since 2.6.18. Signed-off-by: Johann Deneux <johann.deneux@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | missing dependencies for USB drivers in inputAl Viro2007-05-151-0/+1
| | | | | | | | | | | | | | | | stuff that does select USB should depend on USB_ARCH_HAS_HCD, or we'll end up with unbuildable configs. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds2007-05-088-29/+480
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: Input: move USB miscellaneous devices under drivers/input/misc Input: move USB mice under drivers/input/mouse Input: move USB gamepads under drivers/input/joystick Input: move USB touchscreens under drivers/input/touchscreen Input: move USB tablets under drivers/input/tablet Input: i8042 - fix AUX port detection with some chips Input: aaed2000_kbd - convert to use polldev library Input: drivers/usb/input - usb_buffer_free() cleanup Input: synaptics - don't complain about failed resets Input: pull input.h into uinpit.h Input: drivers/usb/input - fix sparse warnings (signedness) Input: evdev - fix some sparse warnings (signedness, shadowing) Input: drivers/joystick - fix various sparse warnings Input: force feedback - make sure effect is present before playing
| * Input: move USB gamepads under drivers/input/joystickDmitry Torokhov2007-05-083-2/+451
| | | | | | | | | | | | | | | | This will allow concentrating all input devices in one place in {menu|x|q}config. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Input: drivers/joystick - fix various sparse warningsDmitry Torokhov2007-05-035-27/+30
|/ | | | | | | | | | Fix various issues pointed by sparse: - module_param_array_named() takes unsigned int as number of parameters argument - shadowing of global variables is not healthy. I think there was once a bug in db9 caused by it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: joysticks - switch to using input_dev->dev.parentDmitry Torokhov2007-04-1218-18/+19
| | | | | | | | In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: drivers/input/joystick - don't access dev->private directlyDmitry Torokhov2007-04-1220-49/+59
| | | | | | Use input_get_drvdata() and input_set_drvdata() instead. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: iforce - use usb_kill_urb instead of usb_unlink_urbJohann Deneux2007-04-126-38/+33
| | | | | | | | | Using usb_unlink_urb can cause iforce_open to fail when called soon after iforce_release. Also updated my email address and replaced calls to printk() by dbg(), warn(), info(), err()... Signed-off-by: Johann Deneux <johann.deneux@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: remove obsolete setup parameters from input driversDmitry Torokhov2007-02-185-18/+0
| | | | | | | They have been marked as __obsolete_setup() for several years, it is time for them to go. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov2006-12-081-3/+3
|\ | | | | | | | | | | Conflicts: drivers/usb/input/hid.h
| * usb: iforce-usb free urb cleanupMariusz Kozlowski2006-12-011-3/+3
| | | | | | | | | | | | | | | | - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Input: handle serio_register_driver() errorsAkinobu Mita2006-11-237-15/+17
| | | | | | | | | | Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: joysticks - handle errors when registering input devicesDmitry Torokhov2006-11-0516-59/+120
|/ | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells2006-10-0511-46/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
* more misc typo fixesMatt LaPlante2006-10-031-1/+1
| | | | Signed-off-by: Adrian Bunk <bunk@stusta.de>
* Input: iforce - switch to the new FF interfaceAnssi Hannula2006-07-194-238/+147
| | | | | Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
OpenPOWER on IntegriCloud