mirror of
https://github.com/torvalds/linux.git
synced 2026-09-27 11:02:03 +02:00
drm/bridge: drm_bridge_put(): ignore ERR_PTR
Most functions returning a struct drm_bridge pointer currently return a valid pointer or NULL, but this restricts their ability to return an error code as an ERR_PTR describing the error kind. In preparation to have new APIs that can return a struct drm_bridge pointer holding an ERR_PTR (and for those which already do) make drm_bridge_put() ignore ERR_PTR values, just like it ignores NULL pointers. This will avoid annoying error checking in many places and the risk of missing error checks. Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://lore.kernel.org/all/20260318152533.GA633439@killaraus.ideasonboard.com/ Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/all/omlnswxukeqgnatzdvooaashgkfcacjevkvbkm6xt33itgua2k@jcmzll2w6kdq/ Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Link: https://patch.msgid.link/20260511-drm-bridge-alloc-getput-panel_or_bridge-v6-1-f61c9e498b3f@bootlin.com Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
This commit is contained in:
parent
b11a6cea91
commit
55bb2b137b
|
|
@ -300,7 +300,7 @@ EXPORT_SYMBOL(drm_bridge_get);
|
|||
|
||||
/**
|
||||
* drm_bridge_put - Release a bridge reference
|
||||
* @bridge: DRM bridge; if NULL this function does nothing
|
||||
* @bridge: DRM bridge; if NULL or an ERR_PTR this function does nothing
|
||||
*
|
||||
* This function decrements the bridge's reference count and frees the
|
||||
* object if the reference count drops to zero.
|
||||
|
|
@ -310,7 +310,7 @@ EXPORT_SYMBOL(drm_bridge_get);
|
|||
*/
|
||||
void drm_bridge_put(struct drm_bridge *bridge)
|
||||
{
|
||||
if (bridge)
|
||||
if (!IS_ERR_OR_NULL(bridge))
|
||||
kref_put(&bridge->refcount, __drm_bridge_free);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_put);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user