Esempio n. 1
0
static void au0828_usb_release(struct au0828_dev *dev)
{
	/* I2C */
	au0828_i2c_unregister(dev);

	kfree(dev);
}
static void au0828_usb_disconnect(struct usb_interface *interface)
{
	struct au0828_dev *dev = usb_get_intfdata(interface);

	dprintk(1, "%s()\n", __func__);

	/* Digital TV */
	au0828_dvb_unregister(dev);

	if (AUVI_INPUT(0).type != AU0828_VMUX_UNDEFINED)
		au0828_analog_unregister(dev);

	/* I2C */
	au0828_i2c_unregister(dev);

	v4l2_device_unregister(&dev->v4l2_dev);

	usb_set_intfdata(interface, NULL);

	mutex_lock(&dev->mutex);
	dev->usbdev = NULL;
	mutex_unlock(&dev->mutex);

	kfree(dev);

}
Esempio n. 3
0
void au0828_usb_release(struct au0828_dev *dev)
{
	au0828_unregister_media_device(dev);

	/* I2C */
	au0828_i2c_unregister(dev);

	kfree(dev);
}
Esempio n. 4
0
static void au0828_usb_disconnect(struct usb_interface *interface)
{
    struct au0828_dev *dev = usb_get_intfdata(interface);

    dprintk(1, "%s()\n", __func__);

    /* Digital TV */
    au0828_dvb_unregister(dev);

    /* I2C */
    au0828_i2c_unregister(dev);

    usb_set_intfdata(interface, NULL);

    mutex_lock(&dev->mutex);
    dev->usbdev = NULL;
    mutex_unlock(&dev->mutex);

    kfree(dev);

}