Commit Graph

141 Commits

Author SHA1 Message Date
Juergen Schindele a001100d8e [PATCH] USB: touchkitusb.c (eGalax driver) fix
This patch corrects the URB initialisation for transfers
like this is done in other drivers too.
Without this patch no data was transmitted on a PXA270 OHCI
platform. May apply to others too.

Signed-off-by: Juergen Schindele <schindele@nentec.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-31 17:23:38 -08:00
Henk 8e2ce4f92a [PATCH] drivers/usb/input/yealink.c: Cleanup device matching code
This should fix things mentioned below:

	"I was curious why my firewall was loading a 'phone driver'.
	It turns out that the probing in the yealink driver is
	a little too assuming..

	static struct usb_device_id usb_table [] = {
	    { USB_INTERFACE_INFO(USB_CLASS_HID, 0, 0) },
	    { }
	};

	So it picked up my UPS, and loaded the driver.
	Whilst no harm came, because it later checks the vendor/product IDs,
	this driver should probably be rewritten to only probe
	for the device IDs it actually knows about.

	Dave"

Signed-off-by: Henk Vergonet <henk.vergonet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-31 17:23:37 -08:00
Ben Collins 6dea93477c Input: hiddev - fix off-by-one for num_values in uref_multi requests
Found this when working with a HAPP UGCI device. It has a usage with 7
indexes. I could read them all one at a time, but using a multiref it
would only allow me to read the first 6. The patch below fixed it.

Signed-off-by: Ben Collins <bcollins@ubuntu.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2006-01-31 01:31:13 -05: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
Dmitry Torokhov 1e27ffd4d7 Input: wacom - fix compile on PowerPC
Rename G4 (new Graphire4) to WACOM_G4 to avoid clashes on PowerPC

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2006-01-14 00:28:04 -05:00
Dmitry Torokhov 5fce9d7bc5 Input: HID - add more simulation usages
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2006-01-14 00:27:51 -05:00
Dmitry Torokhov b65d0d1bac Input: HID - fix an oops in PID initialization code
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2006-01-14 00:26:15 -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
Michael Hanselmann 1f85145c58 Input: add missing keys from input.h to hid-debug.h
Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2006-01-05 23:00:26 -05:00
Dmitry Torokhov fed8bf19ec Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-01-05 22:25:13 -05:00
Ville Syrjl 735b0cbb5b [PATCH] USB: add driver for ATI/Philips USB RF remotes
Summary: Driver for ATI/Philips USB RF remotes

This is a new input driver for ATI/Philips USB RF remotes (eg. ATI
Remote Wonder II).

Signed-off-by: Ville Syrjl <syrjala@sci.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:51:43 -08:00
Tobias Klauser 52950ed40d [PATCH] USB: Use ARRAY_SIZE macro
Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove
duplicates of ARRAY_SIZE. Some trailing whitespaces are also removed.

Patch is compile-tested on i386.

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:51:43 -08:00
Marcelo Feitoza Parisi f0b80fbf29 [PATCH] USB: ati_remote: use time_before() and friends
They deal with wrapping correctly and are nicer to read.

Signed-off-by: Marcelo Feitoza Parisi <marcelo@feitoza.com.br>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:51:41 -08: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
Daniel Ritz 5d3202949c [PATCH] USB: input/touchkitusb: handle multiple packets
Some versions of the controller seem to put multiple report packet into a
single urb. also it can happen that a packet is split across multiple urbs.
unpatched you get a jumpy cursor on some screens.
the patch does:
- handle multiple packets per urb
- handle packets split across multiple urb
- check packet type
- cleanups

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:51:39 -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
Denny Priebe 40c37213a0 [PATCH] Input: wacom - fix X axis setup
This patch fixes a typo introduced by conversion to dynamic input_dev
allocation.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-30 08:20:26 -08:00
Dmitry Torokhov 1994754412 [PATCH] Input: kbtab - fix Y axis setup
This patch fixes a typo introduced by conversion to dynamic input_dev
allocation.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-30 08:20:25 -08:00
Riccardo Magliocchetti f873e3e88d [PATCH] Input: aiptek - fix Y axis setup
This patch fixes a typo introduced by conversion to dynamic input_dev
allocation.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-29 10:19:21 -08:00
Michael Hanselmann e1e02c9f76 Input: appletouch - add support for Geyser 2
This patch adds support for the Geyser 2 touchpads used on post Oct 2005
Apple PowerBooks to the appletouch driver.

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: Stelian Pop <stelian@popies.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-12-21 00:50:23 -05:00
Dmitry Torokhov 041387d984 Manual merge with Linus (conflict in drivers/input/misc/wistron_bnts.c) 2005-12-20 23:03:50 -05:00
Dmitry Torokhov ff60dde9e4 [PATCH] Input: fix an OOPS in HID driver
This patch fixes an OOPS in HID driver when connecting simulation
devices generating unknown simulation events.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-18 11:22:30 -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
Michael Hanselmann 56f0356321 Input: add the fn key to hid-debug.h
Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-12-11 22:33:26 -05:00
Greg Kroah-Hartman 654f31189e [PATCH] USB: move CONFIG_USB_DEBUG checks into the Makefile
This lets us remove a lot of code in the drivers that were all checking
the same thing.  It also found some bugs in a few of the drivers, which
has been fixed up.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-17 11:29:55 -08:00
Ping Cheng ebb6f371ac [PATCH] USB: wacom tablet driver update
This patch adds support for Graphire4, Cintiq 710, Intuos3 6x11, etc. and
report Device IDs.

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:53 -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
Jean Delvare 3fa63c7d82 [PATCH] Typo fix: dot after newline in printk strings
Typo fix: dots appearing after a newline in printk strings.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:20 -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
Henk af64a5ebb8 [PATCH] USB: Buffer overflow patch for Yealink driver
Just a small patch that fixes a small parameter validation bug.

  drivers/usb/input/map_to_7segment.h:
    This patch fixes the broken parameter validation in the char to seg7
    conversion. This could cause out-of-bounds memory references.

  MAINTAINERS:
    Yealink maintainer info now in sorted order.

  Documentation/input/yealink.txt:
    Added a Q&A section that answers some common questions.

Signed-off-by: Henk <Henk.Vergonet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

006491df1a13f85ad245d1039dfdf20e49c394fd
2005-10-28 16:47:44 -07:00
Daniel Ritz 3f8c03ee05 [PATCH] usb/input/touchkit: add more device IDs
add two more device IDs from eGalax' programming guide.
thanks to Jonathan Hopper <jrhopper () gmail ! com>  for pointing out.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/usb/input/touchkitusb.c |    2 ++
 1 file changed, 2 insertions(+)
2005-10-28 16:47:43 -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
Greg Kroah-Hartman d6e5bcf4a7 [PATCH] devfs: Remove the mode field from usb_class_driver as it's no longer needed
Also fixes all drivers that set this field, and removes some other devfs
specfic USB logic.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/usb/class/usblp.c           |    3 +--
 drivers/usb/core/file.c             |   19 ++++---------------
 drivers/usb/image/mdc800.c          |    3 +--
 drivers/usb/input/aiptek.c          |    2 +-
 drivers/usb/input/hiddev.c          |    3 +--
 drivers/usb/media/dabusb.c          |    3 +--
 drivers/usb/misc/auerswald.c        |    3 +--
 drivers/usb/misc/idmouse.c          |    5 ++---
 drivers/usb/misc/legousbtower.c     |    5 ++---
 drivers/usb/misc/rio500.c           |    3 +--
 drivers/usb/misc/sisusbvga/sisusb.c |    5 -----
 drivers/usb/misc/usblcd.c           |    9 ++++-----
 drivers/usb/usb-skeleton.c          |    3 +--
 include/linux/usb.h                 |    7 ++-----
 14 files changed, 22 insertions(+), 51 deletions(-)
2005-10-28 16:47:37 -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
Stelian Pop f7214ff4e8 [PATCH] USB: add apple usb touchpad driver
This is a driver for the USB touchpad which can be found on post-February 2005
Apple PowerBooks.

This driver is derived from Johannes Berg's appletrackpad driver [1],
but it has been improved in some areas:
    * appletouch is a full kernel driver, no userspace program is necessary
    * appletouch can be interfaced with the synaptics X11 driver[2], in order
      to have touchpad acceleration, scrolling, two/three finger tap, etc.

This driver has been tested by the readers of the 'debian-powerpc' mailing
list for a few weeks now and I believe it is now ready for inclusion into the
mainline kernel.

Credits go to Johannes Berg for reverse-engineering the touchpad protocol,
Frank Arnold for further improvements, and Alex Harper for some additional
information about the inner workings of the touchpad sensors.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-12 12:23:39 -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
Henk b71e318cdb [PATCH] USB: yealink: fix htons usage, documentation updates
Signed-off-by: Henk Vergonet <henk.vergonet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-08 16:40:57 -07:00
Greg Kroah-Hartman d5ae36dd43 [PATCH] USB: fix endian issues in yealink driver.
sparse still complains about the htons usage, but I'll leave that for
others to fix.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-08 16:40:57 -07:00
Henk aca951a22a [PATCH] input-driver-yealink-P1K-usb-phone
This patch aggregates all modifications in the -mm tree and adds
complete ringtone support.

The following features are supported:
  - keyboard          full support
  - LCD               full support
  - LED               full support
  - dialtone          full support
  - ringtone          full support
  - audio playback    via generic usb audio diver
  - audio record      via generic usb audio diver

For driver documentation see: Documentation/input/yealink.txt
For vendor documentation see: http://yealink.com

Signed-off-by: Henk <Henk.Vergonet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-08 16:40:57 -07: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
Greg Kroah-Hartman ef08402860 [PATCH] USB: fix keyspan_remote endian bug on probe
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-09-08 16:22:17 -07:00
Pekka Enberg 7b842b6e37 [PATCH] USB: convert kcalloc to kzalloc
This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-07 16:57:46 -07:00
Stefan Nickl 010988e888 Input: HIDDEV - make HIDIOCSREPORT wait IO completion
When trying to make the hiddev driver issue several Set_Report control
transfers to a custom device with 2.6.13-rc6, only the first transfer in a
row is carried out, while others immediately following it are silently
dropped.

This happens where hid_submit_report() (in hid-core.c) tests for
HID_CTRL_RUNNING, which seems to be still set because the first transfer is
not finished yet.

As a workaround, inserting a delay between the two calls to
ioctl(HIDIOCSREPORT) in userspace "solves" the problem.  The
straightforward fix is to add a call to hid_wait_io() to the implementation
of HIDIOCSREPORT (in hiddev.c), just like for HIDIOCGREPORT.  Works fine
for me.

Apparently, this issue has some history:
http://marc.theaimsgroup.com/?l=linux-usb-users&m=111100670105558&w=2

Signed-off-by: Stefan Nickl <Stefan.Nickl@kontron.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 01:57:46 -05: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
Stelian Pop e875ce3747 Input: HID - add mapping for Powerbook USB keyboard
Map custom HID events (such as the ones generated by some Logitech and
Apple Powerbooks USB keyboards) to the FN keycode.

Signed-off-by: Stelian Pop <stelian@popies.net>
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:33 -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
Micah F. Galizia 39fd748f56 Input: HID - add support for Logitech UltraX Media Remote control
The hid now supports the Logitech UltraX Media Remote control.
For now, ID 45 on the consumer usage page has been incorrectly
mapped to KEY_RADIO since no other devices uses it.

Signed-off-by: Micah F. Galizia <mfgalizi@csd.uwo.ca>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:12:15 -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
Vojtech Pavlik 8a409b0118 Input: HID - add more consumer usages
Extend mapping of the consumer usage page in hid-input.c to handle
more cases appearing on new USB keyboards.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:08:08 -05:00
Vojtech Pavlik 0aebfdac04 Input: add HID simulation mappings
Add simulation usage page mappings to hid-input.c to support
a new crop of joysticks using them to designate Rudder and
Throttle controls.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:07:59 -05:00
Vojtech Pavlik b8c9c642db Inpur: recognize and ignore Logitech vendor usages in HID
These get in our way with MX mice.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-05 00:07:37 -05:00
Ping Cheng dc1d97e466 [PATCH] USB: fix usb wacom tablet driver bug
This patch fixes bug 4905 and a Cintiq 21UX bug.

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-08-16 21:06:25 -07:00
Pete Zaitcev a9b2e9170b [PATCH] USB: hidinput_hid_event() oops fix
It seems that I see a bug in hidinput_hid_event.  The check for NULL can never
work, becaue &hidinput->input is nonzero at all times.

Cc: <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-29 13:12:54 -07: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
Michael Downey 99f83c9c9a [PATCH] USB: add driver for Keyspan Digital Remote
This driver is a basic keypress input driver for the Keyspan Digital
Remote with part number UIA-11.  Currently there is an older remote with
part number UIA-10 which isn't supported by this driver.  Support for
the older UIA-10 could be added but a binary file is required to be
download to the device, and I don't have that file.  I also don't have a
UIA-10 device so I wouldn't be able to test any of the changes.

Signed-off-by: Michael Downey <downey@zymeta.com>
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
Dmitry Torokhov 16a334c0de Input: introduce usb_to_input_id() to uniformly produce
struct input_id for USB input devices.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-30 00:49:08 -05:00
Dmitry Torokhov c27a748225 Input: acecad - drop unneeded cast and couple unneeded spaces.
Noticed by Joe Perches.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Stephane VOLTZ <svoltz@numericable.fr>
2005-06-30 00:48:51 -05:00
Linus Torvalds d3b8a1a849 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2005-06-27 15:13:26 -07: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
Vincent Vanackere c11372da33 [PATCH] USB: fix atiremote input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)
> On Sun, Apr 10, 2005 at 07:21:28PM +0600, Viktor A. Danilov wrote:
> >
> > PROBLEM: aiptek input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)
> > REASON: `dev` - field not filled...
> > SOLUTION: in linux/drivers/usb/input/aiptek.c write
> >       aiptek->inputdev.dev = &intf->dev;
> > before calling
> >       input_register_device(&aiptek->inputdev);

The following (tested) patch fixes the exact same issue with the ATI
Remote input driver.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-27 14:44:02 -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
Yani Ioannou 060b8845e6 [PATCH] Driver Core: drivers/usb/input/aiptek.c - drivers/zorro/zorro-sysfs.c: update device attribute callbacks
Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-20 15:15:35 -07:00
Dmitry Torokhov e5119885f0 Input: wacom - fix formatting in accordance to CodingStyle
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-06 02:28:29 -05:00
Ping Cheng b2f86369e3 Input: Wacom driver update
- add support for Cintiq 21UX
       - fix a Graphire bug
       - merge wacom_intuos3_irq into wacom_intuos_irq

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-06 02:25:50 -05: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
Lonnie Mendez dc1d1003e8 [PATCH] USB: hid-core: add Earthmate lt-20 productid to blacklist table
This patch adds the DeLorme Earthmate lt-20 productid to the hid
blacklist table.  This patch ensures the lt-20 can be claimed by the
appropriate driver (cypress_m8).

Adds the product id 0x200, of the DeLorme Earthmate lt-20, to the hid
blacklist table.

Signed-off-by: Lonnie Mendez <lmendez19@austin.rr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-03 00:04:28 -07:00
Ping Cheng 5ce0482e18 [PATCH] USB: add new wacom device to usb hid-core list
- add Intuos3 and Cintiq 21UX

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-03 00:04:28 -07:00
Adam Kropelin bef3768d8f Input: HID items of width 32 (bits) or greater are incorrectly extracted
due to a masking bug in hid-core.c:extract(). This patch fixes it
       up by forcing the mask to be 64 bits wide.

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-05-29 02:30:08 -05:00
Dmitry Torokhov 65cde54b8b Input: remove user counters from drivers/usb/input since input
core takes care of calling open and close methods only
       when needed.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-05-29 02:29:38 -05:00
Dmitry Torokhov 8baf9ed400 Input: mtouchusb was indented with spaces instead of tabs, pass
through Lindent and adjust results.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-05-29 02:29:08 -05:00
Dmitry Torokhov 05f091ab4c Input: whitespace fixes in drivers/usb/input
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-05-29 02:29:01 -05:00
Vojtech Pavlik 71387bd77f Input: Fix a warning in hid-core.
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-05-29 02:28:14 -05:00
Vojtech Pavlik 854561b019 Input: Make hid-core issue a SET_IDLE request before GET_REPORT, like
Windows does. This should make life easier for devices that were
       tested with Windows only.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-05-29 02:28:00 -05:00
Hans-Christian Egtvedt 8608471262 Input: Add driver for ITM Touch USB touchscreens.
From: Hans-Christian Egtvedt <hc@mivu.no>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-05-29 02:27:45 -05:00
Steven Cole 093cf723b2 [PATCH] USB: Spelling fixes for drivers/usb.
Here are some spelling corrections for drivers/usb.

cancelation -> cancellation
succesful -> successful
cancelation -> cancellation
decriptor -> descriptor
Initalize -> Initialize
wierd -> weird
Protocoll -> Protocol
occured -> occurred
successfull -> successful
Procesing -> Processing
devide -> divide
Isochronuous -> Isochronous
noticable -> noticeable
Basicly -> Basically
transfering -> transferring
intialize -> initialize
Incomming -> Incoming
additionnal -> additional
asume -> assume
Unfortunatly -> Unfortunately
retreive -> retrieve
tranceiver -> transceiver
Compatiblity -> Compatibility
Incorprated -> Incorporated
existance -> existence
Ununsual -> Unusual

Signed-off-by: Steven Cole <elenstev@mesatop.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-03 23:31:52 -07:00
Patrick Boettcher 9719b0c298 [PATCH] USB: Fix for ati_remote
when stealing code from ati_remote for a GPL-driver of my usbradio (because of
its neat usb int transfers) I found out, that the inbuf is freed twice.

I don't have the ati-remote, so I don't know it is a problem at all, but it
looks strange to me anyway. Also I don't know if it has been fixed already in
newer kernel versions.


From: Patrick Boettcher <patrick.boettcher@desy.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-23 13:16:15 -07:00
Adrian Bunk be5e3383a9 [PATCH] USB: drivers/usb/input/usbkbd.c: make a function static
This patch makes a needlessly global function static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-04-22 15:07:00 -07:00
Viktor A. Danilov e838a0d4d5 [PATCH] USB: fix AIPTEK input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)
PROBLEM: aiptek input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)
REASON: `dev` - field not filled...
SOLUTION: in linux/drivers/usb/input/aiptek.c write
	aiptek->inputdev.dev = &intf->dev;
before calling
	input_register_device(&aiptek->inputdev);

From: "Viktor A. Danilov" <__die@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Index: gregkh-2.6/drivers/usb/input/aiptek.c
===================================================================
2005-04-18 17:39:35 -07:00
Jesper Juhl 1bc3c9e1e4 [PATCH] USB: kfree cleanup for drivers/usb/* - no need to check for NULL
Get rid of a bunch of redundant NULL pointer checks in drivers/usb/*,
there's no need to check a pointer for NULL before calling kfree() on it.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


Index: gregkh-2.6/drivers/usb/class/audio.c
===================================================================
2005-04-18 17:39:34 -07:00
David Brownell 27d72e8572 [PATCH] usb suspend updates (interface suspend)
This is the first of a few installments of PM API updates to match the
recent switch to "pm_message_t".  This installment primarily affects
USB device drivers (for USB interfaces), and it changes the handful of
drivers which currently implement suspend methods:

    - <linux/usb.h> and usbcore, signature change

    - Some drivers only changed the signature, net effect this just
      shuts up "sparse -Wbitwise":
	* hid-core
	* stir4200

    - Two network drivers did that, and also grew slightly more
      featureful suspend code ... they now properly shut down
      their activities.  (As should stir4200...)
	* pegasus
	* usbnet

Note that the Wake-On-Lan (WOL) support in pegasus doesn't yet work; looks
to me like it's missing a request to turn it on, vs just configuring it.
The ASIX code in usbnet also has WOL hooks that are ready to use; untested.

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

Index: gregkh-2.6/drivers/net/irda/stir4200.c
===================================================================
2005-04-18 17:39:22 -07:00
Linus Torvalds 1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00