aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-04-04 12:50:07 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-04 12:50:07 -0400
commit3c83e61e67256e0bb08c46cc2db43b58fd617251 (patch)
tree0233e1e04e6449c60b01ff5dea8bea85bcf22f08 /include
parent4a4389abdd9822fdf3cc2ac6ed87eb811fd43acc (diff)
parenta83b93a7480441a47856dc9104bea970e84cda87 (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: "The main set of series of patches for media subsystem, including: - document RC sysfs class - added an API to setup scancode to allow waking up systems using the Remote Controller - add API for SDR devices. Drivers are still on staging - some API improvements for getting EDID data from media inputs/outputs - new DVB frontend driver for drx-j (ATSC) - one driver (it913x/it9137) got removed, in favor of an improvement on another driver (af9035) - added a skeleton V4L2 PCI driver at documentation - added a dual flash driver (lm3646) - added a new IR driver (img-ir) - added an IR scancode decoder for the Sharp protocol - some improvements at the usbtv driver, to allow its core to be reused. - added a new SDR driver (rtl2832u_sdr) - added a new tuner driver (msi001) - several improvements at em28xx driver to fix PM support, device removal and to split the V4L2 specific bits into a separate sub-driver - one driver got converted to videobuf2 (s2255drv) - the e4000 tuner driver now follows an improved binding model - some fixes at V4L2 compat32 code - several fixes and enhancements at videobuf2 code - some cleanups at V4L2 API documentation - usual driver enhancements, new board additions and misc fixups" [ NOTE! This merge effective drops commit 4329b93b283c ("of: Reduce indentation in of_graph_get_next_endpoint"). The of_graph_get_next_endpoint() function was moved and renamed by commit fd9fdb78a9bf ("[media] of: move graph helpers from drivers/media/v4l2-core to drivers/of"). It was originally called v4l2_of_get_next_endpoint() and lived in the file drivers/media/v4l2-core/v4l2-of.c. In that original location, it was then fixed to support empty port nodes by commit b9db140c1e46 ("[media] v4l: of: Support empty port nodes"), and that commit clashes badly with the dropped "Reduce intendation" commit. I had to choose one or the other, and decided that the "Support empty port nodes" commit was more important ] * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (426 commits) [media] em28xx-dvb: fix PCTV 461e tuner I2C binding Revert "[media] em28xx-dvb: fix PCTV 461e tuner I2C binding" [media] em28xx: fix PCTV 290e LNA oops [media] em28xx-dvb: fix PCTV 461e tuner I2C binding [media] m88ds3103: fix bug on .set_tone() [media] saa7134: fix WARN_ON during resume [media] v4l2-dv-timings: add module name, description, license [media] videodev2.h: add parenthesis around macro arguments [media] saa6752hs: depends on CRC32 [media] si4713: fix Kconfig dependencies [media] Sensoray 2255 uses videobuf2 [media] adv7180: free an interrupt on failure paths in init_device() [media] e4000: make VIDEO_V4L2 dependency optional [media] af9033: Don't export functions for the hardware filter [media] af9035: use af9033 PID filters [media] af9033: implement PID filter [media] rtl2832_sdr: do not use dynamic stack allocation [media] e4000: fix 32-bit build error [media] em28xx-audio: make sure audio is unmuted on open() [media] DocBook media: v4l2_format_sdr was renamed to v4l2_sdr_format ...
Diffstat (limited to 'include')
-rw-r--r--include/media/adv7842.h3
-rw-r--r--include/media/lm3646.h87
-rw-r--r--include/media/rc-core.h80
-rw-r--r--include/media/rc-map.h6
-rw-r--r--include/media/v4l2-dev.h3
-rw-r--r--include/media/v4l2-ioctl.h10
-rw-r--r--include/media/v4l2-subdev.h9
-rw-r--r--include/media/videobuf2-core.h117
-rw-r--r--include/trace/events/v4l2.h1
-rw-r--r--include/uapi/linux/v4l2-common.h8
-rw-r--r--include/uapi/linux/v4l2-controls.h19
-rw-r--r--include/uapi/linux/v4l2-dv-timings.h17
-rw-r--r--include/uapi/linux/v4l2-subdev.h14
-rw-r--r--include/uapi/linux/videodev2.h74
14 files changed, 380 insertions, 68 deletions
diff --git a/include/media/adv7842.h b/include/media/adv7842.h
index 39322091e8b0..924cbb8d004a 100644
--- a/include/media/adv7842.h
+++ b/include/media/adv7842.h
@@ -220,6 +220,9 @@ struct adv7842_platform_data {
220 unsigned sdp_free_run_cbar_en:1; 220 unsigned sdp_free_run_cbar_en:1;
221 unsigned sdp_free_run_force:1; 221 unsigned sdp_free_run_force:1;
222 222
223 /* HPA manual (0) or auto (1), affects HDMI register 0x69 */
224 unsigned hpa_auto:1;
225
223 struct adv7842_sdp_csc_coeff sdp_csc_coeff; 226 struct adv7842_sdp_csc_coeff sdp_csc_coeff;
224 227
225 struct adv7842_sdp_io_sync_adjustment sdp_io_sync_625; 228 struct adv7842_sdp_io_sync_adjustment sdp_io_sync_625;
diff --git a/include/media/lm3646.h b/include/media/lm3646.h
new file mode 100644
index 000000000000..c6acf5a1d640
--- /dev/null
+++ b/include/media/lm3646.h
@@ -0,0 +1,87 @@
1/*
2 * include/media/lm3646.h
3 *
4 * Copyright (C) 2014 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
14#ifndef __LM3646_H__
15#define __LM3646_H__
16
17#include <media/v4l2-subdev.h>
18
19#define LM3646_NAME "lm3646"
20#define LM3646_I2C_ADDR_REV1 (0x67)
21#define LM3646_I2C_ADDR_REV0 (0x63)
22
23/* TOTAL FLASH Brightness Max
24 * min 93350uA, step 93750uA, max 1499600uA
25 */
26#define LM3646_TOTAL_FLASH_BRT_MIN 93350
27#define LM3646_TOTAL_FLASH_BRT_STEP 93750
28#define LM3646_TOTAL_FLASH_BRT_MAX 1499600
29#define LM3646_TOTAL_FLASH_BRT_uA_TO_REG(a) \
30 ((a) < LM3646_TOTAL_FLASH_BRT_MIN ? 0 : \
31 ((((a) - LM3646_TOTAL_FLASH_BRT_MIN) / LM3646_TOTAL_FLASH_BRT_STEP)))
32
33/* TOTAL TORCH Brightness Max
34 * min 23040uA, step 23430uA, max 187100uA
35 */
36#define LM3646_TOTAL_TORCH_BRT_MIN 23040
37#define LM3646_TOTAL_TORCH_BRT_STEP 23430
38#define LM3646_TOTAL_TORCH_BRT_MAX 187100
39#define LM3646_TOTAL_TORCH_BRT_uA_TO_REG(a) \
40 ((a) < LM3646_TOTAL_TORCH_BRT_MIN ? 0 : \
41 ((((a) - LM3646_TOTAL_TORCH_BRT_MIN) / LM3646_TOTAL_TORCH_BRT_STEP)))
42
43/* LED1 FLASH Brightness
44 * min 23040uA, step 11718uA, max 1499600uA
45 */
46#define LM3646_LED1_FLASH_BRT_MIN 23040
47#define LM3646_LED1_FLASH_BRT_STEP 11718
48#define LM3646_LED1_FLASH_BRT_MAX 1499600
49#define LM3646_LED1_FLASH_BRT_uA_TO_REG(a) \
50 ((a) <= LM3646_LED1_FLASH_BRT_MIN ? 0 : \
51 ((((a) - LM3646_LED1_FLASH_BRT_MIN) / LM3646_LED1_FLASH_BRT_STEP))+1)
52
53/* LED1 TORCH Brightness
54 * min 2530uA, step 1460uA, max 187100uA
55 */
56#define LM3646_LED1_TORCH_BRT_MIN 2530
57#define LM3646_LED1_TORCH_BRT_STEP 1460
58#define LM3646_LED1_TORCH_BRT_MAX 187100
59#define LM3646_LED1_TORCH_BRT_uA_TO_REG(a) \
60 ((a) <= LM3646_LED1_TORCH_BRT_MIN ? 0 : \
61 ((((a) - LM3646_LED1_TORCH_BRT_MIN) / LM3646_LED1_TORCH_BRT_STEP))+1)
62
63/* FLASH TIMEOUT DURATION
64 * min 50ms, step 50ms, max 400ms
65 */
66#define LM3646_FLASH_TOUT_MIN 50
67#define LM3646_FLASH_TOUT_STEP 50
68#define LM3646_FLASH_TOUT_MAX 400
69#define LM3646_FLASH_TOUT_ms_TO_REG(a) \
70 ((a) <= LM3646_FLASH_TOUT_MIN ? 0 : \
71 (((a) - LM3646_FLASH_TOUT_MIN) / LM3646_FLASH_TOUT_STEP))
72
73/* struct lm3646_platform_data
74 *
75 * @flash_timeout: flash timeout
76 * @led1_flash_brt: led1 flash mode brightness, uA
77 * @led1_torch_brt: led1 torch mode brightness, uA
78 */
79struct lm3646_platform_data {
80
81 u32 flash_timeout;
82
83 u32 led1_flash_brt;
84 u32 led1_torch_brt;
85};
86
87#endif /* __LM3646_H__ */
diff --git a/include/media/rc-core.h b/include/media/rc-core.h
index 2f6f1f78d958..0b9f890ce431 100644
--- a/include/media/rc-core.h
+++ b/include/media/rc-core.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * Remote Controller core header 2 * Remote Controller core header
3 * 3 *
4 * Copyright (C) 2009-2010 by Mauro Carvalho Chehab <mchehab@redhat.com> 4 * Copyright (C) 2009-2010 by Mauro Carvalho Chehab
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -35,6 +35,29 @@ enum rc_driver_type {
35}; 35};
36 36
37/** 37/**
38 * struct rc_scancode_filter - Filter scan codes.
39 * @data: Scancode data to match.
40 * @mask: Mask of bits of scancode to compare.
41 */
42struct rc_scancode_filter {
43 u32 data;
44 u32 mask;
45};
46
47/**
48 * enum rc_filter_type - Filter type constants.
49 * @RC_FILTER_NORMAL: Filter for normal operation.
50 * @RC_FILTER_WAKEUP: Filter for waking from suspend.
51 * @RC_FILTER_MAX: Number of filter types.
52 */
53enum rc_filter_type {
54 RC_FILTER_NORMAL = 0,
55 RC_FILTER_WAKEUP,
56
57 RC_FILTER_MAX
58};
59
60/**
38 * struct rc_dev - represents a remote control device 61 * struct rc_dev - represents a remote control device
39 * @dev: driver model's view of this device 62 * @dev: driver model's view of this device
40 * @input_name: name of the input child device 63 * @input_name: name of the input child device
@@ -50,8 +73,10 @@ enum rc_driver_type {
50 * @input_dev: the input child device used to communicate events to userspace 73 * @input_dev: the input child device used to communicate events to userspace
51 * @driver_type: specifies if protocol decoding is done in hardware or software 74 * @driver_type: specifies if protocol decoding is done in hardware or software
52 * @idle: used to keep track of RX state 75 * @idle: used to keep track of RX state
53 * @allowed_protos: bitmask with the supported RC_BIT_* protocols 76 * @allowed_protocols: bitmask with the supported RC_BIT_* protocols for each
54 * @enabled_protocols: bitmask with the enabled RC_BIT_* protocols 77 * filter type
78 * @enabled_protocols: bitmask with the enabled RC_BIT_* protocols for each
79 * filter type
55 * @scanmask: some hardware decoders are not capable of providing the full 80 * @scanmask: some hardware decoders are not capable of providing the full
56 * scancode to the application. As this is a hardware limit, we can't do 81 * scancode to the application. As this is a hardware limit, we can't do
57 * anything with it. Yet, as the same keycode table can be used with other 82 * anything with it. Yet, as the same keycode table can be used with other
@@ -70,7 +95,10 @@ enum rc_driver_type {
70 * @max_timeout: maximum timeout supported by device 95