static void teles_cs_release(dev_link_t *link) { local_info_t *local = link->priv; DEBUG(0, "teles_cs_release(0x%p)\n", link); if (local) { if (local->cardnr >= 0) { /* no unregister function with hisax */ HiSax_closecard(local->cardnr); } } /* Unlink the device chain */ link->dev = NULL; /* Don't bother checking to see if these succeed or not */ if (link->win) pcmcia_release_window(link->win); pcmcia_release_configuration(link->handle); pcmcia_release_io(link->handle, &link->io); pcmcia_release_irq(link->handle, &link->irq); link->state &= ~DEV_CONFIG; } /* teles_cs_release */
void hisax_unregister(struct hisax_d_if *hisax_d_if) { cards[hisax_d_if->cs->cardnr].typ = 0; HiSax_closecard(hisax_d_if->cs->cardnr); skb_queue_purge(&hisax_d_if->erq); }