All of lore.kernel.org
 help / color / mirror / Atom feed
From: mdew <mdew@orcon.net.nz>
To: Greg KH <greg@kroah.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	"torvalds@transmeta.com" <torvalds@transmeta.com>,
	Vojtech Pavlik <vojtech@suse.cz>
Subject: Re: [PATCH 2.5] [TRIVIAL] USB Joypad quirk
Date: 24 Dec 2002 10:04:30 +1300	[thread overview]
Message-ID: <1040677522.28347.2.camel@nirvana> (raw)
In-Reply-To: <20021223191232.GA31060@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 2477 bytes --]

On Tue, 2002-12-24 at 08:12, Greg KH wrote:
> On Mon, Dec 23, 2002 at 12:20:30AM +1300, mdew wrote:
> > Orginally from Vojtech Pavlik (16th June 2002 via email), to fix my
> > 'broken' USB joypad, Fully tested in both 2.4.x and 2.5.52 (and
> > 2.5.52-bk).
> 
> Applied to my 2.5 tree, thanks.
> 
> Can you also send a 2.4 version, as this one does not work for that
> tree?

sure

diff -Naur linux-2.4.19/drivers/usb/hid-core.c
mdew/drivers/usb/hid-core.c
--- linux-2.4.19/drivers/usb/hid-core.c 2002-08-03 12:39:44.000000000
+1200
+++ mdew/drivers/usb/hid-core.c 2002-12-24 09:53:52.000000000 +1300
@@ -1086,6 +1086,9 @@
 #define USB_DEVICE_ID_ATEN_2PORTKVM    0x2204
 #define USB_DEVICE_ID_ATEN_4PORTKVM    0x2205

+#define USB_VENDOR_ID_TOPMAX           0x0663
+#define USB_DEVICE_ID_TOPMAX_COBRAPAD  0x0103
+
 struct hid_blacklist {
        __u16 idVendor;
        __u16 idProduct;
@@ -1115,6 +1118,7 @@
        { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS124U, HID_QUIRK_NOGET
},
        { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM,
HID_QUIRK_NOGET },
        { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM,
HID_QUIRK_NOGET },
+       { USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD,
HID_QUIRK_BADPAD },
        { 0, 0 }
 };

diff -Naur linux-2.4.19/drivers/usb/hid-input.c
mdew/drivers/usb/hid-input.c
--- linux-2.4.19/drivers/usb/hid-input.c        2001-11-12
07:09:37.000000000 +1300
+++ mdew/drivers/usb/hid-input.c        2002-12-24 09:53:52.000000000
+1300
@@ -280,6 +280,11 @@
                int a = field->logical_minimum;
                int b = field->logical_maximum;

+               if ((device->quirks & HID_QUIRK_BADPAD) && (usage->code
== ABS_X || usage->code == ABS_Y)) {
+                               a = field->logical_minimum = 0;
+                               b = field->logical_maximum = 255;
+                 }
+
                input->absmin[usage->code] = a;
                input->absmax[usage->code] = b;
                input->absfuzz[usage->code] = (b - a) >> 8;
diff -Naur linux-2.4.19/drivers/usb/hid.h mdew/drivers/usb/hid.h
--- linux-2.4.19/drivers/usb/hid.h      2002-08-03 12:39:44.000000000
+1200
+++ mdew/drivers/usb/hid.h      2002-12-24 09:53:47.000000000 +1300
@@ -186,6 +186,7 @@
 #define HID_QUIRK_NOTOUCH      0x02
 #define HID_QUIRK_IGNORE       0x04
 #define HID_QUIRK_NOGET                0x08
+#define HID_QUIRK_BADPAD       0x10

 /*
  * This is the global enviroment of the parser. This information is


[-- Attachment #2: hid_quirk_badpad-2.4.diff --]
[-- Type: text/x-patch, Size: 1947 bytes --]

diff -Naur linux-2.4.19/drivers/usb/hid-core.c mdew/drivers/usb/hid-core.c
--- linux-2.4.19/drivers/usb/hid-core.c	2002-08-03 12:39:44.000000000 +1200
+++ mdew/drivers/usb/hid-core.c	2002-12-24 09:53:52.000000000 +1300
@@ -1086,6 +1086,9 @@
 #define USB_DEVICE_ID_ATEN_2PORTKVM	0x2204
 #define USB_DEVICE_ID_ATEN_4PORTKVM	0x2205
 
+#define USB_VENDOR_ID_TOPMAX		0x0663
+#define USB_DEVICE_ID_TOPMAX_COBRAPAD	0x0103
+
 struct hid_blacklist {
 	__u16 idVendor;
 	__u16 idProduct;
@@ -1115,6 +1118,7 @@
 	{ USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS124U, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET },
+	{ USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD },
 	{ 0, 0 }
 };
 
diff -Naur linux-2.4.19/drivers/usb/hid-input.c mdew/drivers/usb/hid-input.c
--- linux-2.4.19/drivers/usb/hid-input.c	2001-11-12 07:09:37.000000000 +1300
+++ mdew/drivers/usb/hid-input.c	2002-12-24 09:53:52.000000000 +1300
@@ -280,6 +280,11 @@
 		int a = field->logical_minimum;
 		int b = field->logical_maximum;
 
+		if ((device->quirks & HID_QUIRK_BADPAD) && (usage->code == ABS_X || usage->code == ABS_Y)) {
+                       	a = field->logical_minimum = 0;
+                       	b = field->logical_maximum = 255;
+                 }      
+
 		input->absmin[usage->code] = a;
 		input->absmax[usage->code] = b;
 		input->absfuzz[usage->code] = (b - a) >> 8;
diff -Naur linux-2.4.19/drivers/usb/hid.h mdew/drivers/usb/hid.h
--- linux-2.4.19/drivers/usb/hid.h	2002-08-03 12:39:44.000000000 +1200
+++ mdew/drivers/usb/hid.h	2002-12-24 09:53:47.000000000 +1300
@@ -186,6 +186,7 @@
 #define HID_QUIRK_NOTOUCH	0x02
 #define HID_QUIRK_IGNORE	0x04
 #define HID_QUIRK_NOGET		0x08
+#define HID_QUIRK_BADPAD	0x10
 
 /*
  * This is the global enviroment of the parser. This information is

  reply	other threads:[~2002-12-23 20:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-22 11:20 [PATCH 2.5] [TRIVIAL] USB Joypad quirk mdew
2002-12-22 12:14 ` Vojtech Pavlik
2002-12-23 19:12 ` Greg KH
2002-12-23 21:04   ` mdew [this message]
2002-12-23 22:41     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1040677522.28347.2.camel@nirvana \
    --to=mdew@orcon.net.nz \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    --cc=vojtech@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.