Commit 04a37979 authored by Armijn Hemel's avatar Armijn Hemel Committed by Greg Kroah-Hartman

[PATCH] USB: add ati_remote.c device id

please consider applying the attached patch which adds an identifier for
another variant of the X10 RF remote. This one is very common everywhere
in Europe where Aldi (a supermarket discounter) sells their PCs
(Netherlands, Belgium, northern Germany, France, Spain, ...).
Considering that they ship a few 100,000 PCs once or twice every year
you can imagine there are quite a few of these remotes kicking around.

I've tested with 2.6.10-rc2 and various versions of XMMS and lirc with
the devinput driver. It does play well with lirc-0.7.0-pre8 but not so
nice with 0.7.0. I don't know why, but according to some posts on the
lirc list it seems to be in lirc.

By the way, there seem to be even more variants of this device,
according to:

http://cvs.sourceforge.net/viewcvs.py/lirc/lirc/drivers/lirc_atiusb/lirc_atiusb.c

From: Armijn Hemel <armijn@uulug.nl>
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
parent 2ffa5605
...@@ -102,6 +102,7 @@ ...@@ -102,6 +102,7 @@
#define ATI_REMOTE_VENDOR_ID 0x0bc7 #define ATI_REMOTE_VENDOR_ID 0x0bc7
#define ATI_REMOTE_PRODUCT_ID 0x004 #define ATI_REMOTE_PRODUCT_ID 0x004
#define LOLA_REMOTE_PRODUCT_ID 0x002 #define LOLA_REMOTE_PRODUCT_ID 0x002
#define MEDION_REMOTE_PRODUCT_ID 0x006
#define DRIVER_VERSION "2.2.1" #define DRIVER_VERSION "2.2.1"
#define DRIVER_AUTHOR "Torrey Hoffman <thoffman@arnor.net>" #define DRIVER_AUTHOR "Torrey Hoffman <thoffman@arnor.net>"
...@@ -126,6 +127,7 @@ MODULE_PARM_DESC(debug, "Enable extra debug messages and information"); ...@@ -126,6 +127,7 @@ MODULE_PARM_DESC(debug, "Enable extra debug messages and information");
static struct usb_device_id ati_remote_table[] = { static struct usb_device_id ati_remote_table[] = {
{ USB_DEVICE(ATI_REMOTE_VENDOR_ID, ATI_REMOTE_PRODUCT_ID) }, { USB_DEVICE(ATI_REMOTE_VENDOR_ID, ATI_REMOTE_PRODUCT_ID) },
{ USB_DEVICE(ATI_REMOTE_VENDOR_ID, LOLA_REMOTE_PRODUCT_ID) }, { USB_DEVICE(ATI_REMOTE_VENDOR_ID, LOLA_REMOTE_PRODUCT_ID) },
{ USB_DEVICE(ATI_REMOTE_VENDOR_ID, MEDION_REMOTE_PRODUCT_ID) },
{} /* Terminating entry */ {} /* Terminating entry */
}; };
...@@ -730,7 +732,8 @@ static int ati_remote_probe(struct usb_interface *interface, const struct usb_de ...@@ -730,7 +732,8 @@ static int ati_remote_probe(struct usb_interface *interface, const struct usb_de
/* See if the offered device matches what we can accept */ /* See if the offered device matches what we can accept */
if ((udev->descriptor.idVendor != ATI_REMOTE_VENDOR_ID) || if ((udev->descriptor.idVendor != ATI_REMOTE_VENDOR_ID) ||
( (udev->descriptor.idProduct != ATI_REMOTE_PRODUCT_ID) && ( (udev->descriptor.idProduct != ATI_REMOTE_PRODUCT_ID) &&
(udev->descriptor.idProduct != LOLA_REMOTE_PRODUCT_ID) )) (udev->descriptor.idProduct != LOLA_REMOTE_PRODUCT_ID) &&
(udev->descriptor.idProduct != MEDION_REMOTE_PRODUCT_ID) ))
return -ENODEV; return -ENODEV;
/* Allocate and clear an ati_remote struct */ /* Allocate and clear an ati_remote struct */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment