2013-08-17

Mirics MSi3101 SDR Linux driver

Mirics MSi3101

MSi3101 is name of the reference design that consists of two parts, USB ADC and RF-tuner. Used USB ADC is MSi2500 and RF-tuner is MSi001. That designs was introduced somewhere in 2009 aimed for PCTV marked. It is the first and the only one SDR based PCTV solution, which unfortunately never becomes very popular.

Mirics MSi3101 devices
That solution differs notably from the other PCTV solutions as there is no hardware demodulators, instead signal processing is done by host computer software demodulator. That reduces complexity of hardware but downside is increased complexity of software and needed CPU power.

If we compare traditional DTV USB solution and that software solution, we could see that kind of data paths in higher level:

HW, traditional, solution:
antenna => RF-tuner => HW demodulator => USB-interface => PC => TV-application

SW, SDR, solution:
antenna => RF-tuner => ADC => USB-interface => PC => SW demodulator => TV-application

The very first DTV USB ADC

First of all, Mirics MSi2500 USB ADC is very interesting chip! It is very first plain USB ADC I have ever seen, designed for USB2.0 SDR based digital television. Requirements coming from the DTV terrestrial reception means that there must be sampling rates around 10Msps and sampling resolution 10-bit or more. These are hard requirements to meet as all the bits are transferred over rather slow speed USB2.0, which becomes quickly to bottleneck. To tackle that problem chip offers multiple stream format - for more you need sampling rate the less you has resolution and the other way round.


reverse-engineering USB ADC sampling rate formula

Unfortunately I was not able to get any needed register documentation for that chip, which forces me to jump reverse-engineering mode. Whilst I have done reverse-engineering quite a hell much, I don't like to do it as it is simply a waste of time... Fortunately ADCs are rather simply chips as there is not much moving parts, in a good luck only sampling rate. In that case there were mostly sampling rate and stream format which are needed to find out in order to operate chip somehow meaningful.

I thought some time how I could find out ADC sampling rate calculation formula and eventually ended up developing following method. It is mainly based of register value brute-force with sample rate calculation, but contains mixture of some other steps. I could imagine that same method could be useful later, when new USB ADC chips are arriving to market and documentation how to configure ADC sampling rate is not known.

  1. Prerequisites. You must have somehow working driver skeleton which streams ADC data. RF tuner functionality is not needed, but without the tuner step 2 could be hard to pass.
  2. Learn stream format. Implement some logic to driver which calculates all I/Q samples in given period. After the each period calculate sample rate (by driver) and output it to the debug log. I used 5 second period in my tests - more longer period you use, the more accurate sample rate calculation is.
  3. Find out registers involved to sampling rate setting. Sniffing and diffing... For example tune TV to 8 MHz channel, then 6 MHz and test even radio, depending on what app supports. Should not be very hard.
  4. Add "write_reg" V4L2 private control to your driver and some appropriate implementation for it. You could guess why and how - if not that method is not for you.
  5. Start streaming, eg.
    cat /dev/video0 > /dev/null
  6. Brute force different values to sampling rate registers and see what driver reports as calculated sample rate.
    v4l2-ctl -d /dev/video0 --set-ctrl=
    write_reg=0x1234503
Fractional-N frequency synthesizer
Basic knowledge of Fractional-N based frequency synthesizer functionality is needed in order to succeed with that method,  a lot of patience and a little bit luck too. It is easiest to try found meaning for something that changes a lot output sampling rate - in practise it is output divider (Rout, LO div). After that, integer part "N" of PLL multiplier and finally fractional part, which is most hard.


Sample rates measured

Both devices seems to perform very similarly on sampling rate test made. Sampling rate limits were between 1.21 Msps and 15 Msps. Smallest stable sampling rate is a little bit high what I expected, but not too high.

Sampling resolution & stream format

I found 4 different stream formats, all having different resolution. As a USB2.0 device there is direct relation between stream format and sampling resolution and indirect relation for sampling rate. Stream formats known currently supports 14-bit, 12-bit, 10+2-bit and 8-bit resolutions - at least sample bit count got is that, effective resolution (enob) could be a bit less...

I calculated following ~theoretical maximum sampling rates per stream format using assumption maximum USB2.0 effective throughput is 280 Mbit/s.


format resolution sample rate
252 14 8 613 281
336 12 11 484 375
384 10+2 13 125 000
504 8 17 226 562


These results are very theoretical and not tested.

Btw. that stream format register didn't liked injection of new register values when streaming was ongoing :) Result was typically broken stream and it didn't get fixed until device was physically replugged. There could be still some more formats available and I suspect using own firmware you could implement your own formats. At least these are supported by default firmware.

There was also bits to select USB URB Isochronous micro frame size from one of the 1024/2048/3072. 3072 is maximum what USB2.0 supports and I don't see any idea to use smaller as bus datarate is so high in any case.

MSi2500 advertises on USB interface device descriptor that it has some more alternative settings to offer. That same register is likely place to configure those too.

USB device descriptor




RF-tuner

RF tuner used for that design is Mirics MSi001. It supports both Zero-IF and Low-IF, which is very unusual nowadays as most tuners are just Zero-IF only.

Tuner supports multiple bands and wide range frequencies, starting from the 150 kHz and ending up to 2GHz. There is quite big gap between 260 - 410 MHz, but more bigger problem with devices planned for TV usage is unconnected LW/MW/SW and L-Band antennas. These unconnected antennas limits actual frequencies to 50 - 960 MHz. Modding should be possible, but how hard?

testing tuner limits using RF generator

Here is the measured frequency ranges from two different devices I have.


device / mode Mirics MSi3101 SDR Dongle Hauppauge WinTV 133559 LF
VHF_MODE 52 - 132 MHz 49 - 130 MHz
B3_MODE 103 - 263 MHz 98 - 259 MHz
B45_MODE 413 - 960 MHz 391 - 960 MHz


Staging quality

Developing that driver has been relatively big task for me. I started to looking it around one year ago but most of the implementation was done during this summer. There has been numerous new issues to resolve as that is first Linux Kernel USB SDR receiver driver. The fact is that my backgrounds are from the digital television side, DVB API, and that driver is implemented to V4L2 API. I didn't has any existing knowledge from V4L2, which put me position I was forced to learn lot of things. Now I can understand again why some "simple" DVB things could be so hard to implement for firstcomers :)

As there is still multiple unresolved issues that driver could not be mainlined yet. Biggest problem is no less than missing API. So I am putting driver to the Kernel staging which is right place to problematic stuff like that. That is something I will try to kick Mauro to get help as I have so little experience about V4L2 internals. Actually Mauro has already provided some SDR API related patches that are waiting for some discussion and review.

I collected Kernel SDR API requirement specification, which the implementation should follow in the mean it is reasonable possible to implement.

Here is the list of know issues, from critical to less critical. I think resolving API issues is enough to move that driver out from the staging.
  • Kernel SDR API
    • new V4L2 controls
    • do not abuse video-device
    • stream conversions (move to libv4l2?)
    • implementation performance problems are ruled out
  • GNU Radio plugin
    • has performance problems (read => mmap)
    • add more functionality
    • stream conversions with the help of libv4l2
  • separate USB ADC and RF-tuner logic to own drivers
    • USB ADC main driver "msi2500"
    • RF tuner to v4l2 subdev driver "msi001"
  • tons of other changes!
    • feel free to contribute I am open for any help
    • hack hack hack!


Kernel driver development tree

I will keep latest Kernel driver development tree:
http://git.linuxtv.org/anttip/media_tree.git/shortlog/refs/heads/mirics

GNU Radio use example

Install gr-kernel GNU Radio plugin:
http://git.linuxtv.org/anttip/gr-kernel.git

Use LibV4L2 Source it provides.

gr-kernel, LibV4L2 Source, FM radio

v4l2-ctl use example

Whilst LibV4L2 Source in gr-kenel package is recommended application to use device, it is still possible to use it via standard v4l2-ctl tool. These commands will surely change without a any notification when API issues are implemented correctly, but at the time that blog post is written you could capture 94.3 MHz FM radio dump to file using following commands:

$ v4l2-ctl -d /dev/video0 --all
$ v4l2-ctl -d /dev/video0 --set-ctrl=sampling_rate=2000000
$ v4l2-ctl -d /dev/video0 --set-ctrl=tuner_bw=200000
$ v4l2-ctl -d /dev/video0 --set-ctrl=tuner_rf=94300000
$ cat /dev/video0 > ./my_fm_radio_record.bin


Pictures





















2013-08-11

Naked hardware #12: USB Audio Transmitter

USB Audio Transmitter teardown

This time I decided to teardown a little bit different hardware as usually - radio transmitter.

unbranded USB Audio Transmitter


USB Audio Transmitter

Key components:

Holtek HT82A821R
Quintic QN8027

General info

It is cheap noname USB audio transmitter, that is supported beginning from the Linux Kernel 3.4. Kernel driver name is radio-keene, done by Norwegian V4L superman Hans Verkuil.

Device has a USB ID 046d:0a0e assigned. That ID seems to belong Logitech, but likely company has nothing to do with device itself. Maybe the ID is just chosen because Logitech uses it on some USB speakers?

Device starts transmitting just after it is plugged on 95.160 MHz. Use of device is very easy as it implements itself as USB speaker - just plug it to the USB port and select proper audio output from volume control. There is some extra controls available via V4L2 interface, like a frequency setting and TX power. Check and tune using v4l2-ctl tool, "v4l2-ctl -d /dev/radio0 --all" lists all settings.


Hardware internals


PCB top side


All components are assembled to that side of the PCB. Bigger chip is HT82A821R and smaller is QN8027.

HT82A821R is USB speaker chip that supports standard USB audio profile.  The other chip, QN8027, is of course FM transmitter. Two similar looking metal tubes are clock sources. Unfortunately I forget to check clock frequencies, but according to datasheets HT82A821R supports 6 & 12 MHz and QN8027 supports 12 & 24 MHz.


Black wire is antenna, which is physically connected to the metal side frame giving physically a little bit more length.

PCB bottom side is almost empty

PCB bottom side

No components on that side, but still something. There seems to be about half of the antenna wired directly to the PCB.

BL-UAT82 V 1.0 ?

USB interface

IDLE current drain without a driver: 38mA



Pictures




















2013-07-29

generating RTL2832U driver code

Sniffing and analysing communication protocol

I decided to put online my RTL2832U reverse-engineering / hacking scripts. I get quite often questions how to sniff USB, analyse data and generate some driver code to test. I hope this example helps. Fortunately RTL2832U USB protocol is also very simple, which is easy to read and understand even with very limited existing knowledge.

I like to use native Windows XP and SniffUSB 2.0 to took USB captures. There is multiple USB sniffers available, both software and hardware. Feel free to select one you like, but be aware that these scripts only work for SniffUSB logging format. Making log format conversion scripts should be quite trivial though.

Step-by-step

  1. Take sniff using SniffUSB (outputs file UsbSnoop.log). Just tune to working TV channel, one sec is enough, log file size increases very rapidly when picture is streaming.
  2. Use parser.pl to convert SniffUSB log (UsbSnoop.log) more human readable form. (History: In my understanding parser.pl was a part of USBreplay toolkit.)
    • ./parser.pl UsbSnoop.log > UsbSnoop.ts
  3. Lets remove video data as we are not interested of it. It is only control data what we like to get.
    • sed -e 's/BULK\[00081\].*$/BULK\[00081\] MPEG2 TS packet data removed/g' UsbSnoop.ts > UsbSnoop.p
  4. Dump out register writes from the control data.
    • ./rtl2832u.py UsbSnoop.p > UsbSnoop.c

rtl2832u.py could currently extract all registers from rtl2832u devices that has tuner e4000, fc2580, fc0013, tua9001 or r820t. There is few more RF tuners used with rtl2832u and in case of unknown tuner it could still dump out rtl2832u itself registers. Generated code could be copy & pasted directly to the Linux drivers in question and make some tests.

Bug hunting

I have found that approach most easiest way to find out and kill Linux driver bugs. Lets take for example RF tuner bug, which causes notable reduced sensitivity. Took sniffs from the working machine, generate code, copy & paste that to the suitable places of non-working driver. Rapidly that non-working driver starts working and it is time to do manual binary search to find out problematic setting and fix it. Easy? Eventually yes.

Scripts and an example (rtl2832u + fc0013)

http://palosaari.fi/linux/v4l-dvb/rtl2832u_scripts/

2013-07-05

[GIT PULL for v3.11-rc1] media patches for v3.11

Subject: [GIT PULL for v3.11-rc1] media patches for v3.11
Date: Fri, 5 Jul 2013 11:40:28 -0300
From: Mauro Carvalho Chehab <>

Hi Linus,

Please disregard my last pull request. This one superseeds it, fixing the issues
pointed by Manu and Stephen.

Please pull from:
  git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media v4l_for_linus

For the media patches for Kernel v3.11.

This series contain:
    - new i2c video drivers: ml86v7667 (video decoder),
                  ths8200 (video encoder);
    - a new video driver for EasyCap cards based on Fushicai USBTV007;
    - Improved support for OF and embedded systems, with V4L2 async
      initialization and a better support for clocks;
    - API cleanups on the ioctls used by the v4l2 debug tool;
    - Lots of cleanups;
    - As usual, several driver improvements and new cards additions;
    - Revert two changesets that change the minimal symbol rate for
      stv0399, as request by Manu;
    - Update MAINTAINERS and other files to point to my new e-mail.

Thanks!
Mauro

-

The following changes since commit aad760136537fdfa10e5ac76bd3c79bde2100863:

  Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media (2013-06-18 06:25:08 -1000)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media v4l_for_linus

for you to fetch changes up to cda2bf15f6dc98be38816990cb23db7de419d01c:

  Update email to m.chehab@samsung.com (2013-07-05 10:55:41 -0300)

----------------------------------------------------------------
Al Viro (1):
      [media] videobuf_vm_{open,close} race fixes

Alessandro Miceli (2):
      [media] Add support for 'Digital Dual TV Receiver CTVDIGDUAL v2
      [media] Add support for Crypto Redi PC50A device (rtl2832u + FC0012 tuner)

Alexey Khoroshilov (5):
      [media] wl128x: do not call copy_to_user() while holding spinlocks
      [media] staging/media: lirc_imon: fix leaks in imon_probe()
      [media] usbvision-video: fix memory leak of alt_max_pkt_size
      [media] go7007: fix return 0 for unsupported devices in go7007_usb_probe()
      [media] ttusb-budget: fix memory leak in ttusb_probe()

Andrzej Hajda (1):
      [media] media: Rename media_entity_remote_source to media_entity_remote_pad

Antti Palosaari (11):
      [media] af9035: implement I2C adapter read operation
      [media] af9035: make checkpatch.pl happy!
      [media] af9035: minor log writing changes
      [media] af9035: correct TS mode handling
      [media] rtl28xxu: reimplement rtl2832u remote controller
      [media] rtl28xxu: remove redundant IS_ENABLED macro
      [media] rtl28xxu: correct some device names
      [media] rtl28xxu: map remote for TerraTec Cinergy T Stick Black
      [media] rtl28xxu: use masked reg write where possible
      [media] rtl28xxu: correct latest device name
      [media] radio-keene: add delay in order to settle hardware

Arnd Bergmann (1):
      [media] omap3isp: include linux/mm_types.h

Dan Carpenter (1):
      [media] media: info leak in __media_device_enum_links()

Emil Goode (1):
      [media] saa7134: Fix sparse warnings by adding __user annotation

Frank Schaefer (4):
      [media] em28xx: extend GPIO register definitions for the em25xx, em276x/7x/8x, em2874/174/84
      [media] em28xx: improve em2820-em2873/83 GPIO port register definitions and descriptions
      [media] em28xx: move snapshot button bit definition for reg 0x0C from em28xx-input.c to em28xx.h
      [media] em28xx: remove GPIO register caching

Geert Uytterhoeven (1):
      [media] dib8000: Fix dib8000_set_frontend() never setting ret

Gianluca Gennari (5):
      [media] r820t: do not double-free fe->tuner_priv in r820t_release()
      [media] rtl28xxu: fix buffer overflow when probing Rafael Micro r820t tuner
      [media] r820t: remove redundant initializations in r820t_attach()
      [media] r820t: avoid potential memcpy buffer overflow in shadow_store()
      [media] r820t: fix imr calibration

Guennadi Liakhovetski (29):
      [media] mt9p031: Power down the sensor if no supported device has been detected
      [media] V4L2: soc-camera: remove unneeded include path
      [media] soc-camera: move common code to soc_camera.c
      [media] soc-camera: add host clock callbacks to start and stop the master clock
      [media] pxa-camera: move interface activation and deactivation to clock callbacks
      [media] omap1-camera: move interface activation and deactivation to clock callbacks
      [media] atmel-isi: move interface activation and deactivation to clock callbacks
      [media] mx3-camera: move interface activation and deactivation to clock callbacks
      [media] mx2-camera: move interface activation and deactivation to clock callbacks
      [media] mx1-camera: move interface activation and deactivation to clock callbacks
      [media] sh-mobile-ceu-camera: move interface activation and deactivation to clock callbacks
      [media] soc-camera: make .clock_{start,stop} compulsory, .add / .remove optional
      [media] soc-camera: don't attach the client to the host during probing
      [media] sh-mobile-ceu-camera: add primitive OF support
      [media] sh-mobile-ceu-driver: support max width and height in DT
      [media] V4L2: add temporary clock helpers
      [media] V4L2: add a device pointer to struct v4l2_subdev
      [media] V4L2: support asynchronous subdevice registration
      [media] soc-camera: switch I2C subdevice drivers to use v4l2-clk
      [media] soc-camera: add V4L2-async support
      [media] sh_mobile_ceu_camera: add asynchronous subdevice probing support
      [media] imx074: support asynchronous probing
      [media] V4L2: sh_vou: add I2C build dependency
      [media] V4L2: fix compilation if CONFIG_I2C is undefined
      [media] V4L2: soc-camera: fix uninitialised use compiler warning
      [media] V4L2: add documentation for V4L2 clock helpers and asynchronous probing
      [media] V4L2: sh_mobile_ceu_camera: remove CEU specific data from generic functions
      [media] V4L2: soc-camera: move generic functions into a separate file
      [media] V4L2: soc-camera: remove several CEU references in the generic scaler

Hans Verkuil (121):
      [media] bttv: Add Adlink MPG24 entry to the bttv cardlist
      [media] CARDLIST.bttv: add new cards
      [media] bw-qcam: fix timestamp handling
      [media] hdpvr: fix querystd 'unknown format' return
      [media] hdpvr: code cleanup
      [media] hdpvr: improve error handling
      [media] ml86v7667: fix the querystd implementation
      [media] radio-keene: set initial frequency
      [media] v4l2-ioctl: dbg_g/s_register: only match BRIDGE and SUBDEV types
      [media] v4l2: remove g_chip_ident from bridge drivers where it is easy to do so
      [media] cx18: remove g_chip_ident support
      [media] saa7115: add back the dropped 'found' message
      [media] ivtv: remove g_chip_ident
      [media] cx23885: remove g_chip_ident
      [media] saa6752hs: drop obsolete g_chip_ident
      [media] gspca: remove g_chip_ident
      [media] cx231xx: remove g_chip_ident
      [media] marvell-ccic: remove g_chip_ident
      [media] tveeprom: remove v4l2-chip-ident.h include
      [media] au8522_decoder: remove g_chip_ident op
      [media] radio: remove g_chip_ident op
      [media] indycam: remove g_chip_ident op
      [media] soc_camera sensors: remove g_chip_ident op
      [media] media/i2c: remove g_chip_ident op
      [media] cx25840: remove the v4l2-chip-ident.h include
      [media] saa7134: check register address in g_register
      [media] mxb: check register address when reading/writing a register
      [media] vpbe_display: drop g/s_register ioctls
      [media] marvell-ccic: check register address
      [media] au0828: set reg->size
      [media] cx231xx: the reg->size field wasn't filled in
      [media] sn9c20x: the reg->size field wasn't filled in
      [media] pvrusb2: drop g/s_register ioctls
      [media] media/i2c: fill in missing reg->size fields
      [media] cx18: fix register range check
      [media] ivtv: fix register range check
      [media] DocBook/media/v4l: update VIDIOC_DBG_ documentation
      [media] v4l2-framework: replace g_chip_ident by g_std in the examples
      [media] saa7706h: convert to the control framework
      [media] sr030pc30: convert to the control framework
      [media] saa6752hs: convert to the control framework
      [media] radio-tea5764: add support for struct v4l2_device
      [media] radio-tea5764: embed struct video_device
      [media] radio-tea5764: convert to the control framework
      [media] radio-tea5764: audio and input ioctls do not apply to radio devices
      [media] radio-tea5764: add device_caps support
      [media] radio-tea5764: add prio and control event support
      [media] radio-tea5764: some cleanups and clamp frequency when out-of-range
      [media] radio-timb: add device_caps support, remove input/audio ioctls
      [media] radio-timb: convert to the control framework
      [media] radio-timb: actually load the requested subdevs
      [media] radio-timb: add control events and prio support
      [media] tef6862: clamp frequency
      [media] timblogiw: fix querycap
      [media] radio-sf16fmi: remove audio/input ioctls
      [media] radio-sf16fmi: add device_caps support to querycap
      [media] radio-sf16fmi: clamp frequency
      [media] radio-sf16fmi: convert to the control framework
      [media] radio-sf16fmi: add control event and prio support
      [media] mcam-core: replace current_norm by g_std
      [media] via-camera: replace current_norm by g_std
      [media] sh_vou: remove current_norm
      [media] soc_camera: remove use of current_norm
      [media] fsl-viu: remove current_norm
      [media] tm6000: remove deprecated current_norm
      [media] saa7164: replace current_norm by g_std
      [media] cx23885: remove use of deprecated current_norm
      [media] usbvision: replace current_norm by g_std
      [media] saa7134: drop deprecated current_norm
      [media] dt3155v4l: remove deprecated current_norm
      [media] v4l2: remove deprecated current_norm support completely
      [media] adv7183: fix querystd
      [media] bt819: fix querystd
      [media] ks0127: fix querystd
      [media] saa7110: fix querystd
      [media] saa7115: fix querystd
      [media] saa7191: fix querystd
      [media] tvp514x: fix querystd
      [media] vpx3220: fix querystd
      [media] bttv: fix querystd
      [media] zoran: remove bogus autodetect mode in set_norm
      [media] v4l2-ioctl: clarify querystd comment
      [media] DocBook/media/v4l: clarify the QUERYSTD documentation
      [media] tvp5150: fix s_std support
      [media] media: i2c: ths8200: driver for TI video encoder
      [media] saa7134: remove radio/type field from saa7134_fh
      [media] saa7134: move the overlay fields from saa7134_fh to saa7134_dev
      [media] saa7134: move fmt/width/height from saa7134_fh to saa7134_dev
      [media] saa7134: move qos_request from saa7134_fh to saa7134_dev
      [media] saa7134: fix format-related compliance issues
      [media] saa7134: fix empress format compliance bugs
      [media] ths8200: fix two compiler warnings
      [media] mxl111sf: don't redefine pr_err/info/debug
      [media] cx88: remove g_chip_ident
      [media] v4l2: remove obsolete v4l2_chip_match_host()
      [media] v4l2-common: remove unused v4l2_chip_match/ident_i2c_client functions
      [media] v4l2-int-device: remove unused chip_ident reference
      [media] v4l2-core: remove support for obsolete VIDIOC_DBG_G_CHIP_IDENT
      [media] DocBook: remove references to the dropped VIDIOC_DBG_G_CHIP_IDENT ioctl
      [media] DocBook: remove obsolete note from the dbg_g_register doc
      [media] cx88: fix register mask
      [media] v4l2-device: check if already unregistered
      [media] soc_camera: replace vdev->parent by vdev->v4l2_dev
      [media] cx23885-417: use v4l2_dev instead of the deprecated parent field
      [media] zoran: use v4l2_dev instead of the deprecated parent field
      [media] sn9c102_core: add v4l2_device and replace parent with v4l2_dev
      [media] saa7164: add v4l2_device and replace parent with v4l2_dev
      [media] pvrusb2: use v4l2_dev instead of the deprecated parent field
      [media] f_uvc: add v4l2_device and replace parent with v4l2_dev
      [media] omap24xxcam: add v4l2_device and replace parent with v4l2_dev
      [media] saa7134: use v4l2_dev instead of the deprecated parent field
      [media] v4l2: always require v4l2_dev, rename parent to dev_parent
      [media] cx88: set dev_parent to the correct parent PCI bus
      [media] v4l2-framework: update documentation
      [media] ml86v7667: fix compiler warning
      [media] bfin_capture: fix compiler warning
      [media] omap_vout: fix compiler warning
      [media] v4l2-controls.h: fix copy-and-paste error in comment
      [media] saa7164: fix compiler warning
      [media] wl128x: add missing struct v4l2_device
      [media] mem2mem: set missing v4l2_dev pointer

Ismael Luceno (3):
      [media] videodev2.h: Make V4L2_PIX_FMT_MPEG4 comment more specific about its usage
      [media] solo6x10: Approximate frame intervals with non-standard denominator
      [media] solo6x10: reimplement SAA712x setup routine

Jakob Haufe (2):
      [media] rc: Add rc-delock-61959
      [media] em28xx: Add support for 1b80:e1cc Delock 61959

Jakob Normark (1):
      [media] Missing break statement added in smsdvb-main.c

Jean Delvare (1):
      [media] sony-btf-mpx: Drop needless newline in param description

Jon Arne Jørgensen (1):
      [media] saa7115: Add register setup and config for gm7113c

Joseph Salisbury (1):
      [media] uvcvideo: quirk PROBE_DEF for Alienware X51 OmniVision webcam

Kamal Mostafa (1):
      [media] uvcvideo: quirk PROBE_DEF for Dell Studio / OmniVision webcam

Lad, Prabhakar (31):
      [media] media: davinci: vpif: remove unwanted header file inclusion
      [media] media: davinci: vpif_display: move displaying of error to approppraite place
      [media] media: davinci: vpbe: fix checkpatch warning for CamelCase
      [media] media: i2c: tvp7002: enable TVP7002 decoder for media controller based usage
      [media] videodev2.h: fix typos
      [media] media: i2c: tvp7002: remove duplicate define
      [media] media: i2c: tvp7002: rearrange description of structure members
      [media] media: i2c: remove duplicate checks for EPERM in dbg_g/s_register
      [media] media: dvb-frontends: remove duplicate checks for EPERM in dbg_g/s_register
      [media] media: usb: remove duplicate checks for EPERM in vidioc_g/s_register
      [media] media: pci: remove duplicate checks for EPERM
      [media] ARM: davinci: dm365 evm: remove init_enable from ths7303 pdata
      [media] media: i2c: ths7303: remove init_enable option from pdata
      [media] media: i2c: ths7303: remove unnecessary function ths7303_setup()
      [media] media: i2c: ths7303: make the pdata as a constant pointer
      [media] media: i2c: mt9p031: add OF support
      [media] media: davinci: vpif: remove unwanted header mach/hardware.h and sort the includes alphabetically
      [media] media: davinci: vpif: Convert to devm_* api
      [media] media: davinci: vpif: remove unnecessary braces around defines
      [media] media: davinci: vpif_capture: move the freeing of irq and global variables to remove()
      [media] media: davinci: vpif_capture: use module_platform_driver()
      [media] media: davinci: vpif_capture: Convert to devm_* api
      [media] media: davinci: vpif_capture: remove unnecessary loop for IRQ resource
      [media] media: davinci: vpif_display: move the freeing of irq and global variables to remove()
      [media] media: davinci: vpif_display: use module_platform_driver()
      [media] media: davinci: vpif_display: Convert to devm_* api
      [media] media: davinci: vpif_display: remove unnecessary loop for IRQ resource
      [media] media: i2c: tvp514x: add OF support
      [media] media: i2c: ths7303: remove unused member driver_data
      [media] media: i2c: tvp7002: remove manual setting of subdev name
      [media] media: i2c: tvp514x: remove manual setting of subdev name

Lars-Peter Clausen (2):
      [media] media:adv7180: Use dev_pm_ops
      [media] tvp514x: Fix init seqeunce

Laurent Pinchart (15):
      [media] mt9p031: Use gpio_is_valid()
      [media] mt9v032: Free control handler in cleanup paths
      [media] tvp514x: Fix double free
      [media] media: i2c: Convert to gpio_request_one()
      [media] media: i2c: Convert to devm_kzalloc()
      [media] media: i2c: Convert to devm_gpio_request_one()
      [media] media: i2c: Convert to devm_regulator_bulk_get()
      [media] m5mols: Convert to devm_request_irq()
      [media] s5c73m3: Convert to devm_gpio_request_one()
      [media] s5k6aa: Convert to devm_gpio_request_one()
      [media] uvcvideo: Fix open/close race condition
      [media] omap3isp: Defer probe when the IOMMU is not available
      [media] omap3isp: ccp2: Don't ignore the regulator_enable() return value
      [media] mt9p031: Use bulk regulator API
      [media] uvc: Depend on VIDEO_V4L2

Leonid Kegulskiy (3):
      [media] hdpvr: Removed unnecessary get_video_info() call from hdpvr_device_init()
      [media] hdpvr: Added some error handling in hdpvr_start_streaming()
      [media] hdpvr: Removed unnecessary use of kzalloc() in get_video_info()

Libo Chen (6):
      [media] drivers/media/pci/pt1/pt1: Convert to module_pci_driver
      [media] drivers/media/pci/dm1105/dm1105: Convert to module_pci_driver
      [media] drivers/media/pci/mantis/hopper_cards: Convert to module_pci_driver
      [media] drivers/media/pci/dm1105/dm1105: Convert to module_pci_driver
      [media] drivers/media/pci/pluto2/pluto2: Convert to module_pci_driver
      [media] drivers/media/pci/mantis/mantis_cards: Convert to module_pci_driver

Lubomir Rintel (1):
      [media] usbtv: Add driver for Fushicai USBTV007 video frame grabber

Mauro Carvalho Chehab (23):
      Merge tag 'v3.10-rc1' into patchwork
      [media] update saa7134 and tuner cardlists
      [media] saa7115: move the autodetection code out of the probe function
      [media] saa7115: add detection code for gm7113c
      [media] videobuf-dma-contig: use vm_iomap_memory()
      [media] saa7115: Don't use a dynamic array
      [media] drxk_hard: don't re-implement log10
      [media] drxk_hard: Don't use CamelCase
      [media] drxk_hard: use pr_info/pr_warn/pr_err/... macros
      [media] drxk_hard: don't split strings across lines
      [media] drxk_hard: use usleep_range()
      [media] drxk_hard.h: Remove some alien comment markups
      [media] drxk_hard.h: don't use more than 80 columns
      [media] drxk_hard: remove needless parenthesis
      [media] drxk_hard: Remove most 80-cols checkpatch warnings
      Properly handle tristate dependencies on USB/PCI menus
      Merge branch 'linus' into patchwork
      [media] s5p makefiles: don't override other selections on obj-[ym]
      [media] Fix build when drivers are builtin and frontend modules
      [media] pvrusb2: Remove unused variable
      Merge branch 'v4l_for_linus' into patchwork
      [media] stb0899: restore minimal rate to 5Mbauds
      Update email to m.chehab@samsung.com

Miroslav Å ustek (1):
      [media] rtl28xxu: Add USB ID for Leadtek WinFast DTV Dongle mini

Ondrej Zary (4):
      [media] bttv: Add noname Bt848 capture card with 14MHz xtal
      [media] bttv: Add CyberVision CV06
      [media] radio-sf16fmi: Add module name to bus_info
      [media] radio-sf16fmi: Set frequency during init

Paul Bolle (1):
      [media] soc-camera: remove two unused configs

Phil Carmody (1):
      [media] exynos4-is: Simplify bitmask usage

Philipp Zabel (15):
      [media] coda: v4l2-compliance fix: add bus_info prefix 'platform'
      [media] coda: use devm_ioremap_resource
      [media] coda: enable dmabuf support
      [media] coda: set umask 0644 on debug module param
      [media] coda: fix error return value if v4l2_m2m_ctx_init fails
      [media] coda: do not use v4l2_dev in coda_timeout
      [media] coda: fix ENC_SEQ_OPTION for CODA7
      [media] coda: frame stride must be a multiple of 8
      [media] coda: stop setting bytesused in buf_prepare
      [media] coda: clear registers in coda_hw_init
      [media] coda: simplify parameter buffer setup code
      [media] coda: per-product list of codecs instead of list of formats
      [media] coda: add coda_encode_header helper function
      [media] coda: replace completion with mutex
      [media] coda: do not call v4l2_m2m_job_finish from .job_abort

Randy Dunlap (2):
      [media] media/usb: fix kconfig dependencies
      [media] media: fix hdpvr kconfig/build errors

Reinhard Nissl (1):
      [media] stb0899: remove commented value from IQ_SWAP_ON/OFF usages

Reinhard Nißl (7):
      [media] stb0899: sign extend raw CRL_FREQ value
      [media] stb0899: enable auto inversion handling unconditionally
      [media] stb0899: fix inversion enum values to match usage with CFR
      [media] stb0899: store successful inversion for next run
      [media] stb0899: store autodetected inversion while tuning in non S2 mode
      [media] stb0899: use autodetected inversion instead of configured inversion
      [media] stb0899: sign of CRL_FREQ doesn't depend on inversion

Roberto Alcântara (2):
      [media] smscoreapi: Make Siano firmware load more verbose
      [media] smscoreapi: memory leak fix

Rodrigo Tartajo (1):
      [media] rtl2832u: restore ir remote control support

Sachin Kamat (19):
      [media] timblogiw: Remove redundant platform_set_drvdata()
      [media] rc: gpio-ir-recv: Remove redundant platform_set_drvdata()
      [media] omap3isp: Remove redundant platform_set_drvdata()
      [media] s3c-camif: Staticize local symbols
      [media] s3c-camif: Use dev_info instead of printk
      [media] s5c73m3: Fix whitespace related warnings
      [media] exynos4-is: Remove redundant NULL check in fimc-lite.c
      [media] s3c-camif: Remove redundant NULL check
      [media] s5p-tv: Fix incorrect usage of IS_ERR_OR_NULL in hdmi_drv.c
      [media] s5p-tv: Fix incorrect usage of IS_ERR_OR_NULL in mixer_drv.c
      [media] exynos-gsc: Remove redundant use of of_match_ptr macro
      [media] s5p-mfc: Remove redundant use of of_match_ptr macro
      [media] exynos4-is: Staticize local symbols
      [media] soc_camera: Constify dev_pm_ops in mt9t031.c
      [media] soc_camera: Fix checkpatch warning in ov9640.c
      [media] soc_camera/sh_mobile_csi2: Remove redundant platform_set_drvdata()
      [media] soc_camera_platform: Remove redundant platform_set_drvdata()
      [media] soc_camera: mt9t112: Remove empty function
      [media] soc_camera: tw9910: Remove empty function

Sakari Ailus (2):
      [media] davinci_vpfe: Clean up media entity after unregistering subdev
      [media] smiapp: Clean up media entity after unregistering subdev

Scott Jiang (2):
      [media] blackfin: add display support in ppi driver
      [media] bfin_capture: add query_dv_timings/enum_dv_timings support

Soeren Moch (1):
      [media] media: dmxdev: remove dvb_ringbuffer_flush() on writer side

Sylwester Nawrocki (38):
      [media] exynos4-is: Fix example dts in .../bindings/samsung-fimc.txt
      [media] exynos4-is: Remove platform_device_id table at fimc-lite driver
      [media] exynos4-is: Correct querycap ioctl handling at fimc-lite driver
      [media] s5c73m3: Do not ignore errors from regulator_enable()
      [media] exynos4-is: Move common functions to a separate module
      [media] exynos4-is: Add struct exynos_video_entity
      [media] exynos4-is: Preserve state of controls between /dev/video open/close
      [media] exynos4-is: Media graph/video device locking rework
      [media] exynos4-is: Do not use asynchronous runtime PM in release fop
      [media] exynos4-is: Use common exynos_media_pipeline data structure
      [media] exynos4-is: Remove WARN_ON() from __fimc_pipeline_close()
      [media] exynos4-is: Fix sensor subdev -> FIMC notification setup
      [media] exynos4-is: Add locking at fimc(-lite) subdev unregistered handler
      [media] exynos4-is: Remove leftovers of non-dt FIMC-LITE support
      [media] exynos4-is: Remove unused code
      [media] exynos4-is: Refactor vidioc_s_fmt, vidioc_try_fmt handlers
      [media] exynos4-is: Move __fimc_videoc_querycap() function to the common module
      [media] exynos4-is: Add isp_dbg() macro
      [media] media: Change media device link_notify behaviour
      [media] exynos4-is: Extend link_notify handler to support fimc-is/lite pipelines
      [media] s5p-tv: Don't ignore return value of regulator_enable() in sii9234_drv.c
      [media] s5p-tv: Do not ignore regulator/clk API return values in sdo_drv.c
      [media] s5p-tv: Don't ignore return value of regulator_bulk_enable() in hdmi_drv.c
      [media] media: Add a function removing all links of a media entity
      [media] V4L: Remove all links of the media entity when unregistering subdev
      [media] exynos4-is: Fix FIMC-IS clocks initialization
      [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms
      [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver
      [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS
      [media] exynos4-is: Change fimc-is firmware file names
      [media] Documentation: Update driver's directory in video4linux/fimc.txt
      [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry
      [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs
      [media] exynos4-is: Set valid initial format at FIMC-LITE
      [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev
      [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads
      [media] exynos4-is: Set valid initial format on FIMC.n subdevs
      [media] exynos4-is: Correct colorspace handling at FIMC-LITE

Thomas Meyer (3):
      [media] dma-buf: Cocci spatch "ptr_ret.spatch"
      [media] pvrusb2: Cocci spatch "memdup.spatch"
      [media] media: Cocci spatch "ptr_ret.spatch"

Vladimir Barinov (2):
      [media] adv7180: add more subdev video ops
      [media] ML86V7667: new video decoder driver

Wei Yongjun (7):
      [media] v4l: vb2: fix error return code in __vb2_init_fileio()
      [media] vpif_display: fix error return code in vpif_probe()
      [media] vpif_capture: fix error return code in vpif_probe()
      [media] ad9389b: fix error return code in ad9389b_probe()
      [media] blackfin: fix error return code in bcap_probe()
      [media] sta2x11_vip: fix error return code in sta2x11_vip_init_one()
      [media] s5p-tv: fix error return code in mxr_acquire_video()

Zoran Turalija (2):
      [media] stb0899: allow minimum symbol rate of 1000000
      [media] stb0899: allow minimum symbol rate of 2000000

 Documentation/ABI/testing/sysfs-devices-edac       |   14 +-
 Documentation/DocBook/media/dvb/dvbapi.xml         |    2 +-
 Documentation/DocBook/media/v4l/compat.xml         |   14 +-
 Documentation/DocBook/media/v4l/v4l2.xml           |   13 +-
 .../DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml  |  271 --
 .../DocBook/media/v4l/vidioc-dbg-g-chip-info.xml   |   20 +-
 .../DocBook/media/v4l/vidioc-dbg-g-register.xml    |   64 +-
 .../DocBook/media/v4l/vidioc-querystd.xml          |    3 +-
 Documentation/DocBook/media_api.tmpl               |    2 +-
 .../arm/Samsung/clksrc-change-registers.awk        |    0
 .../devicetree/bindings/media/exynos-fimc-lite.txt |    6 +-
 .../devicetree/bindings/media/i2c/mt9p031.txt      |   40 +
 .../devicetree/bindings/media/i2c/tvp514x.txt      |   44 +
 .../devicetree/bindings/media/samsung-fimc.txt     |   26 +-
 .../bindings/media/samsung-mipi-csis.txt           |    4 +-
 .../devicetree/bindings/media/sh_mobile_ceu.txt    |   18 +
 Documentation/devicetree/bindings/mfd/tps6507x.txt |    0
 Documentation/dvb/get_dvb_firmware                 |    0
 Documentation/edac.txt                             |    2 +-
 Documentation/media-framework.txt                  |    2 +-
 Documentation/target/tcm_mod_builder.py            |    0
 Documentation/video4linux/CARDLIST.bttv            |    3 +
 Documentation/video4linux/CARDLIST.saa7134         |    1 +
 Documentation/video4linux/CARDLIST.tuner           |    6 +-
 Documentation/video4linux/extract_xc3028.pl        |    0
 Documentation/video4linux/fimc.txt                 |   21 +-
 Documentation/video4linux/v4l2-framework.txt       |  103 +-
 Documentation/zh_CN/video4linux/v4l2-framework.txt |   13 +-
 MAINTAINERS                                        |   50 +-
 arch/arm/mach-davinci/board-dm365-evm.c            |    1 -
 arch/arm64/kernel/vdso/gen_vdso_offsets.sh         |    0
 arch/ia64/scripts/check-gas                        |    0
 arch/ia64/scripts/toolchain-flags                  |    0
 arch/powerpc/boot/wrapper                          |    0
 arch/powerpc/relocs_check.pl                       |    0
 arch/x86/vdso/checkundef.sh                        |    0
 drivers/base/dma-buf.c                             |    5 +-
 drivers/edac/edac_mc_sysfs.c                       |    2 +-
 drivers/edac/ghes_edac.c                           |    2 +-
 drivers/edac/i5400_edac.c                          |    4 +-
 drivers/edac/i7300_edac.c                          |    4 +-
 drivers/edac/i7core_edac.c                         |    4 +-
 drivers/edac/sb_edac.c                             |    4 +-
 drivers/media/Kconfig                              |   12 +-
 drivers/media/common/saa7146/saa7146_video.c       |   23 -
 drivers/media/common/siano/smscoreapi.c            |   23 +-
 drivers/media/common/siano/smsdvb-debugfs.c        |    2 +-
 drivers/media/common/siano/smsdvb-main.c           |    1 +
 drivers/media/common/tveeprom.c                    |  142 +-
 drivers/media/dvb-core/dmxdev.c                    |    8 +-
 drivers/media/dvb-core/dvb-usb-ids.h               |    2 +
 drivers/media/dvb-frontends/au8522_decoder.c       |   21 -
 drivers/media/dvb-frontends/dib8000.c              |    4 +-
 drivers/media/dvb-frontends/drxk.h                 |    2 +-
 drivers/media/dvb-frontends/drxk_hard.c            | 3154 ++++++++++----------
 drivers/media/dvb-frontends/drxk_hard.h            |  277 +-
 drivers/media/dvb-frontends/mb86a20s.c             |    4 +-
 drivers/media/dvb-frontends/mb86a20s.h             |    2 +-
 drivers/media/dvb-frontends/s921.c                 |    4 +-
 drivers/media/dvb-frontends/s921.h                 |    2 +-
 drivers/media/dvb-frontends/stb0899_algo.c         |  105 +-
 drivers/media/dvb-frontends/stb0899_drv.c          |    5 +-
 drivers/media/dvb-frontends/stb0899_drv.h          |    5 +-
 drivers/media/i2c/Kconfig                          |   18 +
 drivers/media/i2c/Makefile                         |    2 +
 drivers/media/i2c/ad9389b.c                        |   35 +-
 drivers/media/i2c/adp1653.c                        |    5 +-
 drivers/media/i2c/adv7170.c                        |   16 +-
 drivers/media/i2c/adv7175.c                        |   12 +-
 drivers/media/i2c/adv7180.c                        |   79 +-
 drivers/media/i2c/adv7183.c                        |   80 +-
 drivers/media/i2c/adv7343.c                        |   10 -
 drivers/media/i2c/adv7393.c                        |   18 +-
 drivers/media/i2c/adv7604.c                        |   33 +-
 drivers/media/i2c/ak881x.c                         |   39 +-
 drivers/media/i2c/as3645a.c                        |    7 +-
 drivers/media/i2c/bt819.c                          |   26 +-
 drivers/media/i2c/bt856.c                          |   12 +-
 drivers/media/i2c/bt866.c                          |   16 +-
 drivers/media/i2c/cs5345.c                         |   25 +-
 drivers/media/i2c/cs53l32a.c                       |   14 +-
 drivers/media/i2c/cx25840/cx25840-core.c           |   72 +-
 drivers/media/i2c/cx25840/cx25840-core.h           |   34 +-
 drivers/media/i2c/cx25840/cx25840-ir.c             |    7 +-
 drivers/media/i2c/ir-kbd-i2c.c                     |   10 +-
 drivers/media/i2c/ks0127.c                         |   36 +-
 drivers/media/i2c/m52790.c                         |   22 +-
 drivers/media/i2c/m5mols/m5mols_core.c             |   43 +-
 drivers/media/i2c/ml86v7667.c                      |  431 +++
 drivers/media/i2c/msp3400-driver.c                 |   15 +-
 drivers/media/i2c/mt9m032.c                        |   13 +-
 drivers/media/i2c/mt9p031.c                        |   87 +-
 drivers/media/i2c/mt9t001.c                        |    4 +-
 drivers/media/i2c/mt9v011.c                        |   38 +-
 drivers/media/i2c/mt9v032.c                        |    8 +-
 drivers/media/i2c/noon010pc30.c                    |   41 +-
 drivers/media/i2c/ov7640.c                         |    6 +-
 drivers/media/i2c/ov7670.c                         |   26 +-
 drivers/media/i2c/s5c73m3/s5c73m3-core.c           |   88 +-
 drivers/media/i2c/s5c73m3/s5c73m3-spi.c            |    4 +-
 drivers/media/i2c/s5k6aa.c                         |   73 +-
 drivers/media/i2c/saa6588.c                        |   19 +-
 drivers/media/i2c/saa7110.c                        |   17 +-
 drivers/media/i2c/saa7115.c                        |  297 +-
 drivers/media/i2c/saa7127.c                        |   55 +-
 drivers/media/i2c/saa717x.c                        |   16 +-
 drivers/media/i2c/saa7185.c                        |   12 +-
 drivers/media/i2c/saa7191.c                        |   28 +-
 drivers/media/i2c/smiapp/smiapp-core.c             |   20 +-
 drivers/media/i2c/soc_camera/imx074.c              |   51 +-
 drivers/media/i2c/soc_camera/mt9m001.c             |   50 +-
 drivers/media/i2c/soc_camera/mt9m111.c             |   53 +-
 drivers/media/i2c/soc_camera/mt9t031.c             |   54 +-
 drivers/media/i2c/soc_camera/mt9t112.c             |   35 +-
 drivers/media/i2c/soc_camera/mt9v022.c             |   64 +-
 drivers/media/i2c/soc_camera/ov2640.c              |   35 +-
 drivers/media/i2c/soc_camera/ov5642.c              |   39 +-
 drivers/media/i2c/soc_camera/ov6650.c              |   29 +-
 drivers/media/i2c/soc_camera/ov772x.c              |   31 +-
 drivers/media/i2c/soc_camera/ov9640.c              |   35 +-
 drivers/media/i2c/soc_camera/ov9640.h              |    1 +
 drivers/media/i2c/soc_camera/ov9740.c              |   35 +-
 drivers/media/i2c/soc_camera/rj54n1cb0c.c          |   48 +-
 drivers/media/i2c/soc_camera/tw9910.c              |   33 +-
 drivers/media/i2c/sony-btf-mpx.c                   |    5 +-
 drivers/media/i2c/sr030pc30.c                      |  282 +-
 drivers/media/i2c/tda7432.c                        |    4 +-
 drivers/media/i2c/tda9840.c                        |   16 +-
 drivers/media/i2c/tea6415c.c                       |   16 +-
 drivers/media/i2c/tea6420.c                        |   16 +-
 drivers/media/i2c/ths7303.c                        |   81 +-
 drivers/media/i2c/ths8200.c                        |  556 ++++
 drivers/media/i2c/ths8200_regs.h                   |  161 +
 drivers/media/i2c/tlv320aic23b.c                   |    4 +-
 drivers/media/i2c/tvaudio.c                        |   14 +-
 drivers/media/i2c/tvp514x.c                        |   87 +-
 drivers/media/i2c/tvp5150.c                        |   50 +-
 drivers/media/i2c/tvp7002.c                        |  143 +-
 drivers/media/i2c/tw2804.c                         |    6 +-
 drivers/media/i2c/tw9903.c                         |    5 +-
 drivers/media/i2c/tw9906.c                         |    5 +-
 drivers/media/i2c/uda1342.c                        |    3 +-
 drivers/media/i2c/upd64031a.c                      |   24 +-
 drivers/media/i2c/upd64083.c                       |   24 +-
 drivers/media/i2c/vp27smpx.c                       |   12 +-
 drivers/media/i2c/vpx3220.c                        |   29 +-
 drivers/media/i2c/vs6624.c                         |   46 +-
 drivers/media/i2c/wm8739.c                         |   13 +-
 drivers/media/i2c/wm8775.c                         |   13 +-
 drivers/media/media-device.c                       |    3 +
 drivers/media/media-entity.c                       |   81 +-
 drivers/media/parport/bw-qcam.c                    |    2 +
 drivers/media/pci/Kconfig                          |    4 +-
 drivers/media/pci/b2c2/flexcop-pci.c               |   13 +-
 drivers/media/pci/bt8xx/bttv-cards.c               |   52 +-
 drivers/media/pci/bt8xx/bttv-driver.c              |   48 +-
 drivers/media/pci/bt8xx/bttv.h                     |    4 +
 drivers/media/pci/cx18/cx18-av-core.c              |   36 -
 drivers/media/pci/cx18/cx18-av-core.h              |    1 -
 drivers/media/pci/cx18/cx18-ioctl.c                |   82 +-
 drivers/media/pci/cx23885/cx23885-417.c            |    9 +-
 drivers/media/pci/cx23885/cx23885-ioctl.c          |  145 +-
 drivers/media/pci/cx23885/cx23885-ioctl.h          |    4 +-
 drivers/media/pci/cx23885/cx23885-video.c          |    9 +-
 drivers/media/pci/cx23885/cx23888-ir.c             |   31 -
 drivers/media/pci/cx88/cx88-cards.c                |   12 +-
 drivers/media/pci/cx88/cx88-core.c                 |    7 +
 drivers/media/pci/cx88/cx88-video.c                |   25 +-
 drivers/media/pci/cx88/cx88.h                      |    8 +-
 drivers/media/pci/dm1105/dm1105.c                  |   13 +-
 drivers/media/pci/ivtv/ivtv-driver.c               |    8 +-
 drivers/media/pci/ivtv/ivtv-ioctl.c                |   45 +-
 drivers/media/pci/mantis/hopper_cards.c            |   13 +-
 drivers/media/pci/mantis/mantis_cards.c            |   13 +-
 drivers/media/pci/mantis/mantis_vp1041.c           |    2 +-
 drivers/media/pci/pluto2/pluto2.c                  |   13 +-
 drivers/media/pci/pt1/pt1.c                        |   15 +-
 drivers/media/pci/saa7134/saa6752hs.c              |  525 +---
 drivers/media/pci/saa7134/saa7134-empress.c        |   33 +-
 drivers/media/pci/saa7134/saa7134-video.c          |  260 +-
 drivers/media/pci/saa7134/saa7134.h                |   17 +-
 drivers/media/pci/saa7146/mxb.c                    |   23 +-
 drivers/media/pci/saa7164/saa7164-core.c           |    8 +
 drivers/media/pci/saa7164/saa7164-encoder.c        |   58 +-
 drivers/media/pci/saa7164/saa7164-vbi.c            |   24 +-
 drivers/media/pci/saa7164/saa7164.h                |    5 +-
 drivers/media/pci/sta2x11/sta2x11_vip.c            |    3 +-
 drivers/media/pci/ttpci/budget-av.c                |    2 +-
 drivers/media/pci/ttpci/budget-ci.c                |    2 +-
 drivers/media/pci/zoran/zoran_card.c               |    2 +-
 drivers/media/pci/zoran/zoran_driver.c             |   23 -
 drivers/media/platform/Kconfig                     |    2 +-
 drivers/media/platform/blackfin/bfin_capture.c     |   81 +-
 drivers/media/platform/blackfin/ppi.c              |   12 +
 drivers/media/platform/coda.c                      |  635 ++--
 drivers/media/platform/coda.h                      |   11 +-
 drivers/media/platform/davinci/vpbe_display.c      |   31 +-
 drivers/media/platform/davinci/vpbe_osd.c          |   24 +-
 drivers/media/platform/davinci/vpif.c              |   45 +-
 drivers/media/platform/davinci/vpif_capture.c      |  160 +-
 drivers/media/platform/davinci/vpif_capture.h      |    5 +-
 drivers/media/platform/davinci/vpif_display.c      |  153 +-
 drivers/media/platform/davinci/vpif_display.h      |    5 +-
 drivers/media/platform/exynos-gsc/gsc-core.c       |    2 +-
 drivers/media/platform/exynos4-is/Kconfig          |    7 +-
 drivers/media/platform/exynos4-is/Makefile         |    5 +-
 drivers/media/platform/exynos4-is/common.c         |   53 +
 drivers/media/platform/exynos4-is/common.h         |   16 +
 drivers/media/platform/exynos4-is/fimc-capture.c   |  412 +--
 drivers/media/platform/exynos4-is/fimc-core.c      |   11 -
 drivers/media/platform/exynos4-is/fimc-core.h      |   15 +-
 drivers/media/platform/exynos4-is/fimc-is-i2c.c    |    2 +-
 drivers/media/platform/exynos4-is/fimc-is-param.c  |   84 +-
 drivers/media/platform/exynos4-is/fimc-is-regs.c   |    4 +-
 drivers/media/platform/exynos4-is/fimc-is.c        |   38 +-
 drivers/media/platform/exynos4-is/fimc-is.h        |   13 +-
 drivers/media/platform/exynos4-is/fimc-isp.c       |  130 +-
 drivers/media/platform/exynos4-is/fimc-isp.h       |   21 +-
 drivers/media/platform/exynos4-is/fimc-lite-reg.c  |   55 +-
 drivers/media/platform/exynos4-is/fimc-lite-reg.h  |   10 +-
 drivers/media/platform/exynos4-is/fimc-lite.c      |  321 +-
 drivers/media/platform/exynos4-is/fimc-lite.h      |   35 +-
 drivers/media/platform/exynos4-is/fimc-m2m.c       |    1 +
 drivers/media/platform/exynos4-is/fimc-reg.c       |    7 +-
 drivers/media/platform/exynos4-is/media-dev.c      |  272 +-
 drivers/media/platform/exynos4-is/media-dev.h      |   54 +-
 drivers/media/platform/exynos4-is/mipi-csis.c      |   67 +-
 drivers/media/platform/fsl-viu.c                   |    2 +-
 drivers/media/platform/indycam.c                   |   12 -
 drivers/media/platform/m2m-deinterlace.c           |    1 +
 drivers/media/platform/marvell-ccic/cafe-driver.c  |    4 +-
 drivers/media/platform/marvell-ccic/mcam-core.c    |   67 +-
 drivers/media/platform/marvell-ccic/mcam-core.h    |    9 +-
 drivers/media/platform/marvell-ccic/mmp-driver.c   |    4 +-
 drivers/media/platform/mem2mem_testdev.c           |    3 +-
 drivers/media/platform/mx2_emmaprp.c               |    1 +
 drivers/media/platform/omap/omap_vout.c            |    3 +-
 drivers/media/platform/omap24xxcam.c               |    9 +-
 drivers/media/platform/omap24xxcam.h               |    3 +
 drivers/media/platform/omap3isp/isp.c              |   51 +-
 drivers/media/platform/omap3isp/ispccdc.c          |    2 +-
 drivers/media/platform/omap3isp/ispccp2.c          |   21 +-
 drivers/media/platform/omap3isp/ispcsi2.c          |    2 +-
 drivers/media/platform/omap3isp/ispqueue.h         |    1 +
 drivers/media/platform/omap3isp/ispvideo.c         |    6 +-
 drivers/media/platform/s3c-camif/camif-capture.c   |    2 +-
 drivers/media/platform/s3c-camif/camif-core.c      |    6 +-
 drivers/media/platform/s3c-camif/camif-regs.c      |    6 +-
 drivers/media/platform/s5p-jpeg/Makefile           |    2 +-
 drivers/media/platform/s5p-mfc/Makefile            |    2 +-
 drivers/media/platform/s5p-mfc/s5p_mfc.c           |    2 +-
 drivers/media/platform/s5p-tv/hdmi_drv.c           |   39 +-
 drivers/media/platform/s5p-tv/mixer_drv.c          |   22 +-
 drivers/media/platform/s5p-tv/mixer_video.c        |    3 +-
 drivers/media/platform/s5p-tv/sdo_drv.c            |   22 +-
 drivers/media/platform/s5p-tv/sii9234_drv.c        |    4 +-
 drivers/media/platform/sh_veu.c                    |    5 +-
 drivers/media/platform/sh_vou.c                    |   34 +-
 drivers/media/platform/soc_camera/Kconfig          |   12 +-
 drivers/media/platform/soc_camera/Makefile         |    6 +-
 drivers/media/platform/soc_camera/atmel-isi.c      |   38 +-
 drivers/media/platform/soc_camera/mx1_camera.c     |   48 +-
 drivers/media/platform/soc_camera/mx2_camera.c     |   41 +-
 drivers/media/platform/soc_camera/mx3_camera.c     |   44 +-
 drivers/media/platform/soc_camera/omap1_camera.c   |   41 +-
 drivers/media/platform/soc_camera/pxa_camera.c     |   46 +-
 .../platform/soc_camera/sh_mobile_ceu_camera.c     |  642 ++--
 drivers/media/platform/soc_camera/sh_mobile_csi2.c |  161 +-
 drivers/media/platform/soc_camera/soc_camera.c     |  737 ++++-
 .../platform/soc_camera/soc_camera_platform.c      |   14 +-
 drivers/media/platform/soc_camera/soc_scale_crop.c |  402 +++
 drivers/media/platform/soc_camera/soc_scale_crop.h |   47 +
 drivers/media/platform/timblogiw.c                 |   11 +-
 drivers/media/platform/via-camera.c                |   24 +-
 drivers/media/radio/radio-keene.c                  |    7 +-
 drivers/media/radio/radio-sf16fmi.c                |  127 +-
 drivers/media/radio/radio-si476x.c                 |   11 -
 drivers/media/radio/radio-tea5764.c                |  190 +-
 drivers/media/radio/radio-timb.c                   |   81 +-
 drivers/media/radio/saa7706h.c                     |   66 +-
 drivers/media/radio/tef6862.c                      |   24 +-
 drivers/media/radio/wl128x/fmdrv.h                 |    2 +
 drivers/media/radio/wl128x/fmdrv_common.c          |   24 +-
 drivers/media/radio/wl128x/fmdrv_v4l2.c            |    8 +
 drivers/media/rc/gpio-ir-recv.c                    |    2 -
 drivers/media/rc/ir-nec-decoder.c                  |    4 +-
 drivers/media/rc/ir-raw.c                          |    2 +-
 drivers/media/rc/ir-rc5-decoder.c                  |    4 +-
 drivers/media/rc/ir-rc5-sz-decoder.c               |    2 +-
 drivers/media/rc/ir-sanyo-decoder.c                |    4 +-
 drivers/media/rc/keymaps/Makefile                  |    1 +
 drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c    |    4 +-
 drivers/media/rc/keymaps/rc-apac-viewcomp.c        |    4 +-
 drivers/media/rc/keymaps/rc-asus-pc39.c            |    4 +-
 drivers/media/rc/keymaps/rc-asus-ps3-100.c         |    4 +-
 drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c |    4 +-
 drivers/media/rc/keymaps/rc-avermedia-a16d.c       |    4 +-
 drivers/media/rc/keymaps/rc-avermedia-cardbus.c    |    4 +-
 drivers/media/rc/keymaps/rc-avermedia-dvbt.c       |    4 +-
 drivers/media/rc/keymaps/rc-avermedia-m135a.c      |    4 +-
 .../media/rc/keymaps/rc-avermedia-m733a-rm-k6.c    |    2 +-
 drivers/media/rc/keymaps/rc-avermedia.c            |    4 +-
 drivers/media/rc/keymaps/rc-avertv-303.c           |    4 +-
 drivers/media/rc/keymaps/rc-behold-columbus.c      |    4 +-
 drivers/media/rc/keymaps/rc-behold.c               |    4 +-
 drivers/media/rc/keymaps/rc-budget-ci-old.c        |    4 +-
 drivers/media/rc/keymaps/rc-cinergy-1400.c         |    4 +-
 drivers/media/rc/keymaps/rc-cinergy.c              |    4 +-
 drivers/media/rc/keymaps/rc-delock-61959.c         |   83 +
 drivers/media/rc/keymaps/rc-dib0700-nec.c          |    4 +-
 drivers/media/rc/keymaps/rc-dib0700-rc5.c          |    4 +-
 drivers/media/rc/keymaps/rc-dm1105-nec.c           |    4 +-
 drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c      |    4 +-
 drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c   |    4 +-
 drivers/media/rc/keymaps/rc-em-terratec.c          |    4 +-
 drivers/media/rc/keymaps/rc-encore-enltv-fm53.c    |    4 +-
 drivers/media/rc/keymaps/rc-encore-enltv.c         |    4 +-
 drivers/media/rc/keymaps/rc-encore-enltv2.c        |    4 +-
 drivers/media/rc/keymaps/rc-evga-indtube.c         |    4 +-
 drivers/media/rc/keymaps/rc-eztv.c                 |    4 +-
 drivers/media/rc/keymaps/rc-flydvb.c               |    4 +-
 drivers/media/rc/keymaps/rc-flyvideo.c             |    4 +-
 drivers/media/rc/keymaps/rc-fusionhdtv-mce.c       |    4 +-
 drivers/media/rc/keymaps/rc-gadmei-rm008z.c        |    4 +-
 drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c   |    4 +-
 drivers/media/rc/keymaps/rc-gotview7135.c          |    4 +-
 drivers/media/rc/keymaps/rc-hauppauge.c            |    4 +-
 drivers/media/rc/keymaps/rc-iodata-bctv7e.c        |    4 +-
 drivers/media/rc/keymaps/rc-kaiomy.c               |    4 +-
 drivers/media/rc/keymaps/rc-kworld-315u.c          |    4 +-
 drivers/media/rc/keymaps/rc-kworld-pc150u.c        |    2 +-
 .../media/rc/keymaps/rc-kworld-plus-tv-analog.c    |    4 +-
 drivers/media/rc/keymaps/rc-manli.c                |    4 +-
 drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c  |    4 +-
 drivers/media/rc/keymaps/rc-msi-tvanywhere.c       |    4 +-
 drivers/media/rc/keymaps/rc-nebula.c               |    4 +-
 .../media/rc/keymaps/rc-nec-terratec-cinergy-xs.c  |    6 +-
 drivers/media/rc/keymaps/rc-norwood.c              |    4 +-
 drivers/media/rc/keymaps/rc-npgtech.c              |    4 +-
 drivers/media/rc/keymaps/rc-pctv-sedna.c           |    4 +-
 drivers/media/rc/keymaps/rc-pinnacle-color.c       |    4 +-
 drivers/media/rc/keymaps/rc-pinnacle-grey.c        |    4 +-
 drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c     |    4 +-
 drivers/media/rc/keymaps/rc-pixelview-002t.c       |    4 +-
 drivers/media/rc/keymaps/rc-pixelview-mk12.c       |    4 +-
 drivers/media/rc/keymaps/rc-pixelview-new.c        |    4 +-
 drivers/media/rc/keymaps/rc-pixelview.c            |    4 +-
 .../media/rc/keymaps/rc-powercolor-real-angel.c    |    4 +-
 drivers/media/rc/keymaps/rc-proteus-2309.c         |    4 +-
 drivers/media/rc/keymaps/rc-purpletv.c             |    4 +-
 drivers/media/rc/keymaps/rc-pv951.c                |    4 +-
 .../media/rc/keymaps/rc-real-audio-220-32-keys.c   |    4 +-
 drivers/media/rc/keymaps/rc-tbs-nec.c              |    4 +-
 drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c  |    4 +-
 drivers/media/rc/keymaps/rc-tevii-nec.c            |    4 +-
 drivers/media/rc/keymaps/rc-tt-1500.c              |    4 +-
 drivers/media/rc/keymaps/rc-videomate-s350.c       |    4 +-
 drivers/media/rc/keymaps/rc-videomate-tv-pvr.c     |    4 +-
 drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c |    4 +-
 drivers/media/rc/keymaps/rc-winfast.c              |    4 +-
 drivers/media/rc/rc-core-priv.h                    |    2 +-
 drivers/media/rc/rc-main.c                         |    4 +-
 drivers/media/tuners/Kconfig                       |   20 -
 drivers/media/tuners/mt2063.c                      |    4 +-
 drivers/media/tuners/r820t.c                       |   22 +-
 drivers/media/usb/Kconfig                          |    5 +-
 drivers/media/usb/Makefile                         |    1 +
 drivers/media/usb/au0828/au0828-video.c            |   40 +-
 drivers/media/usb/cx231xx/cx231xx-417.c            |    1 -
 drivers/media/usb/cx231xx/cx231xx-avcore.c         |    1 -
 drivers/media/usb/cx231xx/cx231xx-cards.c          |    1 -
 drivers/media/usb/cx231xx/cx231xx-input.c          |    2 +-
 drivers/media/usb/cx231xx/cx231xx-vbi.c            |    1 -
 drivers/media/usb/cx231xx/cx231xx-video.c          |  424 +--
 drivers/media/usb/cx231xx/cx231xx.h                |    2 +-
 drivers/media/usb/dvb-usb-v2/af9035.c              |   66 +-
 drivers/media/usb/dvb-usb-v2/af9035.h              |   11 +-
 drivers/media/usb/dvb-usb-v2/az6007.c              |    4 +-
 drivers/media/usb/dvb-usb-v2/dvb_usb.h             |    2 +-
 drivers/media/usb/dvb-usb-v2/it913x.c              |    5 +-
 drivers/media/usb/dvb-usb-v2/mxl111sf-tuner.c      |    8 +-
 drivers/media/usb/dvb-usb-v2/mxl111sf.c            |   90 +-
 drivers/media/usb/dvb-usb-v2/rtl28xxu.c            |  186 +-
 drivers/media/usb/dvb-usb-v2/rtl28xxu.h            |    6 +
 drivers/media/usb/dvb-usb/az6027.c                 |    2 +-
 drivers/media/usb/dvb-usb/pctv452e.c               |    2 +-
 drivers/media/usb/em28xx/em28xx-audio.c            |    4 +-
 drivers/media/usb/em28xx/em28xx-cards.c            |  239 +-
 drivers/media/usb/em28xx/em28xx-core.c             |   27 +-
 drivers/media/usb/em28xx/em28xx-dvb.c              |   73 +-
 drivers/media/usb/em28xx/em28xx-input.c            |    3 +-
 drivers/media/usb/em28xx/em28xx-reg.h              |   23 +-
 drivers/media/usb/em28xx/em28xx-video.c            |   66 +-
 drivers/media/usb/em28xx/em28xx.h                  |    7 +-
 drivers/media/usb/gspca/gspca.c                    |   32 +-
 drivers/media/usb/gspca/gspca.h                    |    6 +-
 drivers/media/usb/gspca/pac7302.c                  |   19 +-
 drivers/media/usb/gspca/sn9c20x.c                  |   69 +-
 drivers/media/usb/hdpvr/Kconfig                    |    2 +-
 drivers/media/usb/hdpvr/hdpvr-control.c            |   34 +-
 drivers/media/usb/hdpvr/hdpvr-core.c               |    8 -
 drivers/media/usb/hdpvr/hdpvr-video.c              |  110 +-
 drivers/media/usb/hdpvr/hdpvr.h                    |    3 +-
 drivers/media/usb/pvrusb2/pvrusb2-hdw.c            |   42 +-
 drivers/media/usb/pvrusb2/pvrusb2-hdw.h            |   13 +-
 drivers/media/usb/pvrusb2/pvrusb2-io.c             |    4 +-
 drivers/media/usb/pvrusb2/pvrusb2-v4l2.c           |   43 +-
 drivers/media/usb/sn9c102/sn9c102.h                |    3 +
 drivers/media/usb/sn9c102/sn9c102_core.c           |   13 +-
 drivers/media/usb/stk1160/stk1160-v4l.c            |   41 -
 drivers/media/usb/tm6000/tm6000-alsa.c             |    4 +-
 drivers/media/usb/tm6000/tm6000-cards.c            |    2 +-
 drivers/media/usb/tm6000/tm6000-dvb.c              |    2 +-
 drivers/media/usb/tm6000/tm6000-stds.c             |    2 +-
 drivers/media/usb/tm6000/tm6000-video.c            |   13 +-
 drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c  |    2 +
 drivers/media/usb/usbtv/Kconfig                    |   10 +
 drivers/media/usb/usbtv/Makefile                   |    1 +
 drivers/media/usb/usbtv/usbtv.c                    |  696 +++++
 drivers/media/usb/usbvision/usbvision-video.c      |   19 +-
 drivers/media/usb/uvc/Kconfig                      |    1 +
 drivers/media/usb/uvc/uvc_driver.c                 |   41 +-
 drivers/media/usb/uvc/uvc_status.c                 |   21 +-
 drivers/media/usb/uvc/uvc_v4l2.c                   |   14 +-
 drivers/media/usb/uvc/uvcvideo.h                   |    7 +-
 drivers/media/v4l2-core/Makefile                   |    3 +-
 drivers/media/v4l2-core/v4l2-async.c               |  284 ++
 drivers/media/v4l2-core/v4l2-clk.c                 |  242 ++
 drivers/media/v4l2-core/v4l2-common.c              |   60 +-
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c      |    1 -
 drivers/media/v4l2-core/v4l2-dev.c                 |   40 +-
 drivers/media/v4l2-core/v4l2-device.c              |   13 +-
 drivers/media/v4l2-core/v4l2-ioctl.c               |   83 +-
 drivers/media/v4l2-core/videobuf-dma-contig.c      |   19 +-
 drivers/media/v4l2-core/videobuf-dma-sg.c          |   10 +-
 drivers/media/v4l2-core/videobuf-vmalloc.c         |   10 +-
 drivers/media/v4l2-core/videobuf2-core.c           |    4 +-
 drivers/staging/media/davinci_vpfe/dm365_ipipe.c   |    4 +-
 drivers/staging/media/davinci_vpfe/dm365_ipipeif.c |    4 +-
 drivers/staging/media/davinci_vpfe/dm365_isif.c    |    4 +-
 drivers/staging/media/davinci_vpfe/dm365_resizer.c |   14 +-
 drivers/staging/media/davinci_vpfe/vpfe_video.c    |   14 +-
 drivers/staging/media/dt3155v4l/dt3155v4l.c        |    1 -
 drivers/staging/media/go7007/go7007-usb.c          |    4 +-
 drivers/staging/media/lirc/lirc_imon.c             |    7 +-
 drivers/staging/media/solo6x10/solo6x10-tw28.c     |  112 +-
 drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c |   38 +-
 drivers/staging/usbip/userspace/autogen.sh         |    0
 drivers/staging/usbip/userspace/cleanup.sh         |    0
 drivers/usb/gadget/f_uvc.c                         |    9 +-
 drivers/usb/gadget/uvc.h                           |    2 +
 include/media/davinci/vpbe_osd.h                   |    4 +-
 include/media/media-device.h                       |    9 +-
 include/media/media-entity.h                       |    5 +-
 include/media/rc-core.h                            |    2 +-
 include/media/rc-map.h                             |    3 +-
 include/media/s5p_fimc.h                           |   58 +-
 include/media/sh_mobile_ceu.h                      |    2 +
 include/media/sh_mobile_csi2.h                     |    2 +-
 include/media/soc_camera.h                         |   43 +-
 include/media/ths7303.h                            |    2 -
 include/media/tveeprom.h                           |   11 +
 include/media/tvp7002.h                            |   46 +-
 include/media/v4l2-async.h                         |  105 +
 include/media/v4l2-chip-ident.h                    |  352 ---
 include/media/v4l2-clk.h                           |   54 +
 include/media/v4l2-common.h                        |   10 -
 include/media/v4l2-dev.h                           |    5 +-
 include/media/v4l2-int-device.h                    |    3 -
 include/media/v4l2-ioctl.h                         |    2 -
 include/media/v4l2-subdev.h                        |   14 +-
 include/uapi/linux/v4l2-controls.h                 |    4 +-
 include/uapi/linux/videodev2.h                     |   27 +-
 lib/build_OID_registry                             |    0
 scripts/Lindent                                    |    0
 scripts/bloat-o-meter                              |    0
 scripts/checkincludes.pl                           |    0
 scripts/checkkconfigsymbols.sh                     |    0
 scripts/checkpatch.pl                              |    0
 scripts/checkstack.pl                              |    0
 scripts/checksyscalls.sh                           |    0
 scripts/checkversion.pl                            |    0
 scripts/cleanfile                                  |    0
 scripts/cleanpatch                                 |    0
 scripts/coccicheck                                 |    0
 scripts/config                                     |    0
 scripts/decodecode                                 |    0
 scripts/depmod.sh                                  |    0
 scripts/diffconfig                                 |    0
 scripts/extract-ikconfig                           |    0
 scripts/extract-vmlinux                            |    0
 scripts/get_maintainer.pl                          |    0
 scripts/gfp-translate                              |    0
 scripts/headerdep.pl                               |    0
 scripts/headers.sh                                 |    0
 scripts/kconfig/check.sh                           |    0
 scripts/kconfig/merge_config.sh                    |    0
 scripts/kernel-doc                                 |    0
 scripts/makelst                                    |    0
 scripts/mkcompile_h                                |    0
 scripts/mkuboot.sh                                 |    0
 scripts/namespace.pl                               |    0
 scripts/package/mkspec                             |    0
 scripts/patch-kernel                               |    0
 scripts/recordmcount.pl                            |    0
 scripts/setlocalversion                            |    0
 scripts/show_delta                                 |    0
 scripts/sign-file                                  |    0
 scripts/tags.sh                                    |    0
 scripts/ver_linux                                  |    0
 tools/hv/hv_get_dhcp_info.sh                       |    0
 tools/hv/hv_get_dns_info.sh                        |    0
 tools/hv/hv_set_ifconfig.sh                        |    0
 tools/nfsd/inject_fault.sh                         |    0
 tools/perf/python/twatch.py                        |    0
 .../Perf-Trace-Util/lib/Perf/Trace/EventClass.py   |    0
 .../perf/scripts/python/bin/net_dropmonitor-record |    0
 .../perf/scripts/python/bin/net_dropmonitor-report |    0
 tools/perf/scripts/python/net_dropmonitor.py       |    0
 tools/perf/util/PERF-VERSION-GEN                   |    0
 tools/perf/util/generate-cmdlist.sh                |    0
 tools/power/cpupower/utils/version-gen.sh          |    0
 tools/testing/ktest/compare-ktest-sample.pl        |    0
 tools/testing/ktest/ktest.pl                       |    0
 524 files changed, 11096 insertions(+), 10081 deletions(-)
 delete mode 100644 Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml
 mode change 100755 => 100644 Documentation/arm/Samsung/clksrc-change-registers.awk
 create mode 100644 Documentation/devicetree/bindings/media/i2c/mt9p031.txt
 create mode 100644 Documentation/devicetree/bindings/media/i2c/tvp514x.txt
 create mode 100644 Documentation/devicetree/bindings/media/sh_mobile_ceu.txt
 mode change 100755 => 100644 Documentation/devicetree/bindings/mfd/tps6507x.txt
 mode change 100755 => 100644 Documentation/dvb/get_dvb_firmware
 mode change 100755 => 100644 Documentation/target/tcm_mod_builder.py
 mode change 100755 => 100644 Documentation/video4linux/extract_xc3028.pl
 mode change 100755 => 100644 arch/arm64/kernel/vdso/gen_vdso_offsets.sh
 mode change 100755 => 100644 arch/ia64/scripts/check-gas
 mode change 100755 => 100644 arch/ia64/scripts/toolchain-flags
 mode change 100755 => 100644 arch/powerpc/boot/wrapper
 mode change 100755 => 100644 arch/powerpc/relocs_check.pl
 mode change 100755 => 100644 arch/x86/vdso/checkundef.sh
 create mode 100644 drivers/media/i2c/ml86v7667.c
 create mode 100644 drivers/media/i2c/ths8200.c
 create mode 100644 drivers/media/i2c/ths8200_regs.h
 create mode 100644 drivers/media/platform/exynos4-is/common.c
 create mode 100644 drivers/media/platform/exynos4-is/common.h
 create mode 100644 drivers/media/platform/soc_camera/soc_scale_crop.c
 create mode 100644 drivers/media/platform/soc_camera/soc_scale_crop.h
 create mode 100644 drivers/media/rc/keymaps/rc-delock-61959.c
 create mode 100644 drivers/media/usb/usbtv/Kconfig
 create mode 100644 drivers/media/usb/usbtv/Makefile
 create mode 100644 drivers/media/usb/usbtv/usbtv.c
 create mode 100644 drivers/media/v4l2-core/v4l2-async.c
 create mode 100644 drivers/media/v4l2-core/v4l2-clk.c
 mode change 100755 => 100644 drivers/staging/usbip/userspace/autogen.sh
 mode change 100755 => 100644 drivers/staging/usbip/userspace/cleanup.sh
 create mode 100644 include/media/v4l2-async.h
 delete mode 100644 include/media/v4l2-chip-ident.h
 create mode 100644 include/media/v4l2-clk.h
 mode change 100755 => 100644 lib/build_OID_registry
 mode change 100755 => 100644 scripts/Lindent
 mode change 100755 => 100644 scripts/bloat-o-meter
 mode change 100755 => 100644 scripts/checkincludes.pl
 mode change 100755 => 100644 scripts/checkkconfigsymbols.sh
 mode change 100755 => 100644 scripts/checkpatch.pl
 mode change 100755 => 100644 scripts/checkstack.pl
 mode change 100755 => 100644 scripts/checksyscalls.sh
 mode change 100755 => 100644 scripts/checkversion.pl
 mode change 100755 => 100644 scripts/cleanfile
 mode change 100755 => 100644 scripts/cleanpatch
 mode change 100755 => 100644 scripts/coccicheck
 mode change 100755 => 100644 scripts/config
 mode change 100755 => 100644 scripts/decodecode
 mode change 100755 => 100644 scripts/depmod.sh
 mode change 100755 => 100644 scripts/diffconfig
 mode change 100755 => 100644 scripts/extract-ikconfig
 mode change 100755 => 100644 scripts/extract-vmlinux
 mode change 100755 => 100644 scripts/get_maintainer.pl
 mode change 100755 => 100644 scripts/gfp-translate
 mode change 100755 => 100644 scripts/headerdep.pl
 mode change 100755 => 100644 scripts/headers.sh
 mode change 100755 => 100644 scripts/kconfig/check.sh
 mode change 100755 => 100644 scripts/kconfig/merge_config.sh
 mode change 100755 => 100644 scripts/kernel-doc
 mode change 100755 => 100644 scripts/makelst
 mode change 100755 => 100644 scripts/mkcompile_h
 mode change 100755 => 100644 scripts/mkuboot.sh
 mode change 100755 => 100644 scripts/namespace.pl
 mode change 100755 => 100644 scripts/package/mkspec
 mode change 100755 => 100644 scripts/patch-kernel
 mode change 100755 => 100644 scripts/recordmcount.pl
 mode change 100755 => 100644 scripts/setlocalversion
 mode change 100755 => 100644 scripts/show_delta
 mode change 100755 => 100644 scripts/sign-file
 mode change 100755 => 100644 scripts/tags.sh
 mode change 100755 => 100644 scripts/ver_linux
 mode change 100755 => 100644 tools/hv/hv_get_dhcp_info.sh
 mode change 100755 => 100644 tools/hv/hv_get_dns_info.sh
 mode change 100755 => 100644 tools/hv/hv_set_ifconfig.sh
 mode change 100755 => 100644 tools/nfsd/inject_fault.sh
 mode change 100755 => 100644 tools/perf/python/twatch.py
 mode change 100755 => 100644 tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py
 mode change 100755 => 100644 tools/perf/scripts/python/bin/net_dropmonitor-record
 mode change 100755 => 100644 tools/perf/scripts/python/bin/net_dropmonitor-report
 mode change 100755 => 100644 tools/perf/scripts/python/net_dropmonitor.py
 mode change 100755 => 100644 tools/perf/util/PERF-VERSION-GEN
 mode change 100755 => 100644 tools/perf/util/generate-cmdlist.sh
 mode change 100755 => 100644 tools/power/cpupower/utils/version-gen.sh
 mode change 100755 => 100644 tools/testing/ktest/compare-ktest-sample.pl
 mode change 100755 => 100644 tools/testing/ktest/ktest.pl