[libcamera-devel,0/4] Fix udev device enumerator with V4L2 M2M devices
mbox series

Message ID 20190912200330.19004-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • Fix udev device enumerator with V4L2 M2M devices
Related show

Message

Laurent Pinchart Sept. 12, 2019, 8:03 p.m. UTC
Hello,

The latest rework of the udev device enumerator to support delayed
device initialisation broke V4L2 M2M support, as it assumes that a
device node belongs to a single entity. As I'm guilty of having missed
that during review, here's a patch series to fix it.

The first three patches are drive-by cleanups, while the real fix is in
patch 4/4.

Laurent Pinchart (4):
  libcamera: device_enumerator: Move lookupDeviceNode() to child classes
  libcamera: device_enumerator_udev: Delay device node lookup
  libcamera: device_enumerator_udev: Avoid double list lookup
  libcamera: device_enumerator_udev: Support entities sharing device
    nodes

 src/libcamera/device_enumerator.cpp           |  13 --
 src/libcamera/device_enumerator_sysfs.cpp     |  11 ++
 src/libcamera/device_enumerator_udev.cpp      | 116 ++++++++++++------
 src/libcamera/include/device_enumerator.h     |   2 -
 .../include/device_enumerator_sysfs.h         |   2 +-
 .../include/device_enumerator_udev.h          |  27 +++-
 6 files changed, 113 insertions(+), 58 deletions(-)

Comments

Paul Elder Sept. 13, 2019, 5:05 p.m. UTC | #1
Hi Laurent,

On Thu, Sep 12, 2019 at 11:03:26PM +0300, Laurent Pinchart wrote:
> Hello,
> 
> The latest rework of the udev device enumerator to support delayed
> device initialisation broke V4L2 M2M support, as it assumes that a
> device node belongs to a single entity. As I'm guilty of having missed
> that during review, here's a patch series to fix it.

Thank you for the fix :)

> The first three patches are drive-by cleanups, while the real fix is in
> patch 4/4.

They all look good to me.

For all patches,
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> Laurent Pinchart (4):
>   libcamera: device_enumerator: Move lookupDeviceNode() to child classes
>   libcamera: device_enumerator_udev: Delay device node lookup
>   libcamera: device_enumerator_udev: Avoid double list lookup
>   libcamera: device_enumerator_udev: Support entities sharing device
>     nodes
> 
>  src/libcamera/device_enumerator.cpp           |  13 --
>  src/libcamera/device_enumerator_sysfs.cpp     |  11 ++
>  src/libcamera/device_enumerator_udev.cpp      | 116 ++++++++++++------
>  src/libcamera/include/device_enumerator.h     |   2 -
>  .../include/device_enumerator_sysfs.h         |   2 +-
>  .../include/device_enumerator_udev.h          |  27 +++-
>  6 files changed, 113 insertions(+), 58 deletions(-)
> 
> -- 
> Regards,
> 
> Laurent Pinchart
>