diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/media/davinci/vpbe_osd.h | 4 | ||||
-rw-r--r-- | include/media/media-device.h | 9 | ||||
-rw-r--r-- | include/media/media-entity.h | 5 | ||||
-rw-r--r-- | include/media/rc-map.h | 1 | ||||
-rw-r--r-- | include/media/s5p_fimc.h | 56 | ||||
-rw-r--r-- | include/media/ths7303.h | 2 | ||||
-rw-r--r-- | include/media/tveeprom.h | 11 | ||||
-rw-r--r-- | include/media/tvp7002.h | 46 | ||||
-rw-r--r-- | include/media/v4l2-chip-ident.h | 2 | ||||
-rw-r--r-- | include/media/v4l2-dev.h | 1 | ||||
-rw-r--r-- | include/uapi/linux/videodev2.h | 10 |
11 files changed, 84 insertions, 63 deletions
diff --git a/include/media/davinci/vpbe_osd.h b/include/media/davinci/vpbe_osd.h index 42628fcfe1bd..de59364d7ed2 100644 --- a/include/media/davinci/vpbe_osd.h +++ b/include/media/davinci/vpbe_osd.h | |||
@@ -82,9 +82,9 @@ enum osd_pix_format { | |||
82 | PIXFMT_4BPP, | 82 | PIXFMT_4BPP, |
83 | PIXFMT_8BPP, | 83 | PIXFMT_8BPP, |
84 | PIXFMT_RGB565, | 84 | PIXFMT_RGB565, |
85 | PIXFMT_YCbCrI, | 85 | PIXFMT_YCBCRI, |
86 | PIXFMT_RGB888, | 86 | PIXFMT_RGB888, |
87 | PIXFMT_YCrCbI, | 87 | PIXFMT_YCRCBI, |
88 | PIXFMT_NV12, | 88 | PIXFMT_NV12, |
89 | PIXFMT_OSD_ATTR, | 89 | PIXFMT_OSD_ATTR, |
90 | }; | 90 | }; |
diff --git a/include/media/media-device.h b/include/media/media-device.h index eaade9815bb6..12155a9596c4 100644 --- a/include/media/media-device.h +++ b/include/media/media-device.h | |||
@@ -45,6 +45,7 @@ struct device; | |||
45 | * @entities: List of registered entities | 45 | * @entities: List of registered entities |
46 | * @lock: Entities list lock | 46 | * @lock: Entities list lock |
47 | * @graph_mutex: Entities graph operation lock | 47 | * @graph_mutex: Entities graph operation lock |
48 | * @link_notify: Link state change notification callback | ||
48 | * | 49 | * |
49 | * This structure represents an abstract high-level media device. It allows easy | 50 | * This structure represents an abstract high-level media device. It allows easy |
50 | * access to entities and provides basic media device-level support. The | 51 | * access to entities and provides basic media device-level support. The |
@@ -75,10 +76,14 @@ struct media_device { | |||
75 | /* Serializes graph operations. */ | 76 | /* Serializes graph operations. */ |
76 | struct mutex graph_mutex; | 77 | struct mutex graph_mutex; |
77 | 78 | ||
78 | int (*link_notify)(struct media_pad *source, | 79 | int (*link_notify)(struct media_link *link, u32 flags, |
79 | struct media_pad *sink, u32 flags); | 80 | unsigned int notification); |
80 | }; | 81 | }; |
81 | 82 | ||
83 | /* Supported link_notify @notification values. */ | ||
84 | #define MEDIA_DEV_NOTIFY_PRE_LINK_CH 0 | ||
85 | #define MEDIA_DEV_NOTIFY_POST_LINK_CH 1 | ||
86 | |||
82 | /* media_devnode to media_device */ | 87 | /* media_devnode to media_device */ |
83 | #define to_media_device(node) container_of(node, struct media_device, devnode) | 88 | #define to_media_device(node) container_of(node, struct media_device, devnode) |
84 | 89 | ||
diff --git a/include/media/media-entity.h b/include/media/media-entity.h index 0c16f518ee09..06bacf937d61 100644 --- a/include/media/media-entity.h +++ b/include/media/media-entity.h | |||
@@ -128,11 +128,14 @@ void media_entity_cleanup(struct media_entity *entity); | |||
128 | 128 | ||
129 | int media_entity_create_link(struct media_entity *source, u16 source_pad, | 129 | int media_entity_create_link(struct media_entity *source, u16 source_pad, |
130 | struct media_entity *sink, u16 sink_pad, u32 flags); | 130 | struct media_entity *sink, u16 sink_pad, u32 flags); |
131 | void __media_entity_remove_links(struct media_entity *entity); | ||
132 | void media_entity_remove_links(struct media_entity *entity); | ||
133 | |||
131 | int __media_entity_setup_link(struct media_link *link, u32 flags); | 134 | int __media_entity_setup_link(struct media_link *link, u32 flags); |
132 | int media_entity_setup_link(struct media_link *link, u32 flags); | 135 | int media_entity_setup_link(struct media_link *link, u32 flags); |
133 | struct media_link *media_entity_find_link(struct media_pad *source, | 136 | struct media_link *media_entity_find_link(struct media_pad *source, |
134 | struct media_pad *sink); | 137 | struct media_pad *sink); |
135 | struct media_pad *media_entity_remote_source(struct media_pad *pad); | 138 | struct media_pad *media_entity_remote_pad(struct media_pad *pad); |
136 | 139 | ||
137 | struct media_entity *media_entity_get(struct media_entity *entity); | 140 | struct media_entity *media_entity_get(struct media_entity *entity); |
138 | void media_entity_put(struct media_entity *entity); | 141 | void media_entity_put(struct media_entity *entity); |
diff --git a/include/media/rc-map.h b/include/media/rc-map.h index 5d5d3a30f04a..6628f5d01f52 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h | |||
@@ -111,6 +111,7 @@ void rc_map_init(void); | |||
111 | #define RC_MAP_BUDGET_CI_OLD "rc-budget-ci-old" | 111 | #define RC_MAP_BUDGET_CI_OLD "rc-budget-ci-old" |
112 | #define RC_MAP_CINERGY_1400 "rc-cinergy-1400" | 112 | #define RC_MAP_CINERGY_1400 "rc-cinergy-1400" |
113 | #define RC_MAP_CINERGY "rc-cinergy" | 113 | #define RC_MAP_CINERGY "rc-cinergy" |
114 | #define RC_MAP_DELOCK_61959 "rc-delock-61959" | ||
114 | #define RC_MAP_DIB0700_NEC_TABLE "rc-dib0700-nec" | 115 | #define RC_MAP_DIB0700_NEC_TABLE "rc-dib0700-nec" |
115 | #define RC_MAP_DIB0700_RC5_TABLE "rc-dib0700-rc5" | 116 | #define RC_MAP_DIB0700_RC5_TABLE "rc-dib0700-rc5" |
116 | #define RC_MAP_DIGITALNOW_TINYTWIN "rc-digitalnow-tinytwin" | 117 | #define RC_MAP_DIGITALNOW_TINYTWIN "rc-digitalnow-tinytwin" |
diff --git a/include/media/s5p_fimc.h b/include/media/s5p_fimc.h index f50969025ef3..0afadb663bbd 100644 --- a/include/media/s5p_fimc.h +++ b/include/media/s5p_fimc.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #define S5P_FIMC_H_ | 13 | #define S5P_FIMC_H_ |
14 | 14 | ||
15 | #include <media/media-entity.h> | 15 | #include <media/media-entity.h> |
16 | #include <media/v4l2-dev.h> | ||
16 | #include <media/v4l2-mediabus.h> | 17 | #include <media/v4l2-mediabus.h> |
17 | 18 | ||
18 | /* | 19 | /* |
@@ -140,37 +141,40 @@ struct fimc_fmt { | |||
140 | #define FMT_FLAGS_YUV (1 << 7) | 141 | #define FMT_FLAGS_YUV (1 << 7) |
141 | }; | 142 | }; |
142 | 143 | ||
143 | enum fimc_subdev_index { | 144 | struct exynos_media_pipeline; |
144 | IDX_SENSOR, | ||
145 | IDX_CSIS, | ||
146 | IDX_FLITE, | ||
147 | IDX_IS_ISP, | ||
148 | IDX_FIMC, | ||
149 | IDX_MAX, | ||
150 | }; | ||
151 | 145 | ||
152 | struct media_pipeline; | 146 | /* |
153 | struct v4l2_subdev; | 147 | * Media pipeline operations to be called from within a video node, i.e. the |
148 | * last entity within the pipeline. Implemented by related media device driver. | ||
149 | */ | ||
150 | struct exynos_media_pipeline_ops { | ||
151 | int (*prepare)(struct exynos_media_pipeline *p, | ||
152 | struct media_entity *me); | ||
153 | int (*unprepare)(struct exynos_media_pipeline *p); | ||
154 | int (*open)(struct exynos_media_pipeline *p, struct media_entity *me, | ||
155 | bool resume); | ||
156 | int (*close)(struct exynos_media_pipeline *p); | ||
157 | int (*set_stream)(struct exynos_media_pipeline *p, bool state); | ||
158 | }; | ||
154 | 159 | ||
155 | struct fimc_pipeline { | 160 | struct exynos_video_entity { |
156 | struct v4l2_subdev *subdevs[IDX_MAX]; | 161 | struct video_device vdev; |
157 | struct media_pipeline *m_pipeline; | 162 | struct exynos_media_pipeline *pipe; |
158 | }; | 163 | }; |
159 | 164 | ||
160 | /* | 165 | struct exynos_media_pipeline { |
161 | * Media pipeline operations to be called from within the fimc(-lite) | 166 | struct media_pipeline mp; |
162 | * video node when it is the last entity of the pipeline. Implemented | 167 | const struct exynos_media_pipeline_ops *ops; |
163 | * by corresponding media device driver. | ||
164 | */ | ||
165 | struct fimc_pipeline_ops { | ||
166 | int (*open)(struct fimc_pipeline *p, struct media_entity *me, | ||
167 | bool resume); | ||
168 | int (*close)(struct fimc_pipeline *p); | ||
169 | int (*set_stream)(struct fimc_pipeline *p, bool state); | ||
170 | }; | 168 | }; |
171 | 169 | ||
172 | #define fimc_pipeline_call(f, op, p, args...) \ | 170 | static inline struct exynos_video_entity *vdev_to_exynos_video_entity( |
173 | (!(f) ? -ENODEV : (((f)->pipeline_ops && (f)->pipeline_ops->op) ? \ | 171 | struct video_device *vdev) |
174 | (f)->pipeline_ops->op((p), ##args) : -ENOIOCTLCMD)) | 172 | { |
173 | return container_of(vdev, struct exynos_video_entity, vdev); | ||
174 | } | ||
175 | |||
176 | #define fimc_pipeline_call(ent, op, args...) \ | ||
177 | (!(ent) ? -ENOENT : (((ent)->pipe->ops && (ent)->pipe->ops->op) ? \ | ||
178 | (ent)->pipe->ops->op(((ent)->pipe), ##args) : -ENOIOCTLCMD)) \ | ||
175 | 179 | ||
176 | #endif /* S5P_FIMC_H_ */ | 180 | #endif /* S5P_FIMC_H_ */ |
diff --git a/include/media/ths7303.h b/include/media/ths7303.h index 980ec51d574d..a7b49297da82 100644 --- a/include/media/ths7303.h +++ b/include/media/ths7303.h | |||
@@ -30,13 +30,11 @@ | |||
30 | * @ch_1: Bias value for channel one. | 30 | * @ch_1: Bias value for channel one. |
31 | * @ch_2: Bias value for channel two. | 31 | * @ch_2: Bias value for channel two. |
32 | * @ch_3: Bias value for channel three. | 32 | * @ch_3: Bias value for channel three. |
33 | * @init_enable: initalize on init. | ||
34 | */ | 33 | */ |
35 | struct ths7303_platform_data { | 34 | struct ths7303_platform_data { |
36 | u8 ch_1; | 35 | u8 ch_1; |
37 | u8 ch_2; | 36 | u8 ch_2; |
38 | u8 ch_3; | 37 | u8 ch_3; |
39 | u8 init_enable; | ||
40 | }; | 38 | }; |
41 | 39 | ||
42 | #endif | 40 | #endif |
diff --git a/include/media/tveeprom.h b/include/media/tveeprom.h index a8ad75a9152a..4a1191abd936 100644 --- a/include/media/tveeprom.h +++ b/include/media/tveeprom.h | |||
@@ -1,6 +1,17 @@ | |||
1 | /* | 1 | /* |
2 | */ | 2 | */ |
3 | 3 | ||
4 | enum tveeprom_audio_processor { | ||
5 | /* No audio processor present */ | ||
6 | TVEEPROM_AUDPROC_NONE, | ||
7 | /* The audio processor is internal to the video processor */ | ||
8 | TVEEPROM_AUDPROC_INTERNAL, | ||
9 | /* The audio processor is a MSPXXXX device */ | ||
10 | TVEEPROM_AUDPROC_MSP, | ||
11 | /* The audio processor is another device */ | ||
12 | TVEEPROM_AUDPROC_OTHER, | ||
13 | }; | ||
14 | |||
4 | struct tveeprom { | 15 | struct tveeprom { |
5 | u32 has_radio; | 16 | u32 has_radio; |
6 | /* If has_ir == 0, then it is unknown what the IR capabilities are, | 17 | /* If has_ir == 0, then it is unknown what the IR capabilities are, |
diff --git a/include/media/tvp7002.h b/include/media/tvp7002.h index ee4353459ef5..fadb6afe9ef0 100644 --- a/include/media/tvp7002.h +++ b/include/media/tvp7002.h | |||
@@ -26,31 +26,29 @@ | |||
26 | #ifndef _TVP7002_H_ | 26 | #ifndef _TVP7002_H_ |
27 | #define _TVP7002_H_ | 27 | #define _TVP7002_H_ |
28 | 28 | ||
29 | /* Platform-dependent data | 29 | #define TVP7002_MODULE_NAME "tvp7002" |
30 | * | 30 | |
31 | * clk_polarity: | 31 | /** |
32 | * 0 -> data clocked out on rising edge of DATACLK signal | 32 | * struct tvp7002_config - Platform dependent data |
33 | * 1 -> data clocked out on falling edge of DATACLK signal | 33 | *@clk_polarity: Clock polarity |
34 | * hs_polarity: | 34 | * 0 - Data clocked out on rising edge of DATACLK signal |
35 | * 0 -> active low HSYNC output | 35 | * 1 - Data clocked out on falling edge of DATACLK signal |
36 | * 1 -> active high HSYNC output | 36 | *@hs_polarity: HSYNC polarity |
37 | * sog_polarity: | 37 | * 0 - Active low HSYNC output, 1 - Active high HSYNC output |
38 | * 0 -> normal operation | 38 | *@vs_polarity: VSYNC Polarity |
39 | * 1 -> operation with polarity inverted | 39 | * 0 - Active low VSYNC output, 1 - Active high VSYNC output |
40 | * vs_polarity: | 40 | *@fid_polarity: Active-high Field ID polarity. |
41 | * 0 -> active low VSYNC output | 41 | * 0 - The field ID output is set to logic 1 for an odd field |
42 | * 1 -> active high VSYNC output | 42 | * (field 1) and set to logic 0 for an even field (field 0). |
43 | * fid_polarity: | 43 | * 1 - Operation with polarity inverted. |
44 | * 0 -> the field ID output is set to logic 1 for an odd | 44 | *@sog_polarity: Active high Sync on Green output polarity. |
45 | * field (field 1) and set to logic 0 for an even | 45 | * 0 - Normal operation, 1 - Operation with polarity inverted |
46 | * field (field 0). | ||
47 | * 1 -> operation with polarity inverted. | ||
48 | */ | 46 | */ |
49 | struct tvp7002_config { | 47 | struct tvp7002_config { |
50 | u8 clk_polarity; | 48 | bool clk_polarity; |
51 | u8 hs_polarity; | 49 | bool hs_polarity; |
52 | u8 vs_polarity; | 50 | bool vs_polarity; |
53 | u8 fid_polarity; | 51 | bool fid_polarity; |
54 | u8 sog_polarity; | 52 | bool sog_polarity; |
55 | }; | 53 | }; |
56 | #endif | 54 | #endif |
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h index c259b36bf1e9..543f89c18896 100644 --- a/include/media/v4l2-chip-ident.h +++ b/include/media/v4l2-chip-ident.h | |||
@@ -52,6 +52,8 @@ enum { | |||
52 | V4L2_IDENT_SAA7115 = 105, | 52 | V4L2_IDENT_SAA7115 = 105, |
53 | V4L2_IDENT_SAA7118 = 108, | 53 | V4L2_IDENT_SAA7118 = 108, |
54 | 54 | ||
55 | V4L2_IDENT_GM7113C = 140, | ||
56 | |||
55 | /* module saa7127: reserved range 150-199 */ | 57 | /* module saa7127: reserved range 150-199 */ |
56 | V4L2_IDENT_SAA7127 = 157, | 58 | V4L2_IDENT_SAA7127 = 157, |
57 | V4L2_IDENT_SAA7129 = 159, | 59 | V4L2_IDENT_SAA7129 = 159, |
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index 95d1c91770f4..b2c3776a1cff 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h | |||
@@ -129,7 +129,6 @@ struct video_device | |||
129 | 129 | ||
130 | /* Video standard vars */ | 130 | /* Video standard vars */ |
131 | v4l2_std_id tvnorms; /* Supported tv norms */ | 131 | v4l2_std_id tvnorms; /* Supported tv norms */ |
132 | v4l2_std_id current_norm; /* Current tvnorm */ | ||
133 | 132 | ||
134 | /* callbacks */ | 133 | /* callbacks */ |
135 | void (*release)(struct video_device *vdev); | 134 | void (*release)(struct video_device *vdev); |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index f40b41c7e108..2c5e67a45436 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
@@ -395,7 +395,7 @@ struct v4l2_pix_format { | |||
395 | #define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3') /* H263 */ | 395 | #define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3') /* H263 */ |
396 | #define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */ | 396 | #define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */ |
397 | #define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */ | 397 | #define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */ |
398 | #define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 ES */ | 398 | #define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 part 2 ES */ |
399 | #define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D') /* Xvid */ | 399 | #define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D') /* Xvid */ |
400 | #define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */ | 400 | #define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */ |
401 | #define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */ | 401 | #define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */ |
@@ -555,7 +555,7 @@ struct v4l2_jpegcompression { | |||
555 | __u32 jpeg_markers; /* Which markers should go into the JPEG | 555 | __u32 jpeg_markers; /* Which markers should go into the JPEG |
556 | * output. Unless you exactly know what | 556 | * output. Unless you exactly know what |
557 | * you do, leave them untouched. | 557 | * you do, leave them untouched. |
558 | * Inluding less markers will make the | 558 | * Including less markers will make the |
559 | * resulting code smaller, but there will | 559 | * resulting code smaller, but there will |
560 | * be fewer applications which can read it. | 560 | * be fewer applications which can read it. |
561 | * The presence of the APP and COM marker | 561 | * The presence of the APP and COM marker |
@@ -567,7 +567,7 @@ struct v4l2_jpegcompression { | |||
567 | #define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */ | 567 | #define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */ |
568 | #define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */ | 568 | #define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */ |
569 | #define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will | 569 | #define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will |
570 | * allways use APP0 */ | 570 | * always use APP0 */ |
571 | }; | 571 | }; |
572 | 572 | ||
573 | /* | 573 | /* |
@@ -900,7 +900,7 @@ typedef __u64 v4l2_std_id; | |||
900 | /* | 900 | /* |
901 | * "Common" PAL - This macro is there to be compatible with the old | 901 | * "Common" PAL - This macro is there to be compatible with the old |
902 | * V4L1 concept of "PAL": /BGDKHI. | 902 | * V4L1 concept of "PAL": /BGDKHI. |
903 | * Several PAL standards are mising here: /M, /N and /Nc | 903 | * Several PAL standards are missing here: /M, /N and /Nc |
904 | */ | 904 | */ |
905 | #define V4L2_STD_PAL (V4L2_STD_PAL_BG |\ | 905 | #define V4L2_STD_PAL (V4L2_STD_PAL_BG |\ |
906 | V4L2_STD_PAL_DK |\ | 906 | V4L2_STD_PAL_DK |\ |
@@ -1790,7 +1790,7 @@ struct v4l2_event_subscription { | |||
1790 | #define V4L2_CHIP_MATCH_HOST V4L2_CHIP_MATCH_BRIDGE | 1790 | #define V4L2_CHIP_MATCH_HOST V4L2_CHIP_MATCH_BRIDGE |
1791 | #define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */ | 1791 | #define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */ |
1792 | #define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */ | 1792 | #define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */ |
1793 | #define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */ | 1793 | #define V4L2_CHIP_MATCH_AC97 3 /* Match against ancillary AC97 chip */ |
1794 | #define V4L2_CHIP_MATCH_SUBDEV 4 /* Match against subdev index */ | 1794 | #define V4L2_CHIP_MATCH_SUBDEV 4 /* Match against subdev index */ |
1795 | 1795 | ||
1796 | struct v4l2_dbg_match { | 1796 | struct v4l2_dbg_match { |