media: atomisp: atomisp_v4l2.c: set wdt timers according with ISP version
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 22 Apr 2020 12:06:58 +0000 (14:06 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 20 May 2020 10:32:16 +0000 (12:32 +0200)
Add a runtime check to use the proper wdt timer init at runtime,
depending on the chipset revision.

For now, we can't get rid of the remaining version checks, as
the rest of the code is not prepared yet to detect the ISP
version on runtime.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c

index 55bb513b933ae049654d35317ede56ddb549ad5b..ef7a83c5f4593c13258bc555a61fe12dd0c7f5bc 100644 (file)
@@ -1148,14 +1148,17 @@ static int init_atomisp_wdts(struct atomisp_device *isp)
 
        for (i = 0; i < isp->num_of_streams; i++) {
                struct atomisp_sub_device *asd = &isp->asd[i];
-#ifndef ISP2401
-               timer_setup(&asd->wdt, atomisp_wdt, 0);
-#else
-               timer_setup(&asd->video_out_capture.wdt, atomisp_wdt, 0);
-               timer_setup(&asd->video_out_preview.wdt, atomisp_wdt, 0);
-               timer_setup(&asd->video_out_vf.wdt, atomisp_wdt, 0);
-               timer_setup(&asd->video_out_video_capture.wdt, atomisp_wdt, 0);
-#endif
+               if (!atomisp_hw_is_isp2401)
+                       timer_setup(&asd->wdt, atomisp_wdt, 0);
+               else {
+                       timer_setup(&asd->video_out_capture.wdt,
+                                   atomisp_wdt, 0);
+                       timer_setup(&asd->video_out_preview.wdt,
+                                   atomisp_wdt, 0);
+                       timer_setup(&asd->video_out_vf.wdt, atomisp_wdt, 0);
+                       timer_setup(&asd->video_out_video_capture.wdt,
+                                   atomisp_wdt, 0);
+               }
        }
        return 0;
 alloc_fail: