diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-04 12:50:07 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-04 12:50:07 -0400 |
| commit | 3c83e61e67256e0bb08c46cc2db43b58fd617251 (patch) | |
| tree | 0233e1e04e6449c60b01ff5dea8bea85bcf22f08 /include | |
| parent | 4a4389abdd9822fdf3cc2ac6ed87eb811fd43acc (diff) | |
| parent | a83b93a7480441a47856dc9104bea970e84cda87 (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.h | 3 | ||||
| -rw-r--r-- | include/media/lm3646.h | 87 | ||||
| -rw-r--r-- | include/media/rc-core.h | 80 | ||||
| -rw-r--r-- | include/media/rc-map.h | 6 | ||||
| -rw-r--r-- | include/media/v4l2-dev.h | 3 | ||||
| -rw-r--r-- | include/media/v4l2-ioctl.h | 10 | ||||
| -rw-r--r-- | include/media/v4l2-subdev.h | 9 | ||||
| -rw-r--r-- | include/media/videobuf2-core.h | 117 | ||||
| -rw-r--r-- | include/trace/events/v4l2.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-common.h | 8 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-controls.h | 19 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-dv-timings.h | 17 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-subdev.h | 14 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 74 |
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 | */ | ||
| 79 | struct 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 | */ | ||
| 42 | struct 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 | */ | ||
| 53 | enum 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 | |
