aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/atm
diff options
context:
space:
mode:
authorJavier Blanco de Torres (Neurowork) <jblanco@neurowork.net>2010-04-12 03:21:13 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-20 16:21:38 -0400
commit4545f7eea31f3f8486b7b925d67abe2e4e47a75a (patch)
tree86112754d4b3e1b1dab1c761429c01526b453aac /drivers/usb/atm
parent94a82487e6e57a102636a5326c930619f641038c (diff)
USB: ueagle: fix Coding Styles
Fixed coding styles in the ueagle usb driver. Signed-off-by: Javier Blanco de Torres <jblanco@neurowork.net> Signed-off-by: Alejandro Sánchez Acosta <asanchez@neurowork.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/atm')
-rw-r--r--drivers/usb/atm/ueagle-atm.c347
1 files changed, 207 insertions, 140 deletions
diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
index 25f01b536f67..e213d3fa4920 100644
--- a/drivers/usb/atm/ueagle-atm.c
+++ b/drivers/usb/atm/ueagle-atm.c
@@ -94,19 +94,19 @@
94 } while (0) 94 } while (0)
95 95
96#define uea_enters(usb_dev) \ 96#define uea_enters(usb_dev) \
97 uea_vdbg(usb_dev, "entering %s\n", __func__) 97 uea_vdbg(usb_dev, "entering %s\n" , __func__)
98 98
99#define uea_leaves(usb_dev) \ 99#define uea_leaves(usb_dev) \
100 uea_vdbg(usb_dev, "leaving %s\n", __func__) 100 uea_vdbg(usb_dev, "leaving %s\n" , __func__)
101 101
102#define uea_err(usb_dev, format,args...) \ 102#define uea_err(usb_dev, format, args...) \
103 dev_err(&(usb_dev)->dev ,"[UEAGLE-ATM] " format , ##args) 103 dev_err(&(usb_dev)->dev , "[UEAGLE-ATM] " format , ##args)
104 104
105#define uea_warn(usb_dev, format,args...) \ 105#define uea_warn(usb_dev, format, args...) \
106 dev_warn(&(usb_dev)->dev ,"[Ueagle-atm] " format, ##args) 106 dev_warn(&(usb_dev)->dev , "[Ueagle-atm] " format, ##args)
107 107
108#define uea_info(usb_dev, format,args...) \ 108#define uea_info(usb_dev, format, args...) \
109 dev_info(&(usb_dev)->dev ,"[ueagle-atm] " format, ##args) 109 dev_info(&(usb_dev)->dev , "[ueagle-atm] " format, ##args)
110 110
111struct intr_pkt; 111struct intr_pkt;
112 112
@@ -289,7 +289,7 @@ enum {
289#define IS_ISDN(x) \ 289#define IS_ISDN(x) \
290 ((x)->annex & ANNEXB) 290 ((x)->annex & ANNEXB)
291 291
292#define INS_TO_USBDEV(ins) ins->usb_dev 292#define INS_TO_USBDEV(ins) (ins->usb_dev)
293 293
294#define GET_STATUS(data) \ 294#define GET_STATUS(data) \
295 ((data >> 8) & 0xf) 295 ((data >> 8) & 0xf)
@@ -304,7 +304,7 @@ enum {
304 * The FW_GET_BYTE() macro is provided only for consistency. 304 * The FW_GET_BYTE() macro is provided only for consistency.
305 */ 305 */
306 306
307#define FW_GET_BYTE(p) *((__u8 *) (p)) 307#define FW_GET_BYTE(p) (*((__u8 *) (p)))
308 308
309#define FW_DIR "ueagle-atm/" 309#define FW_DIR "ueagle-atm/"
310#define UEA_FW_NAME_MAX 30 310#define UEA_FW_NAME_MAX 30
@@ -315,7 +315,7 @@ enum {
315 315
316#define ACK_TIMEOUT msecs_to_jiffies(3000) 316#define ACK_TIMEOUT msecs_to_jiffies(3000)
317 317
318#define UEA_INTR_IFACE_NO 0 318#define UEA_INTR_IFACE_NO 0
319#define UEA_US_IFACE_NO 1 319#define UEA_US_IFACE_NO 1
320#define UEA_DS_IFACE_NO 2 320#define UEA_DS_IFACE_NO 2
321 321
@@ -326,9 +326,9 @@ enum {
326#define UEA_INTR_PIPE 0x04 326#define UEA_INTR_PIPE 0x04
327#define UEA_ISO_DATA_PIPE 0x08 327#define UEA_ISO_DATA_PIPE 0x08
328 328
329#define UEA_E1_SET_BLOCK 0x0001 329#define UEA_E1_SET_BLOCK 0x0001
330#define UEA_E4_SET_BLOCK 0x002c 330#define UEA_E4_SET_BLOCK 0x002c
331#define UEA_SET_MODE 0x0003 331#define UEA_SET_MODE 0x0003
332#define UEA_SET_2183_DATA 0x0004 332#define UEA_SET_2183_DATA 0x0004
333#define UEA_SET_TIMEOUT 0x0011 333#define UEA_SET_TIMEOUT 0x0011
334 334
@@ -366,7 +366,7 @@ struct l1_code {
366 u8 string_header[E4_L1_STRING_HEADER]; 366 u8 string_header[E4_L1_STRING_HEADER];
367 u8 page_number_to_block_index[E4_MAX_PAGE_NUMBER]; 367 u8 page_number_to_block_index[E4_MAX_PAGE_NUMBER];
368 struct block_index page_header[E4_NO_SWAPPAGE_HEADERS]; 368 struct block_index page_header[E4_NO_SWAPPAGE_HEADERS];
369 u8 code [0]; 369 u8 code[0];
370} __attribute__ ((packed)); 370} __attribute__ ((packed));
371 371
372/* structures describing a block within a DSP page */ 372/* structures describing a block within a DSP page */
@@ -428,7 +428,8 @@ struct block_info_e4 {
428#define E4_MODEMREADY 0x1 428#define E4_MODEMREADY 0x1
429 429
430#define E1_MAKEFUNCTION(t, s) (((t) & 0xf) << 4 | ((s) & 0xf)) 430#define E1_MAKEFUNCTION(t, s) (((t) & 0xf) << 4 | ((s) & 0xf))
431#define E4_MAKEFUNCTION(t, st, s) (((t) & 0xf) << 8 | ((st) & 0xf) << 4 | ((s) & 0xf)) 431#define E4_MAKEFUNCTION(t, st, s) (((t) & 0xf) << 8 | \
432 ((st) & 0xf) << 4 | ((s) & 0xf))
432 433
433#define E1_MAKESA(a, b, c, d) \ 434#define E1_MAKESA(a, b, c, d) \
434 (((c) & 0xff) << 24 | \ 435 (((c) & 0xff) << 24 | \
@@ -473,7 +474,7 @@ struct cmv_e4 {
473 __be16 wFunction; 474 __be16 wFunction;
474 __be16 wOffset; 475 __be16 wOffset;
475 __be16 wAddress; 476 __be16 wAddress;
476 __be32 dwData [6]; 477 __be32 dwData[6];
477} __attribute__ ((packed)); 478} __attribute__ ((packed));
478 479
479/* structures representing swap information */ 480/* structures representing swap information */
@@ -534,11 +535,13 @@ struct intr_pkt {
534 535
535static struct usb_driver uea_driver; 536static struct usb_driver uea_driver;
536static DEFINE_MUTEX(uea_mutex); 537static DEFINE_MUTEX(uea_mutex);
537static const char *chip_name[] = {"ADI930", "Eagle I", "Eagle II", "Eagle III", "Eagle IV"}; 538static const char *chip_name[] = {"ADI930", "Eagle I", "Eagle II", "Eagle III",
539 "Eagle IV"};
538 540
539static int modem_index; 541static int modem_index;
540static unsigned int debug; 542static unsigned int debug;
541static unsigned int altsetting[NB_MODEM] = {[0 ... (NB_MODEM - 1)] = FASTEST_ISO_INTF}; 543static unsigned int altsetting[NB_MODEM] = {
544 [0 ... (NB_MODEM - 1)] = FASTEST_ISO_INTF};
542static int sync_wait[NB_MODEM]; 545static int sync_wait[NB_MODEM];
543static char *cmv_file[NB_MODEM]; 546static char *cmv_file[NB_MODEM];
544static int annex[NB_MODEM]; 547static int annex[NB_MODEM];
@@ -555,7 +558,7 @@ MODULE_PARM_DESC(cmv_file,
555 "file name with configuration and management variables"); 558 "file name with configuration and management variables");
556module_param_array(annex, uint, NULL, 0644); 559module_param_array(annex, uint, NULL, 0644);
557MODULE_PARM_DESC(annex, 560MODULE_PARM_DESC(annex,
558 "manually set annex a/b (0=auto, 1=annex a, 2=annex b)"); 561 "manually set annex a/b (0=auto, 1=annex a, 2=annex b)");
559 562
560#define uea_wait(sc, cond, timeo) \ 563#define uea_wait(sc, cond, timeo) \
561({ \ 564({ \
@@ -602,7 +605,8 @@ static int uea_send_modem_cmd(struct usb_device *usb,
602 return (ret == size) ? 0 : -EIO; 605 return (ret == size) ? 0 : -EIO;
603} 606}
604 607
605static void uea_upload_pre_firmware(const struct firmware *fw_entry, void *context) 608static void uea_upload_pre_firmware(const struct firmware *fw_entry,
609 void *context)
606{ 610{
607 struct usb_device *usb = context; 611 struct usb_device *usb = context;
608 const u8 *pfw; 612 const u8 *pfw;
@@ -707,7 +711,8 @@ static int uea_load_firmware(struct usb_device *usb, unsigned int ver)
707 } 711 }
708 712
709 ret = request_firmware_nowait(THIS_MODULE, 1, fw_name, &usb->dev, 713 ret = request_firmware_nowait(THIS_MODULE, 1, fw_name, &usb->dev,
710 GFP_KERNEL, usb, uea_upload_pre_firmware); 714 GFP_KERNEL, usb,
715 uea_upload_pre_firmware);
711 if (ret) 716 if (ret)
712 uea_err(usb, "firmware %s is not available\n", fw_name); 717 uea_err(usb, "firmware %s is not available\n", fw_name);
713 else 718 else
@@ -876,7 +881,7 @@ static int request_dsp(struct uea_softc *sc)
876 if (ret < 0) { 881 if (ret < 0) {
877 uea_err(INS_TO_USBDEV(sc), 882 uea_err(INS_TO_USBDEV(sc),
878 "requesting firmware %s failed with error %d\n", 883 "requesting firmware %s failed with error %d\n",
879 dsp_name, ret); 884 dsp_name, ret);
880 return ret; 885 return ret;
881 } 886 }
882 887
@@ -994,14 +999,17 @@ static void __uea_load_page_e4(struct uea_softc *sc, u8 pageno, int boot)
994 999
995 blockidx = &p->page_header[blockno]; 1000 blockidx = &p->page_header[blockno];
996 blocksize = E4_PAGE_BYTES(blockidx->PageSize); 1001 blocksize = E4_PAGE_BYTES(blockidx->PageSize);
997 blockoffset = sc->dsp_firm->data + le32_to_cpu(blockidx->PageOffset); 1002 blockoffset = sc->dsp_firm->data + le32_to_cpu(
1003 blockidx->PageOffset);
998 1004
999 bi.dwSize = cpu_to_be32(blocksize); 1005 bi.dwSize = cpu_to_be32(blocksize);
1000 bi.dwAddress = cpu_to_be32(le32_to_cpu(blockidx->PageAddress)); 1006 bi.dwAddress = cpu_to_be32(le32_to_cpu(blockidx->PageAddress));
1001 1007
1002 uea_dbg(INS_TO_USBDEV(sc), 1008 uea_dbg(INS_TO_USBDEV(sc),
1003 "sending block %u for DSP page %u size %u address %x\n", 1009 "sending block %u for DSP page "
1004 blockno, pageno, blocksize, le32_to_cpu(blockidx->PageAddress)); 1010 "%u size %u address %x\n",
1011 blockno, pageno, blocksize,
1012 le32_to_cpu(blockidx->PageAddress));
1005 1013
1006 /* send block info through the IDMA pipe */ 1014 /* send block info through the IDMA pipe */
1007 if (uea_idma_write(sc, &bi, E4_BLOCK_INFO_SIZE)) 1015 if (uea_idma_write(sc, &bi, E4_BLOCK_INFO_SIZE))
@@ -1042,7 +1050,8 @@ static void uea_load_page_e4(struct work_struct *work)
1042 1050
1043 p = (struct l1_code *) sc->dsp_firm->data; 1051 p = (struct l1_code *) sc->dsp_firm->data;
1044 if (pageno >= le16_to_cpu(p->page_header[0].PageNumber)) { 1052 if (pageno >= le16_to_cpu(p->page_header[0].PageNumber)) {
1045 uea_err(INS_TO_USBDEV(sc), "invalid DSP page %u requested\n", pageno); 1053 uea_err(INS_TO_USBDEV(sc), "invalid DSP "
1054 "page %u requested\n", pageno);
1046 return; 1055 return;
1047 } 1056 }
1048 1057
@@ -1059,7 +1068,7 @@ static void uea_load_page_e4(struct work_struct *work)
1059 __uea_load_page_e4(sc, i, 1); 1068 __uea_load_page_e4(sc, i, 1);
1060 } 1069 }
1061 1070
1062 uea_dbg(INS_TO_USBDEV(sc),"sending start bi\n"); 1071 uea_dbg(INS_TO_USBDEV(sc) , "sending start bi\n");
1063 1072
1064 bi.wHdr = cpu_to_be16(UEA_BIHDR); 1073 bi.wHdr = cpu_to_be16(UEA_BIHDR);
1065 bi.bBootPage = 0; 1074 bi.bBootPage = 0;
@@ -1139,8 +1148,10 @@ static int uea_cmv_e1(struct uea_softc *sc,
1139 uea_enters(INS_TO_USBDEV(sc)); 1148 uea_enters(INS_TO_USBDEV(sc));
1140 uea_vdbg(INS_TO_USBDEV(sc), "Function : %d-%d, Address : %c%c%c%c, " 1149 uea_vdbg(INS_TO_USBDEV(sc), "Function : %d-%d, Address : %c%c%c%c, "
1141 "offset : 0x%04x, data : 0x%08x\n", 1150 "offset : 0x%04x, data : 0x%08x\n",
1142 E1_FUNCTION_TYPE(function), E1_FUNCTION_SUBTYPE(function), 1151 E1_FUNCTION_TYPE(function),
1143 E1_GETSA1(address), E1_GETSA2(address), E1_GETSA3(address), 1152 E1_FUNCTION_SUBTYPE(function),
1153 E1_GETSA1(address), E1_GETSA2(address),
1154 E1_GETSA3(address),
1144 E1_GETSA4(address), offset, data); 1155 E1_GETSA4(address), offset, data);
1145 1156
1146 /* we send a request, but we expect a reply */ 1157 /* we send a request, but we expect a reply */
@@ -1157,7 +1168,8 @@ static int uea_cmv_e1(struct uea_softc *sc,
1157 cmv.wOffsetAddress = cpu_to_le16(offset); 1168 cmv.wOffsetAddress = cpu_to_le16(offset);
1158 put_unaligned_le32(data >> 16 | data << 16, &cmv.dwData); 1169 put_unaligned_le32(data >> 16 | data << 16, &cmv.dwData);
1159 1170
1160 ret = uea_request(sc, UEA_E1_SET_BLOCK, UEA_MPTX_START, sizeof(cmv), &cmv); 1171 ret = uea_request(sc, UEA_E1_SET_BLOCK, UEA_MPTX_START,
1172 sizeof(cmv), &cmv);
1161 if (ret < 0) 1173 if (ret < 0)
1162 return ret; 1174 return ret;
1163 ret = wait_cmv_ack(sc); 1175 ret = wait_cmv_ack(sc);
@@ -1191,7 +1203,8 @@ static int uea_cmv_e4(struct uea_softc *sc,
1191 cmv.wOffset = cpu_to_be16(offset); 1203 cmv.wOffset = cpu_to_be16(offset);
1192 cmv.dwData[0] = cpu_to_be32(data); 1204 cmv.dwData[0] = cpu_to_be32(data);
1193 1205
1194 ret = uea_request(sc, UEA_E4_SET_BLOCK, UEA_MPTX_START, sizeof(cmv), &cmv); 1206 ret = uea_request(sc, UEA_E4_SET_BLOCK, UEA_MPTX_START,
1207 sizeof(cmv), &cmv);
1195 if (ret < 0) 1208 if (ret < 0)
1196 return ret; 1209 return ret;
1197 ret = wait_cmv_ack(sc); 1210 ret = wait_cmv_ack(sc);
@@ -1208,7 +1221,7 @@ static inline int uea_read_cmv_e1(struct uea_softc *sc,
1208 uea_err(INS_TO_USBDEV(sc), 1221 uea_err(INS_TO_USBDEV(sc),
1209 "reading cmv failed with error %d\n", ret); 1222 "reading cmv failed with error %d\n", ret);
1210 else 1223 else
1211 *data = sc->data; 1224 *data = sc->data;
1212 1225
1213 return ret; 1226 return ret;
1214} 1227}
@@ -1216,13 +1229,14 @@ static inline int uea_read_cmv_e1(struct uea_softc *sc,
1216static inline int uea_read_cmv_e4(struct uea_softc *sc, 1229static inline int uea_read_cmv_e4(struct uea_softc *sc,
1217 u8 size, u16 group, u16 address, u16 offset, u32 *data) 1230 u8 size, u16 group, u16 address, u16 offset, u32 *data)
1218{ 1231{
1219 int ret = uea_cmv_e4(sc, E4_MAKEFUNCTION(E4_MEMACCESS, E4_REQUESTREAD, size), 1232 int ret = uea_cmv_e4(sc, E4_MAKEFUNCTION(E4_MEMACCESS,
1233 E4_REQUESTREAD, size),
1220 group, address, offset, 0); 1234 group, address, offset, 0);
1221 if (ret < 0) 1235 if (ret < 0)
1222 uea_err(INS_TO_USBDEV(sc), 1236 uea_err(INS_TO_USBDEV(sc),
1223 "reading cmv failed with error %d\n", ret); 1237 "reading cmv failed with error %d\n", ret);
1224 else { 1238 else {
1225 *data = sc->data; 1239 *data = sc->data;
1226 /* size is in 16-bit word quantities */ 1240 /* size is in 16-bit word quantities */
1227 if (size > 2) 1241 if (size > 2)
1228 *(data + 1) = sc->data1; 1242 *(data + 1) = sc->data1;
@@ -1245,7 +1259,8 @@ static inline int uea_write_cmv_e1(struct uea_softc *sc,
1245static inline int uea_write_cmv_e4(struct uea_softc *sc, 1259static inline int uea_write_cmv_e4(struct uea_softc *sc,
1246 u8 size, u16 group, u16 address, u16 offset, u32 data) 1260 u8 size, u16 group, u16 address, u16 offset, u32 data)
1247{ 1261{
1248 int ret = uea_cmv_e4(sc, E4_MAKEFUNCTION(E4_MEMACCESS, E4_REQUESTWRITE, size), 1262 int ret = uea_cmv_e4(sc, E4_MAKEFUNCTION(E4_MEMACCESS,
1263 E4_REQUESTWRITE, size),
1249 group, address, offset, data); 1264 group, address, offset, data);
1250 if (ret < 0) 1265 if (ret < 0)
1251 uea_err(INS_TO_USBDEV(sc), 1266 uea_err(INS_TO_USBDEV(sc),
@@ -1442,27 +1457,29 @@ static int uea_stat_e4(struct uea_softc *sc)
1442 return ret; 1457 return ret;
1443 1458
1444 switch (sc->stats.phy.state) { 1459 switch (sc->stats.phy.state) {
1445 case 0x0: /* not yet synchronized */ 1460 case 0x0: /* not yet synchronized */
1446 case 0x1: 1461 case 0x1:
1447 case 0x3: 1462 case 0x3:
1448 case 0x4: 1463 case 0x4:
1449 uea_dbg(INS_TO_USBDEV(sc), "modem not yet synchronized\n"); 1464 uea_dbg(INS_TO_USBDEV(sc), "modem not yet "
1450 return 0; 1465 "synchronized\n");
1451 case 0x5: /* initialization */ 1466 return 0;
1452 case 0x6: 1467 case 0x5: /* initialization */
1453 case 0x9: 1468 case 0x6:
1454 case 0xa: 1469 case 0x9:
1455 uea_dbg(INS_TO_USBDEV(sc), "modem initializing\n"); 1470 case 0xa:
1456 return 0; 1471 uea_dbg(INS_TO_USBDEV(sc), "modem initializing\n");
1457 case 0x2: /* fail ... */ 1472 return 0;
1458 uea_info(INS_TO_USBDEV(sc), "modem synchronization failed" 1473 case 0x2: /* fail ... */
1459 " (may be try other cmv/dsp)\n"); 1474 uea_info(INS_TO_USBDEV(sc), "modem synchronization "
1460 return -EAGAIN; 1475 "failed (may be try other cmv/dsp)\n");
1461 case 0x7: /* operational */ 1476 return -EAGAIN;
1462 break; 1477 case 0x7: /* operational */
1463 default: 1478 break;
1464 uea_warn(INS_TO_USBDEV(sc), "unknown state: %x\n", sc->stats.phy.state); 1479 default:
1465 return 0; 1480 uea_warn(INS_TO_USBDEV(sc), "unknown state: %x\n",
1481 sc->stats.phy.state);
1482 return 0;
1466 } 1483 }
1467 1484
1468 if (data != 7) { 1485 if (data != 7) {
@@ -1502,9 +1519,9 @@ static int uea_stat_e4(struct uea_softc *sc)
1502 if (sc->stats.phy.flags) { 1519 if (sc->stats.phy.flags) {
1503 uea_dbg(INS_TO_USBDEV(sc), "Stat flag = 0x%x\n", 1520 uea_dbg(INS_TO_USBDEV(sc), "Stat flag = 0x%x\n",
1504 sc->stats.phy.flags); 1521 sc->stats.phy.flags);
1505 if (sc->stats.phy.flags & 1) //delineation LOSS 1522 if (sc->stats.phy.flags & 1) /* delineation LOSS */
1506 return -EAGAIN; 1523 return -EAGAIN;
1507 if (sc->stats.phy.flags & 0x4000) //Reset Flag 1524 if (sc->stats.phy.flags & 0x4000) /* Reset Flag */
1508 return -EAGAIN; 1525 return -EAGAIN;
1509 return 0; 1526 return 0;
1510 } 1527 }
@@ -1618,7 +1635,8 @@ static int request_cmvs(struct uea_softc *sc,
1618 if (ret < 0) { 1635 if (ret < 0) {
1619 /* if caller can handle old version, try to provide it */ 1636 /* if caller can handle old version, try to provide it */
1620 if (*ver == 1) { 1637 if (*ver == 1) {
1621 uea_warn(INS_TO_USBDEV(sc), "requesting firmware %s failed, " 1638 uea_warn(INS_TO_USBDEV(sc), "requesting "
1639 "firmware %s failed, "
1622 "try to get older cmvs\n", cmv_name); 1640 "try to get older cmvs\n", cmv_name);
1623 return request_cmvs_old(sc, cmvs, fw); 1641 return request_cmvs_old(sc, cmvs, fw);
1624 } 1642 }
@@ -1632,8 +1650,8 @@ static int request_cmvs(struct uea_softc *sc,
1632 data = (u8 *) (*fw)->data; 1650 data = (u8 *) (*fw)->data;
1633 if (size < 4 || strncmp(data, "cmv2", 4) != 0) { 1651 if (size < 4 || strncmp(data, "cmv2", 4) != 0) {
1634 if (*ver == 1) { 1652 if (*ver == 1) {
1635 uea_warn(INS_TO_USBDEV(sc), "firmware %s is corrupted, " 1653 uea_warn(INS_TO_USBDEV(sc), "firmware %s is corrupted,"
1636 "try to get older cmvs\n", cmv_name); 1654 " try to get older cmvs\n", cmv_name);
1637 release_firmware(*fw); 1655 release_firmware(*fw);
1638 return request_cmvs_old(sc, cmvs, fw); 1656 return request_cmvs_old(sc, cmvs, fw);
1639 } 1657 }
@@ -1670,7 +1688,7 @@ static int uea_send_cmvs_e1(struct uea_softc *sc)
1670 int i, ret, len; 1688 int i, ret, len;
1671 void *cmvs_ptr; 1689 void *cmvs_ptr;
1672 const struct firmware *cmvs_fw; 1690 const struct firmware *cmvs_fw;
1673 int ver = 1; // we can handle v1 cmv firmware version; 1691 int ver = 1; /* we can handle v1 cmv firmware version; */
1674 1692
1675 /* Enter in R-IDLE (cmv) until instructed otherwise */ 1693 /* Enter in R-IDLE (cmv) until instructed otherwise */
1676 ret = uea_write_cmv_e1(sc, E1_SA_CNTL, 0, 1); 1694 ret = uea_write_cmv_e1(sc, E1_SA_CNTL, 0, 1);
@@ -1685,7 +1703,7 @@ static int uea_send_cmvs_e1(struct uea_softc *sc)
1685 sc->stats.phy.firmid); 1703 sc->stats.phy.firmid);
1686 1704
1687 /* get options */ 1705 /* get options */
1688 ret = len = request_cmvs(sc, &cmvs_ptr, &cmvs_fw, &ver); 1706 ret = len = request_cmvs(sc, &cmvs_ptr, &cmvs_fw, &ver);
1689 if (ret < 0) 1707 if (ret < 0)
1690 return ret; 1708 return ret;
1691 1709
@@ -1697,9 +1715,10 @@ static int uea_send_cmvs_e1(struct uea_softc *sc)
1697 "please update your firmware\n"); 1715 "please update your firmware\n");
1698 1716
1699 for (i = 0; i < len; i++) { 1717 for (i = 0; i < len; i++) {
1700 ret = uea_write_cmv_e1(sc, get_unaligned_le32(&cmvs_v1[i].address), 1718 ret = uea_write_cmv_e1(sc,
1701 get_unaligned_le16(&cmvs_v1[i].offset), 1719 get_unaligned_le32(&cmvs_v1[i].address),
1702 get_unaligned_le32(&cmvs_v1[i].data)); 1720 get_unaligned_le16(&cmvs_v1[i].offset),
1721 get_unaligned_le32(&cmvs_v1[i].data));
1703 if (ret < 0) 1722 if (ret < 0)
1704 goto out; 1723 goto out;
1705 } 1724 }
@@ -1707,9 +1726,10 @@ static int uea_send_cmvs_e1(struct uea_softc *sc)
1707 struct uea_cmvs_v2 *cmvs_v2 = cmvs_ptr; 1726 struct uea_cmvs_v2 *cmvs_v2 = cmvs_ptr;
1708 1727
1709 for (i = 0; i < len; i++) { 1728 for (i = 0; i < len; i++) {
1710 ret = uea_write_cmv_e1(sc, get_unaligned_le32(&cmvs_v2[i].address), 1729 ret = uea_write_cmv_e1(sc,
1711 (u16) get_unaligned_le32(&cmvs_v2[i].offset), 1730 get_unaligned_le32(&cmvs_v2[i].address),
1712 get_unaligned_le32(&cmvs_v2[i].data)); 1731 (u16) get_unaligned_le32(&cmvs_v2[i].offset),
1732 get_unaligned_le32(&cmvs_v2[i].data));
1713 if (ret < 0) 1733 if (ret < 0)
1714 goto out; 1734 goto out;
1715 } 1735 }
@@ -1722,7 +1742,8 @@ static int uea_send_cmvs_e1(struct uea_softc *sc)
1722 /* Enter in R-ACT-REQ */ 1742 /* Enter in R-ACT-REQ */
1723 ret = uea_write_cmv_e1(sc, E1_SA_CNTL, 0, 2); 1743 ret = uea_write_cmv_e1(sc, E1_SA_CNTL, 0, 2);
1724 uea_vdbg(INS_TO_USBDEV(sc), "Entering in R-ACT-REQ state\n"); 1744 uea_vdbg(INS_TO_USBDEV(sc), "Entering in R-ACT-REQ state\n");
1725 uea_info(INS_TO_USBDEV(sc), "modem started, waiting synchronization...\n"); 1745 uea_info(INS_TO_USBDEV(sc), "modem started, waiting "
1746 "synchronization...\n");
1726out: 1747out:
1727 release_firmware(cmvs_fw); 1748 release_firmware(cmvs_fw);
1728 return ret; 1749 return ret;
@@ -1733,7 +1754,7 @@ static int uea_send_cmvs_e4(struct uea_softc *sc)
1733 int i, ret, len; 1754 int i, ret, len;
1734 void *cmvs_ptr; 1755 void *cmvs_ptr;
1735 const struct firmware *cmvs_fw; 1756 const struct firmware *cmvs_fw;
1736 int ver = 2; // we can only handle v2 cmv firmware version; 1757 int ver = 2; /* we can only handle v2 cmv firmware version; */
1737 1758
1738 /* Enter in R-IDLE (cmv) until instructed otherwise */ 1759 /* Enter in R-IDLE (cmv) until instructed otherwise */
1739 ret = uea_write_cmv_e4(sc, 1, E4_SA_CNTL, 0, 0, 1); 1760 ret = uea_write_cmv_e4(sc, 1, E4_SA_CNTL, 0, 0, 1);
@@ -1750,7 +1771,7 @@ static int uea_send_cmvs_e4(struct uea_softc *sc)
1750 1771
1751 1772
1752 /* get options */ 1773 /* get options */
1753 ret = len = request_cmvs(sc, &cmvs_ptr, &cmvs_fw, &ver); 1774 ret = len = request_cmvs(sc, &cmvs_ptr, &cmvs_fw, &ver);
1754 if (ret < 0) 1775 if (ret < 0)
1755 return ret; 1776 return ret;
1756 1777
@@ -1760,10 +1781,10 @@ static int uea_send_cmvs_e4(struct uea_softc *sc)
1760 1781
1761 for (i = 0; i < len; i++) { 1782 for (i = 0; i < len; i++) {
1762 ret = uea_write_cmv_e4(sc, 1, 1783 ret = uea_write_cmv_e4(sc, 1,
1763 get_unaligned_le32(&cmvs_v2[i].group), 1784 get_unaligned_le32(&cmvs_v2[i].group),
1764 get_unaligned_le32(&cmvs_v2[i].address), 1785 get_unaligned_le32(&cmvs_v2[i].address),
1765 get_unaligned_le32(&cmvs_v2[i].offset), 1786 get_unaligned_le32(&cmvs_v2[i].offset),
1766 get_unaligned_le32(&cmvs_v2[i].data)); 1787 get_unaligned_le32(&cmvs_v2[i].data));
1767 if (ret < 0) 1788 if (ret < 0)
1768 goto out; 1789 goto out;
1769 } 1790 }
@@ -1776,7 +1797,8 @@ static int uea_send_cmvs_e4(struct uea_softc *sc)
1776 /* Enter in R-ACT-REQ */ 1797 /* Enter in R-ACT-REQ */
1777 ret = uea_write_cmv_e4(sc, 1, E4_SA_CNTL, 0, 0, 2); 1798 ret = uea_write_cmv_e4(sc, 1, E4_SA_CNTL, 0, 0, 2);
1778 uea_vdbg(INS_TO_USBDEV(sc), "Entering in R-ACT-REQ state\n"); 1799 uea_vdbg(INS_TO_USBDEV(sc), "Entering in R-ACT-REQ state\n");
1779 uea_info(INS_TO_USBDEV(sc), "modem started, waiting synchronization...\n"); 1800 uea_info(INS_TO_USBDEV(sc), "modem started, waiting "
1801 "synchronization...\n");
1780out: 1802out:
1781 release_firmware(cmvs_fw); 1803 release_firmware(cmvs_fw);
1782 return ret; 1804 return ret;
@@ -1812,7 +1834,7 @@ static int uea_start_reset(struct uea_softc *sc)
1812 uea_request(sc, UEA_SET_MODE, UEA_LOOPBACK_ON, 0, NULL); 1834 uea_request(sc, UEA_SET_MODE, UEA_LOOPBACK_ON, 0, NULL);
1813 uea_request(sc, UEA_SET_MODE, UEA_BOOT_IDMA, 0, NULL); 1835 uea_request(sc, UEA_SET_MODE, UEA_BOOT_IDMA, 0, NULL);
1814 1836
1815 /* enter reset mode */ 1837 /* enter reset mode */
1816 uea_request(sc, UEA_SET_MODE, UEA_START_RESET, 0, NULL); 1838 uea_request(sc, UEA_SET_MODE, UEA_START_RESET, 0, NULL);
1817 1839
1818 /* original driver use 200ms, but windows driver use 100ms */ 1840 /* original driver use 200ms, but windows driver use 100ms */
@@ -1824,7 +1846,7 @@ static int uea_start_reset(struct uea_softc *sc)
1824 uea_request(sc, UEA_SET_MODE, UEA_END_RESET, 0, NULL); 1846 uea_request(sc, UEA_SET_MODE, UEA_END_RESET, 0, NULL);
1825 1847
1826 if (UEA_CHIP_VERSION(sc) != EAGLE_IV) { 1848 if (UEA_CHIP_VERSION(sc) != EAGLE_IV) {
1827 /* clear tx and rx mailboxes */ 1849 /* clear tx and rx mailboxes */
1828 uea_request(sc, UEA_SET_2183_DATA, UEA_MPTX_MAILBOX, 2, &zero); 1850 uea_request(sc, UEA_SET_2183_DATA, UEA_MPTX_MAILBOX, 2, &zero);
1829 uea_request(sc, UEA_SET_2183_DATA, UEA_MPRX_MAILBOX, 2, &zero); 1851 uea_request(sc, UEA_SET_2183_DATA, UEA_MPRX_MAILBOX, 2, &zero);
1830 uea_request(sc, UEA_SET_2183_DATA, UEA_SWAP_MAILBOX, 2, &zero); 1852 uea_request(sc, UEA_SET_2183_DATA, UEA_SWAP_MAILBOX, 2, &zero);
@@ -1835,9 +1857,11 @@ static int uea_start_reset(struct uea_softc *sc)
1835 return ret; 1857 return ret;
1836 1858
1837 if (UEA_CHIP_VERSION(sc) == EAGLE_IV) 1859 if (UEA_CHIP_VERSION(sc) == EAGLE_IV)
1838 sc->cmv_dsc.e4.function = E4_MAKEFUNCTION(E4_ADSLDIRECTIVE, E4_MODEMREADY, 1); 1860 sc->cmv_dsc.e4.function = E4_MAKEFUNCTION(E4_ADSLDIRECTIVE,
1861 E4_MODEMREADY, 1);
1839 else 1862 else
1840 sc->cmv_dsc.e1.function = E1_MAKEFUNCTION(E1_ADSLDIRECTIVE, E1_MODEMREADY); 1863 sc->cmv_dsc.e1.function = E1_MAKEFUNCTION(E1_ADSLDIRECTIVE,
1864 E1_MODEMREADY);
1841 1865
1842 /* demask interrupt */ 1866 /* demask interrupt */
1843 sc->booting = 0; 1867 sc->booting = 0;
@@ -1937,7 +1961,8 @@ static int load_XILINX_firmware(struct uea_softc *sc)
1937 value = 0; 1961 value = 0;
1938 ret = uea_send_modem_cmd(sc->usb_dev, 0xe, 1, &value); 1962 ret = uea_send_modem_cmd(sc->usb_dev, 0xe, 1, &value);
1939 if (ret < 0) 1963 if (ret < 0)
1940 uea_err(sc->usb_dev, "elsa de-assert failed with error %d\n", ret); 1964 uea_err(sc->usb_dev, "elsa de-assert failed with error"
1965 " %d\n", ret);
1941 1966
1942err1: 1967err1:
1943 release_firmware(fw_entry); 1968 release_firmware(fw_entry);
@@ -1966,13 +1991,15 @@ static void uea_dispatch_cmv_e1(struct uea_softc *sc, struct intr_pkt *intr)
1966 if (UEA_CHIP_VERSION(sc) == ADI930 1991 if (UEA_CHIP_VERSION(sc) == ADI930
1967 && cmv->bFunction == E1_MAKEFUNCTION(2, 2)) { 1992 && cmv->bFunction == E1_MAKEFUNCTION(2, 2)) {
1968 cmv->wIndex = cpu_to_le16(dsc->idx); 1993 cmv->wIndex = cpu_to_le16(dsc->idx);
1969 put_unaligned_le32(dsc->address, &cmv->dwSymbolicAddress); 1994 put_unaligned_le32(dsc->address,
1995 &cmv->dwSymbolicAddress);
1970 cmv->wOffsetAddress = cpu_to_le16(dsc->offset); 1996 cmv->wOffsetAddress = cpu_to_le16(dsc->offset);
1971 } else 1997 } else
1972 goto bad2; 1998 goto bad2;
1973 } 1999 }
1974 2000
1975 if (cmv->bFunction == E1_MAKEFUNCTION(E1_ADSLDIRECTIVE, E1_MODEMREADY)) { 2001 if (cmv->bFunction == E1_MAKEFUNCTION(E1_ADSLDIRECTIVE,
2002 E1_MODEMREADY)) {
1976 wake_up_cmv_ack(sc); 2003 wake_up_cmv_ack(sc);
1977 uea_leaves(INS_TO_USBDEV(sc)); 2004 uea_leaves(INS_TO_USBDEV(sc));
1978 return; 2005 return;
@@ -2021,7 +2048,8 @@ static void uea_dispatch_cmv_e4(struct uea_softc *sc, struct intr_pkt *intr)
2021 if (be16_to_cpu(cmv->wFunction) != dsc->function) 2048 if (be16_to_cpu(cmv->wFunction) != dsc->function)
2022 goto bad2; 2049 goto bad2;
2023 2050
2024 if (be16_to_cpu(cmv->wFunction) == E4_MAKEFUNCTION(E4_ADSLDIRECTIVE, E4_MODEMREADY, 1)) { 2051 if (be16_to_cpu(cmv->wFunction) == E4_MAKEFUNCTION(E4_ADSLDIRECTIVE,
2052 E4_MODEMREADY, 1)) {
2025 wake_up_cmv_ack(sc); 2053 wake_up_cmv_ack(sc);
2026 uea_leaves(INS_TO_USBDEV(sc)); 2054 uea_leaves(INS_TO_USBDEV(sc));
2027 return; 2055 return;
@@ -2048,14 +2076,16 @@ bad2:
2048 return; 2076 return;
2049} 2077}
2050 2078
2051static void uea_schedule_load_page_e1(struct uea_softc *sc, struct intr_pkt *intr) 2079static void uea_schedule_load_page_e1(struct uea_softc *sc,
2080 struct intr_pkt *intr)
2052{ 2081{
2053 sc->pageno = intr->e1_bSwapPageNo; 2082 sc->pageno = intr->e1_bSwapPageNo;
2054 sc->ovl = intr->e1_bOvl >> 4 | intr->e1_bOvl << 4; 2083 sc->ovl = intr->e1_bOvl >> 4 | intr->e1_bOvl << 4;
2055 queue_work(sc->work_q, &sc->task); 2084 queue_work(sc->work_q, &sc->task);
2056} 2085}
2057 2086
2058static void uea_schedule_load_page_e4(struct uea_softc *sc, struct intr_pkt *intr) 2087static void uea_schedule_load_page_e4(struct uea_softc *sc,
2088 struct intr_pkt *intr)
2059{ 2089{
2060 sc->pageno = intr->e4_bSwapPageNo; 2090 sc->pageno = intr->e4_bSwapPageNo;
2061 queue_work(sc->work_q, &sc->task); 2091 queue_work(sc->work_q, &sc->task);
@@ -2263,8 +2293,8 @@ out:
2263 2293
2264static DEVICE_ATTR(stat_status, S_IWUGO | S_IRUGO, read_status, reboot); 2294static DEVICE_ATTR(stat_status, S_IWUGO | S_IRUGO, read_status, reboot);
2265 2295
2266static ssize_t read_human_status(struct device *dev, struct device_attribute *attr, 2296static ssize_t read_human_status(struct device *dev,
2267 char *buf) 2297 struct device_attribute *attr, char *buf)
2268{ 2298{
2269 int ret = -ENODEV; 2299 int ret = -ENODEV;
2270 int modem_state; 2300 int modem_state;
@@ -2289,7 +2319,7 @@ static ssize_t read_human_status(struct device *dev, struct device_attribute *at
2289 case 0xa: 2319 case 0xa:
2290 modem_state = 1; 2320 modem_state = 1;
2291 break; 2321 break;
2292 case 0x7: /* operational */ 2322 case 0x7: /* operational */
2293 modem_state = 2; 2323 modem_state = 2;
2294 break; 2324 break;
2295 case 0x2: /* fail ... */ 2325 case 0x2: /* fail ... */
@@ -2324,7 +2354,8 @@ out:
2324 return ret; 2354 return ret;
2325} 2355}
2326 2356
2327static DEVICE_ATTR(stat_human_status, S_IWUGO | S_IRUGO, read_human_status, NULL); 2357static DEVICE_ATTR(stat_human_status, S_IWUGO | S_IRUGO,
2358 read_human_status, NULL);
2328 2359
2329static ssize_t read_delin(struct device *dev, struct device_attribute *attr, 2360static ssize_t read_delin(struct device *dev, struct device_attribute *attr,
2330 char *buf) 2361 char *buf)
@@ -2358,25 +2389,25 @@ out:
2358 2389
2359static DEVICE_ATTR(stat_delin, S_IWUGO | S_IRUGO, read_delin, NULL); 2390static DEVICE_ATTR(stat_delin, S_IWUGO | S_IRUGO, read_delin, NULL);
2360 2391
2361#define UEA_ATTR(name, reset) \ 2392#define UEA_ATTR(name, reset) \
2362 \ 2393 \
2363static ssize_t read_##name(struct device *dev, \ 2394static ssize_t read_##name(struct device *dev, \
2364 struct device_attribute *attr, char *buf) \ 2395 struct device_attribute *attr, char *buf) \
2365{ \ 2396{ \
2366 int ret = -ENODEV; \ 2397 int ret = -ENODEV; \
2367 struct uea_softc *sc; \ 2398 struct uea_softc *sc; \
2368 \ 2399 \
2369 mutex_lock(&uea_mutex); \ 2400 mutex_lock(&uea_mutex); \
2370 sc = dev_to_uea(dev); \ 2401 sc = dev_to_uea(dev); \
2371 if (!sc) \ 2402 if (!sc) \
2372 goto out; \ 2403 goto out; \
2373 ret = snprintf(buf, 10, "%08x\n", sc->stats.phy.name); \ 2404 ret = snprintf(buf, 10, "%08x\n", sc->stats.phy.name); \
2374 if (reset) \ 2405 if (reset) \
2375 sc->stats.phy.name = 0; \ 2406 sc->stats.phy.name = 0; \
2376out: \ 2407out: \
2377 mutex_unlock(&uea_mutex); \ 2408 mutex_unlock(&uea_mutex); \
2378 return ret; \ 2409 return ret; \
2379} \ 2410} \
2380 \ 2411 \
2381static DEVICE_ATTR(stat_##name, S_IRUGO, read_##name, NULL) 2412static DEVICE_ATTR(stat_##name, S_IRUGO, read_##name, NULL)
2382 2413
@@ -2527,12 +2558,14 @@ static int uea_bind(struct usbatm_data *usbatm, struct usb_interface *intf,
2527 else if (sc->driver_info & AUTO_ANNEX_B) 2558 else if (sc->driver_info & AUTO_ANNEX_B)
2528 sc->annex = ANNEXB; 2559 sc->annex = ANNEXB;
2529 else 2560 else
2530 sc->annex = (le16_to_cpu(sc->usb_dev->descriptor.bcdDevice) & 0x80)?ANNEXB:ANNEXA; 2561 sc->annex = (le16_to_cpu
2562 (sc->usb_dev->descriptor.bcdDevice) & 0x80) ? ANNEXB : ANNEXA;
2531 2563
2532 alt = altsetting[sc->modem_index]; 2564 alt = altsetting[sc->modem_index];
2533 /* ADI930 don't support iso */ 2565 /* ADI930 don't support iso */
2534 if (UEA_CHIP_VERSION(id) != ADI930 && alt > 0) { 2566 if (UEA_CHIP_VERSION(id) != ADI930 && alt > 0) {
2535 if (alt <= 8 && usb_set_interface(usb, UEA_DS_IFACE_NO, alt) == 0) { 2567 if (alt <= 8 &&
2568 usb_set_interface(usb, UEA_DS_IFACE_NO, alt) == 0) {
2536 uea_dbg(usb, "set alternate %u for 2 interface\n", alt); 2569 uea_dbg(usb, "set alternate %u for 2 interface\n", alt);
2537 uea_info(usb, "using iso mode\n"); 2570 uea_info(usb, "using iso mode\n");
2538 usbatm->flags |= UDSL_USE_ISOC | UDSL_IGNORE_EILSEQ; 2571 usbatm->flags |= UDSL_USE_ISOC | UDSL_IGNORE_EILSEQ;
@@ -2621,40 +2654,74 @@ static void uea_disconnect(struct usb_interface *intf)
2621 * List of supported VID/PID 2654 * List of supported VID/PID
2622 */ 2655 */
2623static const struct usb_device_id uea_ids[] = { 2656static const struct usb_device_id uea_ids[] = {
2624 {USB_DEVICE(ANALOG_VID, ADI930_PID_PREFIRM), .driver_info = ADI930 | PREFIRM}, 2657 {USB_DEVICE(ANALOG_VID, ADI930_PID_PREFIRM),
2625 {USB_DEVICE(ANALOG_VID, ADI930_PID_PSTFIRM), .driver_info = ADI930 | PSTFIRM}, 2658 .driver_info = ADI930 | PREFIRM},
2626 {USB_DEVICE(ANALOG_VID, EAGLE_I_PID_PREFIRM), .driver_info = EAGLE_I | PREFIRM}, 2659 {USB_DEVICE(ANALOG_VID, ADI930_PID_PSTFIRM),
2627 {USB_DEVICE(ANALOG_VID, EAGLE_I_PID_PSTFIRM), .driver_info = EAGLE_I | PSTFIRM}, 2660 .driver_info = ADI930 | PSTFIRM},
2628 {USB_DEVICE(ANALOG_VID, EAGLE_II_PID_PREFIRM), .driver_info = EAGLE_II | PREFIRM}, 2661 {USB_DEVICE(ANALOG_VID, EAGLE_I_PID_PREFIRM),
2629 {USB_DEVICE(ANALOG_VID, EAGLE_II_PID_PSTFIRM), .driver_info = EAGLE_II | PSTFIRM}, 2662 .driver_info = EAGLE_I | PREFIRM},
2630 {USB_DEVICE(ANALOG_VID, EAGLE_IIC_PID_PREFIRM), .driver_info = EAGLE_II | PREFIRM}, 2663 {USB_DEVICE(ANALOG_VID, EAGLE_I_PID_PSTFIRM),
2631 {USB_DEVICE(ANALOG_VID, EAGLE_IIC_PID_PSTFIRM), .driver_info = EAGLE_II | PSTFIRM}, 2664 .driver_info = EAGLE_I | PSTFIRM},
2632 {USB_DEVICE(ANALOG_VID, EAGLE_III_PID_PREFIRM), .driver_info = EAGLE_III | PREFIRM}, 2665 {USB_DEVICE(ANALOG_VID, EAGLE_II_PID_PREFIRM),
2633 {USB_DEVICE(ANALOG_VID, EAGLE_III_PID_PSTFIRM), .driver_info = EAGLE_III | PSTFIRM}, 2666 .driver_info = EAGLE_II | PREFIRM},
2634 {USB_DEVICE(ANALOG_VID, EAGLE_IV_PID_PREFIRM), .driver_info = EAGLE_IV | PREFIRM}, 2667 {USB_DEVICE(ANALOG_VID, EAGLE_II_PID_PSTFIRM),
2635 {USB_DEVICE(ANALOG_VID, EAGLE_IV_PID_PSTFIRM), .driver_info = EAGLE_IV | PSTFIRM}, 2668 .driver_info = EAGLE_II | PSTFIRM},
2636 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_A_PID_PREFIRM), .driver_info = EAGLE_I | PREFIRM}, 2669 {USB_DEVICE(ANALOG_VID, EAGLE_IIC_PID_PREFIRM),
2637 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_A_PID_PSTFIRM), .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_A}, 2670 .driver_info = EAGLE_II | PREFIRM},
2638 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_B_PID_PREFIRM), .driver_info = EAGLE_I | PREFIRM}, 2671 {USB_DEVICE(ANALOG_VID, EAGLE_IIC_PID_PSTFIRM),
2639 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_B_PID_PSTFIRM), .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_B}, 2672 .driver_info = EAGLE_II | PSTFIRM},
2640 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_A_PID_PREFIRM), .driver_info = EAGLE_II | PREFIRM}, 2673 {USB_DEVICE(ANALOG_VID, EAGLE_III_PID_PREFIRM),
2641 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_A_PID_PSTFIRM), .driver_info = EAGLE_II | PSTFIRM | AUTO_ANNEX_A}, 2674 .driver_info = EAGLE_III | PREFIRM},
2642 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_B_PID_PREFIRM), .driver_info = EAGLE_II | PREFIRM}, 2675 {USB_DEVICE(ANALOG_VID, EAGLE_III_PID_PSTFIRM),
2643 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_B_PID_PSTFIRM), .driver_info = EAGLE_II | PSTFIRM | AUTO_ANNEX_B}, 2676 .driver_info = EAGLE_III | PSTFIRM},
2644 {USB_DEVICE(ELSA_VID, ELSA_PID_PREFIRM), .driver_info = ADI930 | PREFIRM}, 2677 {USB_DEVICE(ANALOG_VID, EAGLE_IV_PID_PREFIRM),
2645 {USB_DEVICE(ELSA_VID, ELSA_PID_PSTFIRM), .driver_info = ADI930 | PSTFIRM}, 2678 .driver_info = EAGLE_IV | PREFIRM},
2646 {USB_DEVICE(ELSA_VID, ELSA_PID_A_PREFIRM), .driver_info = ADI930 | PREFIRM}, 2679 {USB_DEVICE(ANALOG_VID, EAGLE_IV_PID_PSTFIRM),
2647 {USB_DEVICE(ELSA_VID, ELSA_PID_A_PSTFIRM), .driver_info = ADI930 | PSTFIRM | AUTO_ANNEX_A}, 2680 .driver_info = EAGLE_IV | PSTFIRM},
2648 {USB_DEVICE(ELSA_VID, ELSA_PID_B_PREFIRM), .driver_info = ADI930 | PREFIRM}, 2681 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_A_PID_PREFIRM),
2649 {USB_DEVICE(ELSA_VID, ELSA_PID_B_PSTFIRM), .driver_info = ADI930 | PSTFIRM | AUTO_ANNEX_B}, 2682 .driver_info = EAGLE_I | PREFIRM},
2650 {USB_DEVICE(USR_VID, MILLER_A_PID_PREFIRM), .driver_info = EAGLE_I | PREFIRM}, 2683 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_A_PID_PSTFIRM),
2651 {USB_DEVICE(USR_VID, MILLER_A_PID_PSTFIRM), .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_A}, 2684 .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_A},
2652 {USB_DEVICE(USR_VID, MILLER_B_PID_PREFIRM), .driver_info = EAGLE_I | PREFIRM}, 2685 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_B_PID_PREFIRM),
2653 {USB_DEVICE(USR_VID, MILLER_B_PID_PSTFIRM), .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_B}, 2686 .driver_info = EAGLE_I | PREFIRM},
2654 {USB_DEVICE(USR_VID, HEINEKEN_A_PID_PREFIRM),.driver_info = EAGLE_I | PREFIRM}, 2687 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_I_B_PID_PSTFIRM),
2655 {USB_DEVICE(USR_VID, HEINEKEN_A_PID_PSTFIRM),.driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_A}, 2688 .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_B},
2656 {USB_DEVICE(USR_VID, HEINEKEN_B_PID_PREFIRM),.driver_info = EAGLE_I | PREFIRM}, 2689 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_A_PID_PREFIRM),
2657 {USB_DEVICE(USR_VID, HEINEKEN_B_PID_PSTFIRM),.driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_B}, 2690 .driver_info = EAGLE_II | PREFIRM},
2691 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_A_PID_PSTFIRM),
2692 .driver_info = EAGLE_II | PSTFIRM | AUTO_ANNEX_A},
2693 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_B_PID_PREFIRM),
2694 .driver_info = EAGLE_II | PREFIRM},
2695 {USB_DEVICE(DEVOLO_VID, DEVOLO_EAGLE_II_B_PID_PSTFIRM),
2696 .driver_info = EAGLE_II | PSTFIRM | AUTO_ANNEX_B},
2697 {USB_DEVICE(ELSA_VID, ELSA_PID_PREFIRM),
2698 .driver_info = ADI930 | PREFIRM},
2699 {USB_DEVICE(ELSA_VID, ELSA_PID_PSTFIRM),
2700 .driver_info = ADI930 | PSTFIRM},
2701 {USB_DEVICE(ELSA_VID, ELSA_PID_A_PREFIRM),
2702 .driver_info = ADI930 | PREFIRM},
2703 {USB_DEVICE(ELSA_VID, ELSA_PID_A_PSTFIRM),
2704 .driver_info = ADI930 | PSTFIRM | AUTO_ANNEX_A},
2705 {USB_DEVICE(ELSA_VID, ELSA_PID_B_PREFIRM),
2706 .driver_info = ADI930 | PREFIRM},
2707 {USB_DEVICE(ELSA_VID, ELSA_PID_B_PSTFIRM),
2708 .driver_info = ADI930 | PSTFIRM | AUTO_ANNEX_B},
2709 {USB_DEVICE(USR_VID, MILLER_A_PID_PREFIRM),
2710 .driver_info = EAGLE_I | PREFIRM},
2711 {USB_DEVICE(USR_VID, MILLER_A_PID_PSTFIRM),
2712 .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_A},
2713 {USB_DEVICE(USR_VID, MILLER_B_PID_PREFIRM),
2714 .driver_info = EAGLE_I | PREFIRM},
2715 {USB_DEVICE(USR_VID, MILLER_B_PID_PSTFIRM),
2716 .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_B},
2717 {USB_DEVICE(USR_VID, HEINEKEN_A_PID_PREFIRM),
2718 .driver_info = EAGLE_I | PREFIRM},
2719 {USB_DEVICE(USR_VID, HEINEKEN_A_PID_PSTFIRM),
2720 .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_A},
2721 {USB_DEVICE(USR_VID, HEINEKEN_B_PID_PREFIRM),
2722 .driver_info = EAGLE_I | PREFIRM},
2723 {USB_DEVICE(USR_VID, HEINEKEN_B_PID_PSTFIRM),
2724 .driver_info = EAGLE_I | PSTFIRM | AUTO_ANNEX_B},
2658 {} 2725 {}
2659}; 2726};
2660 2727