 +		return -EINVAL;
 +
 +	code->code = MEDIA_BUS_FMT_YUYV8_2X8;
++
++	return 0;
++}
++
++static int ov10635_get_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
++{
++	struct i2c_client *client = v4l2_get_subdevdata(sd);
++	struct ov10635_priv *priv = to_ov10635(client);
++
++	memcpy(edid->edid, priv->id, 5);
 +
 +	return 0;
 +}

 
 	return 0;
diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
index 5fa9e26..daab7ff 100644
--- a/drivers/media/platform/soc_camera/rcar_vin.c
+++ b/drivers/media/platform/soc_camera/rcar_vin.c
@@ -730,10 +730,13 @@ struct rcar_vin_priv {

 drivers/media/i2c/soc_camera/Makefile              |    4 +
 drivers/media/i2c/soc_camera/max9286_max9271.c     |  467 ++++++++
 drivers/media/i2c/soc_camera/max9286_max9271.h     |  231 ++++
 .../media/i2c/soc_camera/max9286_max9271_ov10635.c |  613 +++++++++++
 .../media/i2c/soc_camera/max9286_max9271_ov10635.h | 1149 ++++++++++++++++++++
 .../media/i2c/soc_camera/max9286_max9271_ov106xx.c |   93 ++
 .../i2c/soc_camera/max9286_max9271_ov490_ov10640.c |  737 +++++++++++++
 .../i2c/soc_camera/max9286_max9271_ov490_ov10640.h |   35 +
 drivers/media/platform/soc_camera/rcar_csi2.c      |  159 ++-
 drivers/media/platform/soc_camera/rcar_vin.c       |   78 +-
 drivers/media/platform/soc_camera/soc_camera.c     |   15 +-
 drivers/media/platform/soc_camera/soc_mediabus.c   |   16 +
 include/media/drv-intf/soc_mediabus.h              |    3 +
 include/media/soc_camera.h                         |    1 +
 15 files changed, 3536 insertions(+), 97 deletions(-)
 create mode 100644 drivers/media/i2c/soc_camera/max9286_max9271.c
 create mode 100644 drivers/media/i2c/soc_camera/max9286_max9271.h
 create mode 100644 drivers/media/i2c/soc_camera/max9286_max9271_ov10635.c
