This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:

Subject: v4l-utils: sync-with-kernel
Author:  Hans Verkuil <hans.verk...@cisco.com>
Date:    Mon Feb 26 16:24:29 2018 +0100

Sync with latest media_tree master.

Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>

 include/linux/media.h         | 321 +++++++++++++++++++-----------------------
 include/linux/v4l2-mediabus.h |   4 +-
 2 files changed, 150 insertions(+), 175 deletions(-)

---

http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=a6185c9b96c101e45aec80fccaa471febbd09b30
diff --git a/include/linux/media.h b/include/linux/media.h
index 01c69c7d98d9..11dd72fdcca5 100644
--- a/include/linux/media.h
+++ b/include/linux/media.h
@@ -15,10 +15,6 @@
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
 #ifndef __LINUX_MEDIA_H
@@ -40,102 +36,66 @@ struct media_device_info {
        __u32 reserved[31];
 };
 
-#define MEDIA_ENT_ID_FLAG_NEXT         (1 << 31)
-
-/*
- * Initial value to be used when a new entity is created
- * Drivers should change it to something useful
- */
-#define MEDIA_ENT_F_UNKNOWN    0x00000000
-
 /*
  * Base number ranges for entity functions
  *
- * NOTE: those ranges and entity function number are phased just to
- * make it easier to maintain this file. Userspace should not rely on
- * the ranges to identify a group of function types, as newer
- * functions can be added with any name within the full u32 range.
- */
-#define MEDIA_ENT_F_BASE               0x00000000
-#define MEDIA_ENT_F_OLD_BASE           0x00010000
-#define MEDIA_ENT_F_OLD_SUBDEV_BASE    0x00020000
-
-/*
- * DVB entities
+ * NOTE: Userspace should not rely on these ranges to identify a group
+ * of function types, as newer functions can be added with any name within
+ * the full u32 range.
+ *
+ * Some older functions use the MEDIA_ENT_F_OLD_*_BASE range. Do not
+ * change this, this is for backwards compatibility. When adding new
+ * functions always use MEDIA_ENT_F_BASE.
  */
-#define MEDIA_ENT_F_DTV_DEMOD          (MEDIA_ENT_F_BASE + 0x00001)
-#define MEDIA_ENT_F_TS_DEMUX           (MEDIA_ENT_F_BASE + 0x00002)
-#define MEDIA_ENT_F_DTV_CA             (MEDIA_ENT_F_BASE + 0x00003)
-#define MEDIA_ENT_F_DTV_NET_DECAP      (MEDIA_ENT_F_BASE + 0x00004)
+#define MEDIA_ENT_F_BASE                       0x00000000
+#define MEDIA_ENT_F_OLD_BASE                   0x00010000
+#define MEDIA_ENT_F_OLD_SUBDEV_BASE            0x00020000
 
 /*
- * I/O entities
+ * Initial value to be used when a new entity is created
+ * Drivers should change it to something useful.
  */
-#define MEDIA_ENT_F_IO_DTV             (MEDIA_ENT_F_BASE + 0x01001)
-#define MEDIA_ENT_F_IO_VBI             (MEDIA_ENT_F_BASE + 0x01002)
-#define MEDIA_ENT_F_IO_SWRADIO         (MEDIA_ENT_F_BASE + 0x01003)
+#define MEDIA_ENT_F_UNKNOWN                    MEDIA_ENT_F_BASE
 
 /*
- * Analog TV IF-PLL decoders
- *
- * It is a responsibility of the master/bridge drivers to create links
- * for MEDIA_ENT_F_IF_VID_DECODER and MEDIA_ENT_F_IF_AUD_DECODER.
+ * Subdevs are initialized with MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN in order
+ * to preserve backward compatibility. Drivers must change to the proper
+ * subdev type before registering the entity.
  */
-#define MEDIA_ENT_F_IF_VID_DECODER     (MEDIA_ENT_F_BASE + 0x02001)
-#define MEDIA_ENT_F_IF_AUD_DECODER     (MEDIA_ENT_F_BASE + 0x02002)
+#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN                
MEDIA_ENT_F_OLD_SUBDEV_BASE
 
 /*
- * Audio Entity Functions
+ * DVB entity functions
  */
-#define MEDIA_ENT_F_AUDIO_CAPTURE      (MEDIA_ENT_F_BASE + 0x03001)
-#define MEDIA_ENT_F_AUDIO_PLAYBACK     (MEDIA_ENT_F_BASE + 0x03002)
-#define MEDIA_ENT_F_AUDIO_MIXER                (MEDIA_ENT_F_BASE + 0x03003)
+#define MEDIA_ENT_F_DTV_DEMOD                  (MEDIA_ENT_F_BASE + 0x00001)
+#define MEDIA_ENT_F_TS_DEMUX                   (MEDIA_ENT_F_BASE + 0x00002)
+#define MEDIA_ENT_F_DTV_CA                     (MEDIA_ENT_F_BASE + 0x00003)
+#define MEDIA_ENT_F_DTV_NET_DECAP              (MEDIA_ENT_F_BASE + 0x00004)
 
 /*
- * Processing entities
+ * I/O entity functions
  */
-#define MEDIA_ENT_F_PROC_VIDEO_COMPOSER                (MEDIA_ENT_F_BASE + 
0x4001)
-#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER (MEDIA_ENT_F_BASE + 0x4002)
-#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV  (MEDIA_ENT_F_BASE + 0x4003)
-#define MEDIA_ENT_F_PROC_VIDEO_LUT             (MEDIA_ENT_F_BASE + 0x4004)
-#define MEDIA_ENT_F_PROC_VIDEO_SCALER          (MEDIA_ENT_F_BASE + 0x4005)
-#define MEDIA_ENT_F_PROC_VIDEO_STATISTICS      (MEDIA_ENT_F_BASE + 0x4006)
+#define MEDIA_ENT_F_IO_V4L                     (MEDIA_ENT_F_OLD_BASE + 1)
+#define MEDIA_ENT_F_IO_DTV                     (MEDIA_ENT_F_BASE + 0x01001)
+#define MEDIA_ENT_F_IO_VBI                     (MEDIA_ENT_F_BASE + 0x01002)
+#define MEDIA_ENT_F_IO_SWRADIO                 (MEDIA_ENT_F_BASE + 0x01003)
 
 /*
- * Switch and bridge entitites
+ * Sensor functions
  */
-#define MEDIA_ENT_F_VID_MUX                    (MEDIA_ENT_F_BASE + 0x5001)
-#define MEDIA_ENT_F_VID_IF_BRIDGE              (MEDIA_ENT_F_BASE + 0x5002)
+#define MEDIA_ENT_F_CAM_SENSOR                 (MEDIA_ENT_F_OLD_SUBDEV_BASE + 
1)
+#define MEDIA_ENT_F_FLASH                      (MEDIA_ENT_F_OLD_SUBDEV_BASE + 
2)
+#define MEDIA_ENT_F_LENS                       (MEDIA_ENT_F_OLD_SUBDEV_BASE + 
3)
 
 /*
- * Digital video decoder entities
+ * Video decoder functions
  */
+#define MEDIA_ENT_F_ATV_DECODER                        
(MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
 #define MEDIA_ENT_F_DTV_DECODER                        (MEDIA_ENT_F_BASE + 
0x6001)
 
 /*
- * Connectors
- */
-/* It is a responsibility of the entity drivers to add connectors and links */
-
-/*
- * Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and
- * MEDIA_ENT_F_OLD_SUBDEV_BASE are kept to keep backward compatibility
- * with the legacy v1 API.The number range is out of range by purpose:
- * several previously reserved numbers got excluded from this range.
+ * Digital TV, analog TV, radio and/or software defined radio tuner functions.
  *
- * Subdevs are initialized with MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN,
- * in order to preserve backward compatibility.
- * Drivers must change to the proper subdev type before
- * registering the entity.
- */
-
-#define MEDIA_ENT_F_IO_V4L             (MEDIA_ENT_F_OLD_BASE + 1)
-
-#define MEDIA_ENT_F_CAM_SENSOR         (MEDIA_ENT_F_OLD_SUBDEV_BASE + 1)
-#define MEDIA_ENT_F_FLASH              (MEDIA_ENT_F_OLD_SUBDEV_BASE + 2)
-#define MEDIA_ENT_F_LENS               (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3)
-#define MEDIA_ENT_F_ATV_DECODER                (MEDIA_ENT_F_OLD_SUBDEV_BASE + 
4)
-/*
  * It is a responsibility of the master/bridge drivers to add connectors
  * and links for MEDIA_ENT_F_TUNER. Please notice that some old tuners
  * may require the usage of separate I2C chips to decode analog TV signals,
@@ -143,47 +103,46 @@ struct media_device_info {
  * On such cases, the IF-PLL staging is mapped via one or two entities:
  * MEDIA_ENT_F_IF_VID_DECODER and/or MEDIA_ENT_F_IF_AUD_DECODER.
  */
-#define MEDIA_ENT_F_TUNER              (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5)
+#define MEDIA_ENT_F_TUNER                      (MEDIA_ENT_F_OLD_SUBDEV_BASE + 
5)
 
-#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN        MEDIA_ENT_F_OLD_SUBDEV_BASE
+/*
+ * Analog TV IF-PLL decoder functions
+ *
+ * It is a responsibility of the master/bridge drivers to create links
+ * for MEDIA_ENT_F_IF_VID_DECODER and MEDIA_ENT_F_IF_AUD_DECODER.
+ */
+#define MEDIA_ENT_F_IF_VID_DECODER             (MEDIA_ENT_F_BASE + 0x02001)
+#define MEDIA_ENT_F_IF_AUD_DECODER             (MEDIA_ENT_F_BASE + 0x02002)
 
+/*
+ * Audio entity functions
+ */
+#define MEDIA_ENT_F_AUDIO_CAPTURE              (MEDIA_ENT_F_BASE + 0x03001)
+#define MEDIA_ENT_F_AUDIO_PLAYBACK             (MEDIA_ENT_F_BASE + 0x03002)
+#define MEDIA_ENT_F_AUDIO_MIXER                        (MEDIA_ENT_F_BASE + 
0x03003)
 
 /*
- * Legacy symbols used to avoid userspace compilation breakages
- *
- * Those symbols map the entity function into types and should be
- * used only on legacy programs for legacy hardware. Don't rely
- * on those for MEDIA_IOC_G_TOPOLOGY.
+ * Processing entity functions
  */
-#define MEDIA_ENT_TYPE_SHIFT           16
-#define MEDIA_ENT_TYPE_MASK            0x00ff0000
-#define MEDIA_ENT_SUBTYPE_MASK         0x0000ffff
-
-/* End of the old subdev reserved numberspace */
-#define MEDIA_ENT_T_DEVNODE_UNKNOWN    (MEDIA_ENT_T_DEVNODE | \
-                                        MEDIA_ENT_SUBTYPE_MASK)
-
-#define MEDIA_ENT_T_DEVNODE            MEDIA_ENT_F_OLD_BASE
-#define MEDIA_ENT_T_DEVNODE_V4L                MEDIA_ENT_F_IO_V4L
-#define MEDIA_ENT_T_DEVNODE_FB         (MEDIA_ENT_T_DEVNODE + 2)
-#define MEDIA_ENT_T_DEVNODE_ALSA       (MEDIA_ENT_T_DEVNODE + 3)
-#define MEDIA_ENT_T_DEVNODE_DVB                (MEDIA_ENT_T_DEVNODE + 4)
-
-#define MEDIA_ENT_T_UNKNOWN            MEDIA_ENT_F_UNKNOWN
-#define MEDIA_ENT_T_V4L2_VIDEO         MEDIA_ENT_F_IO_V4L
-#define MEDIA_ENT_T_V4L2_SUBDEV                MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
-#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR MEDIA_ENT_F_CAM_SENSOR
-#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH  MEDIA_ENT_F_FLASH
-#define MEDIA_ENT_T_V4L2_SUBDEV_LENS   MEDIA_ENT_F_LENS
-#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER        MEDIA_ENT_F_ATV_DECODER
-#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER  MEDIA_ENT_F_TUNER
+#define MEDIA_ENT_F_PROC_VIDEO_COMPOSER                (MEDIA_ENT_F_BASE + 
0x4001)
+#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER (MEDIA_ENT_F_BASE + 0x4002)
+#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV  (MEDIA_ENT_F_BASE + 0x4003)
+#define MEDIA_ENT_F_PROC_VIDEO_LUT             (MEDIA_ENT_F_BASE + 0x4004)
+#define MEDIA_ENT_F_PROC_VIDEO_SCALER          (MEDIA_ENT_F_BASE + 0x4005)
+#define MEDIA_ENT_F_PROC_VIDEO_STATISTICS      (MEDIA_ENT_F_BASE + 0x4006)
 
-/* Obsolete symbol for media_version, no longer used in the kernel */
-#define MEDIA_API_VERSION              KERNEL_VERSION(0, 1, 0)
+/*
+ * Switch and bridge entity functions
+ */
+#define MEDIA_ENT_F_VID_MUX                    (MEDIA_ENT_F_BASE + 0x5001)
+#define MEDIA_ENT_F_VID_IF_BRIDGE              (MEDIA_ENT_F_BASE + 0x5002)
 
 /* Entity flags */
-#define MEDIA_ENT_FL_DEFAULT           (1 << 0)
-#define MEDIA_ENT_FL_CONNECTOR         (1 << 1)
+#define MEDIA_ENT_FL_DEFAULT                   (1 << 0)
+#define MEDIA_ENT_FL_CONNECTOR                 (1 << 1)
+
+/* OR with the entity id value to find the next entity */
+#define MEDIA_ENT_ID_FLAG_NEXT                 (1 << 31)
 
 struct media_entity_desc {
        __u32 id;
@@ -204,7 +163,6 @@ struct media_entity_desc {
                        __u32 minor;
                } dev;
 
-#if 1
                /*
                 * TODO: this shouldn't have been added without
                 * actual drivers that use this. When the first real driver
@@ -215,24 +173,17 @@ struct media_entity_desc {
                 * contain the subdevice information. In addition, struct dev
                 * can only refer to a single device, and not to multiple (e.g.
                 * pcm and mixer devices).
-                *
-                * So for now mark this as a to do.
                 */
                struct {
                        __u32 card;
                        __u32 device;
                        __u32 subdevice;
                } alsa;
-#endif
 
-#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.
+                * avoid breaking compilation. Use media_entity_desc.dev
+                * instead.
                 */
                struct {
                        __u32 major;
@@ -243,7 +194,6 @@ struct media_entity_desc {
                        __u32 minor;
                } fb;
                int dvb;
-#endif
 
                /* Sub-device specifications */
                /* Nothing needed yet */
@@ -251,9 +201,9 @@ struct media_entity_desc {
        };
 };
 
-#define MEDIA_PAD_FL_SINK              (1 << 0)
-#define MEDIA_PAD_FL_SOURCE            (1 << 1)
-#define MEDIA_PAD_FL_MUST_CONNECT      (1 << 2)
+#define MEDIA_PAD_FL_SINK                      (1 << 0)
+#define MEDIA_PAD_FL_SOURCE                    (1 << 1)
+#define MEDIA_PAD_FL_MUST_CONNECT              (1 << 2)
 
 struct media_pad_desc {
        __u32 entity;           /* entity ID */
@@ -262,13 +212,13 @@ struct media_pad_desc {
        __u32 reserved[2];
 };
 
-#define MEDIA_LNK_FL_ENABLED           (1 << 0)
-#define MEDIA_LNK_FL_IMMUTABLE         (1 << 1)
-#define MEDIA_LNK_FL_DYNAMIC           (1 << 2)
+#define MEDIA_LNK_FL_ENABLED                   (1 << 0)
+#define MEDIA_LNK_FL_IMMUTABLE                 (1 << 1)
+#define MEDIA_LNK_FL_DYNAMIC                   (1 << 2)
 
-#define MEDIA_LNK_FL_LINK_TYPE         (0xf << 28)
-#  define MEDIA_LNK_FL_DATA_LINK       (0 << 28)
-#  define MEDIA_LNK_FL_INTERFACE_LINK  (1 << 28)
+#define MEDIA_LNK_FL_LINK_TYPE                 (0xf << 28)
+#  define MEDIA_LNK_FL_DATA_LINK               (0 << 28)
+#  define MEDIA_LNK_FL_INTERFACE_LINK          (1 << 28)
 
 struct media_link_desc {
        struct media_pad_desc source;
@@ -288,57 +238,32 @@ struct media_links_enum {
 
 /* Interface type ranges */
 
-#define MEDIA_INTF_T_DVB_BASE  0x00000100
-#define MEDIA_INTF_T_V4L_BASE  0x00000200
-#define MEDIA_INTF_T_ALSA_BASE 0x00000300
+#define MEDIA_INTF_T_DVB_BASE                  0x00000100
+#define MEDIA_INTF_T_V4L_BASE                  0x00000200
 
 /* Interface types */
 
-#define MEDIA_INTF_T_DVB_FE            (MEDIA_INTF_T_DVB_BASE)
-#define MEDIA_INTF_T_DVB_DEMUX  (MEDIA_INTF_T_DVB_BASE + 1)
-#define MEDIA_INTF_T_DVB_DVR    (MEDIA_INTF_T_DVB_BASE + 2)
-#define MEDIA_INTF_T_DVB_CA     (MEDIA_INTF_T_DVB_BASE + 3)
-#define MEDIA_INTF_T_DVB_NET    (MEDIA_INTF_T_DVB_BASE + 4)
-
-#define MEDIA_INTF_T_V4L_VIDEO  (MEDIA_INTF_T_V4L_BASE)
-#define MEDIA_INTF_T_V4L_VBI    (MEDIA_INTF_T_V4L_BASE + 1)
-#define MEDIA_INTF_T_V4L_RADIO  (MEDIA_INTF_T_V4L_BASE + 2)
-#define MEDIA_INTF_T_V4L_SUBDEV (MEDIA_INTF_T_V4L_BASE + 3)
-#define MEDIA_INTF_T_V4L_SWRADIO (MEDIA_INTF_T_V4L_BASE + 4)
-#define MEDIA_INTF_T_V4L_TOUCH (MEDIA_INTF_T_V4L_BASE + 5)
-
-#define MEDIA_INTF_T_ALSA_PCM_CAPTURE   (MEDIA_INTF_T_ALSA_BASE)
-#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK  (MEDIA_INTF_T_ALSA_BASE + 1)
-#define MEDIA_INTF_T_ALSA_CONTROL       (MEDIA_INTF_T_ALSA_BASE + 2)
-#define MEDIA_INTF_T_ALSA_COMPRESS      (MEDIA_INTF_T_ALSA_BASE + 3)
-#define MEDIA_INTF_T_ALSA_RAWMIDI       (MEDIA_INTF_T_ALSA_BASE + 4)
-#define MEDIA_INTF_T_ALSA_HWDEP         (MEDIA_INTF_T_ALSA_BASE + 5)
-#define MEDIA_INTF_T_ALSA_SEQUENCER     (MEDIA_INTF_T_ALSA_BASE + 6)
-#define MEDIA_INTF_T_ALSA_TIMER         (MEDIA_INTF_T_ALSA_BASE + 7)
+#define MEDIA_INTF_T_DVB_FE                    (MEDIA_INTF_T_DVB_BASE)
+#define MEDIA_INTF_T_DVB_DEMUX                 (MEDIA_INTF_T_DVB_BASE + 1)
+#define MEDIA_INTF_T_DVB_DVR                   (MEDIA_INTF_T_DVB_BASE + 2)
+#define MEDIA_INTF_T_DVB_CA                    (MEDIA_INTF_T_DVB_BASE + 3)
+#define MEDIA_INTF_T_DVB_NET                   (MEDIA_INTF_T_DVB_BASE + 4)
+
+#define MEDIA_INTF_T_V4L_VIDEO                 (MEDIA_INTF_T_V4L_BASE)
+#define MEDIA_INTF_T_V4L_VBI                   (MEDIA_INTF_T_V4L_BASE + 1)
+#define MEDIA_INTF_T_V4L_RADIO                 (MEDIA_INTF_T_V4L_BASE + 2)
+#define MEDIA_INTF_T_V4L_SUBDEV                        (MEDIA_INTF_T_V4L_BASE 
+ 3)
+#define MEDIA_INTF_T_V4L_SWRADIO               (MEDIA_INTF_T_V4L_BASE + 4)
+#define MEDIA_INTF_T_V4L_TOUCH                 (MEDIA_INTF_T_V4L_BASE + 5)
+
 
 /*
  * MC next gen API definitions
- *
- * NOTE: The declarations below are close to the MC RFC for the Media
- *      Controller, the next generation. Yet, there are a few adjustments
- *      to do, as we want to be able to have a functional API before
- *      the MC properties change. Those will be properly marked below.
- *      Please also notice that I removed "num_pads", "num_links",
- *      from the proposal, as a proper userspace application will likely
- *      use lists for pads/links, just as we intend to do in Kernelspace.
- *      The API definition should be freed from fields that are bound to
- *      some specific data structure.
- *
- * FIXME: Currently, I opted to name the new types as "media_v2", as this
- *       won't cause any conflict with the Kernelspace namespace, nor with
- *       the previous kAPI media_*_desc namespace. This can be changed
- *       later, before the adding this API upstream.
  */
 
-
 struct media_v2_entity {
        __u32 id;
-       char name[64];          /* FIXME: move to a property? (RFC says so) */
+       char name[64];
        __u32 function;         /* Main function of the entity */
        __u32 reserved[6];
 } __attribute__ ((packed));
@@ -398,10 +323,60 @@ struct media_v2_topology {
 
 /* ioctls */
 
-#define MEDIA_IOC_DEVICE_INFO          _IOWR('|', 0x00, struct 
media_device_info)
-#define MEDIA_IOC_ENUM_ENTITIES                _IOWR('|', 0x01, struct 
media_entity_desc)
-#define MEDIA_IOC_ENUM_LINKS           _IOWR('|', 0x02, struct 
media_links_enum)
-#define MEDIA_IOC_SETUP_LINK           _IOWR('|', 0x03, struct media_link_desc)
-#define MEDIA_IOC_G_TOPOLOGY           _IOWR('|', 0x04, struct 
media_v2_topology)
+#define MEDIA_IOC_DEVICE_INFO  _IOWR('|', 0x00, struct media_device_info)
+#define MEDIA_IOC_ENUM_ENTITIES        _IOWR('|', 0x01, struct 
media_entity_desc)
+#define MEDIA_IOC_ENUM_LINKS   _IOWR('|', 0x02, struct media_links_enum)
+#define MEDIA_IOC_SETUP_LINK   _IOWR('|', 0x03, struct media_link_desc)
+#define MEDIA_IOC_G_TOPOLOGY   _IOWR('|', 0x04, struct media_v2_topology)
+
+
+/*
+ * Legacy symbols used to avoid userspace compilation breakages.
+ * Do not use any of this in new applications!
+ *
+ * Those symbols map the entity function into types and should be
+ * used only on legacy programs for legacy hardware. Don't rely
+ * on those for MEDIA_IOC_G_TOPOLOGY.
+ */
+#define MEDIA_ENT_TYPE_SHIFT                   16
+#define MEDIA_ENT_TYPE_MASK                    0x00ff0000
+#define MEDIA_ENT_SUBTYPE_MASK                 0x0000ffff
+
+#define MEDIA_ENT_T_DEVNODE_UNKNOWN            (MEDIA_ENT_F_OLD_BASE | \
+                                                MEDIA_ENT_SUBTYPE_MASK)
+
+#define MEDIA_ENT_T_DEVNODE                    MEDIA_ENT_F_OLD_BASE
+#define MEDIA_ENT_T_DEVNODE_V4L                        MEDIA_ENT_F_IO_V4L
+#define MEDIA_ENT_T_DEVNODE_FB                 (MEDIA_ENT_F_OLD_BASE + 2)
+#define MEDIA_ENT_T_DEVNODE_ALSA               (MEDIA_ENT_F_OLD_BASE + 3)
+#define MEDIA_ENT_T_DEVNODE_DVB                        (MEDIA_ENT_F_OLD_BASE + 
4)
+
+#define MEDIA_ENT_T_UNKNOWN                    MEDIA_ENT_F_UNKNOWN
+#define MEDIA_ENT_T_V4L2_VIDEO                 MEDIA_ENT_F_IO_V4L
+#define MEDIA_ENT_T_V4L2_SUBDEV                        
MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
+#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR         MEDIA_ENT_F_CAM_SENSOR
+#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH          MEDIA_ENT_F_FLASH
+#define MEDIA_ENT_T_V4L2_SUBDEV_LENS           MEDIA_ENT_F_LENS
+#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER                MEDIA_ENT_F_ATV_DECODER
+#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER          MEDIA_ENT_F_TUNER
+
+/*
+ * There is still no ALSA support in the media controller. These
+ * defines should not have been added and we leave them here only
+ * in case some application tries to use these defines.
+ */
+#define MEDIA_INTF_T_ALSA_BASE                 0x00000300
+#define MEDIA_INTF_T_ALSA_PCM_CAPTURE          (MEDIA_INTF_T_ALSA_BASE)
+#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK         (MEDIA_INTF_T_ALSA_BASE + 1)
+#define MEDIA_INTF_T_ALSA_CONTROL              (MEDIA_INTF_T_ALSA_BASE + 2)
+#define MEDIA_INTF_T_ALSA_COMPRESS             (MEDIA_INTF_T_ALSA_BASE + 3)
+#define MEDIA_INTF_T_ALSA_RAWMIDI              (MEDIA_INTF_T_ALSA_BASE + 4)
+#define MEDIA_INTF_T_ALSA_HWDEP                        (MEDIA_INTF_T_ALSA_BASE 
+ 5)
+#define MEDIA_INTF_T_ALSA_SEQUENCER            (MEDIA_INTF_T_ALSA_BASE + 6)
+#define MEDIA_INTF_T_ALSA_TIMER                        (MEDIA_INTF_T_ALSA_BASE 
+ 7)
+
+/* Obsolete symbol for media_version, no longer used in the kernel */
+#define MEDIA_API_VERSION                      KERNEL_VERSION(0, 1, 0)
+
 
 #endif /* __LINUX_MEDIA_H */
diff --git a/include/linux/v4l2-mediabus.h b/include/linux/v4l2-mediabus.h
index cb5694f1a320..0fb5bfbec871 100644
--- a/include/linux/v4l2-mediabus.h
+++ b/include/linux/v4l2-mediabus.h
@@ -18,8 +18,8 @@
 
 /**
  * struct v4l2_mbus_framefmt - frame format on the media bus
- * @width:     frame width
- * @height:    frame height
+ * @width:     image width
+ * @height:    image height
  * @code:      data format code (from enum v4l2_mbus_pixelcode)
  * @field:     used interlacing type (from enum v4l2_field)
  * @colorspace:        colorspace of the data (from enum v4l2_colorspace)

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to