linux/drivers/media/v4l2-core
Rob Herring 12f92866f1 media: Revert "[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay"
This reverts commit d2180e0cf7.

The commit was flawed in that if the device_node pointers are different,
then in fact a different device is present and the device node could be
different in ways other than full_name.

As Frank Rowand explained:

"When an overlay (1) is removed, all uses and references to the nodes and
properties in that overlay are no longer valid.  Any driver that uses any
information from the overlay _must_ stop using any data from the overlay.
Any driver that is bound to a new node in the overlay _must_ unbind.  Any
driver that became bound to a pre-existing node that was modified by the
overlay (became bound after the overlay was applied) _must_ adjust itself
to account for any changes to that node when the overlay is removed.  One
way to do this is to unbind when notified that the overlay is about to
be removed, then to re-bind after the overlay is completely removed.

If an overlay (2) is subsequently applied, a node with the same
full_name as from overlay (1) may exist.  There is no guarantee
that overlay (1) and overlay (2) are the same overlay, even if
that node has the same full_name in both cases."

Also, there's not sufficient overlay support in mainline to actually
remove and re-apply an overlay to hit this condition as overlays can
only be applied from in kernel APIs.

Fixes: d2180e0cf7 ("[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay")

Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Frank Rowand <frowand.list@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Javi Merino <javi.merino@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05 07:30:34 -04:00
..
Kconfig [media] v4l: fwnode: Support generic fwnode for parsing standardised properties 2017-06-06 09:25:16 -03:00
Makefile [media] v4l: Remove V4L2 OF framework in favour of V4L2 fwnode framework 2017-06-06 10:00:03 -03:00
tuner-core.c media: tuner-core: Remove unused #define PREFIX 2017-06-24 09:37:01 -03:00
v4l2-async.c media: Revert "[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay" 2017-09-05 07:30:34 -04:00
v4l2-clk.c media: Convert to using %pOF instead of full_name 2017-08-20 08:20:20 -04:00
v4l2-common.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
v4l2-compat-ioctl32.c media: v4l2-compat-ioctl32.c: add capabilities field to, v4l2_input32 2017-08-20 08:11:55 -04:00
v4l2-ctrls.c [media] v4l2-core: Use kvmalloc() for potentially big allocations 2017-06-20 09:11:48 -03:00
v4l2-dev.c [media] v4l: Add metadata buffer type and format 2017-04-14 22:37:02 -03:00
v4l2-device.c [media] v4l: Allow calling v4l2_device_register_subdev_nodes() multiple times 2017-03-22 11:21:43 -03:00
v4l2-dv-timings.c [media] v4l2-dv-timings: add helpers for vic and pixelaspect ratio 2016-11-16 15:20:03 -02:00
v4l2-event.c [media] v4l2-core: Use kvmalloc() for potentially big allocations 2017-06-20 09:11:48 -03:00
v4l2-fh.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
v4l2-flash-led-class.c media: v4l2-flash-led-class: Create separate sub-devices for indicators 2017-08-26 20:26:35 -04:00
v4l2-fwnode.c media: v4l: fwnode: Use a less clash-prone name for MAX_DATA_LANES macro 2017-08-26 13:52:28 -04:00
v4l2-ioctl.c media: v4l: Add packed Bayer raw12 pixel formats 2017-08-26 14:45:24 -04:00
v4l2-mc.c [media] media: Protect enable_source and disable_source handler code paths 2017-02-03 07:39:35 -02:00
v4l2-mem2mem.c [media] media: v4l2-mem2mem: extend m2m APIs for more accurate buffer management 2017-06-20 08:53:39 -03:00
v4l2-subdev.c [media] v4l2-core: Use kvmalloc() for potentially big allocations 2017-06-20 09:11:48 -03:00
v4l2-trace.c [media] media: videobuf2: Prepare to divide videobuf2 2015-10-20 15:12:45 -02:00
vb2-trace.c [media] media: videobuf2: Prepare to divide videobuf2 2015-10-20 15:12:45 -02:00
videobuf2-core.c media: vb2: add bidirectional flag in vb2_queue 2017-08-26 14:15:54 -04:00
videobuf2-dma-contig.c media: vb2: add bidirectional flag in vb2_queue 2017-08-26 14:15:54 -04:00
videobuf2-dma-sg.c media: vb2: add bidirectional flag in vb2_queue 2017-08-26 14:15:54 -04:00
videobuf2-dvb.c [media] add media controller support to videobuf2-dvb 2016-02-10 07:23:41 -02:00
videobuf2-memops.c [media] vb2: convert vb2_vmarea_handler refcount from atomic_t to refcount_t 2017-04-05 15:31:57 -03:00
videobuf2-v4l2.c [media] v4l: Add metadata buffer type and format 2017-04-14 22:37:02 -03:00
videobuf2-vmalloc.c media: vb2: add bidirectional flag in vb2_queue 2017-08-26 14:15:54 -04:00
videobuf-core.c [media] v4l2-core: don't break long lines 2016-10-21 09:56:08 -02:00
videobuf-dma-contig.c [media] videobuf-dma-contig: set vm_pgoff to be zero to pass the sanity check in vm_iomap_memory() 2014-10-24 09:32:41 -02:00
videobuf-dma-sg.c sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
videobuf-dvb.c
videobuf-vmalloc.c [media] Revert "[media] videobuf_vm_{open,close} race fixes" 2014-02-04 06:29:46 -02:00