This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: atomisp: Remove gmin_platform VCM code.
Author:  Hans de Goede <hdego...@redhat.com>
Date:    Sun Apr 14 14:57:43 2024 +0100

VCM support has already been removed from the main atomisp driver
in commit 7473c97dd8d0 ("media: atomisp: Remove custom VCM handling")
remove the left-over dead VCM handling from the gmin platform code.

Reviewed-by: Andy Shevchenko <a...@kernel.org>
Signed-off-by: Hans de Goede <hdego...@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mche...@kernel.org>

 .../atomisp/include/linux/atomisp_gmin_platform.h  |  3 --
 .../media/atomisp/include/linux/atomisp_platform.h | 21 ----------
 .../media/atomisp/pci/atomisp_gmin_platform.c      | 47 ----------------------
 3 files changed, 71 deletions(-)

---

diff --git 
a/drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h 
b/drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h
index 711e8fb3464f..ecd82220f04a 100644
--- a/drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h
+++ b/drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h
@@ -28,7 +28,4 @@ gmin_camera_platform_data(
     struct v4l2_subdev *subdev,
     enum atomisp_input_format csi_format,
     enum atomisp_bayer_order csi_bayer);
-
-int atomisp_gmin_register_vcm_control(struct camera_vcm_control *);
-
 #endif
diff --git a/drivers/staging/media/atomisp/include/linux/atomisp_platform.h 
b/drivers/staging/media/atomisp/include/linux/atomisp_platform.h
index 51e7b199e005..098859bde86f 100644
--- a/drivers/staging/media/atomisp/include/linux/atomisp_platform.h
+++ b/drivers/staging/media/atomisp/include/linux/atomisp_platform.h
@@ -147,25 +147,6 @@ struct atomisp_input_stream_info {
        struct atomisp_isys_config_info isys_info[MAX_STREAMS_PER_CHANNEL];
 };
 
-struct camera_vcm_control;
-struct camera_vcm_ops {
-       int (*power_up)(struct v4l2_subdev *sd, struct camera_vcm_control *vcm);
-       int (*power_down)(struct v4l2_subdev *sd,
-                         struct camera_vcm_control *vcm);
-       int (*queryctrl)(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc,
-                        struct camera_vcm_control *vcm);
-       int (*g_ctrl)(struct v4l2_subdev *sd, struct v4l2_control *ctrl,
-                     struct camera_vcm_control *vcm);
-       int (*s_ctrl)(struct v4l2_subdev *sd, struct v4l2_control *ctrl,
-                     struct camera_vcm_control *vcm);
-};
-
-struct camera_vcm_control {
-       char camera_module[CAMERA_MODULE_ID_LEN];
-       struct camera_vcm_ops *ops;
-       struct list_head list;
-};
-
 struct camera_sensor_platform_data {
        int (*flisclk_ctrl)(struct v4l2_subdev *subdev, int flag);
        int (*csi_cfg)(struct v4l2_subdev *subdev, int flag);
@@ -179,8 +160,6 @@ struct camera_sensor_platform_data {
        int (*v1p8_ctrl)(struct v4l2_subdev *subdev, int on);
        int (*v2p8_ctrl)(struct v4l2_subdev *subdev, int on);
        int (*v1p2_ctrl)(struct v4l2_subdev *subdev, int on);
-       struct camera_vcm_control *(*get_vcm_ctrl)(struct v4l2_subdev *subdev,
-               char *module_id);
 };
 
 struct camera_mipi_info {
diff --git a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c 
b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c
index aba69cf97785..e12354820a3a 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c
@@ -75,7 +75,6 @@ struct gmin_subdev {
        struct regulator *v1p8_reg;
        struct regulator *v2p8_reg;
        struct regulator *v1p2_reg;
-       struct regulator *v2p8_vcm_reg;
        enum atomisp_camera_port csi_port;
        unsigned int csi_lanes;
        enum atomisp_input_format csi_fmt;
@@ -85,7 +84,6 @@ struct gmin_subdev {
        bool v1p8_on;
        bool v2p8_on;
        bool v1p2_on;
-       bool v2p8_vcm_on;
 
        int v1p8_gpio;
        int v2p8_gpio;
@@ -133,9 +131,6 @@ static const struct atomisp_platform_data pdata = {
        .subdevs = pdata_subdevs,
 };
 
-static LIST_HEAD(vcm_devices);
-static DEFINE_MUTEX(vcm_lock);
-
 static struct gmin_subdev *find_gmin_subdev(struct v4l2_subdev *subdev);
 
 const struct atomisp_platform_data *atomisp_get_platform_data(void)
@@ -214,7 +209,6 @@ int atomisp_gmin_remove_subdev(struct v4l2_subdev *sd)
                                regulator_put(gmin_subdevs[i].v1p8_reg);
                                regulator_put(gmin_subdevs[i].v2p8_reg);
                                regulator_put(gmin_subdevs[i].v1p2_reg);
-                               regulator_put(gmin_subdevs[i].v2p8_vcm_reg);
                        }
                        gmin_subdevs[i].subdev = NULL;
                }
@@ -664,7 +658,6 @@ static int gmin_subdev_add(struct gmin_subdev *gs)
                gs->v2p8_reg = regulator_get(dev, "V2P8SX");
 
                gs->v1p2_reg = regulator_get(dev, "V1P2A");
-               gs->v2p8_vcm_reg = regulator_get(dev, "VPROG4B");
 
                /* Note: ideally we would initialize v[12]p8_on to the
                 * output of regulator_is_enabled(), but sadly that
@@ -1167,31 +1160,6 @@ void atomisp_unregister_subdev(struct v4l2_subdev 
*subdev)
 }
 EXPORT_SYMBOL_GPL(atomisp_unregister_subdev);
 
-static struct camera_vcm_control *gmin_get_vcm_ctrl(struct v4l2_subdev *subdev,
-       char *camera_module)
-{
-       struct i2c_client *client = v4l2_get_subdevdata(subdev);
-       struct gmin_subdev *gs = find_gmin_subdev(subdev);
-       struct camera_vcm_control *vcm;
-
-       if (!client || !gs)
-               return NULL;
-
-       if (!camera_module)
-               return NULL;
-
-       mutex_lock(&vcm_lock);
-       list_for_each_entry(vcm, &vcm_devices, list) {
-               if (!strcmp(camera_module, vcm->camera_module)) {
-                       mutex_unlock(&vcm_lock);
-                       return vcm;
-               }
-       }
-
-       mutex_unlock(&vcm_lock);
-       return NULL;
-}
-
 static struct camera_sensor_platform_data pmic_gmin_plat = {
        .gpio0_ctrl = gmin_gpio0_ctrl,
        .gpio1_ctrl = gmin_gpio1_ctrl,
@@ -1200,7 +1168,6 @@ static struct camera_sensor_platform_data pmic_gmin_plat 
= {
        .v1p2_ctrl = gmin_v1p2_ctrl,
        .flisclk_ctrl = gmin_flisclk_ctrl,
        .csi_cfg = gmin_csi_cfg,
-       .get_vcm_ctrl = gmin_get_vcm_ctrl,
 };
 
 static struct camera_sensor_platform_data acpi_gmin_plat = {
@@ -1211,7 +1178,6 @@ static struct camera_sensor_platform_data acpi_gmin_plat 
= {
        .v1p2_ctrl = gmin_acpi_pm_ctrl,
        .flisclk_ctrl = gmin_acpi_pm_ctrl,
        .csi_cfg = gmin_csi_cfg,
-       .get_vcm_ctrl = gmin_get_vcm_ctrl,
 };
 
 struct camera_sensor_platform_data *
@@ -1236,19 +1202,6 @@ gmin_camera_platform_data(struct v4l2_subdev *subdev,
 }
 EXPORT_SYMBOL_GPL(gmin_camera_platform_data);
 
-int atomisp_gmin_register_vcm_control(struct camera_vcm_control *vcmCtrl)
-{
-       if (!vcmCtrl)
-               return -EINVAL;
-
-       mutex_lock(&vcm_lock);
-       list_add_tail(&vcmCtrl->list, &vcm_devices);
-       mutex_unlock(&vcm_lock);
-
-       return 0;
-}
-EXPORT_SYMBOL_GPL(atomisp_gmin_register_vcm_control);
-
 static int gmin_get_hardcoded_var(struct device *dev,
                                  struct gmin_cfg_var *varlist,
                                  const char *var8, char *out, size_t *out_len)

Reply via email to