[media] media: entity: Add get_fwnode_pad entity operation
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Thu, 15 Jun 2017 09:17:25 +0000 (06:17 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 20 Jun 2017 12:08:47 +0000 (09:08 -0300)
The optional operation can be used by entities to report how it maps its
fwnode endpoints to media pad numbers. This is useful for devices which
require advanced mappings of pads.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
include/media/media-entity.h

index c7c254c..46eeb03 100644 (file)
@@ -21,6 +21,7 @@
 
 #include <linux/bitmap.h>
 #include <linux/bug.h>
+#include <linux/fwnode.h>
 #include <linux/kernel.h>
 #include <linux/list.h>
 #include <linux/media.h>
@@ -171,6 +172,9 @@ struct media_pad {
 
 /**
  * struct media_entity_operations - Media entity operations
+ * @get_fwnode_pad:    Return the pad number based on a fwnode endpoint or
+ *                     a negative value on error. This operation can be used
+ *                     to map a fwnode to a media pad number. Optional.
  * @link_setup:                Notify the entity of link changes. The operation can
  *                     return an error, in which case link setup will be
  *                     cancelled. Optional.
@@ -184,6 +188,7 @@ struct media_pad {
  *    mutex held.
  */
 struct media_entity_operations {
+       int (*get_fwnode_pad)(struct fwnode_endpoint *endpoint);
        int (*link_setup)(struct media_entity *entity,
                          const struct media_pad *local,
                          const struct media_pad *remote, u32 flags);