[libcamera-devel] [PATCH 0/4] media: Register read-only sub-dev devnode
Dave Stevenson
dave.stevenson at raspberrypi.com
Tue Mar 24 23:25:59 CET 2020
Hi Jacopo
On Tue, 24 Mar 2020 at 20:25, Jacopo Mondi <jacopo at jmondi.org> wrote:
>
> Add new functio v4l2_device_register_ro_subdev_nodes() to pair with
> v4l2_device_register_subdev_nodes() that allows a bridge driver to register the
> device node for its subdevices in read-only mode.
>
> devnode-centric (aka non-MC) bridge drivers control their subdevices through
> direct calls to v4l2 subdev operations and do not want userspace to be able
> to control the subdevice configuration by calling ioctls on the sub-device
> devnode. For this reason, they mostly refrain from registering any devnode at
> all for their subdevices.
>
> However it is sometimes required for userspace to access the sub-dev device
> nodes to collect information on the actual configuration, without changing
> the one currently applied to the device.
>
> This requirement became pressing while working on libcamera on devnode-centric
> platforms that do not expose any sub-device for their camera sensor to prevent
> userspace from changing their configuration. To allow them to register device
> node and being guaranteed to retain control of the subdevice configuration this
> series proposes a way to register device nodes in read-only to restrict
> access to all ioctls that could potentially affect the sub-dev configuration.
>
> Thanks
> j
>
> Jacopo Mondi (4):
> Documentation: media: Document read-only subdevice
> media: v4l2-dev: Add v4l2_device_register_ro_subdev_node()
> media: bcm2835: Register sensor devnode as read-only
> media: bcm2835: Fix trivial whitespace error
Minor point - you've sent this to linux-media. We (Raspberry Pi)
haven't pushed the bcm2835-unicam driver to mainline as yet (it's
still on the to-do list).
Yes, we need the core functionality that is in the first two patches,
but the last two aren't going to apply to any mainline tree.
Dave
> Documentation/media/kapi/v4l2-subdev.rst | 38 +++++++++++++++++++
> .../media/uapi/v4l/vidioc-g-dv-timings.rst | 6 +++
> Documentation/media/uapi/v4l/vidioc-g-std.rst | 6 +++
> .../media/uapi/v4l/vidioc-subdev-g-crop.rst | 9 +++++
> .../media/uapi/v4l/vidioc-subdev-g-fmt.rst | 8 ++++
> .../v4l/vidioc-subdev-g-frame-interval.rst | 8 ++++
> .../uapi/v4l/vidioc-subdev-g-selection.rst | 8 ++++
> .../media/platform/bcm2835/bcm2835-unicam.c | 4 +-
> drivers/media/v4l2-core/v4l2-device.c | 16 +++++++-
> drivers/media/v4l2-core/v4l2-subdev.c | 19 ++++++++++
> include/media/v4l2-dev.h | 7 ++++
> include/media/v4l2-device.h | 10 +++++
> 12 files changed, 136 insertions(+), 3 deletions(-)
>
> --
> 2.25.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list