From f8d2bb2e07a7bc3f90ce6f911a063dcf8e5fcc86 Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Tue, 26 Mar 2024 20:40:18 +0800 Subject: [PATCH] media: i2c: cam-tb-setup add param of skip_frame_interval Signed-off-by: Zefa Chen Change-Id: I4e03f309aa952ddde028df5d845164a33aacbfb2 --- drivers/media/i2c/cam-tb-setup.c | 24 ++++++++++++++++++++++++ drivers/media/i2c/cam-tb-setup.h | 5 +++++ 2 files changed, 29 insertions(+) diff --git a/drivers/media/i2c/cam-tb-setup.c b/drivers/media/i2c/cam-tb-setup.c index e300dc62731c..ed5830710934 100644 --- a/drivers/media/i2c/cam-tb-setup.c +++ b/drivers/media/i2c/cam-tb-setup.c @@ -10,6 +10,7 @@ static u32 rk_cam_w; static u32 rk_cam_h; static u32 rk_cam_hdr; static u32 rk_cam_fps; +static u32 rk_cam_skip_frame_interval; static int __init rk_cam_w_setup(char *str) { @@ -91,7 +92,30 @@ u32 get_rk_cam_fps(void) } EXPORT_SYMBOL(get_rk_cam_fps); +static int __init __maybe_unused rk_cam_skip_frame_interval_setup(char *str) +{ + int ret = 0; + unsigned long val = 0; + + ret = kstrtoul(str, 0, &val); + if (!ret) { + rk_cam_skip_frame_interval = (u32)val; + } else { + rk_cam_skip_frame_interval = 0; + pr_err("get rk_cam_skip_frame_interval fail\n"); + } + + return 0; +} + +u32 get_rk_cam_skip_frame_interval(void) +{ + return rk_cam_skip_frame_interval; +} +EXPORT_SYMBOL(get_rk_cam_skip_frame_interval); + __setup("rk_cam_w=", rk_cam_w_setup); __setup("rk_cam_h=", rk_cam_h_setup); __setup("rk_cam_hdr=", rk_cam_hdr_setup); __setup("rk_cam_fps=", rk_cam_fps_setup); +__setup("rk_cam_skip_frame_interval=", rk_cam_skip_frame_interval_setup); diff --git a/drivers/media/i2c/cam-tb-setup.h b/drivers/media/i2c/cam-tb-setup.h index 61afc32c20b7..b7ae35d87ab9 100644 --- a/drivers/media/i2c/cam-tb-setup.h +++ b/drivers/media/i2c/cam-tb-setup.h @@ -11,6 +11,7 @@ u32 get_rk_cam_w(void); u32 get_rk_cam_h(void); u32 get_rk_cam_hdr(void); u32 get_rk_cam_fps(void); +u32 get_rk_cam_skip_frame_interval(void); #else static inline u32 get_rk_cam_w(void) { @@ -28,6 +29,10 @@ static inline u32 get_rk_cam_fps(void) { return 0; } +static inline u32 get_rk_cam_skip_frame_interval(void) +{ + return 0; +} #endif #endif