Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: chromeos/compat-wireless/drivers/net/wireless/p54/p54usb.c

Issue 5326002: Update compat-wireless to 2.6.36-5-spn (Closed) Base URL: http://git.chromium.org/git/kernel.git@master
Patch Set: Fixes for !ACK handling, missing local changes, log message fixes Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 1
2 /* 2 /*
3 * Linux device driver for USB based Prism54 3 * Linux device driver for USB based Prism54
4 * 4 *
5 * Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net> 5 * Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net>
6 * 6 *
7 * Based on the islsm (softmac prism54) driver, which is: 7 * Based on the islsm (softmac prism54) driver, which is:
8 * Copyright 2004-2006 Jean-Baptiste Note <jbnote@gmail.com>, et al. 8 * Copyright 2004-2006 Jean-Baptiste Note <jbnote@gmail.com>, et al.
9 * 9 *
10 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
(...skipping 15 matching lines...) Expand all
26 #include "lmac.h" 26 #include "lmac.h"
27 #include "p54usb.h" 27 #include "p54usb.h"
28 28
29 MODULE_AUTHOR("Michael Wu <flamingice@sourmilk.net>"); 29 MODULE_AUTHOR("Michael Wu <flamingice@sourmilk.net>");
30 MODULE_DESCRIPTION("Prism54 USB wireless driver"); 30 MODULE_DESCRIPTION("Prism54 USB wireless driver");
31 MODULE_LICENSE("GPL"); 31 MODULE_LICENSE("GPL");
32 MODULE_ALIAS("prism54usb"); 32 MODULE_ALIAS("prism54usb");
33 MODULE_FIRMWARE("isl3886usb"); 33 MODULE_FIRMWARE("isl3886usb");
34 MODULE_FIRMWARE("isl3887usb"); 34 MODULE_FIRMWARE("isl3887usb");
35 35
36 /*
37 * Note:
38 *
39 * Always update our wiki's device list (located at:
40 * http://wireless.kernel.org/en/users/Drivers/p54/devices ),
41 * whenever you add a new device.
42 */
43
36 static struct usb_device_id p54u_table[] __devinitdata = { 44 static struct usb_device_id p54u_table[] __devinitdata = {
37 /* Version 1 devices (pci chip + net2280) */ 45 /* Version 1 devices (pci chip + net2280) */
46 {USB_DEVICE(0x045e, 0x00c2)}, /* Microsoft MN-710 */
38 {USB_DEVICE(0x0506, 0x0a11)}, /* 3COM 3CRWE254G72 */ 47 {USB_DEVICE(0x0506, 0x0a11)}, /* 3COM 3CRWE254G72 */
39 {USB_DEVICE(0x06b9, 0x0120)}, /* Thomson SpeedTouch 120g */ 48 {USB_DEVICE(0x06b9, 0x0120)}, /* Thomson SpeedTouch 120g */
40 {USB_DEVICE(0x0707, 0xee06)}, /* SMC 2862W-G */ 49 {USB_DEVICE(0x0707, 0xee06)}, /* SMC 2862W-G */
41 {USB_DEVICE(0x07aa, 0x001c)}, /* Corega CG-WLUSB2GT */ 50 {USB_DEVICE(0x07aa, 0x001c)}, /* Corega CG-WLUSB2GT */
42 {USB_DEVICE(0x083a, 0x4501)}, /* Accton 802.11g WN4501 USB */ 51 {USB_DEVICE(0x083a, 0x4501)}, /* Accton 802.11g WN4501 USB */
43 {USB_DEVICE(0x083a, 0x4502)}, /* Siemens Gigaset USB Adapter */ 52 {USB_DEVICE(0x083a, 0x4502)}, /* Siemens Gigaset USB Adapter */
44 {USB_DEVICE(0x083a, 0x5501)}, /* Phillips CPWUA054 */ 53 {USB_DEVICE(0x083a, 0x5501)}, /* Phillips CPWUA054 */
45 {USB_DEVICE(0x0846, 0x4200)}, /* Netgear WG121 */ 54 {USB_DEVICE(0x0846, 0x4200)}, /* Netgear WG121 */
46 {USB_DEVICE(0x0846, 0x4210)}, /* Netgear WG121 the second ? */ 55 {USB_DEVICE(0x0846, 0x4210)}, /* Netgear WG121 the second ? */
47 {USB_DEVICE(0x0846, 0x4220)}, /* Netgear WG111 */ 56 {USB_DEVICE(0x0846, 0x4220)}, /* Netgear WG111 */
48 {USB_DEVICE(0x09aa, 0x1000)}, /* Spinnaker Proto board */ 57 {USB_DEVICE(0x09aa, 0x1000)}, /* Spinnaker Proto board */
49 {USB_DEVICE(0x0cde, 0x0006)}, /* Medion 40900, Roper Europe */ 58 {USB_DEVICE(0x0cde, 0x0006)}, /* Medion 40900, Roper Europe */
59 {USB_DEVICE(0x107b, 0x55f2)}, /* Gateway WGU-210 (Gemtek) */
50 {USB_DEVICE(0x124a, 0x4023)}, /* Shuttle PN15, Airvast WM168g, IOGear GWU513 */ 60 {USB_DEVICE(0x124a, 0x4023)}, /* Shuttle PN15, Airvast WM168g, IOGear GWU513 */
61 {USB_DEVICE(0x1630, 0x0005)}, /* 2Wire 802.11g USB (v1) / Z-Com */
51 {USB_DEVICE(0x1915, 0x2234)}, /* Linksys WUSB54G OEM */ 62 {USB_DEVICE(0x1915, 0x2234)}, /* Linksys WUSB54G OEM */
52 {USB_DEVICE(0x1915, 0x2235)}, /* Linksys WUSB54G Portable OEM */ 63 {USB_DEVICE(0x1915, 0x2235)}, /* Linksys WUSB54G Portable OEM */
53 {USB_DEVICE(0x2001, 0x3701)}, /* DLink DWL-G120 Spinnaker */ 64 {USB_DEVICE(0x2001, 0x3701)}, /* DLink DWL-G120 Spinnaker */
54 {USB_DEVICE(0x2001, 0x3703)}, /* DLink DWL-G122 */ 65 {USB_DEVICE(0x2001, 0x3703)}, /* DLink DWL-G122 */
55 {USB_DEVICE(0x5041, 0x2234)}, /* Linksys WUSB54G */ 66 {USB_DEVICE(0x5041, 0x2234)}, /* Linksys WUSB54G */
56 {USB_DEVICE(0x5041, 0x2235)}, /* Linksys WUSB54G Portable */ 67 {USB_DEVICE(0x5041, 0x2235)}, /* Linksys WUSB54G Portable */
57 68
58 /* Version 2 devices (3887) */ 69 /* Version 2 devices (3887) */
59 {USB_DEVICE(0x0471, 0x1230)}, /* Philips CPWUA054/00 */ 70 {USB_DEVICE(0x0471, 0x1230)}, /* Philips CPWUA054/00 */
60 {USB_DEVICE(0x050d, 0x7050)}, /* Belkin F5D7050 ver 1000 */ 71 {USB_DEVICE(0x050d, 0x7050)}, /* Belkin F5D7050 ver 1000 */
61 {USB_DEVICE(0x0572, 0x2000)}, /* Cohiba Proto board */ 72 {USB_DEVICE(0x0572, 0x2000)}, /* Cohiba Proto board */
62 {USB_DEVICE(0x0572, 0x2002)}, /* Cohiba Proto board */ 73 {USB_DEVICE(0x0572, 0x2002)}, /* Cohiba Proto board */
74 {USB_DEVICE(0x06a9, 0x000e)}, /* Westell 802.11g USB (A90-211WG-01) */
63 {USB_DEVICE(0x06b9, 0x0121)}, /* Thomson SpeedTouch 121g */ 75 {USB_DEVICE(0x06b9, 0x0121)}, /* Thomson SpeedTouch 121g */
64 {USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */ 76 {USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */
65 {USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 versio n 2 */ 77 {USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 versio n 2 */
66 {USB_DEVICE(0x083a, 0xf503)}, /* Accton FD7050E ver 1010ec */ 78 {USB_DEVICE(0x083a, 0xf503)}, /* Accton FD7050E ver 1010ec */
67 {USB_DEVICE(0x0846, 0x4240)}, /* Netgear WG111 (v2) */ 79 {USB_DEVICE(0x0846, 0x4240)}, /* Netgear WG111 (v2) */
68 {USB_DEVICE(0x0915, 0x2000)}, /* Cohiba Proto board */ 80 {USB_DEVICE(0x0915, 0x2000)}, /* Cohiba Proto board */
69 {USB_DEVICE(0x0915, 0x2002)}, /* Cohiba Proto board */ 81 {USB_DEVICE(0x0915, 0x2002)}, /* Cohiba Proto board */
70 {USB_DEVICE(0x0baf, 0x0118)}, /* U.S. Robotics U5 802.11g Adapter*/ 82 {USB_DEVICE(0x0baf, 0x0118)}, /* U.S. Robotics U5 802.11g Adapter*/
71 {USB_DEVICE(0x0bf8, 0x1009)}, /* FUJITSU E-5400 USB D1700*/ 83 {USB_DEVICE(0x0bf8, 0x1009)}, /* FUJITSU E-5400 USB D1700*/
72 /* {USB_DEVICE(0x0cde, 0x0006)}, * Medion MD40900 already listed above, 84 /* {USB_DEVICE(0x0cde, 0x0006)}, * Medion MD40900 already listed above,
73 * just noting it here for clarity */ 85 * just noting it here for clarity */
74 {USB_DEVICE(0x0cde, 0x0008)}, /* Sagem XG703A */ 86 {USB_DEVICE(0x0cde, 0x0008)}, /* Sagem XG703A */
75 {USB_DEVICE(0x0cde, 0x0015)}, /* Zcomax XG-705A */ 87 {USB_DEVICE(0x0cde, 0x0015)}, /* Zcomax XG-705A */
76 {USB_DEVICE(0x0d8e, 0x3762)}, /* DLink DWL-G120 Cohiba */ 88 {USB_DEVICE(0x0d8e, 0x3762)}, /* DLink DWL-G120 Cohiba */
77 {USB_DEVICE(0x124a, 0x4025)}, /* IOGear GWU513 (GW3887IK chip) */ 89 {USB_DEVICE(0x124a, 0x4025)}, /* IOGear GWU513 (GW3887IK chip) */
78 {USB_DEVICE(0x1260, 0xee22)}, /* SMC 2862W-G version 2 */ 90 {USB_DEVICE(0x1260, 0xee22)}, /* SMC 2862W-G version 2 */
79 {USB_DEVICE(0x13b1, 0x000a)}, /* Linksys WUSB54G ver 2 */ 91 {USB_DEVICE(0x13b1, 0x000a)}, /* Linksys WUSB54G ver 2 */
80 {USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */ 92 {USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */
81 {USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */ 93 {USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */
82 {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */ 94 {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */
95 {USB_DEVICE(0x1668, 0x1050)}, /* Actiontec 802UIG-1 */
83 {USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */ 96 {USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */
84 {USB_DEVICE(0x413c, 0x5513)}, /* Dell WLA3310 USB Wireless Adapter */ 97 {USB_DEVICE(0x413c, 0x5513)}, /* Dell WLA3310 USB Wireless Adapter */
85 {USB_DEVICE(0x413c, 0x8102)}, /* Spinnaker DUT */ 98 {USB_DEVICE(0x413c, 0x8102)}, /* Spinnaker DUT */
86 {USB_DEVICE(0x413c, 0x8104)}, /* Cohiba Proto board */ 99 {USB_DEVICE(0x413c, 0x8104)}, /* Cohiba Proto board */
87 {} 100 {}
88 }; 101 };
89 102
90 MODULE_DEVICE_TABLE(usb, p54u_table); 103 MODULE_DEVICE_TABLE(usb, p54u_table);
91 104
92 static const struct { 105 static const struct {
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
923 case P54U_PIPE_INT | USB_DIR_IN: 936 case P54U_PIPE_INT | USB_DIR_IN:
924 recognized_pipes++; 937 recognized_pipes++;
925 } 938 }
926 } 939 }
927 priv->common.open = p54u_open; 940 priv->common.open = p54u_open;
928 priv->common.stop = p54u_stop; 941 priv->common.stop = p54u_stop;
929 if (recognized_pipes < P54U_PIPE_NUMBER) { 942 if (recognized_pipes < P54U_PIPE_NUMBER) {
930 #ifdef CONFIG_PM 943 #ifdef CONFIG_PM
931 /* ISL3887 needs a full reset on resume */ 944 /* ISL3887 needs a full reset on resume */
932 udev->reset_resume = 1; 945 udev->reset_resume = 1;
946 #endif /* CONFIG_PM */
933 err = p54u_device_reset(dev); 947 err = p54u_device_reset(dev);
934 #endif
935 948
936 priv->hw_type = P54U_3887; 949 priv->hw_type = P54U_3887;
937 dev->extra_tx_headroom += sizeof(struct lm87_tx_hdr); 950 dev->extra_tx_headroom += sizeof(struct lm87_tx_hdr);
938 priv->common.tx_hdr_len = sizeof(struct lm87_tx_hdr); 951 priv->common.tx_hdr_len = sizeof(struct lm87_tx_hdr);
939 priv->common.tx = p54u_tx_lm87; 952 priv->common.tx = p54u_tx_lm87;
940 priv->upload_fw = p54u_upload_firmware_3887; 953 priv->upload_fw = p54u_upload_firmware_3887;
941 } else { 954 } else {
942 priv->hw_type = P54U_NET2280; 955 priv->hw_type = P54U_NET2280;
943 dev->extra_tx_headroom += sizeof(struct net2280_tx_hdr); 956 dev->extra_tx_headroom += sizeof(struct net2280_tx_hdr);
944 priv->common.tx_hdr_len = sizeof(struct net2280_tx_hdr); 957 priv->common.tx_hdr_len = sizeof(struct net2280_tx_hdr);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
1066 return usb_register(&p54u_driver); 1079 return usb_register(&p54u_driver);
1067 } 1080 }
1068 1081
1069 static void __exit p54u_exit(void) 1082 static void __exit p54u_exit(void)
1070 { 1083 {
1071 usb_deregister(&p54u_driver); 1084 usb_deregister(&p54u_driver);
1072 } 1085 }
1073 1086
1074 module_init(p54u_init); 1087 module_init(p54u_init);
1075 module_exit(p54u_exit); 1088 module_exit(p54u_exit);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698