aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-25[media] videobuf2-core.h: improve documentationHans Verkuil1-15/+17
Document that drivers can access/modify the buffer contents in buf_prepare and buf_finish. That was not clearly stated before. Signed-off-by: Hans Verkuil <[email protected]> Acked-by: Pawel Osciak <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Return all buffers to vb2 at stream stop and start failureLaurent Pinchart1-10/+35
videobuf2 requires drivers to give back ownership of all queue buffers in the stop_streaming operation, as well as in the start_streaming operation in case of failure. Mark all queued buffers as done in the error or queued state. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Rename and split uvc_queue_enable to uvc_queue_stream(on|off)Laurent Pinchart4-41/+30
This brings the function name in line with the V4L2 API terminology and allows removing the duplicate queue type check. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Rename uvc_alloc_buffers to uvc_request_buffersLaurent Pinchart3-4/+4
This brings the function name in line with the V4L2 API terminology. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Don't stop the stream twice at file handle releaseLaurent Pinchart3-12/+10
When releasing the file handle the driver calls the vb2_queue_release which turns the stream off. There's thus no need to turn the stream off explicitly beforehand. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Implement vb2 queue start and stop stream operationsLaurent Pinchart2-25/+28
To work propertly the videobuf2 core code needs to be in charge of stream start/stop control. Implement the start_streaming and stop_streaming vb2 operations and move video enable/disable code to them. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Add function to convert from queue to streamLaurent Pinchart1-4/+8
Factorize the container_of() call into an inline function and update callers. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Separate video and queue enable/disable operationsLaurent Pinchart3-27/+26
In order to make use of the vb2 queue start/stop_streaming operations the video and queue enable/disable operations need to be split, as the vb2 queue will need to enable and disable video instead of the other way around. Also move buffer queue disable outside of uvc_video_resume() to remove all queue disable operations out of uvc_video.c. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Set buffer field to V4L2_FIELD_NONELaurent Pinchart1-0/+1
The driver doesn't support interlaced video, set field to V4L2_FIELD_NONE for all vb2 buffers. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Move to video_ioctl2Laurent Pinchart3-454/+559
Simplify ioctl handling by using video_ioctl2. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] v4l2: get/set prio using video_dev prio structureLaurent Pinchart1-2/+2
The v4l2_device structure embed a v4l2_prio_state structure used by default for priority handling, but drivers can override that default by setting the video_dev prio pointer to a different v4l2_prio_state instance. However, the VIDIO_G_PRIORITY and VIDIOC_S_PRIORITY implementations use the prio state embedded in v4l2_device unconditionally, breaking drivers that need to override the default. Fix them. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Fix destruction order in uvc_delete()Takashi Iwai1-3/+3
We've got a bug report at disconnecting a Webcam, where the kernel spews warnings like below: WARNING: CPU: 0 PID: 8385 at ../fs/sysfs/group.c:219 sysfs_remove_group+0x87/0x90() sysfs group c0b2350c not found for kobject 'event3' CPU: 0 PID: 8385 Comm: queue2:src Not tainted 3.16.2-1.gdcee397-default #1 Hardware name: ASUSTeK Computer INC. A7N8X-E/A7N8X-E, BIOS ASUS A7N8X-E Deluxe ACPI BIOS Rev 1013 11/12/2004 c08d0705 ddc75cbc c0718c5b ddc75ccc c024b654 c08c6d44 ddc75ce8 000020c1 c08d0705 000000db c03d1ec7 c03d1ec7 00000009 00000000 c0b2350c d62c9064 ddc75cd4 c024b6a3 00000009 ddc75ccc c08c6d44 ddc75ce8 ddc75cfc c03d1ec7 Call Trace: [<c0205ba6>] try_stack_unwind+0x156/0x170 [<c02046f3>] dump_trace+0x53/0x180 [<c0205c06>] show_trace_log_lvl+0x46/0x50 [<c0204871>] show_stack_log_lvl+0x51/0xe0 [<c0205c67>] show_stack+0x27/0x50 [<c0718c5b>] dump_stack+0x3e/0x4e [<c024b654>] warn_slowpath_common+0x84/0xa0 [<c024b6a3>] warn_slowpath_fmt+0x33/0x40 [<c03d1ec7>] sysfs_remove_group+0x87/0x90 [<c05a2c54>] device_del+0x34/0x180 [<c05e3989>] evdev_disconnect+0x19/0x50 [<c05e06fa>] __input_unregister_device+0x9a/0x140 [<c05e0845>] input_unregister_device+0x45/0x80 [<f854b1d6>] uvc_delete+0x26/0x110 [uvcvideo] [<f84d66f8>] v4l2_device_release+0x98/0xc0 [videodev] [<c05a25bb>] device_release+0x2b/0x90 [<c04ad8bf>] kobject_cleanup+0x6f/0x1a0 [<f84d5453>] v4l2_release+0x43/0x70 [videodev] [<c0372f31>] __fput+0xb1/0x1b0 [<c02650c1>] task_work_run+0x91/0xb0 [<c024d845>] do_exit+0x265/0x910 [<c024df64>] do_group_exit+0x34/0xa0 [<c025a76f>] get_signal_to_deliver+0x17f/0x590 [<c0201b6a>] do_signal+0x3a/0x960 [<c02024f7>] do_notify_resume+0x67/0x90 [<c071ebb5>] work_notifysig+0x30/0x3b [<b7739e60>] 0xb7739e5f ---[ end trace b1e56095a485b631 ]--- The cause is that uvc_status_cleanup() is called after usb_put_*() in uvc_delete(). usb_put_*() removes the sysfs parent and eventually removes the children recursively, so the later device_del() can't find its sysfs. The fix is simply rearrange the call orders in uvc_delete() so that the child is removed before the parent. Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=897736 Reported-and-tested-by: Martin Pluskal <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] uvcvideo: Add quirk to force the Oculus DK2 IR tracker to grayscalePhilipp Zabel2-1/+27
This patch adds a quirk to force Y8 pixel format even if the camera reports half-width YUYV. Signed-off-by: Philipp Zabel <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] v4l2-common: move v4l2_ctrl_check to cx2341xHans Verkuil3-33/+30
The v4l2_ctrl_check() helper function is now only used in cx2341x. Move it there and make it static. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] v4l2-ctrl: move function prototypes from common.h to ctrls.hHans Verkuil2-3/+25
For some unknown reason several control prototypes where in v4l2-common.c instead of in v4l2-ctrls.h. Move them and document them. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] v4l2-common: remove unused helper functionsHans Verkuil2-105/+0
Several control helper functions are no longer needed since most drivers are now converted to the control framework. So we can delete them. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] v4l2-dev: vdev->v4l2_dev is always set, so simplify codeHans Verkuil1-20/+14
These days vdev->v4l2_dev must always be set. This means that some old code that still tests for a NULL vdev->v4l2_dev can be removed or simplified. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] bttv/cx25821/cx88/ivtv: use sg_next instead of sg++Hans Verkuil4-16/+16
Never use sg++, always use sg = sg_next(sg). Scatterlist entries can be combined if the memory is contiguous but sg++ won't know about that. As far as I can tell cx88 and ivtv are really broken because of this, and bttv and cx25821 are OK because vb1 doesn't combine scatterlist entries. But regardless, sg++ should never be used, only sg_next is safe. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] media: vivid: use vb2_ops_wait_prepare/finish helperPrabhakar Lad7-27/+15
Signed-off-by: Lad, Prabhakar <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-25[media] staging/media/Makefile: drop omap24xx referenceHans Verkuil1-1/+0
The omap2 media driver got removed. Remove a left-over for tcm825x driver that were also at omap2 tree. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] staging: media: bcm2048: fix coding style errorChristian Resell1-1/+1
Simple style fix (checkpatch.pl: "space prohibited before that ','"). For the eudyptula challenge (http://eudyptula-challenge.org/). Signed-off-by: Christian F. Resell <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] em28xx: initialize si2168_config structOlli Salonen1-0/+1
When new parameters are added for si2168 driver, the parameters have to be explicitly defined for each device if the si2168_config struct is not initialized to all zeros. Signed-off-by: Olli Salonen <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] af9035: initialize si2168_config structOlli Salonen1-0/+1
When new parameters are added for si2168 driver, the parameters have to be explicitly defined for each device if the si2168_config struct is not initialized to all zeros. Signed-off-by: Olli Salonen <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] cxusb: initialize si2168_config structOlli Salonen1-0/+1
When new parameters are added for si2168 driver, the parameters have to be explicitly defined for each device if the si2168_config struct is not initialized to all zeros. Signed-off-by: Olli Salonen <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] media: pci: smipcie: Fix dependency for DVB_SMIPCIEAndreas Ruprecht1-0/+1
In smipcie.c, the function i2c_bit_add_bus() is called. This function is defined by the I2C bit-banging interfaces enabled with CONFIG_I2C_ALGOBIT. As there was no dependency in Kconfig, CONFIG_I2C_ALGOBIT could be set to "m" while CONFIG_DVB_SMIPCIE was set to "y", resulting in a build error due to an undefined reference. This patch adds the dependency on CONFIG_I2C_ALGOBIT in Kconfig by selecting it when CONFIG_DVB_SMIPCIE is selected. Signed-off-by: Andreas Ruprecht <[email protected]> Reported-by: Jim Davis <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] rtl28xxu: add SDR module for devices having R828D tunerAntti Palosaari1-0/+4
Load SDR sub-driver in order to support SDR for devices having this tuner too. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] rtl28xxu: remove unused SDR attach logicAntti Palosaari1-19/+1
That logic was duplicated from rtl2832_sdr.h in order to avoid hard dependency for staging directory. rtl2832_sdr is moved to media, so we could remove that code now. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] rtl28xxu: rename tuner I2C client pointerAntti Palosaari2-4/+4
Better to rename tuner I2C to something which clearly says it is for tuner as there is now multiple different I2C clients used. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] rtl28xxu: add support for Panasonic MN88473 slave demodAntti Palosaari2-1/+33
There is RTL2832P devices having extra MN88473 demodulator. This patch add support for such configuration. Logically MN88473 slave demodulator is connected to RTL2832 master demodulator, both I2C bus and TS input. RTL2832 is integrated to RTL2832U and RTL2832P chips. Chip version RTL2832P has extra TS interface for connecting slave demodulator. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] rtl28xxu: add support for Panasonic MN88472 slave demodAntti Palosaari2-31/+108
There is RTL2832P devices having extra MN88472 demodulator. This patch add support for such configuration. Logically MN88472 slave demodulator is connected to RTL2832 master demodulator, both I2C bus and TS input. RTL2832 is integrated to RTL2832U and RTL2832P chips. Chip version RTL2832P has extra TS interface for connecting slave demodulator. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] rtl2832: implement option to bypass slave demod TSAntti Palosaari2-3/+68
Implement partial PIP mode to carry TS from slave demodulator, through that master demodulator. RTL2832 demod has TS input interface to connected another demodulator TS output. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] omap24xx/tcm825x: remove deprecated omap2 camera drivers.Hans Verkuil11-4726/+0
The omap2 camera driver and the tcm825x sensor driver have been deprecated for a year and are now being removed. They are unmaintained and they use an internal API that has long since been superseded by a much better API. Worse, that internal API has been abused by out-of-kernel trees (i.MX6). In addition, Sakari stated that these drivers have never been in a usable state in the mainline kernel due to missing platform data. Signed-off-by: Hans Verkuil <[email protected]> Acked-by: Sakari Ailus <[email protected]> Cc: David Cohen <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-21[media] mach-omap2: remove deprecated VIDEO_OMAP2 supportHans Verkuil1-31/+0
The omap2 camera driver has been deprecated for a year and is now going to be removed. It is unmaintained and it uses an internal API that has long since been superseded by a much better API. Worse, that internal API has been abused by out-of-kernel trees (i.MX6). In addition, Sakari stated that these drivers have never been in a usable state in the mainline kernel due to missing platform data. Signed-off-by: Hans Verkuil <[email protected]> Acked-by: Sakari Ailus <[email protected]> Acked-by: Tony Lindgren <[email protected]> Cc: David Cohen <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] cx23885: add DVBSky T982(Dual DVB-T2/T/C) supportNibble Max4-1/+78
DVBSky T982 DVB-T2/T/C dual PCIe card: 1>dvb frontend: SI2158A20(tuner),SI2168A30(demod) 2>PCIe bridge: CX23885(port b: parallel mode, port c: serial mode) 3>rc: cx23885 integrated. Signed-off-by: Nibble Max <[email protected]> Reviewed-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] add "lgdt330x" device name i2c_devs arrayWilson Michaels1-0/+1
This patch adds "lgdt330x" device name i2c_devs array used for debugging Signed-off-by: Wilson Michaels <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] media: cx88: use vb2_start_streaming_called() helperPrabhakar Lad1-1/+1
this patch adds support for using vb2_start_streaming_called() for cx88-blackbird driver. Signed-off-by: Lad, Prabhakar <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] media: vivid: use vb2_start_streaming_called() helperPrabhakar Lad1-5/+5
this patch adds support for using vb2_start_streaming_called() for vivid driver. Signed-off-by: Lad, Prabhakar <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] si4713: cleanup platform dataSebastian Reichel1-3/+0
Remove unreferenced members from the platform data's structure. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] ARM: OMAP2: RX-51: update si4713 platform dataSebastian Reichel1-38/+31
This updates platform data related to Si4713, which has been updated to be compatible with DT interface. Signed-off-by: Sebastian Reichel <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] si4713: add DT binding documentationSebastian Reichel1-0/+30
This patch adds the DT bindings documentation for Silicon Labs Si4713 FM radio transmitter. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] si4713: add device tree supportSebastian Reichel5-52/+41
Add device tree support by changing the device registration order. In the device tree the si4713 node is a normal I2C device, which will be probed as such. Thus the V4L device must be probed from the I2C device and not the other way around. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] si4713: use managed irq requestSebastian Reichel1-8/+2
Introduce the usage of managed irq request to simplify the code slightly. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] si4713: use managed memory allocationSebastian Reichel1-5/+2
Introduce the usage of managed memory allocation to simplify the code slightly. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] si4713: switch reset gpio to devm_gpiod APISebastian Reichel2-22/+19
This updates the driver to use the managed gpiod interface instead of the unmanged old GPIO API. This is a preperation for the introduction of device tree support. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> [[email protected]: fixed trivial compiler warning] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] si4713: switch to devm regulator APISebastian Reichel2-30/+59
This switches back to the normal regulator API (but use managed variant) in preparation for device tree support. Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> [[email protected]: fixed two trival compiler warnings] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] v4l: Forbid usage of V4L2_MBUS_FMT definitions inside the kernelBoris BREZILLON1-17/+28
Place v4l2_mbus_pixelcode in a #ifndef __KERNEL__ section so that kernel users don't have access to these definitions. We have to keep this definition for user-space users even though they're encouraged to move to the new media_bus_format enum. Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] gpu: ipu-v3: Make use of media_bus_format enumBoris BREZILLON1-33/+33
In order to have subsytem agnostic media bus format definitions we've moved media bus definition to include/uapi/linux/media-bus-format.h and prefixed enum values with MEDIA_BUS_FMT instead of V4L2_MBUS_FMT. Reference new definitions in the ipu-v3 driver. Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Hans Verkuil <[email protected]> Acked-by: Philipp Zabel <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] staging: media: Make use of MEDIA_BUS_FMT_ definitionsBoris BREZILLON12-285/+285
In order to have subsytem agnostic media bus format definitions we've moved media bus definition to include/uapi/linux/media-bus-format.h and prefixed values with MEDIA_BUS_FMT instead of V4L2_MBUS_FMT. Reference new definitions in all media drivers residing in staging. Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Hans Verkuil <[email protected]> Acked-by: Sakari Ailus <[email protected]> Acked-by: Lad, Prabhakar <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] usb: Make use of media_bus_format enumBoris BREZILLON5-6/+6
In order to have subsytem agnostic media bus format definitions we've moved media bus definition to include/uapi/linux/media-bus-format.h and prefixed enum values with MEDIA_BUS_FMT instead of V4L2_MBUS_FMT. Reference new definitions in all usb drivers. Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Hans Verkuil <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-11-14[media] platform: Make use of media_bus_format enumBoris BREZILLON59-495/+483
In order to have subsytem agnostic media bus format definitions we've moved media bus definition to include/uapi/linux/media-bus-format.h and prefixed values with MEDIA_BUS_FMT instead of V4L2_MBUS_FMT. Reference new definitions in all platform drivers. Signed-off-by: Boris Brezillon <[email protected]> Acked-by: Hans Verkuil <[email protected]> Acked-by: Sakari Ailus <[email protected]> Acked-by: Sekhar Nori <[email protected]> Acked-by: Lad, Prabhakar <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>