diff options
-rw-r--r-- | drivers/net/wireless/airo.c | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c index d675d984c85d..d96057f4a0de 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c | |||
@@ -52,6 +52,8 @@ | |||
52 | 52 | ||
53 | #include "airo.h" | 53 | #include "airo.h" |
54 | 54 | ||
55 | #define DRV_NAME "airo" | ||
56 | |||
55 | #ifdef CONFIG_PCI | 57 | #ifdef CONFIG_PCI |
56 | static struct pci_device_id card_ids[] = { | 58 | static struct pci_device_id card_ids[] = { |
57 | { 0x14b9, 1, PCI_ANY_ID, PCI_ANY_ID, }, | 59 | { 0x14b9, 1, PCI_ANY_ID, PCI_ANY_ID, }, |
@@ -71,7 +73,7 @@ static int airo_pci_suspend(struct pci_dev *pdev, pm_message_t state); | |||
71 | static int airo_pci_resume(struct pci_dev *pdev); | 73 | static int airo_pci_resume(struct pci_dev *pdev); |
72 | 74 | ||
73 | static struct pci_driver airo_driver = { | 75 | static struct pci_driver airo_driver = { |
74 | .name = "airo", | 76 | .name = DRV_NAME, |
75 | .id_table = card_ids, | 77 | .id_table = card_ids, |
76 | .probe = airo_pci_probe, | 78 | .probe = airo_pci_probe, |
77 | .remove = __devexit_p(airo_pci_remove), | 79 | .remove = __devexit_p(airo_pci_remove), |
@@ -1250,7 +1252,7 @@ static int flashputbuf(struct airo_info *ai); | |||
1250 | static int flashrestart(struct airo_info *ai,struct net_device *dev); | 1252 | static int flashrestart(struct airo_info *ai,struct net_device *dev); |
1251 | 1253 | ||
1252 | #define airo_print(type, name, fmt, args...) \ | 1254 | #define airo_print(type, name, fmt, args...) \ |
1253 | { printk(type "airo(%s): " fmt "\n", name, ##args); } | 1255 | printk(type DRV_NAME "(%s): " fmt "\n", name, ##args) |
1254 | 1256 | ||
1255 | #define airo_print_info(name, fmt, args...) \ | 1257 | #define airo_print_info(name, fmt, args...) \ |
1256 | airo_print(KERN_INFO, name, fmt, ##args) | 1258 | airo_print(KERN_INFO, name, fmt, ##args) |
@@ -2582,8 +2584,7 @@ static int mpi_init_descriptors (struct airo_info *ai) | |||
2582 | * 2) Map PCI memory for issueing commands. | 2584 | * 2) Map PCI memory for issueing commands. |
2583 | * 3) Allocate memory (shared) to send and receive ethernet frames. | 2585 | * 3) Allocate memory (shared) to send and receive ethernet frames. |
2584 | */ | 2586 | */ |
2585 | static int mpi_map_card(struct airo_info *ai, struct pci_dev *pci, | 2587 | static int mpi_map_card(struct airo_info *ai, struct pci_dev *pci) |
2586 | const char *name) | ||
2587 | { | 2588 | { |
2588 | unsigned long mem_start, mem_len, aux_start, aux_len; | 2589 | unsigned long mem_start, mem_len, aux_start, aux_len; |
2589 | int rc = -1; | 2590 | int rc = -1; |
@@ -2597,35 +2598,35 @@ static int mpi_map_card(struct airo_info *ai, struct pci_dev *pci, | |||
2597 | aux_start = pci_resource_start(pci, 2); | 2598 | aux_start = pci_resource_start(pci, 2); |
2598 | aux_len = AUXMEMSIZE; | 2599 | aux_len = AUXMEMSIZE; |
2599 | 2600 | ||
2600 | if (!request_mem_region(mem_start, mem_len, name)) { | 2601 | if (!request_mem_region(mem_start, mem_len, DRV_NAME)) { |
2601 | airo_print_err(ai->dev->name, "Couldn't get region %x[%x] for %s", | 2602 | airo_print_err("", "Couldn't get region %x[%x]", |
2602 | (int)mem_start, (int)mem_len, name); | 2603 | (int)mem_start, (int)mem_len); |
2603 | goto out; | 2604 | goto out; |
2604 | } | 2605 | } |
2605 | if (!request_mem_region(aux_start, aux_len, name)) { | 2606 | if (!request_mem_region(aux_start, aux_len, DRV_NAME)) { |
2606 | airo_print_err(ai->dev->name, "Couldn't get region %x[%x] for %s", | 2607 | airo_print_err("", "Couldn't get region %x[%x]", |
2607 | (int)aux_start, (int)aux_len, name); | 2608 | (int)aux_start, (int)aux_len); |
2608 | goto free_region1; | 2609 | goto free_region1; |
2609 | } | 2610 | } |
2610 | 2611 | ||
2611 | ai->pcimem = ioremap(mem_start, mem_len); | 2612 | ai->pcimem = ioremap(mem_start, mem_len); |
2612 | if (!ai->pcimem) { | 2613 | if (!ai->pcimem) { |
2613 | airo_print_err(ai->dev->name, "Couldn't map region %x[%x] for %s", | 2614 | airo_print_err("", "Couldn't map region %x[%x]", |
2614 | (int)mem_start, (int)mem_len, name); | 2615 | (int)mem_start, (int)mem_len); |
2615 | goto free_region2; | 2616 | goto free_region2; |
2616 | } | 2617 | } |
2617 | ai->pciaux = ioremap(aux_start, aux_len); | 2618 | ai->pciaux = ioremap(aux_start, aux_len); |
2618 | if (!ai->pciaux) { | 2619 | if (!ai->pciaux) { |
2619 | airo_print_err(ai->dev->name, "Couldn't map region %x[%x] for %s", | 2620 | airo_print_err("", "Couldn't map region %x[%x]", |
2620 | (int)aux_start, (int)aux_len, name); | 2621 | (int)aux_start, (int)aux_len); |
2621 | goto free_memmap; | 2622 | goto free_memmap; |
2622 | } | 2623 | } |
2623 | 2624 | ||
2624 | /* Reserve PKTSIZE for each fid and 2K for the Rids */ | 2625 | /* Reserve PKTSIZE for each fid and 2K for the Rids */ |
2625 | ai->shared = pci_alloc_consistent(pci, PCI_SHARED_LEN, &ai->shared_dma); | 2626 | ai->shared = pci_alloc_consistent(pci, PCI_SHARED_LEN, &ai->shared_dma); |
2626 | if (!ai->shared) { | 2627 | if (!ai->shared) { |
2627 | airo_print_err(ai->dev->name, "Couldn't alloc_consistent %d", | 2628 | airo_print_err("", "Couldn't alloc_consistent %d", |
2628 | PCI_SHARED_LEN); | 2629 | PCI_SHARED_LEN); |
2629 | goto free_auxmap; | 2630 | goto free_auxmap; |
2630 | } | 2631 | } |
2631 | 2632 | ||
@@ -2770,7 +2771,7 @@ static int airo_networks_allocate(struct airo_info *ai) | |||
2770 | kzalloc(AIRO_MAX_NETWORK_COUNT * sizeof(BSSListElement), | 2771 | kzalloc(AIRO_MAX_NETWORK_COUNT * sizeof(BSSListElement), |
2771 | GFP_KERNEL); | 2772 | GFP_KERNEL); |
2772 | if (!ai->networks) { | 2773 | if (!ai->networks) { |
2773 | airo_print_warn(ai->dev->name, "Out of memory allocating beacons"); | 2774 | airo_print_warn("", "Out of memory allocating beacons"); |
2774 | return -ENOMEM; | 2775 | return -ENOMEM; |
2775 | } | 2776 | } |
2776 | 2777 | ||
@@ -2798,7 +2799,6 @@ static int airo_test_wpa_capable(struct airo_info *ai) | |||
2798 | { | 2799 | { |
2799 | int status; | 2800 | int status; |
2800 | CapabilityRid cap_rid; | 2801 | CapabilityRid cap_rid; |
2801 | const char *name = ai->dev->name; | ||
2802 | 2802 | ||
2803 | status = readCapabilityRid(ai, &cap_rid, 1); | 2803 | status = readCapabilityRid(ai, &cap_rid, 1); |
2804 | if (status != SUCCESS) return 0; | 2804 | if (status != SUCCESS) return 0; |
@@ -2806,12 +2806,12 @@ static int airo_test_wpa_capable(struct airo_info *ai) | |||
2806 | /* Only firmware versions 5.30.17 or better can do WPA */ | 2806 | /* Only firmware versions 5.30.17 or better can do WPA */ |
2807 | if ((cap_rid.softVer > 0x530) | 2807 | if ((cap_rid.softVer > 0x530) |
2808 | || ((cap_rid.softVer == 0x530) && (cap_rid.softSubVer >= 17))) { | 2808 | || ((cap_rid.softVer == 0x530) && (cap_rid.softSubVer >= 17))) { |
2809 | airo_print_info(name, "WPA is supported."); | 2809 | airo_print_info("", "WPA is supported."); |
2810 | return 1; | 2810 | return 1; |
2811 | } | 2811 | } |
2812 | 2812 | ||
2813 | /* No WPA support */ | 2813 | /* No WPA support */ |
2814 | airo_print_info(name, "WPA unsupported (only firmware versions 5.30.17" | 2814 | airo_print_info("", "WPA unsupported (only firmware versions 5.30.17" |
2815 | " and greater support WPA. Detected %s)", cap_rid.prodVer); | 2815 | " and greater support WPA. Detected %s)", cap_rid.prodVer); |
2816 | return 0; | 2816 | return 0; |
2817 | } | 2817 | } |
@@ -2825,14 +2825,10 @@ static struct net_device *_init_airo_card( unsigned short irq, int port, | |||
2825 | int i, rc; | 2825 | int i, rc; |
2826 | 2826 | ||
2827 | /* Create the network device object. */ | 2827 | /* Create the network device object. */ |
2828 | dev = alloc_etherdev(sizeof(*ai)); | 2828 | dev = alloc_netdev(sizeof(*ai), "", ether_setup); |
2829 | if (!dev) { | 2829 | if (!dev) { |
2830 | airo_print_err("", "Couldn't alloc_etherdev"); | 2830 | airo_print_err("", "Couldn't alloc_etherdev"); |
2831 | return NULL; | 2831 | return NULL; |
2832 | } | ||
2833 | if (dev_alloc_name(dev, dev->name) < 0) { | ||
2834 | airo_print_err("", "Couldn't get name!"); | ||
2835 | goto err_out_free; | ||
2836 | } | 2832 | } |
2837 | 2833 | ||
2838 | ai = dev->priv; | 2834 | ai = dev->priv; |
@@ -2841,7 +2837,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port, | |||
2841 | ai->jobs = 0; | 2837 | ai->jobs = 0; |
2842 | ai->dev = dev; | 2838 | ai->dev = dev; |
2843 | if (pci && (pci->device == 0x5000 || pci->device == 0xa504)) { | 2839 | if (pci && (pci->device == 0x5000 || pci->device == 0xa504)) { |
2844 | airo_print_dbg(dev->name, "Found an MPI350 card"); | 2840 | airo_print_dbg("", "Found an MPI350 card"); |
2845 | set_bit(FLAG_MPI, &ai->flags); | 2841 | set_bit(FLAG_MPI, &ai->flags); |
2846 | } | 2842 | } |
2847 | spin_lock_init(&ai->aux_lock); | 2843 | spin_lock_init(&ai->aux_lock); |
@@ -2882,7 +2878,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port, | |||
2882 | msleep(400); | 2878 | msleep(400); |
2883 | 2879 | ||
2884 | if (!is_pcmcia) { | 2880 | if (!is_pcmcia) { |
2885 | if (!request_region( dev->base_addr, 64, dev->name )) { | 2881 | if (!request_region(dev->base_addr, 64, DRV_NAME)) { |
2886 | rc = -EBUSY; | 2882 | rc = -EBUSY; |
2887 | airo_print_err(dev->name, "Couldn't request region"); | 2883 | airo_print_err(dev->name, "Couldn't request region"); |
2888 | goto err_out_nets; | 2884 | goto err_out_nets; |
@@ -2890,8 +2886,8 @@ static struct net_device *_init_airo_card( unsigned short irq, int port, | |||
2890 | } | 2886 | } |
2891 | 2887 | ||
2892 | if (test_bit(FLAG_MPI,&ai->flags)) { | 2888 | if (test_bit(FLAG_MPI,&ai->flags)) { |
2893 | if (mpi_map_card(ai, pci, dev->name)) { | 2889 | if (mpi_map_card(ai, pci)) { |
2894 | airo_print_err(dev->name, "Could not map memory"); | 2890 | airo_print_err("", "Could not map memory"); |
2895 | goto err_out_res; | 2891 | goto err_out_res; |
2896 | } | 2892 | } |
2897 | } | 2893 | } |
@@ -2919,6 +2915,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port, | |||
2919 | ai->bssListRidLen = sizeof(BSSListRid) - sizeof(BSSListRidExtra); | 2915 | ai->bssListRidLen = sizeof(BSSListRid) - sizeof(BSSListRidExtra); |
2920 | } | 2916 | } |
2921 | 2917 | ||
2918 | strcpy(dev->name, "eth%d"); | ||
2922 | rc = register_netdev(dev); | 2919 | rc = register_netdev(dev); |
2923 | if (rc) { | 2920 | if (rc) { |
2924 | airo_print_err(dev->name, "Couldn't register_netdev"); | 2921 | airo_print_err(dev->name, "Couldn't register_netdev"); |
@@ -4014,7 +4011,7 @@ static int bap_setup(struct airo_info *ai, u16 rid, u16 offset, int whichbap ) | |||
4014 | } | 4011 | } |
4015 | if ( !(max_tries--) ) { | 4012 | if ( !(max_tries--) ) { |
4016 | airo_print_err(ai->dev->name, | 4013 | airo_print_err(ai->dev->name, |
4017 | "airo: BAP setup error too many retries\n"); | 4014 | "BAP setup error too many retries\n"); |
4018 | return ERROR; | 4015 | return ERROR; |
4019 | } | 4016 | } |
4020 | // -- PC4500 missed it, try again | 4017 | // -- PC4500 missed it, try again |