drivers/media/platform/verisilicon/hantro_drv.c | 2 -- drivers/media/platform/verisilicon/hantro_v4l2.c | 2 -- 2 files changed, 4 deletions(-)
The Hantro driver uses a hardcoded value for the bus_info field in the
media device and |struct v4l2_capability|. This worked well when there
was just one device. However with the iMX.8 series we are now seeing
two Hantro blocks on the same chip. The static bus_info is no longer
sufficient for differentiating devices.
Since commit f2d8b6917f3b ("media: v4l: ioctl: Set bus_info in
v4l_querycap()"), the V4L2 core provides a default value for the
bus_info field for platform and PCI devices. This value will match
the default value for media devices added by commit cef699749f37
("media: mc: Set bus_info in media_device_init()"). These defaults
are stable and device-specific.
Drop the static bus_info values from the hantro driver and use the
defaults.
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v1:
- Dropped unrelated Makefile change
drivers/media/platform/verisilicon/hantro_drv.c | 2 --
drivers/media/platform/verisilicon/hantro_v4l2.c | 2 --
2 files changed, 4 deletions(-)
diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
index 8cb4a68c9119..b0aeedae7b65 100644
--- a/drivers/media/platform/verisilicon/hantro_drv.c
+++ b/drivers/media/platform/verisilicon/hantro_drv.c
@@ -1050,8 +1050,6 @@ static int hantro_probe(struct platform_device *pdev)
vpu->mdev.dev = vpu->dev;
strscpy(vpu->mdev.model, DRIVER_NAME, sizeof(vpu->mdev.model));
- strscpy(vpu->mdev.bus_info, "platform: " DRIVER_NAME,
- sizeof(vpu->mdev.bus_info));
media_device_init(&vpu->mdev);
vpu->mdev.ops = &hantro_m2m_media_ops;
vpu->v4l2_dev.mdev = &vpu->mdev;
diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c
index 2c7a805289e7..c1a116031013 100644
--- a/drivers/media/platform/verisilicon/hantro_v4l2.c
+++ b/drivers/media/platform/verisilicon/hantro_v4l2.c
@@ -142,8 +142,6 @@ static int vidioc_querycap(struct file *file, void *priv,
strscpy(cap->driver, vpu->dev->driver->name, sizeof(cap->driver));
strscpy(cap->card, vdev->name, sizeof(cap->card));
- snprintf(cap->bus_info, sizeof(cap->bus_info), "platform: %s",
- vpu->dev->driver->name);
return 0;
}
--
2.39.0.314.g84b9a713c41-goog
On Mon, Dec 26, 2022 at 01:26:06PM +0800, Chen-Yu Tsai wrote: > The Hantro driver uses a hardcoded value for the bus_info field in the > media device and |struct v4l2_capability|. This worked well when there > was just one device. However with the iMX.8 series we are now seeing > two Hantro blocks on the same chip. The static bus_info is no longer > sufficient for differentiating devices. > > Since commit f2d8b6917f3b ("media: v4l: ioctl: Set bus_info in > v4l_querycap()"), the V4L2 core provides a default value for the > bus_info field for platform and PCI devices. This value will match > the default value for media devices added by commit cef699749f37 > ("media: mc: Set bus_info in media_device_init()"). These defaults > are stable and device-specific. > > Drop the static bus_info values from the hantro driver and use the > defaults. > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> Makes sense. Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Thanks! > --- > Changes since v1: > - Dropped unrelated Makefile change > > drivers/media/platform/verisilicon/hantro_drv.c | 2 -- > drivers/media/platform/verisilicon/hantro_v4l2.c | 2 -- > 2 files changed, 4 deletions(-) > > diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c > index 8cb4a68c9119..b0aeedae7b65 100644 > --- a/drivers/media/platform/verisilicon/hantro_drv.c > +++ b/drivers/media/platform/verisilicon/hantro_drv.c > @@ -1050,8 +1050,6 @@ static int hantro_probe(struct platform_device *pdev) > > vpu->mdev.dev = vpu->dev; > strscpy(vpu->mdev.model, DRIVER_NAME, sizeof(vpu->mdev.model)); > - strscpy(vpu->mdev.bus_info, "platform: " DRIVER_NAME, > - sizeof(vpu->mdev.bus_info)); > media_device_init(&vpu->mdev); > vpu->mdev.ops = &hantro_m2m_media_ops; > vpu->v4l2_dev.mdev = &vpu->mdev; > diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/media/platform/verisilicon/hantro_v4l2.c > index 2c7a805289e7..c1a116031013 100644 > --- a/drivers/media/platform/verisilicon/hantro_v4l2.c > +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c > @@ -142,8 +142,6 @@ static int vidioc_querycap(struct file *file, void *priv, > > strscpy(cap->driver, vpu->dev->driver->name, sizeof(cap->driver)); > strscpy(cap->card, vdev->name, sizeof(cap->card)); > - snprintf(cap->bus_info, sizeof(cap->bus_info), "platform: %s", > - vpu->dev->driver->name); > return 0; > } > > -- > 2.39.0.314.g84b9a713c41-goog >
© 2016 - 2025 Red Hat, Inc.