AnsweredAssumed Answered

[ADV7611]Updating EDID from user space.

Question asked by ravi1 on Mar 13, 2015
Latest reply on Mar 23, 2015 by ravi1

I am registering the v4l2 subdevice using "v4l2_async_register_subdev()" at the end of the probe function of adv7611 driver.Video input port driver is registering using video_register_device() which is creating device node in /dev(say /dev/video0).

 

When I calls VIDIOC_G_EDID, VIDIOC_S_EDID ioctls on the device node(/dev/video0), it is failing. I think all ioctls calls on the device node(/dev/video0) is going from video port driver to adv7611 driver.

 

I have updated v4l2_subdev_pad_ops in v4l2_subdev_ops. Do i need to do any other registration in the adv7611 probe function, so that VIDIOC_G_EDID, VIDIOC_S_EDID won't fail.

 

static const struct v4l2_subdev_pad_ops adv7604_pad_ops = {

  .get_edid = adv7604_get_edid,

  .set_edid = adv7604_set_edid,

};

static const struct v4l2_subdev_ops adv7604_ops = {

  .video = &adv7604_video_ops,

  .pad = &adv7604_pad_ops,

};

Outcomes