Updates for Surface Duo 2
This commit is contained in:
Родитель
5b238dc24d
Коммит
855a73f942
|
@ -3946,13 +3946,13 @@ int cam_vfe_bus_ver3_init(
|
|||
|
||||
deinit_vfe_out:
|
||||
if (i < 0)
|
||||
i = CAM_VFE_BUS_VER3_VFE_OUT_MAX;
|
||||
i = bus_priv->num_out;
|
||||
for (--i; i >= 0; i--)
|
||||
cam_vfe_bus_ver3_deinit_vfe_out_resource(&bus_priv->vfe_out[i]);
|
||||
|
||||
deinit_comp_grp:
|
||||
if (i < 0)
|
||||
i = bus_priv->num_comp_grp;
|
||||
i = bus_priv->num_comp_grp; /* MSCHANGE */
|
||||
for (--i; i >= 0; i--)
|
||||
cam_vfe_bus_ver3_deinit_comp_grp(&bus_priv->comp_grp[i]);
|
||||
|
||||
|
@ -4000,7 +4000,7 @@ int cam_vfe_bus_ver3_deinit(
|
|||
bus_priv->common_data.hw_init = false;
|
||||
spin_unlock_irqrestore(&bus_priv->common_data.spin_lock, flags);
|
||||
|
||||
for (i = 0; i < CAM_VFE_BUS_VER3_COMP_GRP_MAX; i++) {
|
||||
for (i = 0; i < bus_priv->num_comp_grp; i++) { /* MSCHANGE */
|
||||
rc = cam_vfe_bus_ver3_deinit_comp_grp(&bus_priv->comp_grp[i]);
|
||||
if (rc < 0)
|
||||
CAM_ERR(CAM_ISP,
|
||||
|
@ -4008,7 +4008,7 @@ int cam_vfe_bus_ver3_deinit(
|
|||
bus_priv->common_data.core_index, i, rc);
|
||||
}
|
||||
|
||||
for (i = 0; i < CAM_VFE_BUS_VER3_VFE_OUT_MAX; i++) {
|
||||
for (i = 0; i < bus_priv->num_out; i++) { /* MSCHANGE */
|
||||
rc = cam_vfe_bus_ver3_deinit_vfe_out_resource(
|
||||
&bus_priv->vfe_out[i]);
|
||||
if (rc < 0)
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
static struct v4l2_subdev *g_cci_subdev[MAX_CCI];
|
||||
static struct dentry *debugfs_root;
|
||||
static int debugfs_root_users = 0; /* MSCHANGE */
|
||||
|
||||
struct v4l2_subdev *cam_cci_get_subdev(int cci_dev_index)
|
||||
{
|
||||
|
@ -417,6 +418,7 @@ static int cam_cci_create_debugfs_entry(struct cci_device *cci_dev)
|
|||
goto end;
|
||||
}
|
||||
debugfs_root = dbgfileptr;
|
||||
debugfs_root_users++; /* MSCHANGE */
|
||||
}
|
||||
|
||||
if (cci_dev->soc_info.index == 0) {
|
||||
|
@ -542,13 +544,12 @@ static void cam_cci_component_unbind(struct device *dev,
|
|||
{
|
||||
int rc = 0;
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
|
||||
struct v4l2_subdev *subdev = platform_get_drvdata(pdev);
|
||||
struct cci_device *cci_dev =
|
||||
v4l2_get_subdevdata(subdev);
|
||||
struct cci_device *cci_dev = v4l2_get_subdevdata(subdev);
|
||||
|
||||
cam_cpas_unregister_client(cci_dev->cpas_handle);
|
||||
debugfs_remove_recursive(debugfs_root);
|
||||
if (debugfs_root_users-- == 0) /* MSCHANGE */
|
||||
debugfs_remove_recursive(debugfs_root);
|
||||
cam_cci_soc_remove(pdev, cci_dev);
|
||||
rc = cam_unregister_subdev(&(cci_dev->v4l2_dev_str));
|
||||
if (rc < 0)
|
||||
|
|
|
@ -932,9 +932,13 @@ static void cam_res_mgr_component_unbind(struct device *dev,
|
|||
{
|
||||
if (cam_res) {
|
||||
cam_res_mgr_free_res();
|
||||
devm_pinctrl_put(cam_res->pinctrl);
|
||||
cam_res->pinctrl = NULL;
|
||||
cam_res->pstatus = PINCTRL_STATUS_PUT;
|
||||
/* MSCHANGE start */
|
||||
if (cam_res->pinctrl) {
|
||||
devm_pinctrl_put(cam_res->pinctrl);
|
||||
cam_res->pinctrl = NULL;
|
||||
cam_res->pstatus = PINCTRL_STATUS_PUT;
|
||||
}
|
||||
/* MSCHANGE end */
|
||||
kfree(cam_res);
|
||||
cam_res = NULL;
|
||||
}
|
||||
|
|
|
@ -89,6 +89,7 @@ int32_t camera_io_dev_read(struct camera_io_master *io_master_info,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(camera_io_dev_read); /* MSCHANGE */
|
||||
|
||||
int32_t camera_io_dev_read_seq(struct camera_io_master *io_master_info,
|
||||
uint32_t addr, uint8_t *data,
|
||||
|
@ -114,6 +115,7 @@ int32_t camera_io_dev_read_seq(struct camera_io_master *io_master_info,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(camera_io_dev_read_seq); /* MSCHANGE */
|
||||
|
||||
int32_t camera_io_dev_write(struct camera_io_master *io_master_info,
|
||||
struct cam_sensor_i2c_reg_setting *write_setting)
|
||||
|
@ -145,6 +147,7 @@ int32_t camera_io_dev_write(struct camera_io_master *io_master_info,
|
|||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(camera_io_dev_write); /* MSCHANGE */
|
||||
|
||||
int32_t camera_io_dev_write_continuous(struct camera_io_master *io_master_info,
|
||||
struct cam_sensor_i2c_reg_setting *write_setting,
|
||||
|
@ -177,6 +180,7 @@ int32_t camera_io_dev_write_continuous(struct camera_io_master *io_master_info,
|
|||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(camera_io_dev_write_continuous); /* MSCHANGE */
|
||||
|
||||
int32_t camera_io_init(struct camera_io_master *io_master_info)
|
||||
{
|
||||
|
@ -197,6 +201,7 @@ int32_t camera_io_init(struct camera_io_master *io_master_info)
|
|||
|
||||
return -EINVAL;
|
||||
}
|
||||
EXPORT_SYMBOL(camera_io_init); /* MSCHANGE */
|
||||
|
||||
int32_t camera_io_release(struct camera_io_master *io_master_info)
|
||||
{
|
||||
|
@ -215,3 +220,4 @@ int32_t camera_io_release(struct camera_io_master *io_master_info)
|
|||
|
||||
return -EINVAL;
|
||||
}
|
||||
EXPORT_SYMBOL(camera_io_release); /* MSCHANGE */
|
||||
|
|
Загрузка…
Ссылка в новой задаче