diff --git a/drivers/media/video/mt9m001.c b/drivers/media/video/mt9m001.c
index 58cdced..63ae5c6 100644
--- a/drivers/media/video/mt9m001.c
+++ b/drivers/media/video/mt9m001.c
@@ -601,15 +601,9 @@
 				const struct v4l2_mbus_config *cfg)
 {
 	const struct i2c_client *client = v4l2_get_subdevdata(sd);
-	struct soc_camera_device *icd = soc_camera_from_i2c(client);
 	struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
-	/*
-	 * Cannot use icd->current_fmt->host_fmt->bits_per_sample, because that
-	 * is the number of bits, that the host has to sample, not the number of
-	 * bits, that we have to send. See mx3_camera.c for an example of 10-bit
-	 * formats being truncated to 8 bits by the host.
-	 */
-	unsigned int bps = soc_mbus_get_fmtdesc(icd->current_fmt->code)->bits_per_sample;
+	struct mt9m001 *mt9m001 = to_mt9m001(client);
+	unsigned int bps = soc_mbus_get_fmtdesc(mt9m001->fmt->code)->bits_per_sample;
 
 	if (icl->set_bus_param)
 		return icl->set_bus_param(icl, 1 << (bps - 1));
diff --git a/drivers/media/video/mt9v022.c b/drivers/media/video/mt9v022.c
index 72b179b..b6a29f7 100644
--- a/drivers/media/video/mt9v022.c
+++ b/drivers/media/video/mt9v022.c
@@ -700,23 +700,13 @@
 				 const struct v4l2_mbus_config *cfg)
 {
 	struct i2c_client *client = v4l2_get_subdevdata(sd);
-	struct soc_camera_device *icd = client->dev.platform_data;
-	struct soc_camera_link *icl = to_soc_camera_link(icd);
+	struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
 	struct mt9v022 *mt9v022 = to_mt9v022(client);
 	unsigned long flags = soc_camera_apply_board_flags(icl, cfg);
-	/*
-	 * Cannot use icd->current_fmt->host_fmt->bits_per_sample, because that
-	 * is the number of bits, that the host has to sample, not the number of
-	 * bits, that we have to send. See mx3_camera.c for an example of 10-bit
-	 * formats being truncated to 8 bits by the host.
-	 */
-	unsigned int bps = soc_mbus_get_fmtdesc(icd->current_fmt->code)->bits_per_sample;
+	unsigned int bps = soc_mbus_get_fmtdesc(mt9v022->fmt->code)->bits_per_sample;
 	int ret;
 	u16 pixclk = 0;
 
-	dev_dbg(icd->pdev, "set %d: %s, %dbps\n", icd->current_fmt->code,
-		icd->current_fmt->host_fmt->name, bps);
-
 	if (icl->set_bus_param) {
 		ret = icl->set_bus_param(icl, 1 << (bps - 1));
 		if (ret)
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index 67a52c7..dac5759 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -269,11 +269,6 @@
 	return soc_camera_to_subdev(icd);
 }
 
-static inline struct soc_camera_device *soc_camera_from_i2c(const struct i2c_client *client)
-{
-	return client->dev.platform_data;
-}
-
 static inline struct soc_camera_device *soc_camera_from_vb2q(const struct vb2_queue *vq)
 {
 	return container_of(vq, struct soc_camera_device, vb2_vidq);
