[media] media: Add a function removing all links of a media entity
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 9 May 2013 11:29:32 +0000 (08:29 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 19 Jun 2013 11:59:54 +0000 (08:59 -0300)
commit7349cec14d63251d093a213f7d40ed3c732b3734
tree30e7586248efe054a2926fc916a5de7bb4221f63
parent2a3e7256851b642f35c3bb550be77b815486b469
[media] media: Add a function removing all links of a media entity

This function allows to remove all media entity's links to other
entities, leaving no references to a media entity's links array
at its remote entities.
Currently, when a driver of some entity is removed it will free its
media entities links[] array, leaving dangling pointers at other
entities that are part of same media graph. This is troublesome when
drivers of a media device entities are in separate kernel modules,
removing only some modules will leave others in an incorrect state.
This function is intended to be used when an entity is being
unregistered from a media device.
With an assumption that normally the media links should be created
between media entities registered to a media device, with the graph
mutex held.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/media-entity.c
include/media/media-entity.h