aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ov6650.c
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2011-09-21 14:16:30 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-11-03 16:28:58 -0400
commit14178aa57ce6ac4f05b4df8ea9e010486ce83a76 (patch)
tree992b8ae46ddad4f16c0d5d7b8fa3ab2a84b4e50e /drivers/media/video/ov6650.c
parent09362ec25c3f42d00a4008d0622bfbca68e540f5 (diff)
[media] V4L: soc-camera: start removing struct soc_camera_device from client drivers
Remove most trivial uses of struct soc_camera_device from most client drivers, abstracting some of them inside inline functions. Next steps will eliminate remaining uses and modify inline functions to not use struct soc_camera_device. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/ov6650.c')
-rw-r--r--drivers/media/video/ov6650.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/media/video/ov6650.c b/drivers/media/video/ov6650.c
index efa45132c992..f060eaaf916f 100644
--- a/drivers/media/video/ov6650.c
+++ b/drivers/media/video/ov6650.c
@@ -820,8 +820,7 @@ static int ov6650_prog_dflt(struct i2c_client *client)
820 return ret; 820 return ret;
821} 821}
822 822
823static int ov6650_video_probe(struct soc_camera_device *icd, 823static int ov6650_video_probe(struct i2c_client *client)
824 struct i2c_client *client)
825{ 824{
826 u8 pidh, pidl, midh, midl; 825 u8 pidh, pidl, midh, midl;
827 int ret = 0; 826 int ret = 0;
@@ -875,8 +874,7 @@ static int ov6650_g_mbus_config(struct v4l2_subdev *sd,
875 struct v4l2_mbus_config *cfg) 874 struct v4l2_mbus_config *cfg)
876{ 875{
877 struct i2c_client *client = v4l2_get_subdevdata(sd); 876 struct i2c_client *client = v4l2_get_subdevdata(sd);
878 struct soc_camera_device *icd = client->dev.platform_data; 877 struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
879 struct soc_camera_link *icl = to_soc_camera_link(icd);
880 878
881 cfg->flags = V4L2_MBUS_MASTER | 879 cfg->flags = V4L2_MBUS_MASTER |
882 V4L2_MBUS_PCLK_SAMPLE_RISING | V4L2_MBUS_PCLK_SAMPLE_FALLING | 880 V4L2_MBUS_PCLK_SAMPLE_RISING | V4L2_MBUS_PCLK_SAMPLE_FALLING |
@@ -894,8 +892,7 @@ static int ov6650_s_mbus_config(struct v4l2_subdev *sd,
894 const struct v4l2_mbus_config *cfg) 892 const struct v4l2_mbus_config *cfg)
895{ 893{
896 struct i2c_client *client = v4l2_get_subdevdata(sd); 894 struct i2c_client *client = v4l2_get_subdevdata(sd);
897 struct soc_camera_device *icd = client->dev.platform_data; 895 struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
898 struct soc_camera_link *icl = to_soc_camera_link(icd);
899 unsigned long flags = soc_camera_apply_board_flags(icl, cfg); 896 unsigned long flags = soc_camera_apply_board_flags(icl, cfg);
900 int ret; 897 int ret;
901 898
@@ -948,16 +945,9 @@ static int ov6650_probe(struct i2c_client *client,
948 const struct i2c_device_id *did) 945 const struct i2c_device_id *did)
949{ 946{
950 struct ov6650 *priv; 947 struct ov6650 *priv;
951 struct soc_camera_device *icd = client->dev.platform_data; 948 struct soc_camera_link *icl = soc_camera_i2c_to_link(client);
952 struct soc_camera_link *icl;
953 int ret; 949 int ret;
954 950
955 if (!icd) {
956 dev_err(&client->dev, "Missing soc-camera data!\n");
957 return -EINVAL;
958 }
959
960 icl = to_soc_camera_link(icd);
961 if (!icl) { 951 if (!icl) {
962 dev_err(&client->dev, "Missing platform_data for driver\n"); 952 dev_err(&client->dev, "Missing platform_data for driver\n");
963 return -EINVAL; 953 return -EINVAL;
@@ -1020,7 +1010,7 @@ static int ov6650_probe(struct i2c_client *client,
1020 priv->code = V4L2_MBUS_FMT_YUYV8_2X8; 1010 priv->code = V4L2_MBUS_FMT_YUYV8_2X8;
1021 priv->colorspace = V4L2_COLORSPACE_JPEG; 1011 priv->colorspace = V4L2_COLORSPACE_JPEG;
1022 1012
1023 ret = ov6650_video_probe(icd, client); 1013 ret = ov6650_video_probe(client);
1024 if (!ret) 1014 if (!ret)
1025 ret = v4l2_ctrl_handler_setup(&priv->hdl); 1015 ret = v4l2_ctrl_handler_setup(&priv->hdl);
1026 1016