--- a/drivers/usb/net/usbnet.c 2003-09-12 13:53:44.022426336 -0400 +++ b/drivers/usb/net/usbnet.c 2003-09-12 13:55:02.947427912 -0400 @@ -252,6 +252,8 @@ /* for new devices, use the descriptor-reading code instead */ int in; /* rx endpoint */ int out; /* tx endpoint */ + + unsigned long data; /* Misc driver specific data */ }; // we record the state for each of our queued skbs @@ -561,10 +563,20 @@ u8 buf[6]; u16 *buf16 = (u16 *) buf; int i; + unsigned long gpio_bits = dev->driver_info->data; dev->in = usb_rcvbulkpipe(dev->udev, 3); dev->out = usb_sndbulkpipe(dev->udev, 2); + /* Toggle the GPIOs in a manufacturer/model specific way */ + for (i = 2; i >= 0; i--) { + if ((ret = ax8817x_write_cmd(dev, AX_CMD_WRITE_GPIOS, + (gpio_bits >> (i * 8)) & 0xff, 0, 0, + buf)) < 0) + return ret; + wait_ms(5); + } + if ((ret = ax8817x_write_cmd(dev, AX_CMD_WRITE_RX_CTL, 0x80, 0, 0, buf)) < 0) { dbg("send AX_CMD_WRITE_RX_CTL failed: %d", ret); return ret; @@ -649,7 +661,30 @@ .description = "ASIX AX8817x USB 2.0 Ethernet", .bind = ax8817x_bind, .flags = FLAG_ETHER, + .data = 0x00130103, +}; + +static const struct driver_info dlink_dub_e100_info = { + .description = "DLink DUB-E100 USB Ethernet", + .bind = ax8817x_bind, + .flags = FLAG_ETHER, + .data = 0x009f9d9f, +}; + +static const struct driver_info netgear_fa120_info = { + .description = "Netgear FA-120 USB Ethernet", + .bind = ax8817x_bind, + .flags = FLAG_ETHER, + .data = 0x00130103, +}; + +static const struct driver_info hawking_uf200_info = { + .description = "Hawking UF200 USB Ethernet", + .bind = ax8817x_bind, + .flags = FLAG_ETHER, + .data = 0x001f1d1f, }; + #endif /* CONFIG_USB_AX8817X */ @@ -2967,19 +3002,19 @@ }, { // Netgear FA120 USB_DEVICE (0x0846, 0x1040), - .driver_info = (unsigned long) &ax8817x_info, + .driver_info = (unsigned long) &netgear_fa120_info, }, { // DLink DUB-E100 USB_DEVICE (0x2001, 0x1a00), - .driver_info = (unsigned long) &ax8817x_info, + .driver_info = (unsigned long) &dlink_dub_e100_info, }, { // Intellinet, ST Lab USB Ethernet USB_DEVICE (0x0b95, 0x1720), - .driver_info = (unsigned long) &ax8817x_info, + .driver_info = (unsigned long) &ax8817x_info, }, { // Hawking UF200, TrendNet TU2-ET100 USB_DEVICE (0x07b8, 0x420a), - .driver_info = (unsigned long) &ax8817x_info, + .driver_info = (unsigned long) &hawking_uf200_info, }, #endif
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel