Commit Graph

59 Commits

Author SHA1 Message Date
Adrian Bunk
f064902457 USB: hid-core.c: fix duplicate USB_DEVICE_ID_GTCO_404
On Fri, Sep 01, 2006 at 01:58:18AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.18-rc4-mm3:
>...
> +gregkh-usb-hid-core.c-adds-all-gtco-calcomp-digitizers-and-interwrite-school-products-to-blacklist.patch
>...
>  USB tree updates.
>...

The GNU C compiler spotted the following bug:

<--  snip  -->

...
  CC      drivers/usb/input/hid-core.o
/home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/usb/input/hid-core.c:1446:1: warning: "USB_DEVICE_ID_GTCO_404" redefined
/home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/usb/input/hid-core.c:1445:1: warning: this is the location of the previous definition
...

<--  snip  -->

This patch fixes this cut'n'paste error.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-07 15:23:03 -07:00
Ping Cheng
ea186651d5 USB: add all wacom device to hid-core.c blacklist
Add all Wacom devices to hid-core.c blacklist

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-31 18:04:30 -07:00
Jeremy Roberson
6f8d9e26e7 hid-core.c: Adds all GTCO CalComp Digitizers and InterWrite School Products to blacklist
Adds all GTCO CalComp Digitizers and InterWrite School Products to
hid-core.c blacklist.

Signed-off-by: Jeremy A. Roberson <jroberson@gtcocalcomp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-31 18:04:29 -07:00
Navaho Gunleg
b857c651e7 [PATCH] USB: add support for WiseGroup., Ltd SmartJoy Dual PLUS Adapter
This patch is to get the WiseGroup.,Ltd SmartJoy Dual Plus PS2-to-USB
Adapter [0x6677:0x8802] correctly detected. It sets the NOGET and
MULTI_INPUT quirks to make 2 joystick nodes appear in stead of only
one.

(As of yet, only confirmed working by myself.)

Signed-off-by: Navaho Gunleg <navahogunleg@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12 16:03:23 -07:00
Rene Rebe
5c218e3b86 [PATCH] USB: Add Apple MacBook product IDs to usbhid
This adds the Apple MacBook product IDs for the Fn translation
to the usbhid.

Signed-off-by: Rene Rebe <rene@exactcode.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21 15:04:16 -07:00
Alan Stern
df9a1f482d [PATCH] usbhid: use usb_reset_composite_device
This patch (as702) makes usbhid use the new usb_reset_composite_device
API.  Now HID interfaces can coexist with other interfaces on the same
device, and a reset can safely be requested by any of the drivers.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21 15:04:15 -07:00
Alan Stern
633a7ecf89 [PATCH] usbhid: Remove unneeded blacklist entries
Now that usbhid automatically applies HID_QUIRK_NOGET to keyboards and
mice, we no longer need the blacklist entries that were present for no
other purpose.  This patch (as698) removes them.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21 15:04:14 -07:00
Alan Stern
0f28b55db5 [PATCH] usbhid: automatically set HID_QUIRK_NOGET for keyboards and mice
It seems to be relatively common for USB keyboards and mice to dislike
being polled for reports.  Since there's no need to poll a keyboard or
a mouse, this patch (as685) automatically sets the HID_QUIRK_NOGET flag
for devices that advertise themselves as either sort of device with boot
protocol support.

This won't cure all the problems since some devices don't support the
boot protocol, but it's simple and easy and it should fix quite a few
problems.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21 15:04:10 -07:00
Bart Massey
a82e49b8ae [PATCH] USB HID/HIDBP, INPUT DRIVERS: fix various usb/input/hid-input.c bugs that make Apple Mighty Mouse work poorly
Transposed lines of code in drivers/usb/input/hid-input.c causes the
capability bits for a new HID device to be set before quirks are applied
at configuration time.  When an HID event is then sent up to the input
layer, it may then be discarded as irrelevant because the wrong
capability bit is set.

Further, the quirks for the Apple Mighty Mouse are not quite right: the
horizontal scrolling needs its axis reversed, and the left and center
buttons are transposed.  Also, the mouse is labeled in the kernel with
its earlier name (I think) of Apple PowerMouse.

Steps to reproduce problem: Plug in an Apple Mighty Mouse.  Note that
horizontal scrolling doesn't work at all, and in fact doesn't generate
any input events on /dev/input/eventN.  Note also that pushing the
middle button performs the right button action, and vice versa.  Once
you have the horizontal scrolling working, note that it is backward WRT
both to vertical scrolling and to common sense.

This patch maybe should be broken up, as it does address two problems.
The transposed code in hidinput_configure_usage() probably creates bugs
beyond just the Mighty Mouse.  The rest of the patch renames POWERMOUSE
to MIGHTYMOUSE everywhere (which I *believe* is correct), fixes the
MIGHTYMOUSE quirk to swap the center and right mouse buttons, and adds a
new quirk HID_QUIRK_INVERT_HWHEEL also assigned to the MIGHTYMOUSE with
code in hidinput_hid_event() to implement it.

Signed-off-by: Bart Massey <bart@cs.pdx.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21 15:04:10 -07:00
Henk Vergonet
5cd330f4f3 [PATCH] USB: add YEALINK phones to the HID_QUIRK_IGNORE blacklist
Keys on Yealink based phones will not function properly when using the
generic HID driver. This patch prevents the generic HID code from
grabbing the device before the regular yealink driver can get a grip on
it.

Signed-off-by: Henk Vergonet <Henk.Vergonet@gmail.com>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21 15:04:08 -07:00
Olaf Hering
332bbf6138 [PATCH] USB: add an IBM USB keyboard to the HID_QUIRK_NOGET blacklist
After recent changes, the USB keyboard as shipped with IBM pSeries systems
does not work anymore, unless the keyboard is replugged after reboot.
Adding this model to the blacklist fixes it.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-05-12 11:58:09 -07:00
Jeffrey Vandenbroucke sign
bfb25849f0 [PATCH] hid-core.c: fix "input irq status -32 received" for Silvercrest USB Keyboard
When not using this patch, the kernel will continuously return "input irq
status -32 received", while making the keyboard unusable.  This can be
easely resolved using HID_QUIRK_NOGET.  Vendor-ID and Device-ID should be
applied to hid-core.c, and making an entry to make use of it.

Signed-off-by: Jeffrey Vandenbroucke <jeffrey@wirehead.be>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg KH <greg@kroah.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-04-14 11:12:26 -07:00
Ping Cheng
999a6a6a2a [PATCH] USB: add new wacom devices to usb hid-core list
This patch adds support for DTF 521, Intuos3 12x12 and 12x19

Signed-off-by: Ping Cheng <pingc@wacom.com>
Acked-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-04-14 11:12:22 -07:00
Daniel Ritz
1d3e20236d [PATCH] USB: usbtouchscreen: unified USB touchscreen driver
A new single driver for various USB touchscreen devices. It currently
supports:
- eGalax TouchKit
- PanJit TouchSet
- 3M/Microtouch
- ITM Touchscreens

Support for the diffent devices can be enabled/disable when CONFIG_EMBEDDED
is set.

Sizes for comparision:
   text    data     bss     dec     hex filename
   2942     724       4    3670     e56 touchkitusb.ko
   2647     660       0    3307     ceb mtouchusb.ko
   2448     628       0    3076     c04 itmtouch.ko
   4145    1012      12    5169    1431 usbtouchscreen.ko

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-04-14 11:12:21 -07:00
Alexey Dobriyan
53b3531bbb [PATCH] s/;;/;/g
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-24 07:33:24 -08:00
Wolfgang Rohdewald
2e56222ed5 [PATCH] USB: add support for Creativelabs Silvercrest USB keyboard
Signed-off-by: Wolfgang Rohdewald <wolfgang@rohdewald.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20 14:50:01 -08:00
Alan Stern
aef4e26696 [PATCH] usbhid: add error handling
This patch (as628c) adds error handling to the USB HID core.  When an
error is reported for an interrupt URB, the driver will do delayed
retries, at increasing intervals, for up to one second.  If that doesn't
work, it will try to reset the device.  Testing by users has shown that
both the retries and the resets end up getting used.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20 14:49:56 -08:00
Oliver Neukum
bbdb7dafb5 [PATCH] USB: kzalloc for hid
this uses kzalloc in hid.

Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20 14:49:52 -08:00
Andrew Fuller
e65335ef18 [PATCH] USB: Wisegroup MP-8866 Dual USB Joypad
This patch is for the Dual USB Joypad [0925:8866] from Wisegroup.  The
HID_QUIRK_NOGET is necessary for it to respond to input, and the
HID_QUIRK_MULTI_INPUT is necessary to have two js# nodes appear.

Signed-off-by: Andrew Fuller <mactalla.obair@gmail.com>
Cc: "Dmitry Torokhov" <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-02-28 12:42:06 -08:00
Michael Hund
ba3e66e94b [PATCH] USB: add new device ids to ldusb
Signed-off-by: Michael Hund <mhund@ld-didactic.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-02-13 21:33:39 -08:00
Olaf Hering
de289fdf6f [PATCH] USB: remove extra newline in hid_init_reports
The warn() macro in include/linux/usb.h adds a newline.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-31 17:23:43 -08:00
Vojtech Pavlik
dc41baf818 [PATCH] USB HID: add blacklist entry for HP keyboard
My earlier experiment (adding a clear-halt for the interrupt-in
endpoint)  failed.  It turns out that it does cause problems for other
devices.  And it wasn't needed anyway; a simple blacklist entry was
enough to get my HP keyboard working.

This patch (as643) removes the clear-halt call and adds the blacklist
entry.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-31 17:23:41 -08:00
Michael Hanselmann
eab9edd27f Input: HID - add support for fn key on Apple PowerBooks
This patch implements support for the fn key on Apple PowerBooks using
USB based keyboards and makes them behave like their ADB counterparts.

Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch>
Acked-by: Rene Nussbaumer <linux-kernel@killerfox.forkbomb.ch>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2006-01-14 10:08:06 -05:00
Vojtech Pavlik
940824b0ac Input: HID - add support for Cherry Cymotion keyboard
The Cherry Cymotion is a special Linux keyboard made by Cherry, with
only one little problem: it doesn't work with Linux. This patch
(originally by hexten.net, cleaned up by me) makes it work including
all the special keys.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2006-01-14 00:25:39 -05:00
Arjan van de Ven
4c4c9432a6 [PATCH] USB: mark various usb tables const
patch below marks various USB tables and variables as const so that they
end up in .rodata section and don't cacheline share with things that get
written to. For the non-array variables it also allows gcc to optimize
more.

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:51:40 -08:00
Greg Kroah-Hartman
75318d2d7c [PATCH] USB: remove .owner field from struct usb_driver
It is no longer needed, so let's remove it, saving a bit of memory.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:48:34 -08:00
Adam Kropelin
cd6104572b [PATCH] hid-core: Zero-pad truncated reports
When it detects a truncated report, hid-core emits a warning and then
processes the report as usual.  This is good because it allows buggy
devices to still get data thru to userspace.  However, the missing bytes of
the report should be cleared before processing, otherwise userspace will be
handed partially-uninitialized data.

This fixes Debian tracker bug #330487.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Acked-by: Dmitry Torokhov <dtor_core@ameritech.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-13 21:18:16 -08:00
Ping Cheng
116d75bd4d [PATCH] USB: add new wacom devices to usb hid-core list
This patch adds support for Graphire4, Cintiq 710, Intuos3 6x11, etc.

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-17 11:29:52 -08:00
Alan Stern
423e489d70 [PATCH] hid-core: Add Clear-Halt on the Interrupt-in endpoint
This patch (as577) adds a Clear-Halt call on the Interrupt-in endpoint
during input device configuration.  Without it my HP USB keyboard doesn't
work.

Vojtech says it's worth trying, since it might help with some recalcitrant
devices.  On the other hand, it might interfere with others.  I'm
submitting it so that it can get tested by a range of users.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:49 -07:00
David Brownell
db69087437 [PATCH] usb_interface power state
This updates the handling of power state for USB interfaces.

  - Formalizes an existing invariant:  interface "power state" is a boolean:
    ON when I/O is allowed, and FREEZE otherwise.  It does so by defining
    some inlined helpers, then using them.

  - Adds a useful invariant:  the only interfaces marked active are those
    bound to non-suspended drivers.  Later patches build on this invariant.

  - Simplifies the interface driver API (and removes some error paths) by
    removing the requirement that they record power state changes during
    suspend and resume callbacks.  Now usbcore does that.

A few drivers were simplified to address that last change.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/usb/core/hub.c       |   33 +++++++++------------
 drivers/usb/core/message.c   |    1
 drivers/usb/core/usb.c       |   65 +++++++++++++++++++++++++++++++++----------
 drivers/usb/core/usb.h       |   18 +++++++++++
 drivers/usb/input/hid-core.c |    2 -
 drivers/usb/misc/usbtest.c   |   10 ------
 drivers/usb/net/pegasus.c    |    2 -
 drivers/usb/net/usbnet.c     |    2 -
 8 files changed, 85 insertions(+), 48 deletions(-)
2005-10-28 16:47:38 -07:00
Dmitry Torokhov
c5b7c7c395 [PATCH] drivers/usb/input: convert to dynamic input_dev allocation
Input: convert drivers/iusb/input to dynamic input_dev allocation

This is required for input_dev sysfs integration

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:52 -07:00
Christian Krause
13b58ee518 [PATCH] USB: fix bug in handling of highspeed usb HID devices
During the development of an USB device I found a bug in the handling of
Highspeed HID devices in the kernel.

What happened?

Highspeed HID devices are correctly recognized and enumerated by the
kernel. But even if usbhid kernel module is loaded, no HID reports are
received by the kernel.

The output of the hardware USB analyzer told me that the host doesn't
even poll for interrupt IN transfers (even the "interrupt in" USB
transfer are polled by the host).

After some debugging in hid-core.c I've found the reason.

In case of a highspeed device, the endpoint interval is re-calculated in
driver/usb/input/hid-core.c:

line 1669:
             /* handle potential highspeed HID correctly */
             interval = endpoint->bInterval;
             if (dev->speed == USB_SPEED_HIGH)
                   interval = 1 << (interval - 1);

Basically this calculation is correct (refer to USB 2.0 spec, 9.6.6).
This new calculated value of "interval" is used as input for
usb_fill_int_urb:

line 1685:

            usb_fill_int_urb(hid->urbin, dev, pipe, hid->inbuf, 0,
                   hid_irq_in, hid, interval);

Unfortunately the same calculation as above is done a second time in
usb_fill_int_urb in the file include/linux/usb.h:

line 933:
        if (dev->speed == USB_SPEED_HIGH)
                urb->interval = 1 << (interval - 1);
        else
                urb->interval = interval;

This means, that if the endpoint descriptor (of a high speed device)
specifies e.g. bInterval = 7, the urb->interval gets the value:

hid-core.c: interval = 1 << (7-1) = 0x40 = 64
urb->interval = 1 << (interval -1) = 1 << (63) = integer overflow

Because of this the value of urb->interval is sometimes negative and is
rejected in core/urb.c:
line 353:
                /* too small? */
                if (urb->interval <= 0)
                        return -EINVAL;

The conclusion is, that the recalculaton of the interval (which is
necessary for highspeed) should not be made twice, because this is
simply wrong. ;-)

Re-calculation in usb_fill_int_urb makes more sense, because it is the
most general approach. So it would make sense to remove it from
hid-core.c.

Because in hid-core.c the interval variable is only used for calling
usb_fill_int_urb, it is no problem to remove the highspeed
re-calculation in this file.

Signed-off-by: Christian Krause <chkr@plauener.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-17 14:45:49 -07:00
Greg KH
80908309ce Revert "[PATCH] USB: Prevent hid-core claiming Apple Bluetooth device on new G4 powerbooks"
This reverts 22af8878d2 commit.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-12 11:58:07 -07:00
Dmitry Torokhov
d344c5e085 Manual merge with Linus 2005-09-09 20:14:47 -05:00
Alan Stern
b375a0495f [PATCH] USB: URB_ASYNC_UNLINK flag removed from the kernel
29 July 2005, Cambridge, MA:

This afternoon Alan Stern submitted a patch to remove the URB_ASYNC_UNLINK
flag from the Linux kernel.  Mr. Stern explained, "This flag is a relic
from an earlier, less-well-designed system.  For over a year it hasn't
been used for anything other than printing warning messages."

An anonymous spokesman for the Linux kernel development community
commented, "This is exactly the sort of thing we see happening all the
time.  As the kernel evolves, support for old techniques and old code can
be jettisoned and replaced by newer, better approaches.  Proprietary
operating systems do not have the freedom or flexibility to change so
quickly."

Mr. Stern, a staff member at Harvard University's Rowland Institute who
works on Linux only as a hobby, noted that the patch (labelled as548) did
not update two files, keyspan.c and option.c, in the USB drivers' "serial"
subdirectory.  "Those files need more extensive changes," he remarked.
"They examine the status field of several URBs at times when they're not
supposed to.  That will need to be fixed before the URB_ASYNC_UNLINK flag
is removed."

Greg Kroah-Hartman, the kernel maintainer responsible for overseeing all
of Linux's USB drivers, did not respond to our inquiries or return our
calls.  His only comment was "Applied, thanks."

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-08 16:23:04 -07:00
Andrew de Quincey
22af8878d2 [PATCH] USB: Prevent hid-core claiming Apple Bluetooth device on new G4 powerbooks
To recap: My new G4 powerbook has a bluetooth device that boots up in
what apppears to be a compatability mode - it looks exactly like an HID
keyboard/mouse device.

A special command sequence is sent to switch it into full bluetooth
mode. When this occurs the original HID device vanishes, and a new
(bluetooth HID) USB device appears on the bus with a different product
ID.

The original thread is here:
http://sourceforge.net/mailarchive/message.php?msg_id=12532263

The attached patch adds the device to the hid-core quirks so that
hid-core ignores it.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-08 16:22:29 -07:00
Brian Schau
7d25258f69 Input: HID - add Wireless Security Lock to HID blacklist
The device is a Wireless Security Lock (WSL).  The device identifies itself
as a Cypress Ultra Mouse.  It is, however, not a mouse at all and as such,
shouldn't be handled as one.

Signed-off-by: Brian Schau <brian@schau.com>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 01:57:41 -05:00
Vojtech Pavlik
61cdecd9f5 Input: HID - add the Trust Predator TH 400 gamepad to the badpad list
Reported-by: Karl Relton <karllinuxtest.relton@ntlworld.com>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:13:32 -05:00
Vojtech Pavlik
c58de6d949 Input: HID - add a quirk for the Apple Powermouse
Add a quirk for the Apple Powermouse, remapping GenericDesktop.Z to
Rel.HWheel, to allow horizontal scrolling in Linux.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:13:15 -05:00
Vojtech Pavlik
c4786ca8a4 Input: HID - fix URB success status handling
Add a missing break; statement to the URB status handling
in hid-core.c, avoiding flushing the request queue on success.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:13:03 -05:00
Michael Haboustak
bf0964dcda Input: HID - handle multi-transascion reports
Fixes handling of multi-transaction reports for HID devices. New
function hid_size_buffers() that calculates the longest report
for each endpoint and stores the result in the hid_device object.
These lengths are used to allocate buffers that are large enough
to store any report on the endpoint. For compatibility, the minimum
size for an endpoint buffer set to HID_BUFFER_SIZE rather than the
known optimal case (the longest report length).

It fixes bug #3063 in bugzilla.

Signed-off-by: Michael Haboustak <mike-@cinci.rr.com>

I simplified the patch a bit to use just a single buffer size.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:12:01 -05:00
Linus Torvalds
e0d7ff168a Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2005-07-29 09:48:34 -07:00
Michael Hund
8fd6db47b9 [PATCH] USB: add LD devices to hid blacklist
below you will find one patch to hid-core.c, which lets usbhid ignore
our HID devices. It would be nice, if you can apply it.

Signed-off-by: Michael Hund <mhund@ld-didactic.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-07-12 11:52:56 -07:00
Adam Kropelin
bc5d04822b Input: HID - only report events coming from interrupts to hiddev
Currently hid-core follows the same code path for input reports
regardless of whether they are a result of interrupt transfers or
control transfers. That leads to interrupt events erroneously being
reported to hiddev for regular control transfers.

Prior to 2.6.12 the problem was mitigated by the fact that
reporting to hiddev is supressed if the field value has not changed,
which is often the case. Said filtering was removed in 2.6.12-rc1 which
means any input reports fetched via control transfers result in hiddev
interrupt events. This behavior can quickly lead to a feedback loop
where a userspace app, in response to interrupt events, issues control
transfers which in turn create more interrupt events.

This patch prevents input reports that arrive via control transfers from
being reported to hiddev as interrupt events.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:09:32 -05:00
Luca T
6345fdfd19 Input: HID - add a quirk for Aashima Trust (06d6:0025) gamepad
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:08:40 -05:00
Linus Torvalds
3e0777b8fa Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/dtor/input.git manually
Some manual fixups required due to clashes with the PF_FREEZE cleanups.
2005-06-27 14:47:31 -07:00
Stelian Pop
479f6ea85e [PATCH] USB: fix hid core to return proper error code from probe
Drivers need to return -ENODEV when they can't bind to a device.
Anything else stops the "bind a device to a driver" search.

From: Stelian Pop <stelian@popies.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-22 23:01:09 -07:00
Stephane VOLTZ
5388054697 Input: add driver for Acecad Flair USB tablets
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-06 02:22:37 -05:00
Dmitry Torokhov
3c241f8337 Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2005-06-06 02:21:03 -05:00
Greg Kroah-Hartman
4871d3be13 [PATCH] USB: add Vernier devices to HID blacklist
They aren't really HID devices.

Damm microsoft HID driver, that thing has caused more companies to have
to do this kind of hack...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-03 00:04:29 -07:00