/* Initialize v4l2 variables and register v4l2 devices */ int cx18_streams_setup(struct cx18 *cx) { int type, ret; /* Setup V4L2 Devices */ for (type = 0; type < CX18_MAX_STREAMS; type++) { /* Prepare device */ ret = cx18_prep_dev(cx, type); if (ret < 0) break; /* Allocate Stream */ ret = cx18_stream_alloc(&cx->streams[type]); if (ret < 0) break; } if (type == CX18_MAX_STREAMS) return 0; /* One or more streams could not be initialized. Clean 'em all up. */ cx18_streams_cleanup(cx, 0); return ret; }
int cx18_streams_setup(struct cx18 *cx) { int type, ret; for (type = 0; type < CX18_MAX_STREAMS; type++) { ret = cx18_prep_dev(cx, type); if (ret < 0) break; ret = cx18_stream_alloc(&cx->streams[type]); if (ret < 0) break; } if (type == CX18_MAX_STREAMS) return 0; cx18_streams_cleanup(cx, 0); return ret; }