Commit 58a32883 authored by Martiros Shakhzadyan's avatar Martiros Shakhzadyan Committed by Mauro Carvalho Chehab
Browse files

media: staging: media: atomisp: Refactor ia_css_stream_load()



Move the support check to the beginning of the function.
Change the logic to avoid multiple nesting blocks.
Move 'err' variable assignment outside of the if statement.
Remove an unnecessary check whether 'j' is zero.

Signed-off-by: default avatarMartiros Shakhzadyan <vrzh@vrzh.net>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 7796e455
Loading
Loading
Loading
Loading
+36 −37
Original line number Diff line number Diff line
@@ -9657,48 +9657,47 @@ ia_css_stream_get_info(const struct ia_css_stream *stream,
int
ia_css_stream_load(struct ia_css_stream *stream)
{
	if (!IS_ISP2401) {
		int i;
		int err;
	int i, j, err;

	if (IS_ISP2401) {
		/* TODO remove function - DEPRECATED */
		(void)stream;
		return -ENOTSUPP;
	}

	assert(stream);
	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,	"ia_css_stream_load() enter,\n");
	for (i = 0; i < MAX_ACTIVE_STREAMS; i++) {
			if (my_css_save.stream_seeds[i].stream == stream) {
				int j;
		if (my_css_save.stream_seeds[i].stream != stream)
			continue;

		for (j = 0; j < my_css_save.stream_seeds[i].num_pipes; j++) {
					if ((err = ia_css_pipe_create(&my_css_save.stream_seeds[i].pipe_config[j],
								    &my_css_save.stream_seeds[i].pipes[j])) != 0) {
						if (j) {
			int k;

			err = ia_css_pipe_create(&my_css_save.stream_seeds[i].pipe_config[j],
						 &my_css_save.stream_seeds[i].pipes[j]);
			if (!err)
				continue;

			for (k = 0; k < j; k++)
				ia_css_pipe_destroy(my_css_save.stream_seeds[i].pipes[k]);
						}
			return err;
		}
				}
		err = ia_css_stream_create(&my_css_save.stream_seeds[i].stream_config,
					   my_css_save.stream_seeds[i].num_pipes,
					   my_css_save.stream_seeds[i].pipes,
					   &my_css_save.stream_seeds[i].stream);
				if (err) {
		if (!err)
			break;

		ia_css_stream_destroy(stream);
		for (j = 0; j < my_css_save.stream_seeds[i].num_pipes; j++)
			ia_css_pipe_destroy(my_css_save.stream_seeds[i].pipes[j]);
		return err;
	}
				break;
			}
		}

	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,	"ia_css_stream_load() exit,\n");
	return 0;
	} else {
		/* TODO remove function - DEPRECATED */
		(void)stream;
		return -ENOTSUPP;
	}
}

int