Beispiel #1
0
static int omap24xxcam_remove(struct platform_device *pdev)
{
	struct omap24xxcam_device *cam = platform_get_drvdata(pdev);

	if (!cam)
		return 0;

	if (omap24xxcam.priv != NULL)
		v4l2_int_device_unregister(&omap24xxcam);
	omap24xxcam.priv = NULL;

	omap24xxcam_clock_put(cam);

	if (cam->irq) {
		free_irq(cam->irq, cam);
		cam->irq = 0;
	}

	if (cam->mmio_base) {
		iounmap((void *)cam->mmio_base);
		cam->mmio_base = 0;
	}

	if (cam->mmio_base_phys) {
		release_mem_region(cam->mmio_base_phys, cam->mmio_size);
		cam->mmio_base_phys = 0;
	}

	v4l2_device_unregister(&cam->v4l2_dev);

	kfree(cam);

	return 0;
}
Beispiel #2
0
/**
 * rt8515_exit - Module cleanup.
 **/
static void __exit rt8515_exit(void)
{

	v4l2_int_device_unregister(&rt8515_int_device);

	platform_driver_unregister(&rt8515_driver);
}
Beispiel #3
0
static int __exit adp1653_remove(struct i2c_client *client)
{
	struct adp1653_flash *flash = i2c_get_clientdata(client);

	if (!client->adapter)
		return -ENODEV;	/* our client isn't attached */

	v4l2_int_device_unregister(flash->v4l2_int_device);
	i2c_set_clientdata(client, NULL);

	return 0;
}
static int adv7610_video_remove(struct i2c_client *client)
{
	v4l2_int_device_unregister(&adv7610_int_device);

	return 0;
}