Lines Matching refs:ipw

65 	struct ipw_dev *ipw = container_of(work_reboot, struct ipw_dev,  in signalled_reboot_work()  local
67 struct pcmcia_device *link = ipw->link; in signalled_reboot_work()
73 struct ipw_dev *ipw = (struct ipw_dev *) callback_data; in signalled_reboot_callback() local
76 schedule_work(&ipw->work_reboot); in signalled_reboot_callback()
81 struct ipw_dev *ipw = priv_data; in ipwireless_probe() local
113 ipw->is_v2_card = resource_size(p_dev->resource[2]) == 0x100; in ipwireless_probe()
115 ipw->common_memory = ioremap(p_dev->resource[2]->start, in ipwireless_probe()
135 ipw->attr_memory = ioremap(p_dev->resource[3]->start, in ipwireless_probe()
147 iounmap(ipw->attr_memory); in ipwireless_probe()
152 iounmap(ipw->common_memory); in ipwireless_probe()
161 static int config_ipwireless(struct ipw_dev *ipw) in config_ipwireless() argument
163 struct pcmcia_device *link = ipw->link; in config_ipwireless()
166 ipw->is_v2_card = 0; in config_ipwireless()
170 ret = pcmcia_loop_config(link, ipwireless_probe, ipw); in config_ipwireless()
174 INIT_WORK(&ipw->work_reboot, signalled_reboot_work); in config_ipwireless()
176 ipwireless_init_hardware_v1(ipw->hardware, link->resource[0]->start, in config_ipwireless()
177 ipw->attr_memory, ipw->common_memory, in config_ipwireless()
178 ipw->is_v2_card, signalled_reboot_callback, in config_ipwireless()
179 ipw); in config_ipwireless()
186 ipw->is_v2_card ? "V2/V3" : "V1"); in config_ipwireless()
190 if (ipw->attr_memory && ipw->common_memory) in config_ipwireless()
196 ipw->network = ipwireless_network_create(ipw->hardware); in config_ipwireless()
197 if (!ipw->network) in config_ipwireless()
200 ipw->tty = ipwireless_tty_create(ipw->hardware, ipw->network); in config_ipwireless()
201 if (!ipw->tty) in config_ipwireless()
204 ipwireless_init_hardware_v2_v3(ipw->hardware); in config_ipwireless()
217 if (ipw->common_memory) { in config_ipwireless()
220 iounmap(ipw->common_memory); in config_ipwireless()
222 if (ipw->attr_memory) { in config_ipwireless()
225 iounmap(ipw->attr_memory); in config_ipwireless()
231 static void release_ipwireless(struct ipw_dev *ipw) in release_ipwireless() argument
233 release_region(ipw->link->resource[0]->start, in release_ipwireless()
234 resource_size(ipw->link->resource[0])); in release_ipwireless()
235 if (ipw->common_memory) { in release_ipwireless()
236 release_mem_region(ipw->link->resource[2]->start, in release_ipwireless()
237 resource_size(ipw->link->resource[2])); in release_ipwireless()
238 iounmap(ipw->common_memory); in release_ipwireless()
240 if (ipw->attr_memory) { in release_ipwireless()
241 release_mem_region(ipw->link->resource[3]->start, in release_ipwireless()
242 resource_size(ipw->link->resource[3])); in release_ipwireless()
243 iounmap(ipw->attr_memory); in release_ipwireless()
245 pcmcia_disable_device(ipw->link); in release_ipwireless()
259 struct ipw_dev *ipw; in ipwireless_attach() local
262 ipw = kzalloc(sizeof(struct ipw_dev), GFP_KERNEL); in ipwireless_attach()
263 if (!ipw) in ipwireless_attach()
266 ipw->link = link; in ipwireless_attach()
267 link->priv = ipw; in ipwireless_attach()
269 ipw->hardware = ipwireless_hardware_create(); in ipwireless_attach()
270 if (!ipw->hardware) { in ipwireless_attach()
271 kfree(ipw); in ipwireless_attach()
276 ret = config_ipwireless(ipw); in ipwireless_attach()
294 struct ipw_dev *ipw = link->priv; in ipwireless_detach() local
296 release_ipwireless(ipw); in ipwireless_detach()
298 if (ipw->tty != NULL) in ipwireless_detach()
299 ipwireless_tty_free(ipw->tty); in ipwireless_detach()
300 if (ipw->network != NULL) in ipwireless_detach()
301 ipwireless_network_free(ipw->network); in ipwireless_detach()
302 if (ipw->hardware != NULL) in ipwireless_detach()
303 ipwireless_hardware_free(ipw->hardware); in ipwireless_detach()
304 kfree(ipw); in ipwireless_detach()