int omap4iss_ipipeif_register_entities(struct iss_ipipeif_device *ipipeif, struct v4l2_device *vdev) { int ret; /* Register the subdev and video node. */ ret = v4l2_device_register_subdev(vdev, &ipipeif->subdev); if (ret < 0) goto error; ret = omap4iss_video_register(&ipipeif->video_out, vdev); if (ret < 0) goto error; return 0; error: omap4iss_ipipeif_unregister_entities(ipipeif); return ret; }
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; }