aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-03-29[media] v4l2-controls.h: update private control ranges to prevent overlapHans Verkuil1-4/+4
These ranges shouldn't overlap. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] media: move dvb-usb-v2/cypress_firmware.c to media/commonHans Verkuil10-63/+53
Loading the cypress firmware is not dvb specific and should be common functionality. Move the source to media/common and make it a standalone module. As a result we can remove the dependency on dvb-usb in go7007, which has nothing to do with dvb. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] radio-si476x: vidioc_s* now uses a const parameterMauro Carvalho Chehab1-10/+10
vidioc_s_tuner, vidioc_s_frequency and vidioc_s_register now uses a constant argument. So, the driver reports warnings: drivers/media/radio/radio-si476x.c:1196:2: warning: initialization from incompatible pointer type [enabled by default] drivers/media/radio/radio-si476x.c:1196:2: warning: (near initialization for 'si4761_ioctl_ops.vidioc_s_tuner') [enabled by default] drivers/media/radio/radio-si476x.c:1199:2: warning: initialization from incompatible pointer type [enabled by default] drivers/media/radio/radio-si476x.c:1199:2: warning: (near initialization for 'si4761_ioctl_ops.vidioc_s_frequency') [enabled by default] drivers/media/radio/radio-si476x.c:1209:2: warning: initialization from incompatible pointer type [enabled by default] drivers/media/radio/radio-si476x.c:1209:2: warning: (near initialization for 'si4761_ioctl_ops.vidioc_s_register') [enabled by default] This is due to a (soft) merge conflict, as both this driver and the const patches were applied for the same Kernel version. Cc: Hans Verkuil <[email protected]> Cc: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] v4l2: Add a V4L2 driver for SI476X MFDAndrey Smirnov5-0/+2230
This commit adds a driver that exposes all the radio related functionality of the Si476x series of chips via the V4L2 subsystem. Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] v4l2: Add private controls base for SI476XAndrey Smirnov1-0/+4
Add a base to be used for allocation of all the SI476X specific controls in the corresponding driver. Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] v4l2: Add documentation for the FM RX controlsAndrey Smirnov3-0/+84
Add appropriate documentation for all the newly added standard controls. Based on the patch by Manjunatha Halli [1] [1] http://lists-archives.com/linux-kernel/27641303-media-update-docs-for-v4l2-fm-new-features.html Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] v4l2: Add standard controls for FM receiversAndrey Smirnov2-3/+24
This commit introduces new class of standard controls V4L2_CTRL_CLASS_FM_RX. This class is intended to all controls pertaining to FM receiver chips. Also, two controls belonging to said class are added as a part of this commit: V4L2_CID_TUNE_DEEMPHASIS and V4L2_CID_RDS_RECEPTION. This patch is based on the code found in the patch by Manjunatha Halli [1] [1] http://lists-archives.com/linux-kernel/27641307-new-control-class-and-features-for-fm-rx.html Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] v4l2: Fix the type of V4L2_CID_TUNE_PREEMPHASIS in the documentationAndrey Smirnov1-1/+1
Change the type of V4L2_CID_TUNE_PREEMPHASIS from 'integer' to 'enum v4l2_preemphasis' Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] mfd: Add header files and Kbuild plumbing for SI476x MFD coreAndrey Smirnov3-0/+541
This patch adds all necessary header files and Kbuild plumbing for the core driver for Silicon Laboratories Si476x series of AM/FM tuner chips. The driver as a whole is implemented as an MFD device and this patch adds a core portion of it that provides all the necessary functionality to the two other drivers that represent radio and audio codec subsystems of the chip. Acked-by: Hans Verkuil <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] mfd: Add chip properties handling code for SI476X MFDAndrey Smirnov1-0/+242
This patch adds code related to manipulation of the properties of SI476X chips. Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] mfd: Add the main bulk of core driver for SI476x codeAndrey Smirnov1-0/+886
This patch adds main part(out of three) of the I2C driver for the "core" of MFD device. Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] mfd: Add commands abstraction layer for SI476X MFDAndrey Smirnov1-0/+1554
This patch adds all the functions used for exchanging commands with the chip. Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Andrey Smirnov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] solo6x10: The size of the thresholds ioctls was too largeHans Verkuil2-2/+9
On powerpc the maximum size for the ioctl argument is 8191, and it was 8192. However, the 64x64 array of threshold values is more than is actually needed in practice for PAL and NTSC formats. A 45x45 array will do just fine. So change the size accordingly to fix this problem. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] radio-mr800: move clamp_t check inside amradio_set_freq()Alexey Klimov1-3/+7
If i run verbose v4l2-compliance with my radio-mr800 device few times then i get warning about frequency out of range: root@machine:~# v4l2-compliance -r /dev/radio0 -v 2 is radio Driver Info: Driver name : radio-mr800 Card type : AverMedia MR 800 USB FM Radio Bus info : usb-0000:00:1a.0-1.2 Driver version: 3.9.0 Capabilities : 0x80050400 Tuner Radio Device Capabilities Device Caps : 0x00050400 Tuner Radio Compliance test for device /dev/radio0 (not using libv4l2): Required ioctls: test VIDIOC_QUERYCAP: OK Allow for multiple opens: test second radio open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK Debug ioctls: test VIDIOC_DBG_G_CHIP_IDENT: OK (Not Supported) test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK Input ioctls: test VIDIOC_G/S_TUNER: OK warn: v4l2-test-input-output.cpp(234): returned tuner 0 frequency out of range (6550200 not in [1400000...1728000]) test VIDIOC_G/S_FREQUENCY: OK test VIDIOC_S_HW_FREQ_SEEK: OK test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 0 Audio Inputs: 0 Tuners: 1 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Control ioctls: info: checking v4l2_queryctrl of control 'User Controls' (0x00980001) info: checking v4l2_queryctrl of control 'Mute' (0x00980909) info: checking v4l2_queryctrl of control 'Mute' (0x00980909) test VIDIOC_QUERYCTRL/MENU: OK info: checking control 'User Controls' (0x00980001) info: checking control 'Mute' (0x00980909) test VIDIOC_G/S_CTRL: OK info: checking extended control 'User Controls' (0x00980001) info: checking extended control 'Mute' (0x00980909) test VIDIOC_G/S/TRY_EXT_CTRLS: OK info: checking control event 'User Controls' (0x00980001) info: checking control event 'Mute' (0x00980909) test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 2 Private Controls: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_PRESETS: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported) test VIDIOC_G/S_PARM: OK (Not Supported) test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK (Not Supported) test VIDIOC_TRY_FMT: OK (Not Supported) test VIDIOC_S_FMT: OK (Not Supported) test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported) Total: 38, Succeeded: 38, Failed: 0, Warnings: 1 Some printk() debugging showed that vidioc_s_hw_freq_seek() setups radio->curfreq to out of range value (lines 395-396) and calls amradio_set_freq() to set this frequency on device without any out-of-range checks. Patch protects from setting up frequency on device to incorrect value moving clamp_t check inside amradio_set_freq. With this patch we can call amradio_set_freq() with out of range frequency from any place. Also put comment that sometimes radio->curfreq is set to out of range value in vidioc_s_hw_freq_seek(). Signed-off-by: Alexey Klimov <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] gspca: remove obsolete Kconfig macrosPaul Bolle1-2/+0
The et61x251 driver was removed in v3.5. Remove the last references to its Kconfig macro now. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] ioctl numbers are unsigned intMauro Carvalho Chehab7-7/+7
ioctl's number is unsigned int. Fix it at vidioc_default. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] staging: davinci: Fix typo in staging/media/davinciMasanari Iida4-9/+9
Correct spelling typo in staging/media/davinci Signed-off-by: Masanari Iida <[email protected]> Signed-off-by: Lad, Prabhakar <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: add basic support for OmniVision OV2640 sensorsFrank Schaefer2-0/+50
This sensor is used by the "SpeedLink Vicious And Devine Laplace webcam" and others. It supports resolutions up to 1600x1200 (at 7-8 fps), but for resolutions higher than 640x480, further driver changes will be necessary, such as sensor output resolution switching (including further configuration changes), bridge xclk adjustment and disabling of 16 bit (12 bit) output formats at high resolutions. Image quality should also needs to be improved. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: add comment about Samsung and Kodak sensor probing addressesFrank Schaefer1-0/+5
The Windows driver also probes at least two further i2c addresses (0x22 >> 1 and 0x66 >> 1). I've got some hints that they are very likely used by Samsung and Kodak sensors, which are known to be used in Empia devices, too. We havn't seen any devices using these sensors yet and don't know how to probe them properly, so leave a comment. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: add probing procedure for OmniVision sensorsFrank Schaefer1-1/+113
OmniVision sensors are used as well in Empiatech based cameras such as the "SpeedLink Vicious And Devine Laplace" webcam (EM2765 + Omnivision OV2640). With this patch applied, OminiVision sensors with 8 bit address and register width are detected (recent models have a 16 bit address width and use different client addresses). The most commonly used sensors (including the ones listed by Empiatech) are detected properly, although there is no support for them yet. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: move the probing of Micron sensors to a separate functionFrank Schaefer1-4/+19
Other sensors like the ones from OmniVision need a different probing procedure, so it makes sense have separate functions for each manufacturer/sensor type. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: detect further Micron sensorsFrank Schaefer1-31/+95
Add further Micron chip IDs to be able to identify all Micron sensors listed by Empiatech. Also probe the two alternate i2c addresses used by Micron sensors with 8 bit address and 16 bit register width. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: move sensor code to a separate source code file em28xx-camera.cFrank Schaefer4-161/+194
em28xx-cards.c is very large and the sensor/camera related code is growing, so move this code to a separate source code file em28xx-camera.c. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: rename em28xx_hint_sensor() to em28xx_detect_sensor()Frank Schaefer1-4/+3
Now that the board hints and the sensor initialization/configuration have been separated, em28xx_detect_sensor() is the better name for this function. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: separate sensor detection and initialization/configurationFrank Schaefer1-50/+72
Sensor detection and initialization/configuration are currently mixed together. This works as long as all devices with a particular sensor are working with the same board configuration. In the long run, this will be not sufficient, so separate these both steps to make the code more flexible and future proof. This also makes the code more consistent, because the initialization of the MT9V011 sensor subdevice is already separated. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-29[media] em28xx: fix and separate the board hints for sensor devicesFrank Schaefer1-21/+19
The current board hint code is mixed together with the sensor detection and initialization code. It actually selects a board depending on the detected sensor type only, with the result that 3 of the 6 webcam boards are currently dead. Separate it and move it to em28xx_hint_board() which already contains the board hints for analog capturing+TV and DVB devices. This way, we have all board hints at a common place which makes it easier to extend the code and reduces the risk of regressions. It also makes it possible again to use the boards EM2750_BOARD_DLCW_130, EM2820_BOARD_VIDEOLOGY_20K14XUSB and EM2860_BOARD_NETGMBH_CAM (using the module parameter "card"). NOTE: the current board hint logic for webcams is preserved. Not more not less. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-28[media] em28xx: ignore isoc DVB USB endpoints with wMaxPacketSize = 0 bytes ↵Frank Schaefer1-1/+8
for all alt settings Some devices without DVB support (such as the "Terratec Grabby" and "Easycap DC-60") provide isochronous DVB USB endpoints with wMaxPacketSize set to 0 bytes for all alt settings. Ignore these endpoints and avoid registering a DVB device node and loading the DVB driver extension. Signed-off-by: Frank Schäfer <[email protected]> Tested-by: Timo Teräs <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-28[media] uvcvideo: Return -EINVAL when setting a menu control to an invalid valueLaurent Pinchart1-1/+1
-ERANGE is the right error code when the value is outside of the menu range, but -EINVAL must be reported for invalid values inside the range. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-28[media] em28xx: write output frame resolution to regs 0x34+0x35 for em25xx ↵Frank Schaefer2-1/+15
family bridges The Windows driver writes the output resolution to registers 0x34 (width / 16) and 0x35 (height / 16) always. We don't know yet what these registers are used for. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-28[media] em28xx: make em28xx_set_outfmt() working with EM25xx family bridgesFrank Schaefer1-5/+16
Streaming doesn't work with the EM2765 if bit 5 of the output format register 0x27 is set. It's actually not clear if really has to be set for the other chips, but for now let's keep it to avoid regressions and add a comment to the code. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-28[media] em28xx: add support for em25xx/em276x/em277x/em278x frame data ↵Frank Schaefer1-1/+73
processing The em25xx/em276x/em277x/em278x frame data format is different to the one used by the em2710/em2750/em28xx chips. With the recent cleanups and reorganization of the frame data processing code it can be easily extended to support these devices. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-28[media] em28xx: add chip id of the em2765Frank Schaefer3-1/+14
This chip can be found in the SpeedLink VAD Laplace webcam (1ae7:9003 and 1ae7:9004). Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-28[media] em28xx: add support for em25xx i2c bus B read/write/check device ↵Frank Schaefer3-42/+212
operations The webcam "SpeedLink VAD Laplace" (em2765 + ov2640) uses a special algorithm for i2c communication with the sensor, which is connected to a second i2c bus. We don't know yet how to find out which devices support/use it. It's very likely used by all em25xx and em276x+ bridges. Tests with other em28xx chips (em2820, em2882/em2883) show, that this algorithm always succeeds there although no slave device is connected. The algorithm likely also works for real i2c client devices (OV2640 uses SCCB), because the Windows driver seems to use it for probing Samsung and Kodak sensors. Signed-off-by: Frank Schäfer <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-26[media] Fix undefined reference to `au8522_attach'Hans Verkuil1-1/+1
au8522_attach is dependent on CONFIG_DVB_AU8522_DTV, not CONFIG_DVB_AU8522. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-26[media] go7007: fix invalid use of sizeof in go7007_usb_i2c_master_xfer()Wei Yongjun1-1/+1
sizeof() when applied to a pointer typed expression gives the size of the pointer, not that of the pointed data. Signed-off-by: Wei Yongjun <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-26[media] af9035: fix missing unlock on error in af9035_ctrl_msg()Wei Yongjun1-8/+9
Add the missing unlock before return from function af9035_ctrl_msg() in the error handling case. Signed-off-by: Wei Yongjun <[email protected]> Acked-by: Antti Palosaari <[email protected]> Reviewed-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] tuner-core: handle errors when getting signal strength/afcMauro Carvalho Chehab1-4/+6
If those callbacks fail, it should return zero, and not a random value. The previous code assumed that all drivers would only change signal strength if it succeeds, but this may not be true. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] tuner-core: Remove the now uneeded checks at fe_has_signal/get_afcMauro Carvalho Chehab1-10/+6
Now that those functions are only used when the corresponding function calls are defined, we don't need to check if those function calls are present at the structure before using it. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] tuner-core: return afc instead of zeroMauro Carvalho Chehab1-1/+1
While the driver gets AFC from the tuner, it doesn't return it back via V4L2 API due to a mistake at the return. fix it. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] tuner-core: don't set has_signal/get_afc if not supportedHans Verkuil1-1/+6
If the tuner frontend does not support get_rf_strength, then don't set the has_signal callback. Ditto for get_afc. Both callbacks overwrite the signal and afc fields of struct v4l2_tuner but that should only happen if the tuner can actually detect this. If it can't, then it should leave those fields alone so other subdevices can try and detect the signal/afc. This fixes the bug where the au8522 detected a signal and then tuner-core overwrote it with 0 since the xc5000 tuner does not support get_rf_strength. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: improve firmware loading & lockingHans Verkuil1-14/+52
- open/close/read and poll need to take the core lock as well. - when the tuner goes to sleep we should set std_set_in_tuner_core to 0 since the tuner loses the firmware at that time. - initialize the tuner if std_set_in_tuner_core == 0 whenever: 1) g/s_tuner, s_std or s_frequency is called 2) read or poll is called 3) streamon is called Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: fix initial video routingHans Verkuil1-12/+18
After loading the module the initial video routing is not setup. Explicitly call s_input to get this right. Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: don't change global state information on open()Hans Verkuil1-7/+2
Just opening a device shouldn't have any side-effects. Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: simplify i2c_gate_ctrlHans Verkuil1-12/+12
Turn it into a simple function. Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: fix disconnect sequenceHans Verkuil2-25/+32
The driver crashed when the device was disconnected while an application still had a device node open. Fixed by using the release() callback of struct v4l2_device. Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au8522_decoder: remove obsolete control opsHans Verkuil1-7/+0
Now that au0828 has been converted to the control framework these compatilibity ops are no longer needed. Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: replace deprecated current_norm by g_stdHans Verkuil2-1/+13
Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: add try_fmt_vbi support, zero vbi.reserved, pix.privHans Verkuil1-3/+4
Also get rid of unnecessary format type check. Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: add prio, control event and log_status supportHans Verkuil2-9/+37
Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2013-03-25[media] au0828: convert to the control frameworkHans Verkuil3-39/+17
Signed-off-by: Hans Verkuil <[email protected]> Reviewed-by: Devin Heitmueller <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>