23 #include <linux/module.h>
25 #include <linux/netdevice.h>
27 #include <linux/ethtool.h>
29 #include <linux/mii.h>
62 #define PL_S_EN (1<<7)
64 #define PL_TX_READY (1<<5)
65 #define PL_RESET_OUT (1<<4)
66 #define PL_RESET_IN (1<<3)
67 #define PL_TX_C (1<<2)
68 #define PL_TX_REQ (1<<1)
69 #define PL_PEER_E (1<<0)
75 usb_rcvctrlpipe(dev->
udev, 0),
80 USB_CTRL_GET_TIMEOUT);
86 return pl_vendor_req(dev, 1, (
u8) val, 0);
90 pl_set_QuickLink_features(
struct usbnet *dev,
int val)
92 return pl_vendor_req(dev, 3, (
u8) val, 0);
95 static int pl_reset(
struct usbnet *dev)
102 status = pl_set_QuickLink_features(dev,
110 .description =
"Prolific PL-2301/PL-2302/PL-25A1",
128 USB_DEVICE(0x067b, 0x0000),
129 .driver_info = (
unsigned long) &prolific_info,
131 USB_DEVICE(0x067b, 0x0001),
132 .driver_info = (
unsigned long) &prolific_info,
137 USB_DEVICE(0x067b, 0x25a1),
138 .driver_info = (
unsigned long) &prolific_info,
140 USB_DEVICE(0x050d, 0x258a),
141 .driver_info = (
unsigned long) &prolific_info,
148 static struct usb_driver plusb_driver = {
150 .id_table = products,
155 .disable_hub_initiated_lpm = 1,