On Fri Feb 14 18:52:38 2025 +0800, Bingbu Cao wrote:
> The bus_info in v4l2_capability of IPU6 isys v4l2_dev is missing.
> The driver didn't set the dev_parent of v4l2_dev, its parent is set
> to its parent auxdev which is neither platform nor PCI device, thus
> media_set_bus_info() will not set the bus_info of v4l2_capability, then
> `v4l2-ctl --all` cannot show the bus_info.
> 
> This patch fixes it by setting the dev_parent of video_device and v4l2
> framework can detect the device type and set the bus_info instead.
> 
> Fixes: 3c1dfb5a69cf ("media: intel/ipu6: input system video nodes and buffer 
> queues")
> Cc: sta...@vger.kernel.org
> Signed-off-by: Hidenori Kobayashi <hideno...@chromium.org>
> Signed-off-by: Bingbu Cao <bingbu....@intel.com>
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 1 +
 1 file changed, 1 insertion(+)

---

diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c 
b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
index 387963529adb..959869a88556 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c
@@ -1296,6 +1296,7 @@ int ipu6_isys_video_init(struct ipu6_isys_video *av)
        av->vdev.release = video_device_release_empty;
        av->vdev.fops = &isys_fops;
        av->vdev.v4l2_dev = &av->isys->v4l2_dev;
+       av->vdev.dev_parent = &av->isys->adev->isp->pdev->dev;
        if (!av->vdev.ioctl_ops)
                av->vdev.ioctl_ops = &ipu6_v4l2_ioctl_ops;
        av->vdev.queue = &av->aq.vbq;

Reply via email to