Lines Matching refs:ipw

64 	struct ipw_dev *ipw = container_of(work_reboot, struct ipw_dev,  in signalled_reboot_work()  local
66 struct pcmcia_device *link = ipw->link; in signalled_reboot_work()
72 struct ipw_dev *ipw = (struct ipw_dev *) callback_data; in signalled_reboot_callback() local
75 schedule_work(&ipw->work_reboot); in signalled_reboot_callback()
80 struct ipw_dev *ipw = priv_data; in ipwireless_probe() local
112 ipw->is_v2_card = resource_size(p_dev->resource[2]) == 0x100; in ipwireless_probe()
114 ipw->common_memory = ioremap(p_dev->resource[2]->start, in ipwireless_probe()
134 ipw->attr_memory = ioremap(p_dev->resource[3]->start, in ipwireless_probe()
146 iounmap(ipw->attr_memory); in ipwireless_probe()
151 iounmap(ipw->common_memory); in ipwireless_probe()
160 static int config_ipwireless(struct ipw_dev *ipw) in config_ipwireless() argument
162 struct pcmcia_device *link = ipw->link; in config_ipwireless()
165 ipw->is_v2_card = 0; in config_ipwireless()
169 ret = pcmcia_loop_config(link, ipwireless_probe, ipw); in config_ipwireless()
173 INIT_WORK(&ipw->work_reboot, signalled_reboot_work); in config_ipwireless()
175 ipwireless_init_hardware_v1(ipw->hardware, link->resource[0]->start, in config_ipwireless()
176 ipw->attr_memory, ipw->common_memory, in config_ipwireless()
177 ipw->is_v2_card, signalled_reboot_callback, in config_ipwireless()
178 ipw); in config_ipwireless()
185 ipw->is_v2_card ? "V2/V3" : "V1"); in config_ipwireless()
189 if (ipw->attr_memory && ipw->common_memory) in config_ipwireless()
195 ipw->network = ipwireless_network_create(ipw->hardware); in config_ipwireless()
196 if (!ipw->network) in config_ipwireless()
199 ipw->tty = ipwireless_tty_create(ipw->hardware, ipw->network); in config_ipwireless()
200 if (!ipw->tty) in config_ipwireless()
203 ipwireless_init_hardware_v2_v3(ipw->hardware); in config_ipwireless()
216 if (ipw->common_memory) { in config_ipwireless()
219 iounmap(ipw->common_memory); in config_ipwireless()
221 if (ipw->attr_memory) { in config_ipwireless()
224 iounmap(ipw->attr_memory); in config_ipwireless()
230 static void release_ipwireless(struct ipw_dev *ipw) in release_ipwireless() argument
232 release_region(ipw->link->resource[0]->start, in release_ipwireless()
233 resource_size(ipw->link->resource[0])); in release_ipwireless()
234 if (ipw->common_memory) { in release_ipwireless()
235 release_mem_region(ipw->link->resource[2]->start, in release_ipwireless()
236 resource_size(ipw->link->resource[2])); in release_ipwireless()
237 iounmap(ipw->common_memory); in release_ipwireless()
239 if (ipw->attr_memory) { in release_ipwireless()
240 release_mem_region(ipw->link->resource[3]->start, in release_ipwireless()
241 resource_size(ipw->link->resource[3])); in release_ipwireless()
242 iounmap(ipw->attr_memory); in release_ipwireless()
244 pcmcia_disable_device(ipw->link); in release_ipwireless()
258 struct ipw_dev *ipw; in ipwireless_attach() local
261 ipw = kzalloc(sizeof(struct ipw_dev), GFP_KERNEL); in ipwireless_attach()
262 if (!ipw) in ipwireless_attach()
265 ipw->link = link; in ipwireless_attach()
266 link->priv = ipw; in ipwireless_attach()
268 ipw->hardware = ipwireless_hardware_create(); in ipwireless_attach()
269 if (!ipw->hardware) { in ipwireless_attach()
270 kfree(ipw); in ipwireless_attach()
275 ret = config_ipwireless(ipw); in ipwireless_attach()
293 struct ipw_dev *ipw = link->priv; in ipwireless_detach() local
295 release_ipwireless(ipw); in ipwireless_detach()
297 if (ipw->tty != NULL) in ipwireless_detach()
298 ipwireless_tty_free(ipw->tty); in ipwireless_detach()
299 if (ipw->network != NULL) in ipwireless_detach()
300 ipwireless_network_free(ipw->network); in ipwireless_detach()
301 if (ipw->hardware != NULL) in ipwireless_detach()
302 ipwireless_hardware_free(ipw->hardware); in ipwireless_detach()
303 kfree(ipw); in ipwireless_detach()