static void iss_unregister_entities(struct iss_device *iss) { omap4iss_resizer_unregister_entities(&iss->resizer); omap4iss_ipipe_unregister_entities(&iss->ipipe); omap4iss_ipipeif_unregister_entities(&iss->ipipeif); omap4iss_csi2_unregister_entities(&iss->csi2a); omap4iss_csi2_unregister_entities(&iss->csi2b); v4l2_device_unregister(&iss->v4l2_dev); media_device_unregister(&iss->media_dev); }
int omap4iss_csi2_register_entities(struct iss_csi2_device *csi2, struct v4l2_device *vdev) { int ret; /* Register the subdev and video nodes. */ ret = v4l2_device_register_subdev(vdev, &csi2->subdev); if (ret < 0) goto error; ret = omap4iss_video_register(&csi2->video_out, vdev); if (ret < 0) goto error; return 0; error: omap4iss_csi2_unregister_entities(csi2); return ret; }