- 24 7月, 2013 1 次提交
-
-
由 Benjamin Tissoires 提交于
Commit f04d5140 (HID: driver for PS2/3 Buzz controllers) introduced an input_mapping() callback, but set the return value to -1 to all devices except the Buzz controllers. The result of this is that the Sixaxis input device is not populated, making it useless. Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 13 6月, 2013 1 次提交
-
-
由 Jiri Kosina 提交于
Let's follow the structure we are trying to keep for most of the specific HID drivers, and let the separation follow the producing vendor. Merge functionality provided by ps3remote driver into hid-sony. Tested-by: NDavid Dillow <dave@thedillows.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 28 5月, 2013 2 次提交
-
-
由 Jiri Kosina 提交于
The newly added support for Buzz controller - introduced Kconfig selection of LEDS_CLASS - introduced conditional preprocessor checking for CONFIG_LEDS_CLASS This has multiple problems -- namely select doesn't work transitively, so it shouldn't be used. On the other hand the code assumed that LEDS_CLASS is enabled in some places, but not everywhere. Put LEDS_CLASS as a Kconfig dependency for hid-sony and remove all the CONFIG_LEDS_CLASS conditionals from hid-sony. Reported-by: fengguang.wu@intel.com Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Colin Leitner 提交于
This patch adds support for PS2/3 Buzz controllers into hid-sony It has been tested on Debian 7 with kernel version 3.10.0-rc2. Unfortunately I can't test the patch with a regular six-axis controller myself. Signed-off-by: NColin Leitner <colin.leitner@gmail.com> Cc: Jiri Kosina <jkosina@suse.cz> Cc: linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 22 1月, 2013 1 次提交
-
-
Document what the fix-up is does and make it more robust by ensuring that it is only applied to the USB interface that corresponds to the mouse (sony_report_fixup() is called once per interface during probing). Cc: linux-input@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NFernando Luis Vazquez Cao <fernando@oss.ntt.co.jp> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 16 1月, 2013 1 次提交
-
-
Some Vaio desktop computers, among them the VGC-LN51JGB multimedia PC, have a RF receiver, multi-interface USB device 054c:0374, that is used to connect a wireless keyboard and a wireless mouse. The keyboard works flawlessly, but the mouse (VGP-WMS3 in my case) does not seem to be generating any pointer events. The problem is that the mouse pointer is wrongly declared as a constant non-data variable in the report descriptor (see lsusb and usbhid-dump output below), with the consequence that it is ignored by the HID code. Add this device to the have-special-driver list and fix up the report descriptor in the Sony-specific driver which happens to already have a fixup for a similar firmware bug. # lsusb -vd 054C:0374 Bus 003 Device 002: ID 054c:0374 Sony Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x054c Sony Corp. idProduct 0x0374 iSerial 0 [...] Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 2 RF Receiver [...] Report Descriptor: (length is 100) [...] Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Local ): Usage, data= [ 0x30 ] 48 Direction-X Item(Local ): Usage, data= [ 0x31 ] 49 Direction-Y Item(Global): Report Count, data= [ 0x02 ] 2 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Logical Minimum, data= [ 0x81 ] 129 Item(Global): Logical Maximum, data= [ 0x7f ] 127 Item(Main ): Input, data= [ 0x07 ] 7 Constant Variable Relative No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield # usbhid-dump 003:002:001:DESCRIPTOR 1357910009.758544 05 01 09 02 A1 01 05 01 09 02 A1 02 85 01 09 01 A1 00 05 09 19 01 29 05 95 05 75 01 15 00 25 01 81 02 75 03 95 01 81 01 05 01 09 30 09 31 95 02 75 08 15 81 25 7F 81 07 A1 02 85 01 09 38 35 00 45 00 15 81 25 7F 95 01 75 08 81 06 C0 A1 02 85 01 05 0C 15 81 25 7F 95 01 75 08 0A 38 02 81 06 C0 C0 C0 C0 Cc: linux-input@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NFernando Luis Vazquez Cao <fernando@oss.ntt.co.jp> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 03 1月, 2013 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
There are some Sony clone gamepads that are incompatible with PS3 since firmware 3.50, as they decided to prevent those devices to work, without any good technical reason. I was one of those 'blessed' people affected by their niceness with their customers. Marcelo also has another device with a similar problem. Perhaps due to Sony's way to block the device, damaging the device's eeprom, or perhaps because they just have a different, broken Report descriptor, there are 3 buttons that don't work on both devices (the ones equivalent to square, round and X). What it happens is that the descriptor generate weird EV_ABS events to those buttons, instead of EV_MSC/EV_KEY. A fix that seems to be enough for them is to return the original sixaxis table instead of the broken one. That's what this patch does. Yet, there are some missing entries at the used keytable. On my tests, all keys are now producing the right events, but the reported keycodes look weird: "square" key: (Button.0010 = 1) 1355524363.460835: event type EV_MSC(0x04): scancode = 0x90010 1355524363.460835: event type EV_KEY(0x01) key_up: BTN_DEAD(0x0001) "round" key: (Button.000e = 1) 1355524410.908705: event type EV_MSC(0x04): scancode = 0x9000e 1355524410.908705: event type EV_KEY(0x01) key_down: (0x0001) 1355524410.971788: event type EV_MSC(0x04): scancode = 0x9000e 1355524410.971788: event type EV_KEY(0x01) key_up: (0x0001) "X" key: (Button.000f = 1) 1355524384.880813: event type EV_MSC(0x04): scancode = 0x9000f 1355524384.880813: event type EV_KEY(0x01) key_down: (0x0001) 1355524384.979815: event type EV_MSC(0x04): scancode = 0x9000f 1355524384.979815: event type EV_KEY(0x01) key_up: (0x0001) The rationale is likely due to those entries at rdesc table, where the Kernel were not likely able to parse: Button.000d ---> Key.? Button.000e ---> Key.? Button.000f ---> Key.? Button.0010 ---> Key.BtnDead Button.0011 ---> Key.? Button.0012 ---> Key.? Button.0013 ---> Key.? As a reference, this is the rdisc used on my clone (a Mad Catz model 8846): 05 01 09 04 a1 01 a1 02 85 01 75 08 95 01 15 00 26 ff 00 81 03 75 01 95 0d 15 00 25 01 35 00 45 01 05 09 19 01 29 0d 81 02 75 01 95 03 06 00 ff 81 03 05 01 25 07 46 3b 01 75 04 95 01 65 14 09 39 81 42 65 00 75 01 95 0c 06 00 ff 81 03 15 00 26 ff 00 05 01 09 01 a1 00 75 08 95 04 15 00 15 00 15 00 35 00 35 00 46 ff 00 09 30 09 31 09 32 09 35 81 02 c0 05 01 75 08 95 27 09 01 81 02 75 08 95 30 09 01 91 02 75 08 95 30 09 01 b1 02 c0 a1 02 85 02 75 08 95 30 09 01 b1 02 c0 a1 02 85 ee 75 08 95 30 09 01 b1 02 c0 a1 02 85 ef 75 08 95 30 09 01 b1 02 c0 c0 This is what's returned on Marcelo's device (not sure what is the brand name of his device): 05 01 09 04 a1 01 a1 02 85 01 75 08 95 01 15 00 26 ff 00 81 03 75 01 95 13 15 00 25 01 35 00 45 01 05 09 19 01 29 13 81 02 75 01 95 0d 06 00 ff 81 03 15 00 26 ff 00 05 01 09 01 a1 00 75 08 95 04 35 00 46 ff 00 09 30 09 31 09 32 09 35 81 02 c0 05 01 95 13 09 01 81 02 95 0c 81 01 75 10 95 04 26 ff 03 46 ff 03 09 01 81 02 c0 a1 02 85 02 75 08 95 30 09 01 b1 02 c0 a1 02 85 ee 75 08 95 30 09 01 b1 02 c0 a1 02 85 ef 75 08 95 30 09 01 b1 02 c0 c0 Reported-by: NMarcelo Leitner <mleitner@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org> Tested-by: NMarcelo Leitner <mleitner@redhat.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 H Hartley Sweeten 提交于
Use the new module_hid_driver macro in all HID drivers that have a simple register/unregister init/exit. This also converts the hid drivers that test for a failure of hid_register_driver() and report the failure. Using module_hid_driver in those drivers removes the failure message. Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 05 9月, 2012 1 次提交
-
-
由 Jiri Kosina 提交于
Paul Walmsley has implemented dynamic quirk handling back in 2007 through commits: 2eb5dc30 ("USB HID: encapsulate quirk handling into hid-quirks.c") 8222fbe6 ("USB HID: clarify static quirk handling as squirks") 8cef9082 ("USB HID: add support for dynamically-created quirks") 876b9276 ("USB HID: add 'quirks' module parameter") and as such, his copyright rightly belongs to drivers/hid/usbhid/hid-quirks.c file. However when generic HID code has been converted to bus and individual quirks separated out to individual drivers on the bus, the copyright has been blindly transfered into all the tiny drivers, which actually don't contain any of Pauls' copyrighted code. Remove the copyright from those sub-drivers. Signed-off-by: NJiri Kosina <jkosina@suse.cz> Acked-by: NPaul Walmsley <paul@pwsan.com>
-
- 13 6月, 2011 2 次提交
-
-
由 Simon Wood 提交于
The accelerometers/gyro on the Sixaxis are reported in the wrong endianness (ie. not compatible with HID), so this patch intercepts the report and swaps the appropriate bytes over. Accelerometers are scaled with a nominal value of +/-4000 = 1G, maximum value would be around +/-32768 = 8G. Gyro on my device always reports -32768, might need some calibration set within the controller. Fix extracted from previous patch submission: https://patchwork.kernel.org/patch/95212/Signed-off-by: NMarcin Tolysz <tolysz@gmail.com> Signed-off-by: NSimon Wood <simon@mungewell.org> Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Simon Wood 提交于
Modify the HID descriptor of the Sixaxis controller to allow the reporting of the accelerometers and gyro via a joystick axis. Rewrite section from offset 83: -- 0x75, 0x08, /* Report Size (8), */ /* all the other data lumped together */ 0x95, 0x27, /* Report Count (39), */ 0x09, 0x01, /* Usage (Pointer), */ 0x81, 0x02, /* Input (Variable), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x30, /* Report Count (48), */ 0x09, 0x01, /* Usage (Pointer), */ /* Note Output */ 0x91, 0x02, /* Output (Variable), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x30, /* Report Count (48), */ 0x09, 0x01, /* Usage (Pointer), */ /* Note Feature */ 0xB1, 0x02, /* Feature (Variable), */ -- with -- /* last 2 not used... */ 0x95, 0x13, /* Report Count (19), */ 0x09, 0x01, /* Usage (Pointer), */ 0x81, 0x02, /* Input (Variable), */ /* Padding */ 0x95, 0x0C, /* Report Count (12), */ 0x81, 0x01, /* Input (Constant), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x04, /* Report Count (4), */ 0x26, 0xFF, 0x03, /* Logical Maximum (1023), */ 0x46, 0xFF, 0x03, /* Physical Maximum (1023), */ 0x09, 0x01, /* Usage (Pointer), */ 0x81, 0x02, /* Input (Variable), */ -- Signed-off-by: NSimon Wood <simon@mungewell.org> Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 28 4月, 2011 1 次提交
-
-
由 Jiri Kosina 提交于
Sony Navigation Controller needs a special report to be sent to it before it is able to operate, the same way as other Sony controllers do. Tested-by: NJacek Lukas Wotka <jlw@team-fatal.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 21 2月, 2011 1 次提交
-
-
由 Antonio Ospite 提交于
The Sixaxis does not want the report_id as part of the data packet in Output reports, so we have to discard buf[0] when sending the actual control message. Add also some documentation about that and about why hdev->hid_output_raw_report needs to be overridden. Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 10 12月, 2010 1 次提交
-
-
由 Joe Perches 提交于
Neaten current uses of dev_<level> by adding and using hid specific hid_<level> macros. Convert existing uses of dev_<level> uses to hid_<level>. Convert hid-pidff printk uses to hid_<level>. Remove err_hid and use hid_err instead. Add missing newlines to logging messages where necessary. Coalesce format strings. Add and use pr_fmt(fmt) KBUILD_MODNAME ": " fmt Other miscellaneous changes: Add const struct hid_device * argument to hid-core functions extract() and implement() so hid_<level> can be used by them. Fix bad indentation in hid-core hid_input_field function that calls extract() function above. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 20 10月, 2010 1 次提交
-
-
由 Antonio Ospite 提交于
Override usbhid_output_raw_report in order to force output reports (sent via hidraw_write, for instance) on the control endpoint. The Sony Sixaxis (PS3 Controller) accepts output reports only on the control endpoint, it silently discards them when they arrive over the interrupt endpoint where usbhid would normally deliver them. Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 02 9月, 2010 1 次提交
-
-
由 Antonio Ospite 提交于
Be more explicit and avoid calling sony_set_operational_usb() when we have USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE. While at it, rename the sony_set_operational routines to sixaxis_set_operational as they are sixaxis specific. This is also in preparation for the sysfs interface to set and get bdaddr over usb and for some other Sixaxis report fixup. Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NBastien Nocera <hadess@hadess.net> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 10 8月, 2010 1 次提交
-
-
由 Nikolai Kondrashov 提交于
Update hid_driver's report_fixup prototype to allow changing report descriptor size and/or returning completely different report descriptor. Update existing usage accordingly. This is to give more freedom in descriptor fixup and to allow having a whole fixed descriptor in the code for the sake of readability. Signed-off-by: NNikolai Kondrashov <spbnick@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 03 5月, 2010 1 次提交
-
-
由 Antonio Ospite 提交于
Don't send the report type as part of the data, this prevents the controller from going into the operational state at all. This is completely equivalent to what the code originally meant to accomplish: as per in net/bluetooth/hidp/core.c::hidp_output_raw_report(), by using HID_FEATURE_REPORT here, what will be actually sent is (HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE) which is exactly 0x53. Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NBastien Nocera <hadess@hadess.net> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 30 3月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: NTejun Heo <tj@kernel.org> Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
-
- 09 2月, 2010 1 次提交
-
-
由 Bastien Nocera 提交于
Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 03 2月, 2010 1 次提交
-
-
由 Bastien Nocera 提交于
Now that hid_output_raw_report works, port the PS3 Sixaxis Bluetooth quirk from user-space, into kernel-space. Signed-off-by: NBastien Nocera <hadess@hadess.net> Acked-by: NMarcel Holtmann <marcel@holtmann.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 23 7月, 2009 1 次提交
-
-
由 Peter Huewe 提交于
Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions of several HID drivers from drivers/hid/ Signed-off-by: NPeter Huewe <peterhuewe@gmx.de> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 30 3月, 2009 1 次提交
-
-
由 Jiri Slaby 提交于
This removal was scheduled and there is no problem with later distros to adapt for the new bus, thanks to aliases. module-init-tools map files are deprecated nowadays, so that the patch which introduced hid ones into the m-i-t won't be accepted and hence there is no reason for leaving compat stuff in. Signed-off-by: NJiri Slaby <jirislaby@gmail.com> Cc: Jiri Kosina <jkosina@suse.cz> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 04 1月, 2009 1 次提交
-
-
由 Jiri Kosina 提交于
sony_set_operational() only propagates return value from usb_control_msg(), which returns negative on error and number of transferred bytes otherwise. Reported-by: NMarcin Tolysz <tolysz@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 23 10月, 2008 1 次提交
-
-
由 Jiri Kosina 提交于
The Sony Vaio VGX-TP1E multimedia PC has a wireless keyboard with a touchpad. The mouse pointer is wrongly declared as constant non-data variable, which make HID code to completely ignore all the "Pointer" usages. Fix the report descriptor before it enters the parser to contain touchpad pointer description that is correctly parsable (declaring data rather than constant). Reported-by: NStefan Hundhammer <sh@suse.de> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 15 10月, 2008 2 次提交
-
-
由 Jiri Slaby 提交于
Move connecting from usbhid to the hid layer and fix also hidp in that manner. This removes all the ignore/force hidinput/hiddev connecting quirks. Signed-off-by: NJiri Slaby <jirislaby@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Jiri Slaby 提交于
Signed-off-by: NJiri Slaby <jirislaby@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-