aboutsummaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
Diffstat (limited to 'include/media')
-rw-r--r--include/media/adv7183.h47
-rw-r--r--include/media/blackfin/bfin_capture.h37
-rw-r--r--include/media/blackfin/ppi.h74
-rw-r--r--include/media/davinci/vpif_types.h2
-rw-r--r--include/media/gpio-ir-recv.h22
-rw-r--r--include/media/media-device.h3
-rw-r--r--include/media/mt9m032.h36
-rw-r--r--include/media/rc-map.h3
-rw-r--r--include/media/s5p_hdmi.h35
-rw-r--r--include/media/sh_mobile_ceu.h2
-rw-r--r--include/media/sii9234.h24
-rw-r--r--include/media/tuner.h1
-rw-r--r--include/media/v4l2-chip-ident.h6
-rw-r--r--include/media/v4l2-ctrls.h14
-rw-r--r--include/media/v4l2-dev.h3
-rw-r--r--include/media/v4l2-ioctl.h5
16 files changed, 311 insertions, 3 deletions
diff --git a/include/media/adv7183.h b/include/media/adv7183.h
new file mode 100644
index 000000000000..c5c2d377c0a6
--- /dev/null
+++ b/include/media/adv7183.h
@@ -0,0 +1,47 @@
1/*
2 * adv7183.h - definition for adv7183 inputs and outputs
3 *
4 * Copyright (c) 2011 Analog Devices Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20#ifndef _ADV7183_H_
21#define _ADV7183_H_
22
23/* ADV7183 HW inputs */
24#define ADV7183_COMPOSITE0 0 /* CVBS in on AIN1 */
25#define ADV7183_COMPOSITE1 1 /* CVBS in on AIN2 */
26#define ADV7183_COMPOSITE2 2 /* CVBS in on AIN3 */
27#define ADV7183_COMPOSITE3 3 /* CVBS in on AIN4 */
28#define ADV7183_COMPOSITE4 4 /* CVBS in on AIN5 */
29#define ADV7183_COMPOSITE5 5 /* CVBS in on AIN6 */
30#define ADV7183_COMPOSITE6 6 /* CVBS in on AIN7 */
31#define ADV7183_COMPOSITE7 7 /* CVBS in on AIN8 */
32#define ADV7183_COMPOSITE8 8 /* CVBS in on AIN9 */
33#define ADV7183_COMPOSITE9 9 /* CVBS in on AIN10 */
34#define ADV7183_COMPOSITE10 10 /* CVBS in on AIN11 */
35
36#define ADV7183_SVIDEO0 11 /* Y on AIN1, C on AIN4 */
37#define ADV7183_SVIDEO1 12 /* Y on AIN2, C on AIN5 */
38#define ADV7183_SVIDEO2 13 /* Y on AIN3, C on AIN6 */
39
40#define ADV7183_COMPONENT0 14 /* Y on AIN1, Pr on AIN4, Pb on AIN5 */
41#define ADV7183_COMPONENT1 15 /* Y on AIN2, Pr on AIN3, Pb on AIN6 */
42
43/* ADV7183 HW outputs */
44#define ADV7183_8BIT_OUT 0
45#define ADV7183_16BIT_OUT 1
46
47#endif
diff --git a/include/media/blackfin/bfin_capture.h b/include/media/blackfin/bfin_capture.h
new file mode 100644
index 000000000000..2038a8a3f8aa
--- /dev/null
+++ b/include/media/blackfin/bfin_capture.h
@@ -0,0 +1,37 @@
1#ifndef _BFIN_CAPTURE_H_
2#define _BFIN_CAPTURE_H_
3
4#include <linux/i2c.h>
5
6struct v4l2_input;
7struct ppi_info;
8
9struct bcap_route {
10 u32 input;
11 u32 output;
12};
13
14struct bfin_capture_config {
15 /* card name */
16 char *card_name;
17 /* inputs available at the sub device */
18 struct v4l2_input *inputs;
19 /* number of inputs supported */
20 int num_inputs;
21 /* routing information for each input */
22 struct bcap_route *routes;
23 /* i2c bus adapter no */
24 int i2c_adapter_id;
25 /* i2c subdevice board info */
26 struct i2c_board_info board_info;
27 /* ppi board info */
28 const struct ppi_info *ppi_info;
29 /* ppi control */
30 unsigned long ppi_control;
31 /* ppi interrupt mask */
32 u32 int_mask;
33 /* horizontal blanking clocks */
34 int blank_clocks;
35};
36
37#endif
diff --git a/include/media/blackfin/ppi.h b/include/media/blackfin/ppi.h
new file mode 100644
index 000000000000..8f72f8a0b3d0
--- /dev/null
+++ b/include/media/blackfin/ppi.h
@@ -0,0 +1,74 @@
1/*
2 * Analog Devices PPI header file
3 *
4 * Copyright (c) 2011 Analog Devices Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20#ifndef _PPI_H_
21#define _PPI_H_
22
23#include <linux/interrupt.h>
24
25#ifdef EPPI_EN
26#define PORT_EN EPPI_EN
27#define DMA32 0
28#define PACK_EN PACKEN
29#endif
30
31struct ppi_if;
32
33struct ppi_params {
34 int width;
35 int height;
36 int bpp;
37 unsigned long ppi_control;
38 u32 int_mask;
39 int blank_clocks;
40};
41
42struct ppi_ops {
43 int (*attach_irq)(struct ppi_if *ppi, irq_handler_t handler);
44 void (*detach_irq)(struct ppi_if *ppi);
45 int (*start)(struct ppi_if *ppi);
46 int (*stop)(struct ppi_if *ppi);
47 int (*set_params)(struct ppi_if *ppi, struct ppi_params *params);
48 void (*update_addr)(struct ppi_if *ppi, unsigned long addr);
49};
50
51enum ppi_type {
52 PPI_TYPE_PPI,
53 PPI_TYPE_EPPI,
54};
55
56struct ppi_info {
57 enum ppi_type type;
58 int dma_ch;
59 int irq_err;
60 void __iomem *base;
61 const unsigned short *pin_req;
62};
63
64struct ppi_if {
65 unsigned long ppi_control;
66 const struct ppi_ops *ops;
67 const struct ppi_info *info;
68 bool err_int;
69 void *priv;
70};
71
72struct ppi_if *ppi_create_instance(const struct ppi_info *info);
73void ppi_delete_instance(struct ppi_if *ppi);
74#endif
diff --git a/include/media/davinci/vpif_types.h b/include/media/davinci/vpif_types.h
index 9929b05cff3a..bd8217c2577c 100644
--- a/include/media/davinci/vpif_types.h
+++ b/include/media/davinci/vpif_types.h
@@ -17,6 +17,8 @@
17#ifndef _VPIF_TYPES_H 17#ifndef _VPIF_TYPES_H
18#define _VPIF_TYPES_H 18#define _VPIF_TYPES_H
19 19
20#include <linux/i2c.h>
21
20#define VPIF_CAPTURE_MAX_CHANNELS 2 22#define VPIF_CAPTURE_MAX_CHANNELS 2
21 23
22enum vpif_if_type { 24enum vpif_if_type {
diff --git a/include/media/gpio-ir-recv.h b/include/media/gpio-ir-recv.h
new file mode 100644
index 000000000000..67797bf5d432
--- /dev/null
+++ b/include/media/gpio-ir-recv.h
@@ -0,0 +1,22 @@
1/* Copyright (c) 2012, Code Aurora Forum. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#ifndef __GPIO_IR_RECV_H__
14#define __GPIO_IR_RECV_H__
15
16struct gpio_ir_recv_platform_data {
17 int gpio_nr;
18 bool active_low;
19};
20
21#endif /* __GPIO_IR_RECV_H__ */
22
diff --git a/include/media/media-device.h b/include/media/media-device.h
index 6a27d916c250..eaade9815bb6 100644
--- a/include/media/media-device.h
+++ b/include/media/media-device.h
@@ -23,7 +23,6 @@
23#ifndef _MEDIA_DEVICE_H 23#ifndef _MEDIA_DEVICE_H
24#define _MEDIA_DEVICE_H 24#define _MEDIA_DEVICE_H
25 25
26#include <linux/device.h>
27#include <linux/list.h> 26#include <linux/list.h>
28#include <linux/mutex.h> 27#include <linux/mutex.h>
29#include <linux/spinlock.h> 28#include <linux/spinlock.h>
@@ -31,6 +30,8 @@
31#include <media/media-devnode.h> 30#include <media/media-devnode.h>
32#include <media/media-entity.h> 31#include <media/media-entity.h>
33 32
33struct device;
34
34/** 35/**
35 * struct media_device - Media device 36 * struct media_device - Media device
36 * @dev: Parent device 37 * @dev: Parent device
diff --git a/include/media/mt9m032.h b/include/media/mt9m032.h
new file mode 100644
index 000000000000..c3a78114d7a6
--- /dev/null
+++ b/include/media/mt9m032.h
@@ -0,0 +1,36 @@
1/*
2 * Driver for MT9M032 CMOS Image Sensor from Micron
3 *
4 * Copyright (C) 2010-2011 Lund Engineering
5 * Contact: Gil Lund <gwlund@lundeng.com>
6 * Author: Martin Hostettler <martin@neutronstar.dyndns.org>
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * version 2 as published by the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA
21 *
22 */
23
24#ifndef MT9M032_H
25#define MT9M032_H
26
27#define MT9M032_NAME "mt9m032"
28#define MT9M032_I2C_ADDR (0xb8 >> 1)
29
30struct mt9m032_platform_data {
31 u32 ext_clock;
32 u32 pix_clock;
33 bool invert_pixclock;
34
35};
36#endif /* MT9M032_H */
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
index f688bde61228..8db6741c1256 100644
--- a/include/media/rc-map.h
+++ b/include/media/rc-map.h
@@ -102,8 +102,11 @@ void rc_map_init(void);
102#define RC_MAP_IMON_MCE "rc-imon-mce" 102#define RC_MAP_IMON_MCE "rc-imon-mce"
103#define RC_MAP_IMON_PAD "rc-imon-pad" 103#define RC_MAP_IMON_PAD "rc-imon-pad"
104#define RC_MAP_IODATA_BCTV7E "rc-iodata-bctv7e" 104#define RC_MAP_IODATA_BCTV7E "rc-iodata-bctv7e"
105#define RC_MAP_IT913X_V1 "rc-it913x-v1"
106#define RC_MAP_IT913X_V2 "rc-it913x-v2"
105#define RC_MAP_KAIOMY "rc-kaiomy" 107#define RC_MAP_KAIOMY "rc-kaiomy"
106#define RC_MAP_KWORLD_315U "rc-kworld-315u" 108#define RC_MAP_KWORLD_315U "rc-kworld-315u"
109#define RC_MAP_KWORLD_PC150U "rc-kworld-pc150u"
107#define RC_MAP_KWORLD_PLUS_TV_ANALOG "rc-kworld-plus-tv-analog" 110#define RC_MAP_KWORLD_PLUS_TV_ANALOG "rc-kworld-plus-tv-analog"
108#define RC_MAP_LEADTEK_Y04G0051 "rc-leadtek-y04g0051" 111#define RC_MAP_LEADTEK_Y04G0051 "rc-leadtek-y04g0051"
109#define RC_MAP_LIRC "rc-lirc" 112#define RC_MAP_LIRC "rc-lirc"
diff --git a/include/media/s5p_hdmi.h b/include/media/s5p_hdmi.h
new file mode 100644
index 000000000000..361a751f73af
--- /dev/null
+++ b/include/media/s5p_hdmi.h
@@ -0,0 +1,35 @@
1/*
2 * Driver header for S5P HDMI chip.
3 *
4 * Copyright (c) 2011 Samsung Electronics, Co. Ltd
5 * Contact: Tomasz Stanislawski <t.stanislaws@samsung.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13#ifndef S5P_HDMI_H
14#define S5P_HDMI_H
15
16struct i2c_board_info;
17
18/**
19 * @hdmiphy_bus: controller id for HDMIPHY bus
20 * @hdmiphy_info: template for HDMIPHY I2C device
21 * @mhl_bus: controller id for MHL control bus
22 * @mhl_info: template for MHL I2C device
23 *
24 * NULL pointer for *_info fields indicates that
25 * the corresponding chip is not present
26 */
27struct s5p_hdmi_platform_data {
28 int hdmiphy_bus;
29 struct i2c_board_info *hdmiphy_info;
30 int mhl_bus;
31 struct i2c_board_info *mhl_info;
32};
33
34#endif /* S5P_HDMI_H */
35
diff --git a/include/media/sh_mobile_ceu.h b/include/media/sh_mobile_ceu.h
index 48413b410f15..a90a765f18da 100644
--- a/include/media/sh_mobile_ceu.h
+++ b/include/media/sh_mobile_ceu.h
@@ -18,6 +18,8 @@ struct sh_mobile_ceu_companion {
18 18
19struct sh_mobile_ceu_info { 19struct sh_mobile_ceu_info {
20 unsigned long flags; 20 unsigned long flags;
21 int max_width;
22 int max_height;
21 struct sh_mobile_ceu_companion *csi2; 23 struct sh_mobile_ceu_companion *csi2;
22}; 24};
23 25
diff --git a/include/media/sii9234.h b/include/media/sii9234.h
new file mode 100644
index 000000000000..6a4a809fe9a3
--- /dev/null
+++ b/include/media/sii9234.h
@@ -0,0 +1,24 @@
1/*
2 * Driver header for SII9234 MHL converter chip.
3 *
4 * Copyright (c) 2011 Samsung Electronics, Co. Ltd
5 * Contact: Tomasz Stanislawski <t.stanislaws@samsung.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13#ifndef SII9234_H
14#define SII9234_H
15
16/**
17 * @gpio_n_reset: GPIO driving nRESET pin
18 */
19
20struct sii9234_platform_data {
21 int gpio_n_reset;
22};
23
24#endif /* SII9234_H */
diff --git a/include/media/tuner.h b/include/media/tuner.h
index 29e1920e7339..926aff9bdf65 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -136,6 +136,7 @@
136#define TUNER_TENA_TNF_5337 86 136#define TUNER_TENA_TNF_5337 86
137 137
138#define TUNER_XC4000 87 /* Xceive Silicon Tuner */ 138#define TUNER_XC4000 87 /* Xceive Silicon Tuner */
139#define TUNER_XC5000C 88 /* Xceive Silicon Tuner */
139 140
140/* tv card specific */ 141/* tv card specific */
141#define TDA9887_PRESENT (1<<0) 142#define TDA9887_PRESENT (1<<0)
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h
index 810a20928a21..7395c815939d 100644
--- a/include/media/v4l2-chip-ident.h
+++ b/include/media/v4l2-chip-ident.h
@@ -143,6 +143,9 @@ enum {
143 /* module saa6588: just ident 6588 */ 143 /* module saa6588: just ident 6588 */
144 V4L2_IDENT_SAA6588 = 6588, 144 V4L2_IDENT_SAA6588 = 6588,
145 145
146 /* module vs6624: just ident 6624 */
147 V4L2_IDENT_VS6624 = 6624,
148
146 /* module saa6752hs: reserved range 6750-6759 */ 149 /* module saa6752hs: reserved range 6750-6759 */
147 V4L2_IDENT_SAA6752HS = 6752, 150 V4L2_IDENT_SAA6752HS = 6752,
148 V4L2_IDENT_SAA6752HS_AC3 = 6753, 151 V4L2_IDENT_SAA6752HS_AC3 = 6753,
@@ -162,6 +165,9 @@ enum {
162 /* module adv7180: just ident 7180 */ 165 /* module adv7180: just ident 7180 */
163 V4L2_IDENT_ADV7180 = 7180, 166 V4L2_IDENT_ADV7180 = 7180,
164 167
168 /* module adv7183: just ident 7183 */
169 V4L2_IDENT_ADV7183 = 7183,
170
165 /* module saa7185: just ident 7185 */ 171 /* module saa7185: just ident 7185 */
166 V4L2_IDENT_SAA7185 = 7185, 172 V4L2_IDENT_SAA7185 = 7185,
167 173
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h
index eeb3df637144..11e67562b3ac 100644
--- a/include/media/v4l2-ctrls.h
+++ b/include/media/v4l2-ctrls.h
@@ -22,7 +22,6 @@
22#define _V4L2_CTRLS_H 22#define _V4L2_CTRLS_H
23 23
24#include <linux/list.h> 24#include <linux/list.h>
25#include <linux/device.h>
26#include <linux/videodev2.h> 25#include <linux/videodev2.h>
27 26
28/* forward references */ 27/* forward references */
@@ -33,6 +32,7 @@ struct video_device;
33struct v4l2_subdev; 32struct v4l2_subdev;
34struct v4l2_subscribed_event; 33struct v4l2_subscribed_event;
35struct v4l2_fh; 34struct v4l2_fh;
35struct poll_table_struct;
36 36
37/** struct v4l2_ctrl_ops - The control operations that the driver has to provide. 37/** struct v4l2_ctrl_ops - The control operations that the driver has to provide.
38 * @g_volatile_ctrl: Get a new value for this control. Generally only relevant 38 * @g_volatile_ctrl: Get a new value for this control. Generally only relevant
@@ -492,6 +492,18 @@ void v4l2_ctrl_add_event(struct v4l2_ctrl *ctrl,
492void v4l2_ctrl_del_event(struct v4l2_ctrl *ctrl, 492void v4l2_ctrl_del_event(struct v4l2_ctrl *ctrl,
493 struct v4l2_subscribed_event *sev); 493 struct v4l2_subscribed_event *sev);
494 494
495/* Can be used as a vidioc_log_status function that just dumps all controls
496 associated with the filehandle. */
497int v4l2_ctrl_log_status(struct file *file, void *fh);
498
499/* Can be used as a vidioc_subscribe_event function that just subscribes
500 control events. */
501int v4l2_ctrl_subscribe_event(struct v4l2_fh *fh,
502 struct v4l2_event_subscription *sub);
503
504/* Can be used as a poll function that just polls for control events. */
505unsigned int v4l2_ctrl_poll(struct file *file, struct poll_table_struct *wait);
506
495/* Helpers for ioctl_ops. If hdl == NULL then they will all return -EINVAL. */ 507/* Helpers for ioctl_ops. If hdl == NULL then they will all return -EINVAL. */
496int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *qc); 508int v4l2_queryctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_queryctrl *qc);
497int v4l2_querymenu(struct v4l2_ctrl_handler *hdl, struct v4l2_querymenu *qm); 509int v4l2_querymenu(struct v4l2_ctrl_handler *hdl, struct v4l2_querymenu *qm);
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index c7c40f1d2624..96d22215cc88 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -62,6 +62,9 @@ struct v4l2_file_operations {
62 unsigned int (*poll) (struct file *, struct poll_table_struct *); 62 unsigned int (*poll) (struct file *, struct poll_table_struct *);
63 long (*ioctl) (struct file *, unsigned int, unsigned long); 63 long (*ioctl) (struct file *, unsigned int, unsigned long);
64 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); 64 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
65#ifdef CONFIG_COMPAT
66 long (*compat_ioctl32) (struct file *, unsigned int, unsigned long);
67#endif
65 unsigned long (*get_unmapped_area) (struct file *, unsigned long, 68 unsigned long (*get_unmapped_area) (struct file *, unsigned long,
66 unsigned long, unsigned long, unsigned long); 69 unsigned long, unsigned long, unsigned long);
67 int (*mmap) (struct file *, struct vm_area_struct *); 70 int (*mmap) (struct file *, struct vm_area_struct *);
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
index 3f5d60fc5df6..3cb939cd03f9 100644
--- a/include/media/v4l2-ioctl.h
+++ b/include/media/v4l2-ioctl.h
@@ -11,7 +11,6 @@
11 11
12#include <linux/poll.h> 12#include <linux/poll.h>
13#include <linux/fs.h> 13#include <linux/fs.h>
14#include <linux/device.h>
15#include <linux/mutex.h> 14#include <linux/mutex.h>
16#include <linux/compiler.h> /* need __user */ 15#include <linux/compiler.h> /* need __user */
17#include <linux/videodev2.h> 16#include <linux/videodev2.h>
@@ -211,6 +210,10 @@ struct v4l2_ioctl_ops {
211 struct v4l2_encoder_cmd *a); 210 struct v4l2_encoder_cmd *a);
212 int (*vidioc_try_encoder_cmd) (struct file *file, void *fh, 211 int (*vidioc_try_encoder_cmd) (struct file *file, void *fh,
213 struct v4l2_encoder_cmd *a); 212 struct v4l2_encoder_cmd *a);
213 int (*vidioc_decoder_cmd) (struct file *file, void *fh,
214 struct v4l2_decoder_cmd *a);
215 int (*vidioc_try_decoder_cmd) (struct file *file, void *fh,
216 struct v4l2_decoder_cmd *a);
214 217
215 /* Stream type-dependent parameter ioctls */ 218 /* Stream type-dependent parameter ioctls */
216 int (*vidioc_g_parm) (struct file *file, void *fh, 219 int (*vidioc_g_parm) (struct file *file, void *fh,