mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: use MII hooks only if CONFIG_MII is enabled USB Storage: unusual_devs.h entry for Sony Ericsson P990i USB: xpad: additional USB id's added USB: fix compiler issues with newer gcc versions USB: HID: add blacklist AIRcable USB, little beautification USB: usblp: fix system suspend for some systems USB: failure in usblp's error path usbtouchscreen: use endpoint address from endpoint descriptor USB: sierra: Fix id for Sierra Wireless MC8755 in new table USB: new VID/PID-combos for cp2101 hid-core: big-endian fix fix USB: usb-storage: Unusual_dev update USB: add another sierra wireless device id
This commit is contained in:
commit
ced3985fae
@ -428,12 +428,6 @@ Options supported:
|
||||
See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
|
||||
information on this driver.
|
||||
|
||||
AIRcable USB Dongle Bluetooth driver
|
||||
If there is the cdc_acm driver loaded in the system, you will find that the
|
||||
cdc_acm claims the device before AIRcable can. This is simply corrected
|
||||
by unloading both modules and then loading the aircable module before
|
||||
cdc_acm module
|
||||
|
||||
Generic Serial driver
|
||||
|
||||
If your device is not one of the above listed devices, compatible with
|
||||
|
@ -722,6 +722,7 @@ static ssize_t usblp_write(struct file *file, const char __user *buffer, size_t
|
||||
usblp->wcomplete = 0;
|
||||
err = usb_submit_urb(usblp->writeurb, GFP_KERNEL);
|
||||
if (err) {
|
||||
usblp->wcomplete = 1;
|
||||
if (err != -ENOMEM)
|
||||
count = -EIO;
|
||||
else
|
||||
@ -1202,8 +1203,6 @@ static int usblp_suspend (struct usb_interface *intf, pm_message_t message)
|
||||
down (&usblp->sem);
|
||||
/* we take no more IO */
|
||||
usblp->sleeping = 1;
|
||||
/* we wait for anything printing */
|
||||
wait_event (usblp->wait, usblp->wcomplete || !usblp->present);
|
||||
usblp_unlink_urbs(usblp);
|
||||
up (&usblp->sem);
|
||||
mutex_unlock (&usblp_mutex);
|
||||
|
@ -1188,6 +1188,7 @@ static inline void show_string(struct usb_device *udev, char *id, char *string)
|
||||
|
||||
#ifdef CONFIG_USB_OTG
|
||||
#include "otg_whitelist.h"
|
||||
static int __usb_port_suspend(struct usb_device *, int port1);
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -1289,8 +1290,6 @@ int usb_new_device(struct usb_device *udev)
|
||||
* (Includes HNP test device.)
|
||||
*/
|
||||
if (udev->bus->b_hnp_enable || udev->bus->is_b_host) {
|
||||
static int __usb_port_suspend(struct usb_device *,
|
||||
int port1);
|
||||
err = __usb_port_suspend(udev, udev->bus->otg_port);
|
||||
if (err < 0)
|
||||
dev_dbg(&udev->dev, "HNP fail, %d\n", err);
|
||||
|
@ -270,7 +270,7 @@ static int hid_add_field(struct hid_parser *parser, unsigned report_type, unsign
|
||||
* Read data value from item.
|
||||
*/
|
||||
|
||||
static __inline__ __u32 item_udata(struct hid_item *item)
|
||||
static u32 item_udata(struct hid_item *item)
|
||||
{
|
||||
switch (item->size) {
|
||||
case 1: return item->data.u8;
|
||||
@ -280,7 +280,7 @@ static __inline__ __u32 item_udata(struct hid_item *item)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __inline__ __s32 item_sdata(struct hid_item *item)
|
||||
static s32 item_sdata(struct hid_item *item)
|
||||
{
|
||||
switch (item->size) {
|
||||
case 1: return item->data.s8;
|
||||
@ -727,7 +727,7 @@ static struct hid_device *hid_parse_report(__u8 *start, unsigned size)
|
||||
* done by hand.
|
||||
*/
|
||||
|
||||
static __inline__ __s32 snto32(__u32 value, unsigned n)
|
||||
static s32 snto32(__u32 value, unsigned n)
|
||||
{
|
||||
switch (n) {
|
||||
case 8: return ((__s8)value);
|
||||
@ -741,9 +741,9 @@ static __inline__ __s32 snto32(__u32 value, unsigned n)
|
||||
* Convert a signed 32-bit integer to a signed n-bit integer.
|
||||
*/
|
||||
|
||||
static __inline__ __u32 s32ton(__s32 value, unsigned n)
|
||||
static u32 s32ton(__s32 value, unsigned n)
|
||||
{
|
||||
__s32 a = value >> (n - 1);
|
||||
s32 a = value >> (n - 1);
|
||||
if (a && a != -1)
|
||||
return value < 0 ? 1 << (n - 1) : (1 << (n - 1)) - 1;
|
||||
return value & ((1 << n) - 1);
|
||||
@ -751,30 +751,55 @@ static __inline__ __u32 s32ton(__s32 value, unsigned n)
|
||||
|
||||
/*
|
||||
* Extract/implement a data field from/to a little endian report (bit array).
|
||||
*
|
||||
* Code sort-of follows HID spec:
|
||||
* http://www.usb.org/developers/devclass_docs/HID1_11.pdf
|
||||
*
|
||||
* While the USB HID spec allows unlimited length bit fields in "report
|
||||
* descriptors", most devices never use more than 16 bits.
|
||||
* One model of UPS is claimed to report "LINEV" as a 32-bit field.
|
||||
* Search linux-kernel and linux-usb-devel archives for "hid-core extract".
|
||||
*/
|
||||
|
||||
static __inline__ __u32 extract(__u8 *report, unsigned offset, unsigned n)
|
||||
{
|
||||
u32 x;
|
||||
u64 x;
|
||||
|
||||
WARN_ON(n > 32);
|
||||
|
||||
report += offset >> 3; /* adjust byte index */
|
||||
offset &= 8 - 1;
|
||||
x = get_unaligned((u32 *) report);
|
||||
x = le32_to_cpu(x);
|
||||
x = (x >> offset) & ((1 << n) - 1);
|
||||
return x;
|
||||
offset &= 7; /* now only need bit offset into one byte */
|
||||
x = get_unaligned((u64 *) report);
|
||||
x = le64_to_cpu(x);
|
||||
x = (x >> offset) & ((1ULL << n) - 1); /* extract bit field */
|
||||
return (u32) x;
|
||||
}
|
||||
|
||||
/*
|
||||
* "implement" : set bits in a little endian bit stream.
|
||||
* Same concepts as "extract" (see comments above).
|
||||
* The data mangled in the bit stream remains in little endian
|
||||
* order the whole time. It make more sense to talk about
|
||||
* endianness of register values by considering a register
|
||||
* a "cached" copy of the little endiad bit stream.
|
||||
*/
|
||||
static __inline__ void implement(__u8 *report, unsigned offset, unsigned n, __u32 value)
|
||||
{
|
||||
u32 x;
|
||||
u64 x;
|
||||
u64 m = (1ULL << n) - 1;
|
||||
|
||||
WARN_ON(n > 32);
|
||||
|
||||
WARN_ON(value > m);
|
||||
value &= m;
|
||||
|
||||
report += offset >> 3;
|
||||
offset &= 8 - 1;
|
||||
x = get_unaligned((u32 *)report);
|
||||
x &= cpu_to_le32(~((((__u32) 1 << n) - 1) << offset));
|
||||
x |= cpu_to_le32(value << offset);
|
||||
put_unaligned(x,(u32 *)report);
|
||||
offset &= 7;
|
||||
|
||||
x = get_unaligned((u64 *)report);
|
||||
x &= cpu_to_le64(~(m << offset));
|
||||
x |= cpu_to_le64(((u64) value) << offset);
|
||||
put_unaligned(x, (u64 *) report);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1615,6 +1640,9 @@ void hid_init_reports(struct hid_device *hid)
|
||||
#define USB_VENDOR_ID_SUN 0x0430
|
||||
#define USB_DEVICE_ID_RARITAN_KVM_DONGLE 0xcdab
|
||||
|
||||
#define USB_VENDOR_ID_AIRCABLE 0x16CA
|
||||
#define USB_DEVICE_ID_AIRCABLE1 0x1502
|
||||
|
||||
/*
|
||||
* Alphabetically sorted blacklist by quirk type.
|
||||
*/
|
||||
@ -1632,6 +1660,7 @@ static const struct hid_blacklist {
|
||||
{ USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_22, HID_QUIRK_IGNORE },
|
||||
{ USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_23, HID_QUIRK_IGNORE },
|
||||
{ USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_24, HID_QUIRK_IGNORE },
|
||||
{ USB_VENDOR_ID_AIRCABLE, USB_DEVICE_ID_AIRCABLE1, HID_QUIRK_IGNORE },
|
||||
{ USB_VENDOR_ID_ALCOR, USB_DEVICE_ID_ALCOR_USBRS232, HID_QUIRK_IGNORE },
|
||||
{ USB_VENDOR_ID_BERKSHIRE, USB_DEVICE_ID_BERKSHIRE_PCWD, HID_QUIRK_IGNORE },
|
||||
{ USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40, HID_QUIRK_IGNORE },
|
||||
|
@ -640,7 +640,7 @@ static int usbtouch_probe(struct usb_interface *intf,
|
||||
type->max_press, 0, 0);
|
||||
|
||||
usb_fill_int_urb(usbtouch->irq, usbtouch->udev,
|
||||
usb_rcvintpipe(usbtouch->udev, 0x81),
|
||||
usb_rcvintpipe(usbtouch->udev, endpoint->bEndpointAddress),
|
||||
usbtouch->data, type->rept_size,
|
||||
usbtouch_irq, usbtouch, endpoint->bInterval);
|
||||
|
||||
|
@ -2,6 +2,10 @@
|
||||
* X-Box gamepad - v0.0.6
|
||||
*
|
||||
* Copyright (c) 2002 Marko Friedemann <mfr@bmx-chemnitz.de>
|
||||
* 2004 Oliver Schwartz <Oliver.Schwartz@gmx.de>,
|
||||
* Steven Toth <steve@toth.demon.co.uk>,
|
||||
* Franz Lehner <franz@caos.at>,
|
||||
* Ivan Hawkes <blackhawk@ivanhawkes.com>
|
||||
* 2005 Dominic Cerquetti <binary1230@yahoo.com>
|
||||
* 2006 Adam Buchbinder <adam.buchbinder@gmail.com>
|
||||
*
|
||||
@ -29,6 +33,7 @@
|
||||
* - ITO Takayuki for providing essential xpad information on his website
|
||||
* - Vojtech Pavlik - iforce driver / input subsystem
|
||||
* - Greg Kroah-Hartman - usb-skeleton driver
|
||||
* - XBOX Linux project - extra USB id's
|
||||
*
|
||||
* TODO:
|
||||
* - fine tune axes (especially trigger axes)
|
||||
@ -54,6 +59,13 @@
|
||||
* - fixed d-pad to axes mapping
|
||||
*
|
||||
* 2002-07-17 - 0.0.5 : simplified d-pad handling
|
||||
*
|
||||
* 2004-10-02 - 0.0.6 : DDR pad support
|
||||
* - borrowed from the XBOX linux kernel
|
||||
* - USB id's for commonly used dance pads are present
|
||||
* - dance pads will map D-PAD to buttons, not axes
|
||||
* - pass the module paramater 'dpad_to_buttons' to force
|
||||
* the D-PAD to map to buttons if your pad is not detected
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -90,8 +102,35 @@ static const struct xpad_device {
|
||||
{ 0x045e, 0x0202, "Microsoft X-Box pad v1 (US)", MAP_DPAD_TO_AXES },
|
||||
{ 0x045e, 0x0289, "Microsoft X-Box pad v2 (US)", MAP_DPAD_TO_AXES },
|
||||
{ 0x045e, 0x0285, "Microsoft X-Box pad (Japan)", MAP_DPAD_TO_AXES },
|
||||
{ 0x05fd, 0x107a, "InterAct 'PowerPad Pro' X-Box pad (Germany)", MAP_DPAD_TO_AXES },
|
||||
{ 0x045e, 0x0287, "Microsoft Xbox Controller S", MAP_DPAD_TO_AXES },
|
||||
{ 0x0c12, 0x8809, "RedOctane Xbox Dance Pad", MAP_DPAD_TO_BUTTONS },
|
||||
{ 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x046d, 0xca84, "Logitech Xbox Cordless Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x046d, 0xca88, "Logitech Compact Controller for Xbox", MAP_DPAD_TO_AXES },
|
||||
{ 0x05fd, 0x1007, "Mad Catz Controller (unverified)", MAP_DPAD_TO_AXES },
|
||||
{ 0x05fd, 0x107a, "InterAct 'PowerPad Pro' X-Box pad (Germany)", MAP_DPAD_TO_AXES },
|
||||
{ 0x0738, 0x4516, "Mad Catz Control Pad", MAP_DPAD_TO_AXES },
|
||||
{ 0x0738, 0x4522, "Mad Catz LumiCON", MAP_DPAD_TO_AXES },
|
||||
{ 0x0738, 0x4526, "Mad Catz Control Pad Pro", MAP_DPAD_TO_AXES },
|
||||
{ 0x0738, 0x4536, "Mad Catz MicroCON", MAP_DPAD_TO_AXES },
|
||||
{ 0x0738, 0x4540, "Mad Catz Beat Pad", MAP_DPAD_TO_BUTTONS },
|
||||
{ 0x0738, 0x4556, "Mad Catz Lynx Wireless Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0738, 0x6040, "Mad Catz Beat Pad Pro", MAP_DPAD_TO_BUTTONS },
|
||||
{ 0x0c12, 0x8802, "Zeroplus Xbox Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0c12, 0x8810, "Zeroplus Xbox Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0c12, 0x9902, "HAMA VibraX - *FAULTY HARDWARE*", MAP_DPAD_TO_AXES },
|
||||
{ 0x0e4c, 0x1097, "Radica Gamester Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0e4c, 0x2390, "Radica Games Jtech Controller", MAP_DPAD_TO_AXES},
|
||||
{ 0x0e6f, 0x0003, "Logic3 Freebird wireless Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0e6f, 0x0005, "Eclipse wireless Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0e6f, 0x0006, "Edge wireless Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0e8f, 0x0201, "SmartJoy Frag Xpad/PS2 adaptor", MAP_DPAD_TO_AXES },
|
||||
{ 0x0f30, 0x0202, "Joytech Advanced Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0f30, 0x8888, "BigBen XBMiniPad Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x102c, 0xff0c, "Joytech Wireless Advanced Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x12ab, 0x8809, "Xbox DDR dancepad", MAP_DPAD_TO_BUTTONS },
|
||||
{ 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS },
|
||||
{ 0xffff, 0xffff, "Chinese-made Xbox Controller", MAP_DPAD_TO_AXES },
|
||||
{ 0x0000, 0x0000, "Generic X-Box pad", MAP_DPAD_UNKNOWN }
|
||||
};
|
||||
|
||||
|
@ -92,8 +92,13 @@ config USB_RTL8150
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called rtl8150.
|
||||
|
||||
config USB_USBNET_MII
|
||||
tristate
|
||||
default n
|
||||
|
||||
config USB_USBNET
|
||||
tristate "Multi-purpose USB Networking Framework"
|
||||
select MII if USBNET_MII != n
|
||||
---help---
|
||||
This driver supports several kinds of network links over USB,
|
||||
with "minidrivers" built around a common network driver core
|
||||
@ -129,7 +134,7 @@ config USB_NET_AX8817X
|
||||
tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters"
|
||||
depends on USB_USBNET && NET_ETHERNET
|
||||
select CRC32
|
||||
select MII
|
||||
select USB_USBNET_MII
|
||||
default y
|
||||
help
|
||||
This option adds support for ASIX AX88xxx based USB 2.0
|
||||
@ -210,6 +215,7 @@ config USB_NET_PLUSB
|
||||
config USB_NET_MCS7830
|
||||
tristate "MosChip MCS7830 based Ethernet adapters"
|
||||
depends on USB_USBNET
|
||||
select USB_USBNET_MII
|
||||
help
|
||||
Choose this option if you're using a 10/100 Ethernet USB2
|
||||
adapter based on the MosChip 7830 controller. This includes
|
||||
|
@ -669,6 +669,9 @@ done:
|
||||
* they'll probably want to use this base set.
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_MII) || defined(CONFIG_MII_MODULE)
|
||||
#define HAVE_MII
|
||||
|
||||
int usbnet_get_settings (struct net_device *net, struct ethtool_cmd *cmd)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
@ -699,20 +702,6 @@ int usbnet_set_settings (struct net_device *net, struct ethtool_cmd *cmd)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usbnet_set_settings);
|
||||
|
||||
|
||||
void usbnet_get_drvinfo (struct net_device *net, struct ethtool_drvinfo *info)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
|
||||
/* REVISIT don't always return "usbnet" */
|
||||
strncpy (info->driver, driver_name, sizeof info->driver);
|
||||
strncpy (info->version, DRIVER_VERSION, sizeof info->version);
|
||||
strncpy (info->fw_version, dev->driver_info->description,
|
||||
sizeof info->fw_version);
|
||||
usb_make_path (dev->udev, info->bus_info, sizeof info->bus_info);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usbnet_get_drvinfo);
|
||||
|
||||
u32 usbnet_get_link (struct net_device *net)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
@ -730,6 +719,32 @@ u32 usbnet_get_link (struct net_device *net)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usbnet_get_link);
|
||||
|
||||
int usbnet_nway_reset(struct net_device *net)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
|
||||
if (!dev->mii.mdio_write)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
return mii_nway_restart(&dev->mii);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usbnet_nway_reset);
|
||||
|
||||
#endif /* HAVE_MII */
|
||||
|
||||
void usbnet_get_drvinfo (struct net_device *net, struct ethtool_drvinfo *info)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
|
||||
/* REVISIT don't always return "usbnet" */
|
||||
strncpy (info->driver, driver_name, sizeof info->driver);
|
||||
strncpy (info->version, DRIVER_VERSION, sizeof info->version);
|
||||
strncpy (info->fw_version, dev->driver_info->description,
|
||||
sizeof info->fw_version);
|
||||
usb_make_path (dev->udev, info->bus_info, sizeof info->bus_info);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usbnet_get_drvinfo);
|
||||
|
||||
u32 usbnet_get_msglevel (struct net_device *net)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
@ -746,24 +761,15 @@ void usbnet_set_msglevel (struct net_device *net, u32 level)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usbnet_set_msglevel);
|
||||
|
||||
int usbnet_nway_reset(struct net_device *net)
|
||||
{
|
||||
struct usbnet *dev = netdev_priv(net);
|
||||
|
||||
if (!dev->mii.mdio_write)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
return mii_nway_restart(&dev->mii);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usbnet_nway_reset);
|
||||
|
||||
/* drivers may override default ethtool_ops in their bind() routine */
|
||||
static struct ethtool_ops usbnet_ethtool_ops = {
|
||||
#ifdef HAVE_MII
|
||||
.get_settings = usbnet_get_settings,
|
||||
.set_settings = usbnet_set_settings,
|
||||
.get_drvinfo = usbnet_get_drvinfo,
|
||||
.get_link = usbnet_get_link,
|
||||
.nway_reset = usbnet_nway_reset,
|
||||
#endif
|
||||
.get_drvinfo = usbnet_get_drvinfo,
|
||||
.get_msglevel = usbnet_get_msglevel,
|
||||
.set_msglevel = usbnet_set_msglevel,
|
||||
};
|
||||
|
@ -54,10 +54,10 @@ config USB_SERIAL_GENERIC
|
||||
properly.
|
||||
|
||||
config USB_SERIAL_AIRCABLE
|
||||
tristate "AIRcable USB Bluetooth Dongle Driver (EXPERIMENTAL)"
|
||||
tristate "USB AIRcable Bluetooth Dongle Driver (EXPERIMENTAL)"
|
||||
depends on USB_SERIAL && EXPERIMENTAL
|
||||
help
|
||||
Say Y here if you want to use AIRcable USB Bluetoot Dongle.
|
||||
Say Y here if you want to use USB AIRcable Bluetooth Dongle.
|
||||
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called aircable.
|
||||
|
@ -64,6 +64,9 @@ static struct usb_device_id id_table [] = {
|
||||
{ USB_DEVICE(0x10C4, 0x80F6) }, /* Suunto sports instrument */
|
||||
{ USB_DEVICE(0x10C4, 0x813D) }, /* Burnside Telecom Deskmobile */
|
||||
{ USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */
|
||||
{ USB_DEVICE(0x10C4, 0x81C8) }, /* Lipowsky Industrie Elektronik GmbH, Baby-JTAG */
|
||||
{ USB_DEVICE(0x10C4, 0x81E2) }, /* Lipowsky Industrie Elektronik GmbH, Baby-LIN */
|
||||
{ USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */
|
||||
{ USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
|
||||
{ USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
|
||||
{ USB_DEVICE(0x16D6, 0x0001) }, /* Jablotron serial interface */
|
||||
|
@ -35,6 +35,7 @@ static struct usb_device_id id_table [] = {
|
||||
{ USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
|
||||
{ USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
|
||||
{ USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
|
||||
{ USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
|
||||
{ USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
|
||||
{ USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
|
||||
{ USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 for Europe */
|
||||
@ -58,8 +59,10 @@ static struct usb_device_id id_table_3port [] = {
|
||||
{ USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
|
||||
{ USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
|
||||
{ USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
|
||||
{ USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
|
||||
{ USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
|
||||
{ USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
|
||||
{ USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 for Europe */
|
||||
{ USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */
|
||||
{ USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
|
||||
{ }
|
||||
|
@ -1236,7 +1236,7 @@ UNUSUAL_DEV( 0x0e21, 0x0520, 0x0100, 0x0100,
|
||||
"Cowon Systems",
|
||||
"iAUDIO M5",
|
||||
US_SC_DEVICE, US_PR_BULK, NULL,
|
||||
0 ),
|
||||
US_FL_NEED_OVERRIDE ),
|
||||
|
||||
/* Submitted by Antoine Mairesse <antoine.mairesse@free.fr> */
|
||||
UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300,
|
||||
@ -1313,6 +1313,13 @@ UNUSUAL_DEV( 0x0fce, 0xe030, 0x0000, 0x0000,
|
||||
US_SC_DEVICE, US_PR_DEVICE, NULL,
|
||||
US_FL_FIX_CAPACITY ),
|
||||
|
||||
/* Reported by Jan Mate <mate@fiit.stuba.sk> */
|
||||
UNUSUAL_DEV( 0x0fce, 0xe030, 0x0000, 0x0000,
|
||||
"Sony Ericsson",
|
||||
"P990i",
|
||||
US_SC_DEVICE, US_PR_DEVICE, NULL,
|
||||
US_FL_FIX_CAPACITY ),
|
||||
|
||||
/* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu>
|
||||
* Tested on hardware version 1.10.
|
||||
* Entry is needed only for the initializer function override.
|
||||
|
Loading…
Reference in New Issue
Block a user