diff --git a/packages/linux/patches/linux-2.6.36-aureal_remote_quirk-0.1.diff b/packages/linux/patches/linux-2.6.36-aureal_remote_quirk-0.1.diff new file mode 100644 index 0000000000..2cf266aac9 --- /dev/null +++ b/packages/linux/patches/linux-2.6.36-aureal_remote_quirk-0.1.diff @@ -0,0 +1,113 @@ +diff -Naur linux-2.6.36-rc6/drivers/hid/hid-aureal.c linux-2.6.36-rc6.patch/drivers/hid/hid-aureal.c +--- linux-2.6.36-rc6/drivers/hid/hid-aureal.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.36-rc6.patch/drivers/hid/hid-aureal.c 2010-10-05 02:28:50.925421529 +0200 +@@ -0,0 +1,60 @@ ++/* ++ * HID driver for some sunplus "special" devices ++ * ++ * Copyright (c) 1999 Andreas Gal ++ * Copyright (c) 2000-2005 Vojtech Pavlik ++ * Copyright (c) 2005 Michael Haboustak for Concept2, Inc ++ * Copyright (c) 2006-2007 Jiri Kosina ++ * Copyright (c) 2007 Paul Walmsley ++ * Copyright (c) 2008 Jiri Slaby ++ * Copyright (c) 2010 Franco Catrin ++ */ ++ ++/* ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License as published by the Free ++ * Software Foundation; either version 2 of the License, or (at your option) ++ * any later version. ++ */ ++ ++#include ++#include ++#include ++ ++#include "hid-ids.h" ++ ++static void aureal_report_fixup(struct hid_device *hdev, __u8 *rdesc, ++ unsigned int rsize) ++{ ++ if (rsize >= 54 && rdesc[52] == 0x25 && rdesc[53] == 0x01) { ++ dev_info(&hdev->dev, "fixing Aureal Cy se W-01RN USB_V3.1 " ++ "report descriptor. Keyboard Logical Maximum = 101\n"); ++ rdesc[53] = 0x65; ++ } ++} ++ ++static const struct hid_device_id aureal_devices[] = { ++ { HID_USB_DEVICE(USB_VENDOR_ID_AUREAL, USB_DEVICE_ID_AUREAL_W01RN) }, ++ { } ++}; ++MODULE_DEVICE_TABLE(hid, aureal_devices); ++ ++static struct hid_driver aureal_driver = { ++ .name = "aureal", ++ .id_table = aureal_devices, ++ .report_fixup = aureal_report_fixup, ++}; ++ ++static int __init aureal_init(void) ++{ ++ return hid_register_driver(&aureal_driver); ++} ++ ++static void __exit aureal_exit(void) ++{ ++ hid_unregister_driver(&aureal_driver); ++} ++ ++module_init(aureal_init); ++module_exit(aureal_exit); ++MODULE_LICENSE("GPL"); +diff -Naur linux-2.6.36-rc6/drivers/hid/hid-ids.h linux-2.6.36-rc6.patch/drivers/hid/hid-ids.h +--- linux-2.6.36-rc6/drivers/hid/hid-ids.h 2010-09-29 03:01:22.000000000 +0200 ++++ linux-2.6.36-rc6.patch/drivers/hid/hid-ids.h 2010-10-05 02:30:00.651266940 +0200 +@@ -6,6 +6,7 @@ + * Copyright (c) 2005 Michael Haboustak for Concept2, Inc + * Copyright (c) 2006-2007 Jiri Kosina + * Copyright (c) 2007 Paul Walmsley ++ * Copyright (c) 2010 Franco Catrin + */ + + /* +@@ -316,6 +317,9 @@ + #define USB_DEVICE_ID_KYE_ERGO_525V 0x0087 + #define USB_DEVICE_ID_KYE_GPEN_560 0x5003 + ++#define USB_VENDOR_ID_AUREAL 0x0755 ++#define USB_DEVICE_ID_AUREAL_W01RN 0x2626 ++ + #define USB_VENDOR_ID_LABTEC 0x1020 + #define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD 0x0006 + +diff -Naur linux-2.6.36-rc6/drivers/hid/Kconfig linux-2.6.36-rc6.patch/drivers/hid/Kconfig +--- linux-2.6.36-rc6/drivers/hid/Kconfig 2010-09-29 03:01:22.000000000 +0200 ++++ linux-2.6.36-rc6.patch/drivers/hid/Kconfig 2010-10-05 02:28:50.936421663 +0200 +@@ -87,6 +87,13 @@ + Say Y here if you want support for keyboards of Apple iBooks, PowerBooks, + MacBooks, MacBook Pros and Apple Aluminum. + ++config HID_AUREAL ++ tristate "Aureal" if EMBEDDED ++ depends on USB_HID ++ default !EMBEDDED ++ ---help--- ++ Support for Aureal Cy se W-01RN Remote Controller ++ + config HID_BELKIN + tristate "Belkin" if EMBEDDED + depends on USB_HID +diff -Naur linux-2.6.36-rc6/drivers/hid/Makefile linux-2.6.36-rc6.patch/drivers/hid/Makefile +--- linux-2.6.36-rc6/drivers/hid/Makefile 2010-09-29 03:01:22.000000000 +0200 ++++ linux-2.6.36-rc6.patch/drivers/hid/Makefile 2010-10-05 02:28:50.938421687 +0200 +@@ -26,6 +26,7 @@ + obj-$(CONFIG_HID_A4TECH) += hid-a4tech.o + obj-$(CONFIG_HID_ACRUX_FF) += hid-axff.o + obj-$(CONFIG_HID_APPLE) += hid-apple.o ++obj-$(CONFIG_HID_AUREAL) += hid-aureal.o + obj-$(CONFIG_HID_BELKIN) += hid-belkin.o + obj-$(CONFIG_HID_CANDO) += hid-cando.o + obj-$(CONFIG_HID_CHERRY) += hid-cherry.o diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index bee4d66e9e..e7b7028b6e 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -1630,6 +1630,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_HID_A4TECH is not set # CONFIG_HID_ACRUX_FF is not set # CONFIG_HID_APPLE is not set +CONFIG_HID_AUREAL=y # CONFIG_HID_BELKIN is not set # CONFIG_HID_CANDO is not set # CONFIG_HID_CHERRY is not set @@ -1653,7 +1654,7 @@ CONFIG_HID_MICROSOFT=y # CONFIG_HID_MOSART is not set # CONFIG_HID_MONTEREY is not set # CONFIG_HID_NTRIG is not set -CONFIG_HID_ORTEK=y +# CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set # CONFIG_HID_PETALYNX is not set # CONFIG_HID_PICOLCD is not set diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index a16d248a31..b36191e72f 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -1564,6 +1564,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_HID_A4TECH is not set # CONFIG_HID_ACRUX_FF is not set # CONFIG_HID_APPLE is not set +CONFIG_HID_AUREAL=y # CONFIG_HID_BELKIN is not set # CONFIG_HID_CANDO is not set # CONFIG_HID_CHERRY is not set @@ -1587,7 +1588,7 @@ CONFIG_HID_MICROSOFT=y # CONFIG_HID_MOSART is not set # CONFIG_HID_MONTEREY is not set # CONFIG_HID_NTRIG is not set -CONFIG_HID_ORTEK=y +# CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set # CONFIG_HID_PETALYNX is not set # CONFIG_HID_PICOLCD is not set diff --git a/projects/generic/linux/linux.i386.conf b/projects/generic/linux/linux.i386.conf index aab05ad1b7..57ffacd5fe 100644 --- a/projects/generic/linux/linux.i386.conf +++ b/projects/generic/linux/linux.i386.conf @@ -1761,6 +1761,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_HID_A4TECH is not set # CONFIG_HID_ACRUX_FF is not set # CONFIG_HID_APPLE is not set +CONFIG_HID_AUREAL=y # CONFIG_HID_BELKIN is not set # CONFIG_HID_CANDO is not set # CONFIG_HID_CHERRY is not set @@ -1784,7 +1785,7 @@ CONFIG_HID_MICROSOFT=y # CONFIG_HID_MOSART is not set # CONFIG_HID_MONTEREY is not set # CONFIG_HID_NTRIG is not set -CONFIG_HID_ORTEK=y +# CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set # CONFIG_HID_PETALYNX is not set # CONFIG_HID_PICOLCD is not set diff --git a/projects/intel/linux/linux.i386.conf b/projects/intel/linux/linux.i386.conf index facbe15419..e66c6061c9 100644 --- a/projects/intel/linux/linux.i386.conf +++ b/projects/intel/linux/linux.i386.conf @@ -1603,6 +1603,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_HID_A4TECH is not set # CONFIG_HID_ACRUX_FF is not set # CONFIG_HID_APPLE is not set +CONFIG_HID_AUREAL=y # CONFIG_HID_BELKIN is not set # CONFIG_HID_CANDO is not set # CONFIG_HID_CHERRY is not set @@ -1626,7 +1627,7 @@ CONFIG_HID_MICROSOFT=y # CONFIG_HID_MOSART is not set # CONFIG_HID_MONTEREY is not set # CONFIG_HID_NTRIG is not set -CONFIG_HID_ORTEK=y +# CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set # CONFIG_HID_PETALYNX is not set # CONFIG_HID_PICOLCD is not set diff --git a/projects/intel/linux/linux.x86_64.conf b/projects/intel/linux/linux.x86_64.conf index 894de7547d..d73239cd73 100644 --- a/projects/intel/linux/linux.x86_64.conf +++ b/projects/intel/linux/linux.x86_64.conf @@ -1538,6 +1538,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_HID_A4TECH is not set # CONFIG_HID_ACRUX_FF is not set # CONFIG_HID_APPLE is not set +CONFIG_HID_AUREAL=y # CONFIG_HID_BELKIN is not set # CONFIG_HID_CANDO is not set # CONFIG_HID_CHERRY is not set @@ -1561,7 +1562,7 @@ CONFIG_HID_MICROSOFT=y # CONFIG_HID_MOSART is not set # CONFIG_HID_MONTEREY is not set # CONFIG_HID_NTRIG is not set -CONFIG_HID_ORTEK=y +# CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set # CONFIG_HID_PETALYNX is not set # CONFIG_HID_PICOLCD is not set