]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
media: staging: media: atomisp: Refactor ia_css_stream_load()
authorMartiros Shakhzadyan <vrzh@vrzh.net>
Fri, 23 Apr 2021 16:12:29 +0000 (18:12 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 19 May 2021 07:51:38 +0000 (09:51 +0200)
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: Martiros Shakhzadyan <vrzh@vrzh.net>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/atomisp/pci/sh_css.c

index 0482bfa2c490fa7ff53d8dce23d6424f917c9dd3..f1a2ba99f90ee4166a65b8af748c98d5c81c9e26 100644 (file)
@@ -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;
-
-               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;
+       int i, j, err;
 
-                               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;
-
-                                                       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) {
-                                       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 {
+       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)
+                       continue;
+
+               for (j = 0; j < my_css_save.stream_seeds[i].num_pipes; 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)
+                       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;
+       }
+
+       ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_stream_load() exit,\n");
+       return 0;
 }
 
 int