diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:08:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:08:02 -0500 |
commit | a310410f616c78f24490de1274487a7b7b137d97 (patch) | |
tree | dbc2fc187800e6e7014263bf83e10d0155620029 /include | |
parent | cdd278db0e3dd714e8076e58f723f3c59547591b (diff) | |
parent | 80f93c7b0f4599ffbdac8d964ecd1162b8b618b9 (diff) |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
"This series include:
- a new Remote Controller driver for ST SoC with the corresponding DT
bindings
- a new frontend (cx24117)
- a new I2C camera flash driver (lm3560)
- a new mem2mem driver for TI SoC (ti-vpe)
- support for Raphael r828d added to r820t driver
- some improvements on buffer allocation at VB2 core
- usual driver fixes and improvements
PS this time, we have a smaller number of patches. While it is hard
to pinpoint to the reasons, I believe that it is mainly due to:
1) there are several patch series ready, but depending on DT review.
I decided to grant some extra time for DT maintainers to look on
it, as they're expecting to have more time with the changes agreed
during ARM mini-summit and KS. If they can't review in time for
3.14, I'll review myself and apply for the next merge window.
2) I suspect that having both LinuxCon EU and LinuxCon NA happening
during the same merge window affected the development
productivity, as several core media developers participated on
both events"
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (151 commits)
[media] media: st-rc: Add ST remote control driver
[media] gpio-ir-recv: Include linux/of.h header
[media] tvp7002: Include linux/of.h header
[media] tvp514x: Include linux/of.h header
[media] ths8200: Include linux/of.h header
[media] adv7343: Include linux/of.h header
[media] v4l: Fix typo in v4l2_subdev_get_try_crop()
[media] media: i2c: add driver for dual LED Flash, lm3560
[media] rtl28xxu: add 15f4:0131 Astrometa DVB-T2
[media] rtl28xxu: add RTL2832P + R828D support
[media] rtl2832: add new tuner R828D
[media] r820t: add support for R828D
[media] media/i2c: ths8200: fix build failure with gcc 4.5.4
[media] Add support for KWorld UB435-Q V2
[media] staging/media: fix msi3101 build errors
[media] ddbridge: Remove casting the return value which is a void pointer
[media] ngene: Remove casting the return value which is a void pointer
[media] dm1105: remove unneeded not-null test
[media] sh_mobile_ceu_camera: remove deprecated IRQF_DISABLED
[media] media: rcar_vin: Add preliminary r8a7790 support
...
Diffstat (limited to 'include')
-rw-r--r-- | include/media/lm3560.h | 97 | ||||
-rw-r--r-- | include/media/soc_camera.h | 27 | ||||
-rw-r--r-- | include/media/v4l2-clk.h | 17 | ||||
-rw-r--r-- | include/media/v4l2-common.h | 2 | ||||
-rw-r--r-- | include/media/v4l2-ctrls.h | 2 | ||||
-rw-r--r-- | include/media/v4l2-fh.h | 2 | ||||
-rw-r--r-- | include/media/v4l2-subdev.h | 19 | ||||
-rw-r--r-- | include/media/videobuf2-core.h | 4 | ||||
-rw-r--r-- | include/media/videobuf2-dma-sg.h | 10 | ||||
-rw-r--r-- | include/uapi/linux/v4l2-controls.h | 4 |
10 files changed, 163 insertions, 21 deletions
diff --git a/include/media/lm3560.h b/include/media/lm3560.h new file mode 100644 index 000000000000..46670706d6f8 --- /dev/null +++ b/include/media/lm3560.h | |||
@@ -0,0 +1,97 @@ | |||
1 | /* | ||
2 | * include/media/lm3560.h | ||
3 | * | ||
4 | * Copyright (C) 2013 Texas Instruments | ||
5 | * | ||
6 | * Contact: Daniel Jeong <gshark.jeong@gmail.com> | ||
7 | * Ldd-Mlp <ldd-mlp@list.ti.com> | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * version 2 as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, but | ||
14 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
21 | * 02110-1301 USA | ||
22 | * | ||
23 | */ | ||
24 | |||
25 | #ifndef __LM3560_H__ | ||
26 | #define __LM3560_H__ | ||
27 | |||
28 | #include <media/v4l2-subdev.h> | ||
29 | |||
30 | #define LM3560_NAME "lm3560" | ||
31 | #define LM3560_I2C_ADDR (0x53) | ||
32 | |||
33 | /* FLASH Brightness | ||
34 | * min 62500uA, step 62500uA, max 1000000uA | ||
35 | */ | ||
36 | #define LM3560_FLASH_BRT_MIN 62500 | ||
37 | #define LM3560_FLASH_BRT_STEP 62500 | ||
38 | #define LM3560_FLASH_BRT_MAX 1000000 | ||
39 | #define LM3560_FLASH_BRT_uA_TO_REG(a) \ | ||
40 | ((a) < LM3560_FLASH_BRT_MIN ? 0 : \ | ||
41 | (((a) - LM3560_FLASH_BRT_MIN) / LM3560_FLASH_BRT_STEP)) | ||
42 | #define LM3560_FLASH_BRT_REG_TO_uA(a) \ | ||
43 | ((a) * LM3560_FLASH_BRT_STEP + LM3560_FLASH_BRT_MIN) | ||
44 | |||
45 | /* FLASH TIMEOUT DURATION | ||
46 | * min 32ms, step 32ms, max 1024ms | ||
47 | */ | ||
48 | #define LM3560_FLASH_TOUT_MIN 32 | ||
49 | #define LM3560_FLASH_TOUT_STEP 32 | ||
50 | #define LM3560_FLASH_TOUT_MAX 1024 | ||
51 | #define LM3560_FLASH_TOUT_ms_TO_REG(a) \ | ||
52 | ((a) < LM3560_FLASH_TOUT_MIN ? 0 : \ | ||
53 | (((a) - LM3560_FLASH_TOUT_MIN) / LM3560_FLASH_TOUT_STEP)) | ||
54 | #define LM3560_FLASH_TOUT_REG_TO_ms(a) \ | ||
55 | ((a) * LM3560_FLASH_TOUT_STEP + LM3560_FLASH_TOUT_MIN) | ||
56 | |||
57 | /* TORCH BRT | ||
58 | * min 31250uA, step 31250uA, max 250000uA | ||
59 | */ | ||
60 | #define LM3560_TORCH_BRT_MIN 31250 | ||
61 | #define LM3560_TORCH_BRT_STEP 31250 | ||
62 | #define LM3560_TORCH_BRT_MAX 250000 | ||
63 | #define LM3560_TORCH_BRT_uA_TO_REG(a) \ | ||
64 | ((a) < LM3560_TORCH_BRT_MIN ? 0 : \ | ||
65 | (((a) - LM3560_TORCH_BRT_MIN) / LM3560_TORCH_BRT_STEP)) | ||
66 | #define LM3560_TORCH_BRT_REG_TO_uA(a) \ | ||
67 | ((a) * LM3560_TORCH_BRT_STEP + LM3560_TORCH_BRT_MIN) | ||
68 | |||
69 | enum lm3560_led_id { | ||
70 | LM3560_LED0 = 0, | ||
71 | LM3560_LED1, | ||
72 | LM3560_LED_MAX | ||
73 | }; | ||
74 | |||
75 | enum lm3560_peak_current { | ||
76 | LM3560_PEAK_1600mA = 0x00, | ||
77 | LM3560_PEAK_2300mA = 0x20, | ||
78 | LM3560_PEAK_3000mA = 0x40, | ||
79 | LM3560_PEAK_3600mA = 0x60 | ||
80 | }; | ||
81 | |||
82 | /* struct lm3560_platform_data | ||
83 | * | ||
84 | * @peak : peak current | ||
85 | * @max_flash_timeout: flash timeout | ||
86 | * @max_flash_brt: flash mode led brightness | ||
87 | * @max_torch_brt: torch mode led brightness | ||
88 | */ | ||
89 | struct lm3560_platform_data { | ||
90 | enum lm3560_peak_current peak; | ||
91 | |||
92 | u32 max_flash_timeout; | ||
93 | u32 max_flash_brt[LM3560_LED_MAX]; | ||
94 | u32 max_torch_brt[LM3560_LED_MAX]; | ||
95 | }; | ||
96 | |||
97 | #endif /* __LM3560_H__ */ | ||
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h index 34d2414f2b8c..865246b00127 100644 --- a/include/media/soc_camera.h +++ b/include/media/soc_camera.h | |||
@@ -146,9 +146,14 @@ struct soc_camera_subdev_desc { | |||
146 | /* sensor driver private platform data */ | 146 | /* sensor driver private platform data */ |
147 | void *drv_priv; | 147 | void *drv_priv; |
148 | 148 | ||
149 | /* Optional regulators that have to be managed on power on/off events */ | 149 | /* |
150 | struct regulator_bulk_data *regulators; | 150 | * Set unbalanced_power to true to deal with legacy drivers, failing to |
151 | int num_regulators; | 151 | * balance their calls to subdevice's .s_power() method. clock_state is |
152 | * then used internally by helper functions, it shouldn't be touched by | ||
153 | * drivers or the platform code. | ||
154 | */ | ||
155 | bool unbalanced_power; | ||
156 | unsigned long clock_state; | ||
152 | 157 | ||
153 | /* Optional callbacks to power on or off and reset the sensor */ | 158 | /* Optional callbacks to power on or off and reset the sensor */ |
154 | int (*power)(struct device *, int); | 159 | int (*power)(struct device *, int); |
@@ -162,6 +167,9 @@ struct soc_camera_subdev_desc { | |||
162 | int (*set_bus_param)(struct soc_camera_subdev_desc *, unsigned long flags); | 167 | int (*set_bus_param)(struct soc_camera_subdev_desc *, unsigned long flags); |
163 | unsigned long (*query_bus_param)(struct soc_camera_subdev_desc *); | 168 | unsigned long (*query_bus_param)(struct soc_camera_subdev_desc *); |
164 | void (*free_bus)(struct soc_camera_subdev_desc *); | 169 | void (*free_bus)(struct soc_camera_subdev_desc *); |
170 | |||
171 | /* Optional regulators that have to be managed on power on/off events */ | ||
172 | struct v4l2_subdev_platform_data sd_pdata; | ||
165 | }; | 173 | }; |
166 | 174 | ||
167 | struct soc_camera_host_desc { | 175 | struct soc_camera_host_desc { |
@@ -202,9 +210,10 @@ struct soc_camera_link { | |||
202 | 210 | ||
203 | void *priv; | 211 | void *priv; |
204 | 212 | ||
205 | /* Optional regulators that have to be managed on power on/off events */ | 213 | /* Set by platforms to handle misbehaving drivers */ |
206 | struct regulator_bulk_data *regulators; | 214 | bool unbalanced_power; |
207 | int num_regulators; | 215 | /* Used by soc-camera helper functions */ |
216 | unsigned long clock_state; | ||
208 | 217 | ||
209 | /* Optional callbacks to power on or off and reset the sensor */ | 218 | /* Optional callbacks to power on or off and reset the sensor */ |
210 | int (*power)(struct device *, int); | 219 | int (*power)(struct device *, int); |
@@ -218,6 +227,12 @@ struct soc_camera_link { | |||
218 | unsigned long (*query_bus_param)(struct soc_camera_link *); | 227 | unsigned long (*query_bus_param)(struct soc_camera_link *); |
219 | void (*free_bus)(struct soc_camera_link *); | 228 | void (*free_bus)(struct soc_camera_link *); |
220 | 229 | ||
230 | /* Optional regulators that have to be managed on power on/off events */ | ||
231 | struct regulator_bulk_data *regulators; | ||
232 | int num_regulators; | ||
233 | |||
234 | void *host_priv; | ||
235 | |||
221 | /* | 236 | /* |
222 | * Host part - keep at bottom and compatible to | 237 | * Host part - keep at bottom and compatible to |
223 | * struct soc_camera_host_desc | 238 | * struct soc_camera_host_desc |
diff --git a/include/media/v4l2-clk.h b/include/media/v4l2-clk.h index 0503a90b48bb..0b36cc138304 100644 --- a/include/media/v4l2-clk.h +++ b/include/media/v4l2-clk.h | |||
@@ -15,6 +15,7 @@ | |||
15 | #define MEDIA_V4L2_CLK_H | 15 | #define MEDIA_V4L2_CLK_H |
16 | 16 | ||
17 | #include <linux/atomic.h> | 17 | #include <linux/atomic.h> |
18 | #include <linux/export.h> | ||
18 | #include <linux/list.h> | 19 | #include <linux/list.h> |
19 | #include <linux/mutex.h> | 20 | #include <linux/mutex.h> |
20 | 21 | ||
@@ -51,4 +52,20 @@ void v4l2_clk_disable(struct v4l2_clk *clk); | |||
51 | unsigned long v4l2_clk_get_rate(struct v4l2_clk *clk); | 52 | unsigned long v4l2_clk_get_rate(struct v4l2_clk *clk); |
52 | int v4l2_clk_set_rate(struct v4l2_clk *clk, unsigned long rate); | 53 | int v4l2_clk_set_rate(struct v4l2_clk *clk, unsigned long rate); |
53 | 54 | ||
55 | struct module; | ||
56 | |||
57 | struct v4l2_clk *__v4l2_clk_register_fixed(const char *dev_id, | ||
58 | const char *id, unsigned long rate, struct module *owner); | ||
59 | void v4l2_clk_unregister_fixed(struct v4l2_clk *clk); | ||
60 | |||
61 | static inline struct v4l2_clk *v4l2_clk_register_fixed(const char *dev_id, | ||
62 | const char *id, | ||
63 | unsigned long rate) | ||
64 | { | ||
65 | return __v4l2_clk_register_fixed(dev_id, id, rate, THIS_MODULE); | ||
66 | } | ||
67 | |||
68 | #define v4l2_clk_name_i2c(name, size, adap, client) snprintf(name, size, \ | ||
69 | "%d-%04x", adap, client) | ||
70 | |||
54 | #endif | 71 | #endif |
diff --git a/include/media/v4l2-common.h b/include/media/v4l2-common.h index 16550c439008..b87692c0b042 100644 --- a/include/media/v4l2-common.h +++ b/include/media/v4l2-common.h | |||
@@ -86,7 +86,7 @@ int v4l2_ctrl_check(struct v4l2_ext_control *ctrl, struct v4l2_queryctrl *qctrl, | |||
86 | const char * const *menu_items); | 86 | const char * const *menu_items); |
87 | const char *v4l2_ctrl_get_name(u32 id); | 87 | const char *v4l2_ctrl_get_name(u32 id); |
88 | const char * const *v4l2_ctrl_get_menu(u32 id); | 88 | const char * const *v4l2_ctrl_get_menu(u32 id); |
89 | const s64 const *v4l2_ctrl_get_int_menu(u32 id, u32 *len); | 89 | const s64 *v4l2_ctrl_get_int_menu(u32 id, u32 *len); |
90 | int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 step, s32 def); | 90 | int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 step, s32 def); |
91 | int v4l2_ctrl_query_menu(struct v4l2_querymenu *qmenu, | 91 | int v4l2_ctrl_query_menu(struct v4l2_querymenu *qmenu, |
92 | struct v4l2_queryctrl *qctrl, const char * const *menu_items); | 92 | struct v4l2_queryctrl *qctrl, const char * const *menu_items); |
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h index 47ada23345a1..16f7f2606516 100644 --- a/include/media/v4l2-ctrls.h +++ b/include/media/v4l2-ctrls.h | |||
@@ -571,7 +571,7 @@ static inline void v4l2_ctrl_lock(struct v4l2_ctrl *ctrl) | |||
571 | mutex_lock(ctrl->handler->lock); | 571 | mutex_lock(ctrl->handler->lock); |
572 | } | 572 | } |
573 | 573 | ||
574 | /** v4l2_ctrl_lock() - Helper function to unlock the handler | 574 | /** v4l2_ctrl_unlock() - Helper function to unlock the handler |
575 | * associated with the control. | 575 | * associated with the control. |
576 | * @ctrl: The control to unlock. | 576 | * @ctrl: The control to unlock. |
577 | */ | 577 | */ |
diff --git a/include/media/v4l2-fh.h b/include/media/v4l2-fh.h index a62ee18cb7b7..528cdaf622e1 100644 --- a/include/media/v4l2-fh.h +++ b/include/media/v4l2-fh.h | |||
@@ -26,7 +26,9 @@ | |||
26 | #ifndef V4L2_FH_H | 26 | #ifndef V4L2_FH_H |
27 | #define V4L2_FH_H | 27 | #define V4L2_FH_H |
28 | 28 | ||
29 | #include <linux/fs.h> | ||
29 | #include <linux/list.h> | 30 | #include <linux/list.h> |
31 | #include <linux/videodev2.h> | ||
30 | 32 | ||
31 | struct video_device; | 33 | struct video_device; |
32 | struct v4l2_ctrl_handler; | 34 | struct v4l2_ctrl_handler; |
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index bfda0fe9aeb0..d67210a37ef3 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h | |||
@@ -559,6 +559,17 @@ struct v4l2_subdev_internal_ops { | |||
559 | /* Set this flag if this subdev generates events. */ | 559 | /* Set this flag if this subdev generates events. */ |
560 | #define V4L2_SUBDEV_FL_HAS_EVENTS (1U << 3) | 560 | #define V4L2_SUBDEV_FL_HAS_EVENTS (1U << 3) |
561 | 561 | ||
562 | struct regulator_bulk_data; | ||
563 | |||
564 | struct v4l2_subdev_platform_data { | ||
565 | /* Optional regulators uset to power on/off the subdevice */ | ||
566 | struct regulator_bulk_data *regulators; | ||
567 | int num_regulators; | ||
568 | |||
569 | /* Per-subdevice data, specific for a certain video host device */ | ||
570 | void *host_priv; | ||
571 | }; | ||
572 | |||
562 | /* Each instance of a subdev driver should create this struct, either | 573 | /* Each instance of a subdev driver should create this struct, either |
563 | stand-alone or embedded in a larger struct. | 574 | stand-alone or embedded in a larger struct. |
564 | */ | 575 | */ |
@@ -592,6 +603,8 @@ struct v4l2_subdev { | |||
592 | struct v4l2_async_subdev *asd; | 603 | struct v4l2_async_subdev *asd; |
593 | /* Pointer to the managing notifier. */ | 604 | /* Pointer to the managing notifier. */ |
594 | struct v4l2_async_notifier *notifier; | 605 | struct v4l2_async_notifier *notifier; |
606 | /* common part of subdevice platform data */ | ||
607 | struct v4l2_subdev_platform_data *pdata; | ||
595 | }; | 608 | }; |
596 | 609 | ||
597 | #define media_entity_to_v4l2_subdev(ent) \ | 610 | #define media_entity_to_v4l2_subdev(ent) \ |
@@ -622,13 +635,13 @@ struct v4l2_subdev_fh { | |||
622 | v4l2_subdev_get_try_##fun_name(struct v4l2_subdev_fh *fh, \ | 635 | v4l2_subdev_get_try_##fun_name(struct v4l2_subdev_fh *fh, \ |
623 | unsigned int pad) \ | 636 | unsigned int pad) \ |
624 | { \ | 637 | { \ |
625 | BUG_ON(unlikely(pad >= vdev_to_v4l2_subdev( \ | 638 | BUG_ON(pad >= vdev_to_v4l2_subdev( \ |
626 | fh->vfh.vdev)->entity.num_pads)); \ | 639 | fh->vfh.vdev)->entity.num_pads); \ |
627 | return &fh->pad[pad].field_name; \ | 640 | return &fh->pad[pad].field_name; \ |
628 | } | 641 | } |
629 | 642 | ||
630 | __V4L2_SUBDEV_MK_GET_TRY(v4l2_mbus_framefmt, format, try_fmt) | 643 | __V4L2_SUBDEV_MK_GET_TRY(v4l2_mbus_framefmt, format, try_fmt) |
631 | __V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, crop, try_compose) | 644 | __V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, crop, try_crop) |
632 | __V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, compose, try_compose) | 645 | __V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, compose, try_compose) |
633 | #endif | 646 | #endif |
634 | 647 | ||
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index 6781258d0b67..bd8218b15009 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h | |||
@@ -391,7 +391,7 @@ unsigned long vb2_get_unmapped_area(struct vb2_queue *q, | |||
391 | unsigned int vb2_poll(struct vb2_queue *q, struct file *file, poll_table *wait); | 391 | unsigned int vb2_poll(struct vb2_queue *q, struct file *file, poll_table *wait); |
392 | size_t vb2_read(struct vb2_queue *q, char __user *data, size_t count, | 392 | size_t vb2_read(struct vb2_queue *q, char __user *data, size_t count, |
393 | loff_t *ppos, int nonblock); | 393 | loff_t *ppos, int nonblock); |
394 | size_t vb2_write(struct vb2_queue *q, char __user *data, size_t count, | 394 | size_t vb2_write(struct vb2_queue *q, const char __user *data, size_t count, |
395 | loff_t *ppos, int nonblock); | 395 | loff_t *ppos, int nonblock); |
396 | 396 | ||
397 | /** | 397 | /** |
@@ -491,7 +491,7 @@ int vb2_ioctl_expbuf(struct file *file, void *priv, | |||
491 | 491 | ||
492 | int vb2_fop_mmap(struct file *file, struct vm_area_struct *vma); | 492 | int vb2_fop_mmap(struct file *file, struct vm_area_struct *vma); |
493 | int vb2_fop_release(struct file *file); | 493 | int vb2_fop_release(struct file *file); |
494 | ssize_t vb2_fop_write(struct file *file, char __user *buf, | 494 | ssize_t vb2_fop_write(struct file *file, const char __user *buf, |
495 | size_t count, loff_t *ppos); | 495 | size_t count, loff_t *ppos); |
496 | ssize_t vb2_fop_read(struct file *file, char __user *buf, | 496 | ssize_t vb2_fop_read(struct file *file, char __user *buf, |
497 | size_t count, loff_t *ppos); | 497 | size_t count, loff_t *ppos); |
diff --git a/include/media/videobuf2-dma-sg.h b/include/media/videobuf2-dma-sg.h index 0038526b8ef7..7b89852779af 100644 --- a/include/media/videobuf2-dma-sg.h +++ b/include/media/videobuf2-dma-sg.h | |||
@@ -15,16 +15,10 @@ | |||
15 | 15 | ||
16 | #include <media/videobuf2-core.h> | 16 | #include <media/videobuf2-core.h> |
17 | 17 | ||
18 | struct vb2_dma_sg_desc { | 18 | static inline struct sg_table *vb2_dma_sg_plane_desc( |
19 | unsigned long size; | ||
20 | unsigned int num_pages; | ||
21 | struct scatterlist *sglist; | ||
22 | }; | ||
23 | |||
24 | static inline struct vb2_dma_sg_desc *vb2_dma_sg_plane_desc( | ||
25 | struct vb2_buffer *vb, unsigned int plane_no) | 19 | struct vb2_buffer *vb, unsigned int plane_no) |
26 | { | 20 | { |
27 | return (struct vb2_dma_sg_desc *)vb2_plane_cookie(vb, plane_no); | 21 | return (struct sg_table *)vb2_plane_cookie(vb, plane_no); |
28 | } | 22 | } |
29 | 23 | ||
30 | extern const struct vb2_mem_ops vb2_dma_sg_memops; | 24 | extern const struct vb2_mem_ops vb2_dma_sg_memops; |
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 083bb5a5aae2..1666aabbbb86 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
@@ -160,6 +160,10 @@ enum v4l2_colorfx { | |||
160 | * of controls. Total of 16 controls is reserved for this driver */ | 160 | * of controls. Total of 16 controls is reserved for this driver */ |
161 | #define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040) | 161 | #define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040) |
162 | 162 | ||
163 | /* The base for the TI VPE driver controls. Total of 16 controls is reserved for | ||
164 | * this driver */ | ||
165 | #define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_USER_BASE + 0x1050) | ||
166 | |||
163 | /* MPEG-class control IDs */ | 167 | /* MPEG-class control IDs */ |
164 | /* The MPEG controls are applicable to all codec controls | 168 | /* The MPEG controls are applicable to all codec controls |
165 | * and the 'MPEG' part of the define is historical */ | 169 | * and the 'MPEG' part of the define is historical */ |