public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4] v4l: subdev: tolerate null in media_entity_to_v4l2_subdev
@ 2017-06-07  9:52 Kieran Bingham
  2017-06-07 11:16 ` Sakari Ailus
  2017-06-08 18:00 ` Mauro Carvalho Chehab
  0 siblings, 2 replies; 6+ messages in thread
From: Kieran Bingham @ 2017-06-07  9:52 UTC (permalink / raw)
  To: sakari.ailus, linux-media
  Cc: laurent.pinchart, niklas.soderlund, linux-renesas-soc,
	kieran.bingham, Kieran Bingham

From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

Return NULL, if a null entity is parsed for it's v4l2_subdev

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

---
Not sure if this patch ever made it out of my mailbox:

Here's the respin with the parameter evaluated only once.

v4:
 - Improve macro usage to evaluate ent only once

 include/media/v4l2-subdev.h | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index a40760174797..0f92ebd2d710 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -826,8 +826,15 @@ struct v4l2_subdev {
 	struct v4l2_subdev_platform_data *pdata;
 };
 
-#define media_entity_to_v4l2_subdev(ent) \
-	container_of(ent, struct v4l2_subdev, entity)
+#define media_entity_to_v4l2_subdev(ent)				\
+({									\
+	typeof(ent) __me_sd_ent = (ent);				\
+									\
+	__me_sd_ent ?							\
+		container_of(__me_sd_ent, struct v4l2_subdev, entity) :	\
+		NULL;							\
+})
+
 #define vdev_to_v4l2_subdev(vdev) \
 	((struct v4l2_subdev *)video_get_drvdata(vdev))
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-09 10:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-07  9:52 [PATCH v4] v4l: subdev: tolerate null in media_entity_to_v4l2_subdev Kieran Bingham
2017-06-07 11:16 ` Sakari Ailus
2017-06-08 18:00 ` Mauro Carvalho Chehab
2017-06-08 19:32   ` Sakari Ailus
2017-06-08 20:10     ` Mauro Carvalho Chehab
2017-06-09 10:03       ` Kieran Bingham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox