67 #include <linux/kernel.h>
68 #include <linux/sched.h>
69 #include <linux/ptrace.h>
70 #include <linux/ctype.h>
71 #include <linux/string.h>
77 #include <asm/bitops.h>
79 #include <linux/netdevice.h>
82 #include <linux/if_arp.h>
84 #include <linux/module.h>
109 extern dbg_info_t *DbgInfo;
132 static int wl_adapter_attach(
struct pcmcia_device *
link)
143 DBG_ERROR(DbgInfo,
"wl_device_alloc returned NULL\n");
148 link->resource[0]->flags= IO_DATA_PATH_WIDTH_16;
149 link->config_flags |= CONF_ENABLE_IRQ;
150 link->config_index = 5;
151 link->config_regs = PRESENT_OPTION;
166 static void wl_adapter_detach(
struct pcmcia_device *link)
173 DBG_PARAM(DbgInfo,
"link",
"0x%p", link);
192 DBG_PARAM(DbgInfo,
"link",
"0x%p", link);
203 static int wl_adapter_suspend(
struct pcmcia_device *link)
216 static int wl_adapter_resume(
struct pcmcia_device *link)
235 DBG_PARAM(DbgInfo,
"link",
"0x%p", link);
240 link->config_flags |= CONF_ENABLE_IRQ;
255 dev->
irq = link->irq;
256 dev->
base_addr = link->resource[0]->start;
303 struct pcmcia_device *link = lp->link;
355 struct pcmcia_device *link = lp->link;
367 DBG_TRACE(DbgInfo,
"%s: Shutting down adapter.\n", dev->
name);
378 #if !((HCF_TYPE) & HCF_TYPE_HII5)
379 PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0003),
380 PCMCIA_DEVICE_PROD_ID12(
"Agere Systems",
"Wireless PC Card Model 0110",
381 0x33103a9b, 0xe175b0dd),
383 PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0004),
384 PCMCIA_DEVICE_PROD_ID12(
"Linksys",
"WCF54G_Wireless-G_CompactFlash_Card",
385 0x0733cc81, 0x98a599e1),
391 static struct pcmcia_driver wlags49_driver = {
394 .probe = wl_adapter_attach,
395 .remove = wl_adapter_detach,
396 .id_table = wl_adapter_ids,
397 .suspend = wl_adapter_suspend,
398 .resume = wl_adapter_resume,
428 DBG_TRACE(DbgInfo,
"wl_adapter_init_module() -- PCMCIA\n");
457 DBG_FUNC(
"wl_adapter_cleanup_module");
459 DBG_TRACE(DbgInfo,
"wl_adapter_cleanup_module() -- PCMCIA\n");
492 struct pcmcia_device *link = lp->link;