forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/g…
…it/jikos/hid * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid: (21 commits) USB HID: don't warn on idVendor == 0 USB HID: add 'quirks' module parameter USB HID: add support for dynamically-created quirks USB HID: clarify static quirk handling as squirks USB HID: encapsulate quirk handling into hid-quirks.c USB HID: EMS USBII device needs HID_QUIRK_MULTI_INPUT HID: update copyright and authorship macro HID: introduce proper zeroing of unused bits in output reports USB HID: add support for WiseGroup MP-8800 Quad Joypad USB HID: add FF support for Logitech Force 3D Pro Joystick USB HID: numlock quirk for dell W7658 keyboard USB HID: Logitech MX3000 keyboard needs report descriptor quirk USB HID: extend quirk for Logitech S510 keyboard USB HID: usbkbd/usbmouse - handle errors when registering devices USB HID: add QUIRK_HIDDEV for Belkin Flip KVM HID: enable dead keys on a belkin wireless keyboard USB HID: Thustmaster firestorm dual power v1 support USB HID: specify explicit size for hid_blacklist.quirks USB HID: fix retry & reset logic USB HID: consolidate vendor/product ids ...
- Loading branch information
Showing
22 changed files
with
1,004 additions
and
615 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,5 +36,7 @@ config HID_DEBUG | |
|
||
If unsure, say N | ||
|
||
source "drivers/hid/usbhid/Kconfig" | ||
|
||
endmenu | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
* Copyright (c) 1999 Andreas Gal | ||
* Copyright (c) 2000-2005 Vojtech Pavlik <[email protected]> | ||
* Copyright (c) 2005 Michael Haboustak <[email protected]> for Concept2, Inc | ||
* Copyright (c) 2006 Jiri Kosina | ||
* Copyright (c) 2006-2007 Jiri Kosina | ||
*/ | ||
|
||
/* | ||
|
@@ -37,7 +37,7 @@ | |
*/ | ||
|
||
#define DRIVER_VERSION "v2.6" | ||
#define DRIVER_AUTHOR "Andreas Gal, Vojtech Pavlik" | ||
#define DRIVER_AUTHOR "Andreas Gal, Vojtech Pavlik, Jiri Kosina" | ||
#define DRIVER_DESC "HID core driver" | ||
#define DRIVER_LICENSE "GPL" | ||
|
||
|
@@ -872,8 +872,13 @@ static void hid_output_field(struct hid_field *field, __u8 *data) | |
unsigned count = field->report_count; | ||
unsigned offset = field->report_offset; | ||
unsigned size = field->report_size; | ||
unsigned bitsused = offset + count * size; | ||
unsigned n; | ||
|
||
/* make sure the unused bits in the last byte are zeros */ | ||
if (count > 0 && size > 0 && (bitsused % 8) != 0) | ||
data[(bitsused-1)/8] &= (1 << (bitsused % 8)) - 1; | ||
|
||
for (n = 0; n < count; n++) { | ||
if (field->logical_minimum < 0) /* signed values */ | ||
implement(data, offset + n * size, size, s32ton(field->value[n], size)); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
comment "USB Input Devices" | ||
depends on USB | ||
|
||
config USB_HID | ||
tristate "USB Human Interface Device (full HID) support" | ||
default y | ||
depends on USB && INPUT | ||
select HID | ||
---help--- | ||
Say Y here if you want full HID support to connect USB keyboards, | ||
mice, joysticks, graphic tablets, or any other HID based devices | ||
to your computer via USB, as well as Uninterruptible Power Supply | ||
(UPS) and monitor control devices. | ||
|
||
You can't use this driver and the HIDBP (Boot Protocol) keyboard | ||
and mouse drivers at the same time. More information is available: | ||
<file:Documentation/input/input.txt>. | ||
|
||
If unsure, say Y. | ||
|
||
To compile this driver as a module, choose M here: the | ||
module will be called usbhid. | ||
|
||
comment "Input core support is needed for USB HID input layer or HIDBP support" | ||
depends on USB_HID && INPUT=n | ||
|
||
config USB_HIDINPUT_POWERBOOK | ||
bool "Enable support for iBook/PowerBook special keys" | ||
default n | ||
depends on USB_HID | ||
help | ||
Say Y here if you want support for the special keys (Fn, Numlock) on | ||
Apple iBooks and PowerBooks. | ||
|
||
If unsure, say N. | ||
|
||
config HID_FF | ||
bool "Force feedback support (EXPERIMENTAL)" | ||
depends on USB_HID && EXPERIMENTAL | ||
help | ||
Say Y here is you want force feedback support for a few HID devices. | ||
See below for a list of supported devices. | ||
|
||
See <file:Documentation/input/ff.txt> for a description of the force | ||
feedback API. | ||
|
||
If unsure, say N. | ||
|
||
config HID_PID | ||
bool "PID device support" | ||
depends on HID_FF | ||
help | ||
Say Y here if you have a PID-compliant device and wish to enable force | ||
feedback for it. Microsoft Sidewinder Force Feedback 2 is one of such | ||
devices. | ||
|
||
config LOGITECH_FF | ||
bool "Logitech devices support" | ||
depends on HID_FF | ||
select INPUT_FF_MEMLESS if USB_HID | ||
help | ||
Say Y here if you have one of these devices: | ||
- Logitech WingMan Cordless RumblePad | ||
- Logitech WingMan Cordless RumblePad 2 | ||
- Logitech WingMan Force 3D | ||
- Logitech Formula Force EX | ||
- Logitech MOMO Force wheel | ||
|
||
and if you want to enable force feedback for them. | ||
Note: if you say N here, this device will still be supported, but without | ||
force feedback. | ||
|
||
config PANTHERLORD_FF | ||
bool "PantherLord USB/PS2 2in1 Adapter support" | ||
depends on HID_FF | ||
select INPUT_FF_MEMLESS if USB_HID | ||
help | ||
Say Y here if you have a PantherLord USB/PS2 2in1 Adapter and want | ||
to enable force feedback support for it. | ||
|
||
config THRUSTMASTER_FF | ||
bool "ThrustMaster FireStorm Dual Power 2 support (EXPERIMENTAL)" | ||
depends on HID_FF && EXPERIMENTAL | ||
select INPUT_FF_MEMLESS if USB_HID | ||
help | ||
Say Y here if you have a THRUSTMASTER FireStore Dual Power 2, | ||
and want to enable force feedback support for it. | ||
Note: if you say N here, this device will still be supported, but without | ||
force feedback. | ||
|
||
config ZEROPLUS_FF | ||
bool "Zeroplus based game controller support" | ||
depends on HID_FF | ||
select INPUT_FF_MEMLESS if USB_HID | ||
help | ||
Say Y here if you have a Zeroplus based game controller and want to | ||
enable force feedback for it. | ||
|
||
config USB_HIDDEV | ||
bool "/dev/hiddev raw HID device support" | ||
depends on USB_HID | ||
help | ||
Say Y here if you want to support HID devices (from the USB | ||
specification standpoint) that aren't strictly user interface | ||
devices, like monitor controls and Uninterruptable Power Supplies. | ||
|
||
This module supports these devices separately using a separate | ||
event interface on /dev/usb/hiddevX (char 180:96 to 180:111). | ||
|
||
If unsure, say Y. | ||
|
||
menu "USB HID Boot Protocol drivers" | ||
depends on USB!=n && USB_HID!=y | ||
|
||
config USB_KBD | ||
tristate "USB HIDBP Keyboard (simple Boot) support" | ||
depends on USB && INPUT | ||
---help--- | ||
Say Y here only if you are absolutely sure that you don't want | ||
to use the generic HID driver for your USB keyboard and prefer | ||
to use the keyboard in its limited Boot Protocol mode instead. | ||
|
||
This is almost certainly not what you want. This is mostly | ||
useful for embedded applications or simple keyboards. | ||
|
||
To compile this driver as a module, choose M here: the | ||
module will be called usbkbd. | ||
|
||
If even remotely unsure, say N. | ||
|
||
config USB_MOUSE | ||
tristate "USB HIDBP Mouse (simple Boot) support" | ||
depends on USB && INPUT | ||
---help--- | ||
Say Y here only if you are absolutely sure that you don't want | ||
to use the generic HID driver for your USB mouse and prefer | ||
to use the mouse in its limited Boot Protocol mode instead. | ||
|
||
This is almost certainly not what you want. This is mostly | ||
useful for embedded applications or simple mice. | ||
|
||
To compile this driver as a module, choose M here: the | ||
module will be called usbmouse. | ||
|
||
If even remotely unsure, say N. | ||
|
||
endmenu | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# | ||
# Makefile for the USB input drivers | ||
# | ||
|
||
# Multipart objects. | ||
usbhid-objs := hid-core.o hid-quirks.o | ||
|
||
# Optional parts of multipart objects. | ||
|
||
ifeq ($(CONFIG_USB_HIDDEV),y) | ||
usbhid-objs += hiddev.o | ||
endif | ||
ifeq ($(CONFIG_HID_PID),y) | ||
usbhid-objs += hid-pidff.o | ||
endif | ||
ifeq ($(CONFIG_LOGITECH_FF),y) | ||
usbhid-objs += hid-lgff.o | ||
endif | ||
ifeq ($(CONFIG_PANTHERLORD_FF),y) | ||
usbhid-objs += hid-plff.o | ||
endif | ||
ifeq ($(CONFIG_THRUSTMASTER_FF),y) | ||
usbhid-objs += hid-tmff.o | ||
endif | ||
ifeq ($(CONFIG_ZEROPLUS_FF),y) | ||
usbhid-objs += hid-zpff.o | ||
endif | ||
ifeq ($(CONFIG_HID_FF),y) | ||
usbhid-objs += hid-ff.o | ||
endif | ||
|
||
obj-$(CONFIG_USB_HID) += usbhid.o | ||
obj-$(CONFIG_USB_KBD) += usbkbd.o | ||
obj-$(CONFIG_USB_MOUSE) += usbmouse.o | ||
|
Oops, something went wrong.