From b8e3b3e3cee01d3787bf3b4e646c5d8eccef55bf Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Tue, 19 Jul 2022 20:32:48 +0800 Subject: [PATCH] media: i2c: sensor adapter support get/set dphy param with multi dev Signed-off-by: Zefa Chen Change-Id: I4eb2a62e01eb9290d83e71532c3f6cef14c7df9c --- drivers/media/i2c/sensor_adapter.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/media/i2c/sensor_adapter.c b/drivers/media/i2c/sensor_adapter.c index 50625f975c31..ce1ba2e37cb8 100644 --- a/drivers/media/i2c/sensor_adapter.c +++ b/drivers/media/i2c/sensor_adapter.c @@ -85,6 +85,7 @@ struct sensor { struct sensor_mode *cur_mode; struct rkmodule_bus_config bus_config; struct sensor_crop crop; + struct rkmodule_csi_dphy_param dphy_param; u32 module_index; const char *module_facing; const char *module_name; @@ -721,15 +722,14 @@ end_set_reg: break; case RKMODULE_SET_CSI_DPHY_PARAM: dphy_param = (struct rkmodule_csi_dphy_param *)arg; - if (dphy_param->vendor == rk3588_dcphy_param.vendor) - rk3588_dcphy_param = *dphy_param; + if (dphy_param->vendor == PHY_VENDOR_SAMSUNG) + sensor->dphy_param = *dphy_param; dev_dbg(&sensor->client->dev, "sensor set dphy param\n"); break; case RKMODULE_GET_CSI_DPHY_PARAM: dphy_param = (struct rkmodule_csi_dphy_param *)arg; - if (dphy_param->vendor == rk3588_dcphy_param.vendor) - *dphy_param = rk3588_dcphy_param; + *dphy_param = sensor->dphy_param; dev_dbg(&sensor->client->dev, "sensor get dphy param\n"); case RKMODULE_SET_SENSOR_INFOS: @@ -1383,6 +1383,7 @@ static int sensor_probe(struct i2c_client *client, sensor->is_link = false; sensor->sync_mode = NO_SYNC_MODE; sensor->crop.is_enable = false; + sensor->dphy_param = rk3588_dcphy_param; sd = &sensor->subdev; v4l2_i2c_subdev_init(sd, client, &sensor_subdev_ops); ret = sensor_initialize_controls(sensor);