aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/mt9m001.c10
-rw-r--r--drivers/media/video/mt9v022.c14
-rw-r--r--include/media/soc_camera.h5
3 files changed, 4 insertions, 25 deletions
diff --git a/drivers/media/video/mt9m001.c b/drivers/media/video/mt9m001.c
index 58cdcedf53de..63ae5c61c9bf 100644
--- a/drivers/media/video/mt9m001.c
+++ b/drivers/media/video/mt9m001.c
@@ -601,15 +601,9 @@ static int mt9m001_s_mbus_config(struct v4l2_subdev *sd,
601 const struct v4l2_mbus_config *cfg) 601 const struct v4l2_mbus_config *cfg)
602{ 602{
603 const struct i2c_client *client = v4l2_get_subdevdata(sd); 603 const struct i2c_client *client = v4l2_get_subdevdata(sd);
604 struct soc_camera_device *icd = soc_camera_from_i2c(client);
605 struct soc_camera_link *icl = soc_camera_i2c_to_link(client); 604 struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
606 /* 605 struct mt9m001 *mt9m001 = to_mt9m001(client);
607 * Cannot use icd->current_fmt->host_fmt->bits_per_sample, because that 606 unsigned int bps = soc_mbus_get_fmtdesc(mt9m001->fmt->code)->bits_per_sample;
608 * is the number of bits, that the host has to sample, not the number of
609 * bits, that we have to send. See mx3_camera.c for an example of 10-bit
610 * formats being truncated to 8 bits by the host.
611 */
612 unsigned int bps = soc_mbus_get_fmtdesc(icd->current_fmt->code)->bits_per_sample;
613 607
614 if (icl->set_bus_param) 608 if (icl->set_bus_param)
615 return icl->set_bus_param(icl, 1 << (bps - 1)); 609 return icl->set_bus_param(icl, 1 << (bps - 1));
diff --git a/drivers/media/video/mt9v022.c b/drivers/media/video/mt9v022.c
index 72b179b2ad6c..b6a29f7de82c 100644
--- a/drivers/media/video/mt9v022.c
+++ b/drivers/media/video/mt9v022.c
@@ -700,23 +700,13 @@ static int mt9v022_s_mbus_config(struct v4l2_subdev *sd,
700 const struct v4l2_mbus_config *cfg) 700 const struct v4l2_mbus_config *cfg)
701{ 701{
702 struct i2c_client *client = v4l2_get_subdevdata(sd); 702 struct i2c_client *client = v4l2_get_subdevdata(sd);
703 struct soc_camera_device *icd = client->dev.platform_data; 703 struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
704 struct soc_camera_link *icl = to_soc_camera_link(icd);
705 struct mt9v022 *mt9v022 = to_mt9v022(client); 704 struct mt9v022 *mt9v022 = to_mt9v022(client);
706 unsigned long flags = soc_camera_apply_board_flags(icl, cfg); 705 unsigned long flags = soc_camera_apply_board_flags(icl, cfg);
707 /* 706 unsigned int bps = soc_mbus_get_fmtdesc(mt9v022->fmt->code)->bits_per_sample;
708 * Cannot use icd->current_fmt->host_fmt->bits_per_sample, because that
709 * is the number of bits, that the host has to sample, not the number of
710 * bits, that we have to send. See mx3_camera.c for an example of 10-bit
711 * formats being truncated to 8 bits by the host.
712 */
713 unsigned int bps = soc_mbus_get_fmtdesc(icd->current_fmt->code)->bits_per_sample;
714 int ret; 707 int ret;
715 u16 pixclk = 0; 708 u16 pixclk = 0;
716 709
717 dev_dbg(icd->pdev, "set %d: %s, %dbps\n", icd->current_fmt->code,
718 icd->current_fmt->host_fmt->name, bps);
719
720 if (icl->set_bus_param) { 710 if (icl->set_bus_param) {
721 ret = icl->set_bus_param(icl, 1 << (bps - 1)); 711 ret = icl->set_bus_param(icl, 1 << (bps - 1));
722 if (ret) 712 if (ret)
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index 67a52c729eff..dac57598ee57 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -269,11 +269,6 @@ static inline struct v4l2_subdev *soc_camera_vdev_to_subdev(const struct video_d
269 return soc_camera_to_subdev(icd); 269 return soc_camera_to_subdev(icd);
270} 270}
271 271
272static inline struct soc_camera_device *soc_camera_from_i2c(const struct i2c_client *client)
273{
274 return client->dev.platform_data;
275}
276
277static inline struct soc_camera_device *soc_camera_from_vb2q(const struct vb2_queue *vq) 272static inline struct soc_camera_device *soc_camera_from_vb2q(const struct vb2_queue *vq)
278{ 273{
279 return container_of(vq, struct soc_camera_device, vb2_vidq); 274 return container_of(vq, struct soc_camera_device, vb2_vidq);