summaryrefslogtreecommitdiffstats
path: root/drivers/media
AgeCommit message (Collapse)Author
2011-07-30Merge branch 'v4l_for_linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits) [media] ir-mce_kbd-decoder: include module.h for its facilities [media] ov5642: include module.h for its facilities [media] em28xx: Fix DVB-C maxsize for em2884 [media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz [media] v4l: mt9v032: Fix Bayer pattern [media] V4L: mt9m111: rewrite set_pixfmt [media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear [media] V4L: initial driver for ov5642 CMOS sensor [media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails [media] V4L: soc-camera: remove soc-camera bus and devices on it [media] V4L: soc-camera: un-export the soc-camera bus [media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier [media] V4L: add media bus configuration subdev operations [media] V4L: soc-camera: group struct field initialisations together [media] V4L: soc-camera: remove now unused soc-camera specific PM hooks [media] V4L: pxa-camera: switch to using standard PM hooks [media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param [media] Don't OOPS if videobuf_dvb_get_frontend return NULL [media] NetUP Dual DVB-T/C CI RF: load firmware according card revision [media] omap3isp: Support configurable HS/VS polarities ... Fix up conflicts: - arch/arm/mach-omap2/board-rx51-peripherals.c: cleanup regulator supply definitions in mach-omap2 vs OMAP3: RX-51: define vdds_csib regulator supply - drivers/staging/tm6000/tm6000-alsa.c (trivial)
2011-07-29[media] ir-mce_kbd-decoder: include module.h for its facilitiesStephen Rothwell
drivers/media/rc/ir-mce_kbd-decoder.c:446:16: error: expected declaration specifiers or '...' before string constant drivers/media/rc/ir-mce_kbd-decoder.c:446:1: warning: data definition has no type or storage class drivers/media/rc/ir-mce_kbd-decoder.c:446:1: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE' drivers/media/rc/ir-mce_kbd-decoder.c:446:16: warning: function declaration isn't a prototype drivers/media/rc/ir-mce_kbd-decoder.c:447:15: error: expected declaration specifiers or '...' before string constant drivers/media/rc/ir-mce_kbd-decoder.c:447:1: warning: data definition has no type or storage class drivers/media/rc/ir-mce_kbd-decoder.c:447:1: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR' drivers/media/rc/ir-mce_kbd-decoder.c:447:15: warning: function declaration isn't a prototype drivers/media/rc/ir-mce_kbd-decoder.c:448:20: error: expected declaration specifiers or '...' before string constant drivers/media/rc/ir-mce_kbd-decoder.c:448:1: warning: data definition has no type or storage class drivers/media/rc/ir-mce_kbd-decoder.c:448:1: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION' drivers/media/rc/ir-mce_kbd-decoder.c:448:20: warning: function declaration isn't a prototype Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-29[media] ov5642: include module.h for its facilitiesStephen Rothwell
drivers/media/video/ov5642.c:985:1: warning: data definition has no type or storage class drivers/media/video/ov5642.c:985:1: warning: type defaults to 'int' in declaration of 'MODULE_DEVICE_TABLE' drivers/media/video/ov5642.c:985:1: warning: parameter names (without types) in function declaration drivers/media/video/ov5642.c: In function 'ov5642_mod_init': drivers/media/video/ov5642.c:998:9: error: 'THIS_MODULE' undeclared (first use in this function) drivers/media/video/ov5642.c:998:9: note: each undeclared identifier is reported only once for each function it appears in drivers/media/video/ov5642.c: At top level: drivers/media/video/ov5642.c:1009:20: error: expected declaration specifiers or '...' before string constant drivers/media/video/ov5642.c:1009:1: warning: data definition has no type or storage class drivers/media/video/ov5642.c:1009:1: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION' drivers/media/video/ov5642.c:1009:20: warning: function declaration isn't a prototype drivers/media/video/ov5642.c:1010:15: error: expected declaration specifiers or '...' before string constant drivers/media/video/ov5642.c:1010:1: warning: data definition has no type or storage class drivers/media/video/ov5642.c:1010:1: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR' drivers/media/video/ov5642.c:1010:15: warning: function declaration isn't a prototype drivers/media/video/ov5642.c:1011:16: error: expected declaration specifiers or '...' before string constant drivers/media/video/ov5642.c:1011:1: warning: data definition has no type or storage class drivers/media/video/ov5642.c:1011:1: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE' drivers/media/video/ov5642.c:1011:16: warning: function declaration isn't a prototype drivers/media/video/ov5642.c: In function 'ov5642_mod_init': drivers/media/video/ov5642.c:999:1: warning: control reaches end of non-void function Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-28[media] em28xx: Fix DVB-C maxsize for em2884Mauro Carvalho Chehab
The logic at em28xx_isoc_dvb_max_packetsize() sucks, at least for newer the needed packet size. Yet, it is better than nothing. Rewrite the code in order to change the default to 752 for em2884 and newer chips and provide a better way to handle per-chipset specifics. For em2874, the current default should be enough, as the only em2874 board is currently a 1-seg ISDB-T board, so, it needs only a limited amount of bandwidth. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-28[media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHzMauro Carvalho Chehab
Currently, the driver assumes that all QAM carriers are spaced with 8MHz. This is wrong, and may decrease QoS on Countries like Brazil, that have DVB-C carriers with 6MHz-spaced. Fortunately, both ITU-T J-83 and EN 300 429 specifies a way to associate the symbol rate with the bandwidth needed for it. For ITU-T J-83 2007 annex A, the maximum symbol rate for 6 MHz is: 6 MHz / 1.15 = 5217391 Bauds For ITU-T J-83 2007 annex C, the maximum symbol rate for 6 MHz is: 6 MHz / 1.13 = 5309735 Bauds. As this tuner is currently used only for DRX-K, and it is currently hard-coded to annex A, I've opted to use the roll-off factor of 0.15, instead of 0.13. If we ever support annex C, the better would be to add a DVB S2API call to allow changing between Annex A and C, and add the 0.13 roll-off factor to it. This code is currently being used on other frontends, so I think we should later add a core function with this code, to warrant that it will be properly implemented everywhere. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] v4l: mt9v032: Fix Bayer patternLaurent Pinchart
Compute crop rectangle boundaries to ensure a GRBG Bayer pattern. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: mt9m111: rewrite set_pixfmtMichael Grzeschik
added new bit offset defines, more supported BE colour formats and also support BGR565 swapped pixel formats removed pixfmt helper functions and option flags setting the configuration register directly in set_pixfmt added reg_mask function reg_mask is basically the same as clearing & setting registers, but it is more convenient and faster (saves one rw cycle). Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Philipp Wiesner <p.wiesner@phytec.de> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> [g.liakhovetski@gmx.de: remove Bayer swap, forward-port, rename macros] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: mt9m111: fix missing return value check mt9m111_reg_clearMichael Grzeschik
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: initial driver for ov5642 CMOS sensorBastian Hecht
This is an initial driver release for the Omnivision 5642 CMOS sensor. Signed-off-by: Bastian Hecht <hechtb@gmail.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping failsGuennadi Liakhovetski
If vb2_dma_contig_get_userptr() fails on a videobuffer, driver's .buf_init() method will not be called and the list will not be initialised. Trying to remove an uninitialised element from a list leads to a NULL-dereference. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Tested-by: Bastian Hecht <hechtb@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: soc-camera: remove soc-camera bus and devices on itGuennadi Liakhovetski
Now that v4l2 subdevices have got their own device objects, having one more device in soc-camera clients became redundant and confusing. This patch removes those devices and the soc-camera bus, they used to reside on. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: soc-camera: un-export the soc-camera busGuennadi Liakhovetski
The soc-camera bus is now completely local again. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifierGuennadi Liakhovetski
This moves us one more step closer to eliminating the soc-camera bus and devices on it. Besides, as a side effect, CSI-2 runtime PM on sh-mobile secomes finer grained now: we only have to power on the interface, when the device nodes are open. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: soc-camera: group struct field initialisations togetherGuennadi Liakhovetski
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: soc-camera: remove now unused soc-camera specific PM hooksGuennadi Liakhovetski
soc-camera host drivers shall be implementing their PM, using standard kernel methods, soc-camera specific hooks can die. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L: pxa-camera: switch to using standard PM hooksGuennadi Liakhovetski
The pxa-camera driver doesn't need soc-camera specific PM callbacks, switch it to using the standard PM hooks instead. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module paramAbylay Ospan
Currently available two hardware revision: 0x1 firmware filename: dvb-netup-altera-01.fw 0x4 firmware filename: dvb-netup-altera-04.fw Signed-off-by: Abylay Ospan <aospan@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] Don't OOPS if videobuf_dvb_get_frontend return NULLAbylay Ospan
Signed-off-by: Abylay Ospan <aospan@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] NetUP Dual DVB-T/C CI RF: load firmware according card revisionAbylay Ospan
Currently available two hardware revision: 0x1 firmware filename: dvb-netup-altera-01.fw 0x4 firmware filename: dvb-netup-altera-04.fw Signed-off-by: Abylay Ospan <aospan@netup.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] omap3isp: Support configurable HS/VS polaritiesLaurent Pinchart
Add two fields to the ISP parallel platform data to set the HS and VS signals polarities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] OMAP3: ISP: Add regulator control for omap34xxKalle Jokiniemi
The current omap3isp driver is missing regulator handling for CSIb complex in omap34xx based devices. This patch adds a mechanism for this to the omap3isp driver. Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4l2: OMAP: VOUT: Minor Cleanup, removing the unnecessary codeAmber Jain
Minor changes to remove the unused code from omap_vout driver. Signed-off-by: Amber Jain <amber@ti.com> Signed-off-by: Samreen <samreen@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L2: OMAP: VOUT: dma map and unmap v4l2 buffers in qbuf and dqbufAmber Jain
Add support to map the buffer using dma_map_single during qbuf which inturn calls cache flush and unmap the same during dqbuf. This is done to prevent the artifacts seen because of cache-coherency issues on OMAP4 Signed-off-by: Amber Jain <amber@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L2: OMAP: VOUT: isr handling extended for DPI and HDMI interfaceAmber Jain
Extending the omap vout isr handling for: - HDMI interface. These are the new interfaces added to OMAP4 DSS. Signed-off-by: Amber Jain <amber@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] OMAP_VOUT: Create separate file for VRFB related API'sarchit taneja
Introduce omap_vout_vrfb.c and omap_vout_vrfb.h, for all VRFB related API's, making OMAP_VOUT driver independent from VRFB. This is required for OMAP4 DSS, since OMAP4 doesn't have VRFB block. Added new enum vout_rotation_type and "rotation_type" member to omapvideo_info, this is initialized based on the arch type in omap_vout_probe. The rotation_type var is now used to choose between vrfb and non-vrfb calls. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] OMAP_VOUT: CLEANUP: Make rotation related helper functions more ↵archit taneja
descriptive Rename rotation_enabled() and rotate_90_or_270() to is_rotation_enabled() and is_rotation_90_or_270() to make them more descriptive. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] OMAP_VOUT: CLEANUP: Move generic functions and macros to common filesarchit taneja
Move the inline functions rotate_90_or_270(), rotation_enabled(), and calc_rotation() from omap_vout.c to omap_voutdef.h. Move the independent functions omap_vout_alloc_buffer() and omap_vout_free_buffer() to omap_voutlib.c. Remove extern identifier from function definitions in omap_voutlib.h Add static identifier to functions that are used locally in omap_vout.c Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] OMAP2: V4L2: Remove GFP_DMA allocation as ZONE_DMA is not configured ↵Amber Jain
on OMAP Remove GFP_DMA from the __get_free_pages() call from omap24xxcam as ZONE_DMA is not configured on OMAP. Earlier the page allocator used to return a page from ZONE_NORMAL even when GFP_DMA is passed and CONFIG_ZONE_DMA is disabled. As a result of commit a197b59ae6e8bee56fcef37ea2482dc08414e2ac, page allocator returns null in such a scenario with a warning emitted to kernel log. Signed-off-by: Amber Jain <amber@ti.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] V4L2: omap_vout: Remove GFP_DMA allocation as ZONE_DMA is not ↵Amber Jain
configured on OMAP Remove GFP_DMA from the __get_free_pages() call from omap_vout as ZONE_DMA is not configured on OMAP. Earlier the page allocator used to return a page from ZONE_NORMAL even when GFP_DMA is passed and CONFIG_ZONE_DMA is disabled. As a result of commit a197b59ae6e8bee56fcef37ea2482dc08414e2ac, page allocator returns null in such a scenario with a warning emitted to kernel log. Signed-off-by: Amber Jain <amber@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] uvcvideo: Add FIX_BANDWIDTH quirk to HP Webcam on HP Mini 5103 netbookKirill Smelkov
The camera there identifies itself as being manufactured by Cheng Uei Precision Industry Co., Ltd (Foxlink), and product is titled as "HP Webcam [2 MP Fixed]". I was trying to get 2 USB video capture devices to work simultaneously, and noticed that the above mentioned webcam always requires packet size = 3072 bytes per micro frame (~= 23.4 MB/s isoc bandwidth), which is far more than enough to get standard NTSC 640x480x2x30 = ~17.6 MB/s isoc bandwidth. As there are alt interfaces with smaller MxPS T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=05c8 ProdID=0403 Rev= 1.06 S: Manufacturer=Foxlink S: Product=HP Webcam [2 MP Fixed] S: SerialNumber=200909240102 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA A: FirstIf#= 0 IfCount= 2 Cls=0e(video) Sub=03 Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=03(Int.) MxPS= 16 Ivl=4ms I:* If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo I: If#= 1 Alt= 1 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=05(Isoc) MxPS= 128 Ivl=125us I: If#= 1 Alt= 2 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=05(Isoc) MxPS= 512 Ivl=125us I: If#= 1 Alt= 3 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=05(Isoc) MxPS=1024 Ivl=125us I: If#= 1 Alt= 4 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=05(Isoc) MxPS=1536 Ivl=125us I: If#= 1 Alt= 5 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=05(Isoc) MxPS=2048 Ivl=125us I: If#= 1 Alt= 6 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=05(Isoc) MxPS=2688 Ivl=125us I: If#= 1 Alt= 7 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=05(Isoc) MxPS=3072 Ivl=125us UVC_QUIRK_FIX_BANDWIDTH helps here and NTSC video can be served with MxPS=2688 i.e. 20.5 MB/s isoc bandwidth. In terms of microframe time allocation, before the quirk NTSC video required 60 usecs / microframe and 53 usecs / microframe after. Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] au8522: set signal field to 100% when signal presentDevin Heitmueller
The signal state field in G_TUNER is typically scaled from 0-100%. Since we don't know the signal level, we really would prefer the field to contain 100% than 1/256, which in many utilities (such as v4l2-ctl) rounds to 0% even when a signal is actually present. This patch makes the behavior consistent with other drivers. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] cx231xx: Provide signal lock status in G_INPUTDevin Heitmueller
Make use of the signal state registers to properly populate the signal lock registers in the cx231xx driver. This allows applications to know whether there is a signal present even in devices which lack a tuner (since such apps typically won't call G_TUNER if no tuner is present). [mchehab@redhat.com: Fix CodingStyle: don't use {} for one-line if's] Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] cx231xx: Fix power ramping issueDevin Heitmueller
On platforms that have CONFIG_HZ set to 100, the power ramp time effectively ends up being 10ms. However, on those that have a higher CONFIG_HZ, the time ends up *actually* being 5ms, which doesn't allow enough time for the hardware to be fully powered up before attempting to address it via i2c. Change the constant to 10ms, which is long enough for the hardware to power up, and won't really be anymore time than it was previously on platforms with CONFIG_HZ being 100. Credit goes to Mauro Carvalho Chehab and Gerd Hoffmann who previously investigated this issue. Tested with the Hauppauge USBLive 2, with which the problem was readily reproducible after setting CONFIG_HZ to 1000. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] Fix regression introduced which broke the Hauppauge USBLive 2Devin Heitmueller
The following patch addresses the regression introduced in the cx231xx driver which stopped the Hauppauge USBLive2 from working. Confirmed working by both myself and the user who reported the issue on the KernelLabs blog (Robert DeLuca). At some point during refactoring of the cx231xx driver, the USBLive 2 device became broken. This patch results in the device working again. Thanks to Robert DeLuca for sponsoring this work. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Cc: Robert DeLuca <robertdeluca@me.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] uvcvideo: Fix control mapping for devices with multiple chainsStephan Lachowsky
The search for matching extension units fails to take account of the current chain. In the case where you have two distinct video chains, both containing an XU with the same GUID but different unit ids, you will be unable to perform a mapping on the second chain because entity on the first chain will always be found first Fix this by only searching the current chain when performing a control mapping. This is analogous to the search used by uvc_find_control(), and is the correct behaviour. Signed-off-by: Stephan Lachowsky <stephan.lachowsky@maxim-ic.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] bt8xx: use pci_dev->subsystem_{vendor|device}Sergei Shtylyov
The driver reads PCI subsystem IDs from the PCI configuration registers while they are already stored by the PCI subsystem in the 'subsystem_{vendor|device}' fields of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] drxk: Fix the logic that selects between DVB-C annex A and CMauro Carvalho Chehab
Fix the DRX-K logic that selects between DVB-C annex A and C Fix a typo where DVB-C annex type is set via setEnvParameters, but the driver, uses, instead, setParamParameters[2]. While here, cleans up the code, fixing a bad identation at the fallback code for other types of firmware, and put the multiple-line comments into the Linux CodingStyle. Acked-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] drxk: Fix read debug messageMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] drxk: Fix error return code during drxk initMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] drxk: Remove goto/break after returnMauro Carvalho Chehab
After return, we don't need any other statement to change the function flux ;) Reported-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] drxk: Fix a bug at some switches that broke DVB-TMauro Carvalho Chehab
The error propagation changeset c23bf4402 broke the DVB-T code. The legacy way for propagate errors was: do { status = foo_func() if (status < 0) break; } while (0); return status; However, on a few places, it was doing: do { switch(foo) { case bar: status = foo_func() if (status < 0) break; break; } switch(foo2) { case bar: status = foo_func() if (status < 0) break; break; } ... } while (0); return (status) The inner error break were not working, as it were breaking only the switch, instead of the do. The solution used were to do a s/break/goto error/ at the inner breaks, but preserving the last break. Onfortunately, on a few switches, the replacement were applied also to the final break for the case statements. Fix the broken logic, by reverting them to break, where pertinent, in order to fix DVB-T support. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] Remove the double symbol increment hack from drxk_hardMauro Carvalho Chehab
Both ngene and ddbrige calls dvb_attach once for drxk_attach. The logic used there, and by tda18271c2dd driver is different from similar logic on other frontends. The right fix is to change them to use the same logic, but, while we don't do that, we need to patch em28xx-dvb in order to do cope with ngene/ddbridge magic. While here, document why drxk_t_release should do nothing. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] em28xx: Add other Terratec H5 USB ID'sMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27Revert "[media] DVB: dvb_frontend: off by one in dtv_property_dump()"Mauro Carvalho Chehab
This reverts commit a3e4adf274f86b2363fedaa964297cb38526cef0. As pointed by Andread Oberritter <obi@linuxtv.org>: That's wrong, because the array size is DTV_MAX_COMMAND + 1. Using the ARRAY_SIZE macro instead might reduce the confusion. Also, changeset 3995223038 already fixed this issue. Reported-by: Andread Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] cx88: implemented luma notch filter controlistvan_v@mailbox.hu
The following patch adds a new control that makes it possible to set the luma notch filter type to finetune picture quality. Signed-off-by: Istvan Varga <istvan_v@mailbox.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] cx88: implemented sharpness controlistvan_v@mailbox.hu
This patch implements support for a sharpness control, using the luma peaking filter feature of cx2388x. [mchehab@redhat.com: use cx_andor instead of cx_write] Signed-off-by: Istvan Varga <istvan_v@mailbox.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] v4l: s5p-tv: add TV Mixer driver for Samsung S5P platformTomasz Stanislawski
Add driver for TV Mixer on Samsung platforms from S5P family. Mixer is responsible for merging images from three layers and passing result to the output. Drivers are using: - v4l2 framework - videobuf2 - runtime PM Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] v4l: s5p-tv: add SDO driver for Samsung S5P platformTomasz Stanislawski
Add drivers for Standard Definition output (SDO) on Samsung platforms from S5P family. The driver provides control over streaming analog TV via Composite connector. Driver is using: - v4l2 framework - runtime PM Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] v4l: s5p-tv: add drivers for HDMI on Samsung S5P platformTomasz Stanislawski
Add drivers for HDMI outputs on Samsung platforms from S5P family. Drivers are using: - v4l2 framework - runtime PM Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27[media] cx88: properly maintain decoder config when using MPEG encoderDevin Heitmueller
The cx88 driver would force core->input to always be zero when doing the the request_acquire(). While it wasn't actually changing the input register in the hardware, the driver makes decision based on the current input. In particular, it decides whether to do things like enabling the comb filter when on a composite input but disabling it on s-video. So for example, on the HVR-1300, using the s-video input with the MPEG encoder would end up with the video decoder core configured as though the input type were composite. In short, the driver state did not match the hardware state. This patch does two things: 1. It forces the input to zero only if actually switching to DVB mode. This prevents the input from changing when the blackbird driver opens the device. 2. Keep track of what the input was set to when switching to DVB, and reset it back when done. This eliminates a condition where for example the user had the analog side of the board set to capture on the s-video input, then he used DVB for a bit, then the analog input would unexpectedly be set to the tuner input. This work was sponsored by Anevia S.A. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Cc: Florent Audebert <florent.audebert@anevia.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>