mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
media: atomisp: Remove gmin_platform VCM code.
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 <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
e838b8c69e
commit
74350ed078
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user