aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/atm')
-rw-r--r--drivers/atm/adummy.c1
-rw-r--r--drivers/atm/ambassador.c2
-rw-r--r--drivers/atm/atmtcp.c1
-rw-r--r--drivers/atm/eni.c1
-rw-r--r--drivers/atm/firestream.c1
-rw-r--r--drivers/atm/fore200e.c15
-rw-r--r--drivers/atm/he.c7
-rw-r--r--drivers/atm/horizon.c1
-rw-r--r--drivers/atm/idt77105.c1
-rw-r--r--drivers/atm/idt77252.c6
-rw-r--r--drivers/atm/iphase.c5
-rw-r--r--drivers/atm/lanai.c22
-rw-r--r--drivers/atm/nicstar.c5
-rw-r--r--drivers/atm/solos-pci.c33
-rw-r--r--drivers/atm/suni.c1
-rw-r--r--drivers/atm/uPD98402.c1
-rw-r--r--drivers/atm/zatm.c1
17 files changed, 55 insertions, 49 deletions
diff --git a/drivers/atm/adummy.c b/drivers/atm/adummy.c
index 5effec6f5458..6d44f07b69f8 100644
--- a/drivers/atm/adummy.c
+++ b/drivers/atm/adummy.c
@@ -13,6 +13,7 @@
13#include <linux/mm.h> 13#include <linux/mm.h>
14#include <linux/timer.h> 14#include <linux/timer.h>
15#include <linux/interrupt.h> 15#include <linux/interrupt.h>
16#include <linux/slab.h>
16#include <asm/io.h> 17#include <asm/io.h>
17#include <asm/byteorder.h> 18#include <asm/byteorder.h>
18#include <asm/uaccess.h> 19#include <asm/uaccess.h>
diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c
index 66e181345b3a..9d18644c897e 100644
--- a/drivers/atm/ambassador.c
+++ b/drivers/atm/ambassador.c
@@ -36,6 +36,7 @@
36#include <linux/mutex.h> 36#include <linux/mutex.h>
37#include <linux/firmware.h> 37#include <linux/firmware.h>
38#include <linux/ihex.h> 38#include <linux/ihex.h>
39#include <linux/slab.h>
39 40
40#include <asm/atomic.h> 41#include <asm/atomic.h>
41#include <asm/io.h> 42#include <asm/io.h>
@@ -2351,6 +2352,7 @@ static void __init amb_check_args (void) {
2351MODULE_AUTHOR(maintainer_string); 2352MODULE_AUTHOR(maintainer_string);
2352MODULE_DESCRIPTION(description_string); 2353MODULE_DESCRIPTION(description_string);
2353MODULE_LICENSE("GPL"); 2354MODULE_LICENSE("GPL");
2355MODULE_FIRMWARE("atmsar11.fw");
2354module_param(debug, ushort, 0644); 2356module_param(debug, ushort, 0644);
2355module_param(cmds, uint, 0); 2357module_param(cmds, uint, 0);
2356module_param(txs, uint, 0); 2358module_param(txs, uint, 0);
diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
index 02ad83d6b562..b86712167eb8 100644
--- a/drivers/atm/atmtcp.c
+++ b/drivers/atm/atmtcp.c
@@ -9,6 +9,7 @@
9#include <linux/atm_tcp.h> 9#include <linux/atm_tcp.h>
10#include <linux/bitops.h> 10#include <linux/bitops.h>
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/slab.h>
12#include <asm/uaccess.h> 13#include <asm/uaccess.h>
13#include <asm/atomic.h> 14#include <asm/atomic.h>
14 15
diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
index 0c3026145443..719ec5a0dca5 100644
--- a/drivers/atm/eni.c
+++ b/drivers/atm/eni.c
@@ -18,6 +18,7 @@
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/atm_eni.h> 19#include <linux/atm_eni.h>
20#include <linux/bitops.h> 20#include <linux/bitops.h>
21#include <linux/slab.h>
21#include <asm/system.h> 22#include <asm/system.h>
22#include <asm/io.h> 23#include <asm/io.h>
23#include <asm/atomic.h> 24#include <asm/atomic.h>
diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
index cd5049af47a9..6e600afd06ae 100644
--- a/drivers/atm/firestream.c
+++ b/drivers/atm/firestream.c
@@ -46,6 +46,7 @@
46#include <linux/init.h> 46#include <linux/init.h>
47#include <linux/capability.h> 47#include <linux/capability.h>
48#include <linux/bitops.h> 48#include <linux/bitops.h>
49#include <linux/slab.h>
49#include <asm/byteorder.h> 50#include <asm/byteorder.h>
50#include <asm/system.h> 51#include <asm/system.h>
51#include <asm/string.h> 52#include <asm/string.h>
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index f766cc46b4c4..f7d6ebaa0418 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -2064,12 +2064,10 @@ fore200e_get_esi(struct fore200e* fore200e)
2064 return -EBUSY; 2064 return -EBUSY;
2065 } 2065 }
2066 2066
2067 printk(FORE200E "device %s, rev. %c, S/N: %d, ESI: %02x:%02x:%02x:%02x:%02x:%02x\n", 2067 printk(FORE200E "device %s, rev. %c, S/N: %d, ESI: %pM\n",
2068 fore200e->name, 2068 fore200e->name,
2069 (prom->hw_revision & 0xFF) + '@', /* probably meaningless with SBA boards */ 2069 (prom->hw_revision & 0xFF) + '@', /* probably meaningless with SBA boards */
2070 prom->serial_number & 0xFFFF, 2070 prom->serial_number & 0xFFFF, &prom->mac_addr[2]);
2071 prom->mac_addr[ 2 ], prom->mac_addr[ 3 ], prom->mac_addr[ 4 ],
2072 prom->mac_addr[ 5 ], prom->mac_addr[ 6 ], prom->mac_addr[ 7 ]);
2073 2071
2074 for (i = 0; i < ESI_LEN; i++) { 2072 for (i = 0; i < ESI_LEN; i++) {
2075 fore200e->esi[ i ] = fore200e->atm_dev->esi[ i ] = prom->mac_addr[ i + 2 ]; 2073 fore200e->esi[ i ] = fore200e->atm_dev->esi[ i ] = prom->mac_addr[ i + 2 ];
@@ -2845,13 +2843,12 @@ fore200e_proc_read(struct atm_dev *dev, loff_t* pos, char* page)
2845 " interrupt line:\t\t%s\n" 2843 " interrupt line:\t\t%s\n"
2846 " physical base address:\t0x%p\n" 2844 " physical base address:\t0x%p\n"
2847 " virtual base address:\t0x%p\n" 2845 " virtual base address:\t0x%p\n"
2848 " factory address (ESI):\t%02x:%02x:%02x:%02x:%02x:%02x\n" 2846 " factory address (ESI):\t%pM\n"
2849 " board serial number:\t\t%d\n\n", 2847 " board serial number:\t\t%d\n\n",
2850 fore200e_irq_itoa(fore200e->irq), 2848 fore200e_irq_itoa(fore200e->irq),
2851 (void*)fore200e->phys_base, 2849 (void*)fore200e->phys_base,
2852 fore200e->virt_base, 2850 fore200e->virt_base,
2853 fore200e->esi[0], fore200e->esi[1], fore200e->esi[2], 2851 fore200e->esi,
2854 fore200e->esi[3], fore200e->esi[4], fore200e->esi[5],
2855 fore200e->esi[4] * 256 + fore200e->esi[5]); 2852 fore200e->esi[4] * 256 + fore200e->esi[5]);
2856 2853
2857 return len; 2854 return len;
@@ -2906,8 +2903,8 @@ fore200e_proc_read(struct atm_dev *dev, loff_t* pos, char* page)
2906 u32 media_index = FORE200E_MEDIA_INDEX(fore200e->bus->read(&fore200e->cp_queues->media_type)); 2903 u32 media_index = FORE200E_MEDIA_INDEX(fore200e->bus->read(&fore200e->cp_queues->media_type));
2907 u32 oc3_index; 2904 u32 oc3_index;
2908 2905
2909 if ((media_index < 0) || (media_index > 4)) 2906 if (media_index > 4)
2910 media_index = 5; 2907 media_index = 5;
2911 2908
2912 switch (fore200e->loop_mode) { 2909 switch (fore200e->loop_mode) {
2913 case ATM_LM_NONE: oc3_index = 0; 2910 case ATM_LM_NONE: oc3_index = 0;
diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index 70667033a568..c213e0da0343 100644
--- a/drivers/atm/he.c
+++ b/drivers/atm/he.c
@@ -67,6 +67,7 @@
67#include <linux/timer.h> 67#include <linux/timer.h>
68#include <linux/interrupt.h> 68#include <linux/interrupt.h>
69#include <linux/dma-mapping.h> 69#include <linux/dma-mapping.h>
70#include <linux/slab.h>
70#include <asm/io.h> 71#include <asm/io.h>
71#include <asm/byteorder.h> 72#include <asm/byteorder.h>
72#include <asm/uaccess.h> 73#include <asm/uaccess.h>
@@ -2505,7 +2506,7 @@ he_close(struct atm_vcc *vcc)
2505 * TBRQ, the host issues the close command to the adapter. 2506 * TBRQ, the host issues the close command to the adapter.
2506 */ 2507 */
2507 2508
2508 while (((tx_inuse = atomic_read(&sk_atm(vcc)->sk_wmem_alloc)) > 0) && 2509 while (((tx_inuse = atomic_read(&sk_atm(vcc)->sk_wmem_alloc)) > 1) &&
2509 (retry < MAX_RETRY)) { 2510 (retry < MAX_RETRY)) {
2510 msleep(sleep); 2511 msleep(sleep);
2511 if (sleep < 250) 2512 if (sleep < 250)
@@ -2514,7 +2515,7 @@ he_close(struct atm_vcc *vcc)
2514 ++retry; 2515 ++retry;
2515 } 2516 }
2516 2517
2517 if (tx_inuse) 2518 if (tx_inuse > 1)
2518 hprintk("close tx cid 0x%x tx_inuse = %d\n", cid, tx_inuse); 2519 hprintk("close tx cid 0x%x tx_inuse = %d\n", cid, tx_inuse);
2519 2520
2520 /* 2.3.1.1 generic close operations with flush */ 2521 /* 2.3.1.1 generic close operations with flush */
@@ -2739,7 +2740,7 @@ he_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void __user *arg)
2739 spin_lock_irqsave(&he_dev->global_lock, flags); 2740 spin_lock_irqsave(&he_dev->global_lock, flags);
2740 switch (reg.type) { 2741 switch (reg.type) {
2741 case HE_REGTYPE_PCI: 2742 case HE_REGTYPE_PCI:
2742 if (reg.addr < 0 || reg.addr >= HE_REGMAP_SIZE) { 2743 if (reg.addr >= HE_REGMAP_SIZE) {
2743 err = -EINVAL; 2744 err = -EINVAL;
2744 break; 2745 break;
2745 } 2746 }
diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.c
index 4e49021e67ee..54720baa7363 100644
--- a/drivers/atm/horizon.c
+++ b/drivers/atm/horizon.c
@@ -40,6 +40,7 @@
40#include <linux/init.h> 40#include <linux/init.h>
41#include <linux/ioport.h> 41#include <linux/ioport.h>
42#include <linux/wait.h> 42#include <linux/wait.h>
43#include <linux/slab.h>
43 44
44#include <asm/system.h> 45#include <asm/system.h>
45#include <asm/io.h> 46#include <asm/io.h>
diff --git a/drivers/atm/idt77105.c b/drivers/atm/idt77105.c
index 84672dc57f7a..dab5cf5274fb 100644
--- a/drivers/atm/idt77105.c
+++ b/drivers/atm/idt77105.c
@@ -15,6 +15,7 @@
15#include <linux/capability.h> 15#include <linux/capability.h>
16#include <linux/atm_idt77105.h> 16#include <linux/atm_idt77105.h>
17#include <linux/spinlock.h> 17#include <linux/spinlock.h>
18#include <linux/slab.h>
18#include <asm/system.h> 19#include <asm/system.h>
19#include <asm/param.h> 20#include <asm/param.h>
20#include <asm/uaccess.h> 21#include <asm/uaccess.h>
diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c
index e33ae0025b12..98657a6a330d 100644
--- a/drivers/atm/idt77252.c
+++ b/drivers/atm/idt77252.c
@@ -41,6 +41,7 @@
41#include <linux/wait.h> 41#include <linux/wait.h>
42#include <linux/jiffies.h> 42#include <linux/jiffies.h>
43#include <linux/mutex.h> 43#include <linux/mutex.h>
44#include <linux/slab.h>
44 45
45#include <asm/io.h> 46#include <asm/io.h>
46#include <asm/uaccess.h> 47#include <asm/uaccess.h>
@@ -3557,10 +3558,7 @@ init_card(struct atm_dev *dev)
3557 if (tmp) { 3558 if (tmp) {
3558 memcpy(card->atmdev->esi, tmp->dev_addr, 6); 3559 memcpy(card->atmdev->esi, tmp->dev_addr, 6);
3559 3560
3560 printk("%s: ESI %02x:%02x:%02x:%02x:%02x:%02x\n", 3561 printk("%s: ESI %pM\n", card->name, card->atmdev->esi);
3561 card->name, card->atmdev->esi[0], card->atmdev->esi[1],
3562 card->atmdev->esi[2], card->atmdev->esi[3],
3563 card->atmdev->esi[4], card->atmdev->esi[5]);
3564 } 3562 }
3565 /* 3563 /*
3566 * XXX: </hack> 3564 * XXX: </hack>
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index b2c1b37ab2e4..ee9ddeb53417 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c
@@ -54,6 +54,7 @@
54#include <linux/uio.h> 54#include <linux/uio.h>
55#include <linux/init.h> 55#include <linux/init.h>
56#include <linux/wait.h> 56#include <linux/wait.h>
57#include <linux/slab.h>
57#include <asm/system.h> 58#include <asm/system.h>
58#include <asm/io.h> 59#include <asm/io.h>
59#include <asm/atomic.h> 60#include <asm/atomic.h>
@@ -557,7 +558,7 @@ static int ia_cbr_setup (IADEV *dev, struct atm_vcc *vcc) {
557 memcpy((caddr_t)&cbrVC,(caddr_t)TstSchedTbl,sizeof(cbrVC)); 558 memcpy((caddr_t)&cbrVC,(caddr_t)TstSchedTbl,sizeof(cbrVC));
558 } /* while */ 559 } /* while */
559 // Move this VCI number into this location of the CBR Sched table. 560 // Move this VCI number into this location of the CBR Sched table.
560 memcpy((caddr_t)TstSchedTbl, (caddr_t)&vcIndex,sizeof(TstSchedTbl)); 561 memcpy((caddr_t)TstSchedTbl, (caddr_t)&vcIndex, sizeof(*TstSchedTbl));
561 dev->CbrRemEntries--; 562 dev->CbrRemEntries--;
562 toBeAssigned--; 563 toBeAssigned--;
563 } /* while */ 564 } /* while */
@@ -1132,7 +1133,7 @@ static int rx_pkt(struct atm_dev *dev)
1132 IF_ERR(printk(" cause: packet time out\n");) 1133 IF_ERR(printk(" cause: packet time out\n");)
1133 } 1134 }
1134 else { 1135 else {
1135 IF_ERR(printk(" cause: buffer over flow\n");) 1136 IF_ERR(printk(" cause: buffer overflow\n");)
1136 } 1137 }
1137 goto out_free_desc; 1138 goto out_free_desc;
1138 } 1139 }
diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c
index cf97c34cbaf1..cbe15a86c669 100644
--- a/drivers/atm/lanai.c
+++ b/drivers/atm/lanai.c
@@ -55,6 +55,7 @@
55 */ 55 */
56 56
57#include <linux/module.h> 57#include <linux/module.h>
58#include <linux/slab.h>
58#include <linux/mm.h> 59#include <linux/mm.h>
59#include <linux/atmdev.h> 60#include <linux/atmdev.h>
60#include <asm/io.h> 61#include <asm/io.h>
@@ -306,11 +307,10 @@ static void vci_bitfield_iterate(struct lanai_dev *lanai,
306 const unsigned long *lp, 307 const unsigned long *lp,
307 void (*func)(struct lanai_dev *,vci_t vci)) 308 void (*func)(struct lanai_dev *,vci_t vci))
308{ 309{
309 vci_t vci = find_first_bit(lp, NUM_VCI); 310 vci_t vci;
310 while (vci < NUM_VCI) { 311
312 for_each_set_bit(vci, lp, NUM_VCI)
311 func(lanai, vci); 313 func(lanai, vci);
312 vci = find_next_bit(lp, NUM_VCI, vci + 1);
313 }
314} 314}
315 315
316/* -------------------- BUFFER UTILITIES: */ 316/* -------------------- BUFFER UTILITIES: */
@@ -998,9 +998,7 @@ static int __devinit eeprom_validate(struct lanai_dev *lanai)
998 (unsigned int) e[EEPROM_MAC_REV + i]); 998 (unsigned int) e[EEPROM_MAC_REV + i]);
999 return -EIO; 999 return -EIO;
1000 } 1000 }
1001 DPRINTK("eeprom: MAC address = %02X:%02X:%02X:%02X:%02X:%02X\n", 1001 DPRINTK("eeprom: MAC address = %pM\n", &e[EEPROM_MAC]);
1002 e[EEPROM_MAC + 0], e[EEPROM_MAC + 1], e[EEPROM_MAC + 2],
1003 e[EEPROM_MAC + 3], e[EEPROM_MAC + 4], e[EEPROM_MAC + 5]);
1004 /* Verify serial number */ 1002 /* Verify serial number */
1005 lanai->serialno = eeprom_be4(lanai, EEPROM_SERIAL); 1003 lanai->serialno = eeprom_be4(lanai, EEPROM_SERIAL);
1006 v = eeprom_be4(lanai, EEPROM_SERIAL_REV); 1004 v = eeprom_be4(lanai, EEPROM_SERIAL_REV);
@@ -2483,14 +2481,8 @@ static int lanai_proc_read(struct atm_dev *atmdev, loff_t *pos, char *page)
2483 return sprintf(page, "revision: board=%d, pci_if=%d\n", 2481 return sprintf(page, "revision: board=%d, pci_if=%d\n",
2484 lanai->board_rev, (int) lanai->pci->revision); 2482 lanai->board_rev, (int) lanai->pci->revision);
2485 if (left-- == 0) 2483 if (left-- == 0)
2486 return sprintf(page, "EEPROM ESI: " 2484 return sprintf(page, "EEPROM ESI: %pM\n",
2487 "%02X:%02X:%02X:%02X:%02X:%02X\n", 2485 &lanai->eeprom[EEPROM_MAC]);
2488 lanai->eeprom[EEPROM_MAC + 0],
2489 lanai->eeprom[EEPROM_MAC + 1],
2490 lanai->eeprom[EEPROM_MAC + 2],
2491 lanai->eeprom[EEPROM_MAC + 3],
2492 lanai->eeprom[EEPROM_MAC + 4],
2493 lanai->eeprom[EEPROM_MAC + 5]);
2494 if (left-- == 0) 2486 if (left-- == 0)
2495 return sprintf(page, "status: SOOL=%d, LOCD=%d, LED=%d, " 2487 return sprintf(page, "status: SOOL=%d, LOCD=%d, LED=%d, "
2496 "GPIN=%d\n", (lanai->status & STATUS_SOOL) ? 1 : 0, 2488 "GPIN=%d\n", (lanai->status & STATUS_SOOL) ? 1 : 0,
diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c
index 3da804b1627d..b7473a6110a7 100644
--- a/drivers/atm/nicstar.c
+++ b/drivers/atm/nicstar.c
@@ -49,6 +49,7 @@
49#include <linux/timer.h> 49#include <linux/timer.h>
50#include <linux/interrupt.h> 50#include <linux/interrupt.h>
51#include <linux/bitops.h> 51#include <linux/bitops.h>
52#include <linux/slab.h>
52#include <asm/io.h> 53#include <asm/io.h>
53#include <asm/uaccess.h> 54#include <asm/uaccess.h>
54#include <asm/atomic.h> 55#include <asm/atomic.h>
@@ -807,9 +808,7 @@ static int __devinit ns_init_card(int i, struct pci_dev *pcidev)
807 } 808 }
808 } 809 }
809 810
810 printk("nicstar%d: MAC address %02X:%02X:%02X:%02X:%02X:%02X\n", i, 811 printk("nicstar%d: MAC address %pM\n", i, card->atmdev->esi);
811 card->atmdev->esi[0], card->atmdev->esi[1], card->atmdev->esi[2],
812 card->atmdev->esi[3], card->atmdev->esi[4], card->atmdev->esi[5]);
813 812
814 card->atmdev->dev_data = card; 813 card->atmdev->dev_data = card;
815 card->atmdev->ci_range.vpi_bits = card->vpibits; 814 card->atmdev->ci_range.vpi_bits = card->vpibits;
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index c5f5186d62a3..ded76c4c9f4f 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -40,6 +40,7 @@
40#include <linux/firmware.h> 40#include <linux/firmware.h>
41#include <linux/ctype.h> 41#include <linux/ctype.h>
42#include <linux/swab.h> 42#include <linux/swab.h>
43#include <linux/slab.h>
43 44
44#define VERSION "0.07" 45#define VERSION "0.07"
45#define PTAG "solos-pci" 46#define PTAG "solos-pci"
@@ -142,6 +143,9 @@ MODULE_AUTHOR("Traverse Technologies <support@traverse.com.au>");
142MODULE_DESCRIPTION("Solos PCI driver"); 143MODULE_DESCRIPTION("Solos PCI driver");
143MODULE_VERSION(VERSION); 144MODULE_VERSION(VERSION);
144MODULE_LICENSE("GPL"); 145MODULE_LICENSE("GPL");
146MODULE_FIRMWARE("solos-FPGA.bin");
147MODULE_FIRMWARE("solos-Firmware.bin");
148MODULE_FIRMWARE("solos-db-FPGA.bin");
145MODULE_PARM_DESC(reset, "Reset Solos chips on startup"); 149MODULE_PARM_DESC(reset, "Reset Solos chips on startup");
146MODULE_PARM_DESC(atmdebug, "Print ATM data"); 150MODULE_PARM_DESC(atmdebug, "Print ATM data");
147MODULE_PARM_DESC(firmware_upgrade, "Initiate Solos firmware upgrade"); 151MODULE_PARM_DESC(firmware_upgrade, "Initiate Solos firmware upgrade");
@@ -528,34 +532,37 @@ static int flash_upgrade(struct solos_card *card, int chip)
528 int numblocks = 0; 532 int numblocks = 0;
529 int offset; 533 int offset;
530 534
531 if (chip == 0) { 535 switch (chip) {
536 case 0:
532 fw_name = "solos-FPGA.bin"; 537 fw_name = "solos-FPGA.bin";
533 blocksize = FPGA_BLOCK; 538 blocksize = FPGA_BLOCK;
534 } 539 break;
535 540 case 1:
536 if (chip == 1) {
537 fw_name = "solos-Firmware.bin"; 541 fw_name = "solos-Firmware.bin";
538 blocksize = SOLOS_BLOCK; 542 blocksize = SOLOS_BLOCK;
539 } 543 break;
540 544 case 2:
541 if (chip == 2){
542 if (card->fpga_version > LEGACY_BUFFERS){ 545 if (card->fpga_version > LEGACY_BUFFERS){
543 fw_name = "solos-db-FPGA.bin"; 546 fw_name = "solos-db-FPGA.bin";
544 blocksize = FPGA_BLOCK; 547 blocksize = FPGA_BLOCK;
545 } else { 548 } else {
546 dev_info(&card->dev->dev, "FPGA version doesn't support daughter board upgrades\n"); 549 dev_info(&card->dev->dev, "FPGA version doesn't support"
550 " daughter board upgrades\n");
547 return -EPERM; 551 return -EPERM;
548 } 552 }
549 } 553 break;
550 554 case 3:
551 if (chip == 3){
552 if (card->fpga_version > LEGACY_BUFFERS){ 555 if (card->fpga_version > LEGACY_BUFFERS){
553 fw_name = "solos-Firmware.bin"; 556 fw_name = "solos-Firmware.bin";
554 blocksize = SOLOS_BLOCK; 557 blocksize = SOLOS_BLOCK;
555 } else { 558 } else {
556 dev_info(&card->dev->dev, "FPGA version doesn't support daughter board upgrades\n"); 559 dev_info(&card->dev->dev, "FPGA version doesn't support"
557 return -EPERM; 560 " daughter board upgrades\n");
561 return -EPERM;
558 } 562 }
563 break;
564 default:
565 return -ENODEV;
559 } 566 }
560 567
561 if (request_firmware(&fw, fw_name, &card->dev->dev)) 568 if (request_firmware(&fw, fw_name, &card->dev->dev))
diff --git a/drivers/atm/suni.c b/drivers/atm/suni.c
index 6dd3f5919968..da4b91ffa53e 100644
--- a/drivers/atm/suni.c
+++ b/drivers/atm/suni.c
@@ -21,6 +21,7 @@
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/capability.h> 22#include <linux/capability.h>
23#include <linux/atm_suni.h> 23#include <linux/atm_suni.h>
24#include <linux/slab.h>
24#include <asm/system.h> 25#include <asm/system.h>
25#include <asm/param.h> 26#include <asm/param.h>
26#include <asm/uaccess.h> 27#include <asm/uaccess.h>
diff --git a/drivers/atm/uPD98402.c b/drivers/atm/uPD98402.c
index fc8cb07c2477..c45ae0573bbd 100644
--- a/drivers/atm/uPD98402.c
+++ b/drivers/atm/uPD98402.c
@@ -9,6 +9,7 @@
9#include <linux/atmdev.h> 9#include <linux/atmdev.h>
10#include <linux/sonet.h> 10#include <linux/sonet.h>
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/slab.h>
12#include <asm/uaccess.h> 13#include <asm/uaccess.h>
13#include <asm/atomic.h> 14#include <asm/atomic.h>
14 15
diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c
index 2e9635be048c..702accec89e9 100644
--- a/drivers/atm/zatm.c
+++ b/drivers/atm/zatm.c
@@ -21,6 +21,7 @@
21#include <linux/capability.h> 21#include <linux/capability.h>
22#include <linux/bitops.h> 22#include <linux/bitops.h>
23#include <linux/wait.h> 23#include <linux/wait.h>
24#include <linux/slab.h>
24#include <asm/byteorder.h> 25#include <asm/byteorder.h>
25#include <asm/system.h> 26#include <asm/system.h>
26#include <asm/string.h> 27#include <asm/string.h>