2004-09-03 19:15:16

by Steffen Zieger

[permalink] [raw]
Subject: Codemercs IO-Warrior support

Hello list,

here is a patch to get the kernel module from Codemerces to work.
The module is available in source for the 2.4 and 2.6 series except the needed
changes in hid-core.c. Codemercs distribute the needed changes as a complete
file (version 2.6.4). This isn't working with 2.6.8.1.

Is there any possibility to get Codemerces driver for the IO-Warrior in the
kernel?
The complete code is under the GPL licensed.

If you need any more information have a look at http://www.codemercs.com or
consider of contacting me. Will help as much as possible.

Greetz,
Steffen


My Kernel Version: 2.6.8-gentoo-r3

--- /usr/src/linux/drivers/usb/input/hid-core.c.orig 2004-09-03
20:53:49.124191720 +0200
+++ /usr/src/linux/drivers/usb/input/hid-core.c 2004-09-03 20:59:14.728692312
+0200
@@ -1439,6 +1439,13 @@
#define USB_DEVICE_ID_1_PHIDGETSERVO_20 0x8101
#define USB_DEVICE_ID_4_PHIDGETSERVO_20 0x8104

+#define USB_VENDOR_ID_CODEMERCS 0x07c0
+#define USB_DEVICE_ID_CODEMERCS_IOW40 0x1500
+#define USB_DEVICE_ID_CODEMERCS_IOW24 0x1501
+#define USB_DEVICE_ID_CODEMERCS_IOW48 0x1502
+#define USB_DEVICE_ID_CODEMERCS_IOW28 0x1503
+
static struct hid_blacklist {
__u16 idVendor;
__u16 idProduct;
@@ -1520,6 +1527,11 @@
{ USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD,
HID_QUIRK_BADPAD },
{ USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD,
HID_QUIRK_BADPAD },
{ USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD,
HID_QUIRK_BADPAD },
+
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40,
HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24,
HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW48,
HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW28,
HID_QUIRK_IGNORE },

{ 0, 0 }
};


2004-09-03 20:16:40

by Steffen Zieger

[permalink] [raw]
Subject: Re: Codemercs IO-Warrior support

On Friday 03 September 2004 21:42, Juergen Quade wrote:
> A few weeks ago I had a closer look at the source code of
> this driver. Sorry, but it contains some serious erros -
> in my opinion it has to be rewritten from scratch :-(
Won't disagree with you, but the patch for hid-core.c could be added in my
opinion, because it only makes sure, that the IO-Warrior isn't handled by
hid.

> Just my 2 cents,
>
> Juergen.
>
Greetz,
Steffen

2004-09-04 06:44:07

by Andrew Morton

[permalink] [raw]
Subject: Re: Codemercs IO-Warrior support

Steffen Zieger <[email protected]> wrote:
>
> Hello list,
>
> here is a patch to get the kernel module from Codemerces to work.

It's wordwrapped by your email client.

> The module is available in source for the 2.4 and 2.6 series except the needed
> changes in hid-core.c. Codemercs distribute the needed changes as a complete
> file (version 2.6.4). This isn't working with 2.6.8.1.
>
> Is there any possibility to get Codemerces driver for the IO-Warrior in the
> kernel?
> The complete code is under the GPL licensed.

The authors shuld submit the driver as a patch against current -linus
kernel.

2004-09-05 12:33:39

by Steffen Zieger

[permalink] [raw]
Subject: Re: Codemercs IO-Warrior support

On Saturday 04 September 2004 08:42, Andrew Morton wrote:
> It's wordwrapped by your email client.
Sorry for this.
Here it is again. This time it's hopefully functional.

HAND,
Steffen



--- /usr/src/linux/drivers/usb/input/hid-core.c.orig 2004-09-03 20:53:49.124191720 +0200
+++ /usr/src/linux/drivers/usb/input/hid-core.c 2004-09-03 20:59:14.728692312 +0200
@@ -1439,6 +1439,13 @@
#define USB_DEVICE_ID_1_PHIDGETSERVO_20 0x8101
#define USB_DEVICE_ID_4_PHIDGETSERVO_20 0x8104

+#define USB_VENDOR_ID_CODEMERCS 0x07c0
+#define USB_DEVICE_ID_CODEMERCS_IOW40 0x1500
+#define USB_DEVICE_ID_CODEMERCS_IOW24 0x1501
+#define USB_DEVICE_ID_CODEMERCS_IOW48 0x1502
+#define USB_DEVICE_ID_CODEMERCS_IOW28 0x1503
+
static struct hid_blacklist {
__u16 idVendor;
__u16 idProduct;
@@ -1520,6 +1527,11 @@
{ USB_VENDOR_ID_NEC, USB_DEVICE_ID_NEC_USB_GAME_PAD, HID_QUIRK_BADPAD },
{ USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD, HID_QUIRK_BADPAD },
{ USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD, HID_QUIRK_BADPAD },
+
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW48, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW28, HID_QUIRK_IGNORE },

{ 0, 0 }
};