summaryrefslogtreecommitdiffstats
path: root/drivers/media/pci
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'topic/kbuild-fixes-for-next' of ↵Linus Torvalds2013-11-194-11/+42
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media build fixes from Mauro Carvalho Chehab: "A series of patches that fix compilation on non-x86 archs. While most of them are just build fixes, there are some fixes for real bugs, as there are a number of drivers using dynamic stack allocation. A few of those might be considered a security risk, if the i2c-dev module is loaded, as someone could be sending very long I2C data that could potentially overflow the Kernel stack. Ok, as using /dev/i2c-* devnodes usually requires root on usual distros, and exploiting it would require a DVB board or USB stick, the risk is not high" * 'topic/kbuild-fixes-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (28 commits) [media] platform drivers: Fix build on frv arch [media] lirc_zilog: Don't use dynamic static allocation [media] mxl111sf: Don't use dynamic static allocation [media] af9035: Don't use dynamic static allocation [media] af9015: Don't use dynamic static allocation [media] dw2102: Don't use dynamic static allocation [media] dibusb-common: Don't use dynamic static allocation [media] cxusb: Don't use dynamic static allocation [media] v4l2-async: Don't use dynamic static allocation [media] cimax2: Don't use dynamic static allocation [media] tuner-xc2028: Don't use dynamic static allocation [media] tuners: Don't use dynamic static allocation [media] av7110_hw: Don't use dynamic static allocation [media] stv090x: Don't use dynamic static allocation [media] stv0367: Don't use dynamic static allocation [media] stb0899_drv: Don't use dynamic static allocation [media] dvb-frontends: Don't use dynamic static allocation [media] dvb-frontends: Don't use dynamic static allocation [media] s5h1420: Don't use dynamic static allocation [media] uvc/lirc_serial: Fix some warnings on parisc arch ...
| * [media] cimax2: Don't use dynamic static allocationMauro Carvalho Chehab2013-11-081-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamic static allocation is evil, as Kernel stack is too low, and compilation complains about it on some archs: drivers/media/pci/cx23885/cimax2.c:149:1: warning: 'netup_write_i2c' uses dynamic stack allocation [enabled by default] Instead, let's enforce a limit for the buffer. Considering that I2C transfers are generally limited, and that devices used on USB has a max data length of 64 bytes for the control URBs. So, it seem safe to use 64 bytes as the hard limit for all those devices. On most cases, the limit is a way lower than that, but this limit is small enough to not affect the Kernel stack, and it is a no brain limit, as using smaller ones would require to either carefully each driver or to take a look on each datasheet. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] av7110_hw: Don't use dynamic static allocationMauro Carvalho Chehab2013-11-081-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamic static allocation is evil, as Kernel stack is too low, and compilation complains about it on some archs: drivers/media/pci/ttpci/av7110_hw.c:510:1: warning: 'av7110_fw_cmd' uses dynamic stack allocation [enabled by default] Instead, let's enforce a limit for the buffer. In the specific case of this driver, the maximum fw command size is 6 + 2, as checked using: $ git grep -A1 av7110_fw_cmd drivers/media/pci/ttpci/ So, use 8 for the buffer size. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] cx18: struct i2c_client is too big for stackMauro Carvalho Chehab2013-11-071-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | drivers/media/pci/cx18/cx18-driver.c: In function 'cx18_read_eeprom': drivers/media/pci/cx18/cx18-driver.c:357:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=] That happens because the routine allocates 256 bytes for an eeprom buffer, plus the size of struct i2c_client, with is big. Change the logic to dynamically allocate/deallocate space for struct i2c_client, instead of using the stack. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] zoran: don't build it on alphaMauro Carvalho Chehab2013-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver uses virt_to_bus() with is deprecated on Alpha: drivers/media/pci/zoran/zoran_device.c: In function 'zr36057_set_vfe': drivers/media/pci/zoran/zoran_device.c:451:3: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] drivers/media/pci/zoran/zoran_device.c:453:3: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] drivers/media/pci/zoran/zoran_device.c: In function 'zr36057_set_jpg': drivers/media/pci/zoran/zoran_device.c:796:2: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] drivers/media/pci/zoran/zoran_driver.c: In function 'v4l_fbuffer_alloc': drivers/media/pci/zoran/zoran_driver.c:241:3: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] drivers/media/pci/zoran/zoran_driver.c:245:3: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] drivers/media/pci/zoran/zoran_driver.c: In function 'jpg_fbuffer_alloc': drivers/media/pci/zoran/zoran_driver.c:334:3: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] drivers/media/pci/zoran/zoran_driver.c:347:5: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] drivers/media/pci/zoran/zoran_driver.c:366:6: warning: 'virt_to_bus' is deprecated (declared at /devel/v4l/ktest-build/arch/alpha/include/asm/io.h:114) [-Wdeprecated-declarations] As we're not even sure if it works on Alpha, better to just disable its compilation there. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* | Merge branch 'v4l_for_linus' of ↵Linus Torvalds2013-11-1930-109/+183
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "This series include: - a new Remote Controller driver for ST SoC with the corresponding DT bindings - a new frontend (cx24117) - a new I2C camera flash driver (lm3560) - a new mem2mem driver for TI SoC (ti-vpe) - support for Raphael r828d added to r820t driver - some improvements on buffer allocation at VB2 core - usual driver fixes and improvements PS this time, we have a smaller number of patches. While it is hard to pinpoint to the reasons, I believe that it is mainly due to: 1) there are several patch series ready, but depending on DT review. I decided to grant some extra time for DT maintainers to look on it, as they're expecting to have more time with the changes agreed during ARM mini-summit and KS. If they can't review in time for 3.14, I'll review myself and apply for the next merge window. 2) I suspect that having both LinuxCon EU and LinuxCon NA happening during the same merge window affected the development productivity, as several core media developers participated on both events" * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (151 commits) [media] media: st-rc: Add ST remote control driver [media] gpio-ir-recv: Include linux/of.h header [media] tvp7002: Include linux/of.h header [media] tvp514x: Include linux/of.h header [media] ths8200: Include linux/of.h header [media] adv7343: Include linux/of.h header [media] v4l: Fix typo in v4l2_subdev_get_try_crop() [media] media: i2c: add driver for dual LED Flash, lm3560 [media] rtl28xxu: add 15f4:0131 Astrometa DVB-T2 [media] rtl28xxu: add RTL2832P + R828D support [media] rtl2832: add new tuner R828D [media] r820t: add support for R828D [media] media/i2c: ths8200: fix build failure with gcc 4.5.4 [media] Add support for KWorld UB435-Q V2 [media] staging/media: fix msi3101 build errors [media] ddbridge: Remove casting the return value which is a void pointer [media] ngene: Remove casting the return value which is a void pointer [media] dm1105: remove unneeded not-null test [media] sh_mobile_ceu_camera: remove deprecated IRQF_DISABLED [media] media: rcar_vin: Add preliminary r8a7790 support ...
| * [media] ddbridge: Remove casting the return value which is a void pointerJingoo Han2013-10-311-1/+1
| | | | | | | | | | | | | | | | | | Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] ngene: Remove casting the return value which is a void pointerJingoo Han2013-10-311-1/+1
| | | | | | | | | | | | | | | | | | Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] dm1105: remove unneeded not-null testAlexandru Juncu2013-10-311-2/+1Star
| | | | | | | | | | | | | | | | | | i2c_adap is a field of a struct and will always be allocated so its address will never be null. Suggested by coccinelle, manually verified. Signed-off-by: Alexandru Juncu <alexj@rosedu.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] cx25821: fix sparse warningsHans Verkuil2013-10-174-20/+14Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/media/pci/cx25821/cx25821-cards.c:49:20: warning: symbol 'cx25821_bcount' was not declared. Should it be static? drivers/media/pci/cx25821/cx25821-video-upstream.c:162:33: warning: incorrect type in assignment (different base types) drivers/media/pci/cx25821/cx25821-video-upstream.c:163:33: warning: incorrect type in assignment (different base types) drivers/media/pci/cx25821/cx25821-video-upstream.c:164:33: warning: incorrect type in assignment (different base types) drivers/media/pci/cx25821/cx25821-video-upstream.c:165:33: warning: incorrect type in assignment (different base types) drivers/media/pci/cx25821/cx25821-medusa-video.h:43:16: warning: symbol '_num_decoders' was not declared. Should it be static? drivers/media/pci/cx25821/cx25821-medusa-video.h:44:16: warning: symbol '_num_cameras' was not declared. Should it be static? drivers/media/pci/cx25821/cx25821-medusa-video.h:46:14: warning: symbol '_video_standard' was not declared. Should it be static? drivers/media/pci/cx25821/cx25821-medusa-video.h:47:5: warning: symbol '_display_field_cnt' was not declared. Should it be static? After analyzing the last four warnings carefully it became clear that these variables were really completely unused. As a result of that the call to medusa_set_decoderduration() is now dubious since the duration is always 0. Without documentation, however, I can't tell what the right value is. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] ivtv: remove deprecated IRQF_DISABLEDMichael Opdenacker2013-10-171-1/+1
| | | | | | | | | | | | | | | | | | This patch proposes to remove the use of the IRQF_DISABLED flag It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] zoran: remove deprecated IRQF_DISABLEDMichael Opdenacker2013-10-171-1/+1
| | | | | | | | | | | | | | | | | | This patch proposes to remove the use of the IRQF_DISABLED flag It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] misc drivers: remove deprecated IRQF_DISABLEDMichael Opdenacker2013-10-1710-11/+10Star
| | | | | | | | | | | | | | | | | | This patch proposes to remove the use of the IRQF_DISABLED flag It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] cx18: remove deprecated IRQF_DISABLEDMichael Opdenacker2013-10-171-2/+1Star
| | | | | | | | | | | | | | | | | | This patch proposes to remove the use of the IRQF_DISABLED flag It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: ngene: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-2/+0Star
| | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: bt878: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-1/+0Star
| | | | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: saa7164: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-1/+0Star
| | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: pt1: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-2/+0Star
| | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: pluto2: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-2/+0Star
| | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: mantis: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-2/+0Star
| | | | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: dm1105: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-2/+0Star
| | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: cx88: Remove redundant pci_set_drvdataSachin Kamat2013-10-173-4/+0Star
| | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: flexcop: Remove redundant pci_set_drvdataSachin Kamat2013-10-171-2/+0Star
| | | | | | | | | | | | | | | | | | Driver core sets driver data to NULL upon failure or remove. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: cx88-video: Use module_pci_driverSachin Kamat2013-10-171-14/+1Star
| | | | | | | | | | | | | | | | module_pci_driver removes some boilerplate and makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: cx88-mpeg: Use module_pci_driverSachin Kamat2013-10-171-13/+1Star
| | | | | | | | | | | | | | | | module_pci_driver removes some boilerplate and makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] pci: cx88-alsa: Use module_pci_driverSachin Kamat2013-10-171-24/+1Star
| | | | | | | | | | | | | | | | | | module_pci_driver removes some boilerplate and makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] cx23885: Add Leadtek Winfast PxPVR2200Anca Emanuel2013-10-143-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tested: Composite: http://imgur.com/Rb1TCF3 TV: http://imgur.com/KNrfsmv Firmware used: xc3028-v27.fw Not tested: audio, component, s-video, mpeg2 encoder, FM radio. For audio, it uses an CD style cable to connect to the analog "CD_IN" on the motherboard. I didn't found how to unmute it (alsamixer do not show an CD or AUX channel). Signed-off-by: Anca Emanuel <anca.emanuel@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] cx24117: use hybrid_tuner_request/release_state to share state ↵Luis Alves2013-10-031-9/+2Star
| | | | | | | | | | | | | | | | | | | | between multiple instances ...and remove the frontend pointer param from cx24117_attach() Signed-off-by: Luis Alves <ljalvs@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
| * [media] cx23885: add support for cx24117 with tbs6980 or tbs6981Luis Alves2013-10-035-0/+113
| | | | | | | | | | | | | | Signed-off-by: Luis Alves <ljalvs@gmail.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* | [media] saa7134: Fix crash when device is closed before streamoffSimon Farnsworth2013-10-141-0/+1
|/ | | | | | | | | | | | pm_qos_remove_request was not called on video_release, resulting in the PM core's list of requests being corrupted when the file handle was freed. This has no immediate symptoms, but later in operation, the kernel will panic as the PM core dereferences a dangling pointer. Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] cx88: Fix regression: CX88_AUDIO_WM8775 can't be 0Hans Verkuil2013-09-031-1/+1
| | | | | | | | | | | | | | Cards using the wm8775 specify that in their card struct. Those that do not use it leave the audio_chip field to 0. Unfortunately, the CX88_AUDIO_WM8775 enum is 0 as well, so boards that do not have the wm8775 still try to load and use that driver. Change it to 1 to fix this. This regression was introduced in commit facd23664f1d63c33fbc6da52261c8548ed3fbd4. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Reported-by: Knut Petersen <Knut_Petersen@t-online.de> Tested-by: Knut Petersen <Knut_Petersen@t-online.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Cc: stable@vger.kernel.org
* [media] cx88: fix build when VP3054=m and CX88_DVB=yMauro Carvalho Chehab2013-08-241-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | As reported by Jim Davis <jim.epost@gmail.com>: randconfig build error with next-20130813, in drivers/media/pci/cx88, when: CONFIG_VIDEO_CX88=y CONFIG_VIDEO_CX88_BLACKBIRD=m CONFIG_VIDEO_CX88_DVB=y CONFIG_VIDEO_CX88_VP3054=m CONFIG_VIDEO_CX88_MPEG=y LD init/built-in.o drivers/built-in.o: In function `cx8802_dvb_remove': cx88-dvb.c:(.text+0x3a9914): undefined reference to `vp3054_i2c_remove' drivers/built-in.o: In function `cx8802_dvb_probe': cx88-dvb.c:(.text+0x3a9c4b): undefined reference to `vp3054_i2c_probe' make: *** [vmlinux] Error 1 That happens because the vp3054 symbols aren't available builtin. So, make it builtin, if CX88_DVB=y, or module otherwise, if this support is selected. Reported-by: Jim Davis <jim.epost@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] Fixed misleading error when handling IR interruptsLuis Alves2013-08-241-4/+1Star
| | | | | | | | | | | | | | Hi, Handling the AV Core/IR interrupts schedules its workqueue but the schedule_work function returns false if @work was already on the kernel-global workqueue and true otherwise. Printing an error message if @work wasn't in the queue is wrong. Regards, Luis Signed-off-by: Luis Alves <ljalvs@gmail.com> Acked-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] cx23885: Add DTV support for Mygica X8502/X8507 boardsMauro Carvalho Chehab2013-08-223-2/+30
| | | | | | | | | | | | | | Those boards were missing the ISDB-T support. Most of the work on this patch were done by Alfredo. My work here were to port this patch from Kernel 3.2 to upstream, fix the issue caused by the set_frontend bad hook, and add the Kconfig bits. Tested on a X8502 board rebranded as: "Leadership - Placa PCI-e de Captura de Vídeo Híbrida" - product code 3800. Thanks-to: Alfredo Delaiti <alfredodelaiti@netscape.net> Tested-by: Alfredo Delaiti <alfredodelaiti@netscape.net> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] cx23885-dvb: use a better approach to hook set_frontendMauro Carvalho Chehab2013-08-222-8/+18
| | | | | | | | | | | | | | When the frontend drivers got converted to DVBv5 API, the original hook that tracked when a frontend is set got removed, being replaced by an approach that would use the gate control. That doesn't work fine with some boards. Also, the code were called more times than desired. Replace it by a logic that will hook the dvb set_frontend ops, with works with both DVBv3 and DVBv5 calls. Tested on a Mygica X8502 OEM board. Tested-by: Alfredo Delaiti <alfredodelaiti@netscape.net> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] cx23885-video: fix two warningsMauro Carvalho Chehab2013-08-011-0/+1
| | | | | | | | | | drivers/media/pci/cx23885/cx23885-video.c:420:5: warning: no previous prototype for 'cx23885_flatiron_write' [-Wmissing-prototypes] int cx23885_flatiron_write(struct cx23885_dev *dev, u8 reg, u8 data) ^ drivers/media/pci/cx23885/cx23885-video.c:431:4: warning: no previous prototype for 'cx23885_flatiron_read' [-Wmissing-prototypes] u8 cx23885_flatiron_read(struct cx23885_dev *dev, u8 reg) Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] cx23885[v4]: Fix interrupt storm when enabling IR receiverLuis Alves2013-08-013-2/+41
| | | | | | | | | | | | | | | | | | | | | | Apparently the Flatiron genereates an interrupt after the built-in self test for each of its left and right channels has completed. Apparently Conexant wire-OR'ed the Flatiron's interrupt output with the interrupt output of the CX23885 A/V core. Those interrupts need to be handled, otherwise, they generate an interrrupt request storm. So: - Add flatiron readreg and writereg functions prototypes on a new header file; - Modify the av interrupt handler to cleanup flatiron IRQs if no other interrupt handling happens. Signed-off-by: Luis Alves <ljalvs@gmail.com> Acked-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] cx23885: Fix TeVii S471 regression since introduction of ts2020Johannes Koch2013-07-301-0/+4
| | | | | | | | Patch to make TeVii S471 cards use the ts2020 tuner, since ds3000 driver no longer contains tuning code. Signed-off-by: Johannes Koch <johannes@ortsraum.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] bttv: stop abusing mbox_we for sw_statusOndrej Zary2013-07-262-17/+12Star
| | | | | | | | | | | Kodicom 4400R and Geovision GV-800 code in bttv driver abuses mbox_we (int) in struct bttv as char *. Remove this hack and add a proper sw_status array to struct bttv instead. This is a a preparation to remove mbox_we. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] saa7134: Fix unlocked snd_pcm_stop() callTakashi Iwai2013-07-151-0/+2
| | | | | | | snd_pcm_stop() must be called in the PCM substream lock context. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'v4l_for_linus' of ↵Linus Torvalds2013-07-1339-1103/+494Star
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "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" * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits) MAINTAINERS & ABI: Update to point to my new email [media] stb0899: restore minimal rate to 5Mbauds [media] exynos4-is: Correct colorspace handling at FIMC-LITE [media] exynos4-is: Set valid initial format on FIMC.n subdevs [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev [media] exynos4-is: Set valid initial format at FIMC-LITE [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry [media] Documentation: Update driver's directory in video4linux/fimc.txt [media] exynos4-is: Change fimc-is firmware file names [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms [media] media: i2c: tvp514x: remove manual setting of subdev name [media] media: i2c: tvp7002: remove manual setting of subdev name [media] mem2mem: set missing v4l2_dev pointer [media] wl128x: add missing struct v4l2_device [media] tvp514x: Fix init seqeunce [media] saa7134: Fix sparse warnings by adding __user annotation ...
| * [media] saa7134: Fix sparse warnings by adding __user annotationEmil Goode2013-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding a __user annotation fixes the following sparse warnings. drivers/media/pci/saa7134/saa7134-video.c:1578:45: warning: incorrect type in initializer (different address spaces) drivers/media/pci/saa7134/saa7134-video.c:1578:45: expected struct v4l2_clip *clips drivers/media/pci/saa7134/saa7134-video.c:1578:45: got struct v4l2_clip [noderef] <asn:1>*clips drivers/media/pci/saa7134/saa7134-video.c:1589:26: warning: incorrect type in assignment (different address spaces) drivers/media/pci/saa7134/saa7134-video.c:1589:26: expected struct v4l2_clip [noderef] <asn:1>*clips drivers/media/pci/saa7134/saa7134-video.c:1589:26: got struct v4l2_clip *clips Signed-off-by: Emil Goode <emilgoode@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] saa7164: fix compiler warningHans Verkuil2013-06-281-1/+2
| | | | | | | | | | | | | | | | | | | | build/media_build/v4l/saa7164-core.c: In function 'saa7164_initdev': build/media_build/v4l/saa7164-core.c:1192:6: warning: 'err' may be used uninitialized in this function [-Wmaybe-uninitialized] int err, i; ^ Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] cx88: set dev_parent to the correct parent PCI busHans Verkuil2013-06-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | The cx88 driver has one v4l2_device, but the video nodes are owned by two different PCI busses. So the dev_parent pointer should be set to the correct parent bus, otherwise sysfs won't show the correct device hierarchy. This broke starting in 3.6 after a driver change, so this patch resurrects the correct behavior. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] saa7134: use v4l2_dev instead of the deprecated parent fieldHans Verkuil2013-06-211-1/+1
| | | | | | | | | | Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] saa7164: add v4l2_device and replace parent with v4l2_devHans Verkuil2013-06-214-2/+12
| | | | | | | | | | | | | | | | | | This driver did not yet support struct v4l2_device, so add it. This make it possible to replace the deprecated parent field with the v4l2_dev field, allowing the eventual removal of the parent field. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] zoran: use v4l2_dev instead of the deprecated parent fieldHans Verkuil2013-06-211-1/+1
| | | | | | | | | | Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] cx23885-417: use v4l2_dev instead of the deprecated parent fieldHans Verkuil2013-06-211-1/+1
| | | | | | | | | | Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] cx88: fix register maskHans Verkuil2013-06-211-2/+2
| | | | | | | | | | | | | | | | | | Ensure that the register is aligned to a dword, otherwise the read could read out-of-range data. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] cx88: remove g_chip_identHans Verkuil2013-06-213-27/+14Star
| | | | | | | | | | | | | | | | | | | | Remove g_chip_ident from cx88. Also remove the v4l2-chip-ident.h include. The board code used defines from v4l2-chip-ident.h to tell the driver which audio chip is used. Replace this with a cx88-specific enum. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>