Hi Jacopo On Tue, 24 Mar 2020 at 20:25, Jacopo Mondi <jacopo@xxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx > https://lists.libcamera.org/listinfo/libcamera-devel