void altera_ci_release(void *dev, int ci_nr) { struct fpga_inode *temp_int = find_inode(dev); struct altera_ci_state *state = NULL; ci_dbg_print("%s\n", __func__); if (temp_int != NULL) { state = temp_int->internal->state[ci_nr - 1]; altera_hw_filt_release(dev, ci_nr); if (((temp_int->internal->filts_used) <= 0) && ((--(temp_int->internal->cis_used)) <= 0)) { ci_dbg_print("%s: Actually removing\n", __func__); remove_inode(temp_int->internal); kfree(state->internal); } if (state != NULL) { if (state->ca.data != NULL) dvb_ca_en50221_release(&state->ca); kfree(state); } } }
void mantis_ca_exit(struct mantis_pci *mantis) { struct mantis_ca *ca = mantis->mantis_ca; dprintk(MANTIS_DEBUG, 1, "Mantis CA exit"); mantis_evmgr_exit(ca); dprintk(MANTIS_ERROR, 1, "Unregistering EN50221 device"); if (ca) dvb_ca_en50221_release(&ca->en50221); kfree(ca); }
void netup_unidvb_ci_unregister(struct netup_unidvb_dev *dev, int num) { struct netup_ci_state *state; dev_dbg(&dev->pci_dev->dev, "%s()\n", __func__); if (num < 0 || num > 1) { dev_err(&dev->pci_dev->dev, "%s(): invalid CI adapter %d\n", __func__, num); return; } state = &dev->ci[num]; dvb_ca_en50221_release(&state->ca); }
void tbs_ci_release(struct tbs_adapter *adap) { struct tbs_ci_state *state; if (NULL == adap) return; state = (struct tbs_ci_state *)adap->adap_priv; if (NULL == state) return; if (NULL == state->ca.data) return; dvb_ca_en50221_release(&state->ca); //memset(&state->ca, 0, sizeof(state->ca)); kfree(state); }
static void az6007_ci_uninit(struct dvb_usb_device *d) { struct az6007_device_state *state; deb_info("%s", __func__); if (NULL == d) return; state = (struct az6007_device_state *)d->priv; if (NULL == state) return; if (NULL == state->ca.data) return; dvb_ca_en50221_release(&state->ca); memset(&state->ca, 0, sizeof(state->ca)); }
static void az6007_ci_uninit(struct dvb_usb_device *d) { struct az6007_device_state *state; pr_debug("%s()\n", __func__); if (NULL == d) return; state = d_to_priv(d); if (NULL == state) return; if (NULL == state->ca.data) return; dvb_ca_en50221_release(&state->ca); memset(&state->ca, 0, sizeof(state->ca)); }