Quellcode durchsuchen

msm: camera: cci: Fix cam_cci_get_subdev for conditional compilation

Fixes cci_get_subdev to return NULL or computed value depending on
camera driver configuration.

CRs-Fixed: 2554484
Change-Id: I79933ddf28e2c0d23739308b57b5b40d3b56d78e
Signed-off-by: Karthik Jayakumar <[email protected]>
Karthik Jayakumar vor 5 Jahren
Ursprung
Commit
b46dcb39c4

+ 9 - 2
drivers/cam_sensor_module/cam_cci/cam_cci_dev.c

@@ -14,9 +14,16 @@ static struct v4l2_subdev *g_cci_subdev[MAX_CCI];
 
 struct v4l2_subdev *cam_cci_get_subdev(int cci_dev_index)
 {
+	struct v4l2_subdev *sub_device = NULL;
+
 	if (cci_dev_index < MAX_CCI)
-		return g_cci_subdev[cci_dev_index];
-	return NULL;
+		sub_device = g_cci_subdev[cci_dev_index];
+	else
+		CAM_WARN(CAM_CCI, "Index: %u is beyond max num CCI allowed: %u",
+			cci_dev_index,
+			MAX_CCI);
+
+	return sub_device;
 }
 
 static long cam_cci_subdev_ioctl(struct v4l2_subdev *sd,

+ 1 - 8
drivers/cam_sensor_module/cam_cci/cam_cci_dev.h

@@ -298,14 +298,7 @@ struct cci_write_async {
 
 irqreturn_t cam_cci_irq(int irq_num, void *data);
 
-#ifdef CONFIG_SPECTRA_CAMERA
-extern struct v4l2_subdev *cam_cci_get_subdev(int cci_dev_index);
-#else
-static inline struct v4l2_subdev *cam_cci_get_subdev(int cci_dev_index)
-{
-	return NULL;
-}
-#endif
+struct v4l2_subdev *cam_cci_get_subdev(int cci_dev_index);
 
 #define VIDIOC_MSM_CCI_CFG \
 	_IOWR('V', BASE_VIDIOC_PRIVATE + 23, struct cam_cci_ctrl *)