diff options
-rw-r--r-- | drivers/media/video/mt9m001.c | 10 | ||||
-rw-r--r-- | drivers/media/video/mt9v022.c | 14 | ||||
-rw-r--r-- | include/media/soc_camera.h | 5 |
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 | ||
272 | static inline struct soc_camera_device *soc_camera_from_i2c(const struct i2c_client *client) | ||
273 | { | ||
274 | return client->dev.platform_data; | ||
275 | } | ||
276 | |||
277 | static inline struct soc_camera_device *soc_camera_from_vb2q(const struct vb2_queue *vq) | 272 | static 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); |