summaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-01-02 12:18:23 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-02-13 21:10:10 -0200
commite31a0ba7df6ce21ac4ed58c4182ec12ca8fd78fb (patch)
tree9e9afc96b5c9343d0c615dcd39cfd7d7d22e000a /include/uapi
parentbc0c5aa35ac88342831933ca7758ead62d9bae2b (diff)
downloadop-kernel-dev-e31a0ba7df6ce21ac4ed58c4182ec12ca8fd78fb.zip
op-kernel-dev-e31a0ba7df6ce21ac4ed58c4182ec12ca8fd78fb.tar.gz
[media] media: Fix DVB devnode representation at media controller
The previous provision for DVB media controller support were to define an ID (likely meaning the adapter number) for the DVB devnodes. This is just plain wrong. Just like V4L, DVB devices (and any other device node)) are uniquely identified via a (major, minor) tuple. This is enough to uniquely identify a devnode, no matter what API it implements. So, before we go too far, let's mark the old v4l, fb, dvb and alsa "devnode" info as deprecated, and just call it as "dev". We can latter add fields specific to each API if needed. As we don't want to break compilation on already existing apps, let's just keep the old definitions as-is, adding a note that those are deprecated at media-entity.h. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/media.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h
index d847c76..418f4fe 100644
--- a/include/uapi/linux/media.h
+++ b/include/uapi/linux/media.h
@@ -78,6 +78,20 @@ struct media_entity_desc {
struct {
__u32 major;
__u32 minor;
+ } dev;
+
+#if 1
+ /*
+ * DEPRECATED: previous node specifications. Kept just to
+ * avoid breaking compilation, but media_entity_desc.dev
+ * should be used instead. In particular, alsa and dvb
+ * fields below are wrong: for all devnodes, there should
+ * be just major/minor inside the struct, as this is enough
+ * to represent any devnode, no matter what type.
+ */
+ struct {
+ __u32 major;
+ __u32 minor;
} v4l;
struct {
__u32 major;
@@ -89,6 +103,7 @@ struct media_entity_desc {
__u32 subdevice;
} alsa;
int dvb;
+#endif
/* Sub-device specifications */
/* Nothing needed yet */
OpenPOWER on IntegriCloud