Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6429060a authored by derfelot's avatar derfelot Committed by Andreas Schneider
Browse files

msm: camera: Don't include laser LED support if SONY_CAM_V4L2 is set

This doesn't play nice with our proprietary libcammw library (and potentially others) and thus causes a failure to connect to camera sensor. So don't build it and ignore the respective definitions when using Sony camera (SONY_CAM_V4L2).
parent b3907f19
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@ ccflags-y += -Idrivers/media/platform/msm/camera_v2/camera
ccflags-y += -Idrivers/media/platform/msm/camera_v2/sensor/io
ccflags-y += -Idrivers/media/platform/msm/camera_v2/sensor/cci
obj-$(CONFIG_MSMB_CAMERA) += cci/ io/ csiphy/ csid/ actuator/ eeprom/ ois/ flash/ ir_led/ ir_cut/
ifndef CONFIG_SONY_CAM_V4L2
  obj-$(CONFIG_MSMB_CAMERA) += laser_led/
endif
obj-$(CONFIG_MSM_CAMERA_SENSOR) += msm_sensor_init.o msm_sensor_driver.o msm_sensor.o
obj-$(CONFIG_SONY_CAM_V4L2) += sony_camera_v4l2.o
+4 −0
Original line number Diff line number Diff line
@@ -297,6 +297,7 @@ static int32_t msm_sensor_fill_actuator_subdevid_by_name(
	return rc;
}

#ifndef CONFIG_SONY_CAM_V4L2
static int32_t msm_sensor_fill_laser_led_subdevid_by_name(
				struct msm_sensor_ctrl_t *s_ctrl)
{
@@ -335,6 +336,7 @@ static int32_t msm_sensor_fill_laser_led_subdevid_by_name(

	return rc;
}
#endif

static int32_t msm_sensor_fill_flash_subdevid_by_name(
				struct msm_sensor_ctrl_t *s_ctrl)
@@ -1020,11 +1022,13 @@ CSID_TG:
		pr_err("%s failed %d\n", __func__, __LINE__);
		goto free_camera_info;
	}
#ifndef CONFIG_SONY_CAM_V4L2
	rc = msm_sensor_fill_laser_led_subdevid_by_name(s_ctrl);
	if (rc < 0) {
		pr_err("%s failed %d\n", __func__, __LINE__);
		goto free_camera_info;
	}
#endif

	rc = msm_sensor_fill_ois_subdevid_by_name(s_ctrl);
	if (rc < 0) {
+4 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ struct msm_ir_cut_cfg_data_t32 {
	enum msm_ir_cut_cfg_type_t cfg_type;
};

#ifndef CONFIG_SONY_CAM_V4L2
struct msm_laser_led_cfg_data_t32 {
	enum msm_laser_led_cfg_type_t cfg_type;
	compat_uptr_t                 setting;
@@ -97,6 +98,7 @@ struct msm_laser_led_cfg_data_t32 {
	uint16_t                      i2c_addr;
	enum i2c_freq_mode_t          i2c_freq_mode;
};
#endif

struct eeprom_read_t32 {
	compat_uptr_t dbuffer;
@@ -301,8 +303,10 @@ struct msm_sensor_event_data32 {
#define VIDIOC_MSM_IR_CUT_CFG32 \
	_IOWR('V', BASE_VIDIOC_PRIVATE + 15, struct msm_ir_cut_cfg_data_t32)

#ifndef CONFIG_SONY_CAM_V4L2
#define VIDIOC_MSM_LASER_LED_CFG32 \
	_IOWR('V', BASE_VIDIOC_PRIVATE + 16, struct msm_laser_led_cfg_data_t32)
#endif

#endif

+6 −0
Original line number Diff line number Diff line
@@ -95,7 +95,9 @@ enum sensor_sub_module_t {
	SUB_MODULE_EXT,
	SUB_MODULE_IR_LED,
	SUB_MODULE_IR_CUT,
#ifndef CONFIG_SONY_CAM_V4L2
	SUB_MODULE_LASER_LED,
#endif
	SUB_MODULE_MAX,
};

@@ -309,6 +311,7 @@ struct msm_ir_cut_cfg_data_t {
	enum msm_ir_cut_cfg_type_t cfg_type;
};

#ifndef CONFIG_SONY_CAM_V4L2
struct msm_laser_led_cfg_data_t {
	enum msm_laser_led_cfg_type_t cfg_type;
	void __user                   *setting;
@@ -317,6 +320,7 @@ struct msm_laser_led_cfg_data_t {
	uint16_t                      i2c_addr;
	enum i2c_freq_mode_t          i2c_freq_mode;
};
#endif

struct msm_eeprom_cfg_data {
	enum eeprom_cfg_type_t cfgtype;
@@ -645,8 +649,10 @@ struct msm_sensor_event_data {
#define VIDIOC_MSM_IR_CUT_CFG \
	_IOWR('V', BASE_VIDIOC_PRIVATE + 15, struct msm_ir_cut_cfg_data_t)

#ifndef CONFIG_SONY_CAM_V4L2
#define VIDIOC_MSM_LASER_LED_CFG \
	_IOWR('V', BASE_VIDIOC_PRIVATE + 16, struct msm_laser_led_cfg_data_t)
#endif

#endif
+2 −0
Original line number Diff line number Diff line
@@ -213,12 +213,14 @@ enum msm_ir_led_cfg_type_t {
#define CFG_IR_LED_OFF CFG_IR_LED_OFF
#define CFG_IR_LED_ON CFG_IR_LED_ON

#ifndef CONFIG_SONY_CAM_V4L2
enum msm_laser_led_cfg_type_t {
	CFG_LASER_LED_INIT,
	CFG_LASER_LED_CONTROL,
};
#define CFG_LASER_LED_INIT CFG_LASER_LED_INIT
#define CFG_LASER_LED_CONTROL CFG_LASER_LED_CONTROL
#endif

enum msm_ir_cut_cfg_type_t {
	CFG_IR_CUT_INIT = 0,
Loading