summaryrefslogtreecommitdiff
path: root/drivers/media/usb
AgeCommit message (Collapse)AuthorFilesLines
2014-08-22[media] au0828: fix checks if dvb is initializedMauro Carvalho Chehab1-6/+6
dev->dvb is always not null, as it is an area at the dev memory. So, checking if (dev->dvb) is always true. Instead of this stupid check, what the code wants to do is to know if the DVB was successully registered. Fix it by checking, instead, for dvb->frontend. It should also be sure that this var will be NULL if the device was not properly initialized. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: add pr_info to track au0828 suspend/resume codeMauro Carvalho Chehab4-0/+17
Suspend/resume conditions can be very tricky. Add some info printk's to help tracking what's happening there. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: use pr_foo macrosMauro Carvalho Chehab8-75/+72
Instead of using printk(KERN_foo, use pr_foo() macros. No functional changes. Note: we should do the same for dprintk(), but that would require to remove the dprintk levels. So, for now, let's not touch on it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: Remove a bad whitespaceMauro Carvalho Chehab1-1/+1
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: add suspend/resume code for V4L2Mauro Carvalho Chehab3-1/+67
No timers should be enabled during suspend. So, stop them. At resume time, we should do the proper initialization for it to keep working. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: properly handle stream on/off stateMauro Carvalho Chehab1-0/+3
The STREAM_ON state is used by s_format callback, but the driver never sets it. Fix it. This will also be needed in order to handle suspend/resume ops. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: Add suspend code for DVBMauro Carvalho Chehab3-1/+34
The scheduled work should be cancelled during suspend. At resume time, we need to set the frontend again. So, add such logic to the driver. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: be sure to reenable the bridge and GPIOs on resumeMauro Carvalho Chehab1-0/+6
At resume, we should restore the register contents. So, reenable the bridge and GPIO settings. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: don't let the IR polling thread to run at suspendMauro Carvalho Chehab1-2/+31
Trying to make au0828 to suspend can do very bad things, as the polling Kthread is not handled. We should disable it during suspend, only re-enabling it at resume. Still, analog and digital TV won't work, as we don't reinit the settings at resume, but at least it won't hang. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_*()Shuah Khan1-4/+0
Remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_register() and au0828_rc_unregister() calls in au0828-core Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: add au0828_rc_*() stubs for VIDEO_AU0828_RC disabled caseShuah Khan1-4/+11
Define au0828_rc_*() stubs to avoid compile errors when VIDEO_AU0828_RC is disabled and avoid the need to enclose au0828_rc_*() in ifdef CONFIG_VIDEO_AU0828_RC in .c files. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: handle IR int during suspend/resumeMauro Carvalho Chehab1-0/+6
It doesn't make sense to handle an IR code given before suspending after the device resume. So, turn off IR int while suspending. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: avoid race conditions at RC stopMauro Carvalho Chehab1-2/+2
As the RC kthread can re-enable IR int, we should first cancel the kthread and then disable IR int. While here, remove a temporary debug printk. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828-input: Be sure that IR is enabled at pollingMauro Carvalho Chehab1-2/+10
When the DVB code sets the frontend, it disables the IR INT, probably due to some hardware bug, as there's no code there at au8522 frontend that writes on register 0xe0. Fixing it at au8522 code is hard, as it doesn't know if the IR is enabled or disabled, and just restoring the value of register 0xe0 could cause other nasty effects. So, better to add a hack at au0828-input polling interval to enable int, if disabled. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: Enable IR for HVR-850Mauro Carvalho Chehab1-0/+1
HVR-850 also has a remote. Enable it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: add an option to disable IR via modprobe parameterMauro Carvalho Chehab1-1/+5
The IR code increases the power consumption of the device. Allow to disable it via modprobe parameter. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-22[media] au0828: no need to sleep at the IR codeMauro Carvalho Chehab1-2/+0
This sleep was doing some debouncing on the original driver. This is not needed on Linux, because the RC core and the input layer already takes care of it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-09media: use pci_zalloc_consistentJoe Perches2-16/+6
Remove the now unnecessary memset too. Signed-off-by: Joe Perches <joe@perches.com> Cc: Hans Verkuil <hverkuil@xs4all.nl> Cc: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-08-06Merge branch 'v4l_for_linus' of ↵Linus Torvalds90-768/+11025
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - removal of sn9c102. This device driver was replaced a long time ago by gspca - solo6x10 and go7007 webcam drivers moved from staging into mainstream. They were waiting for an API to allow setting the image detection matrix - SDR drivers moved from staging into mainstream: sdr-msi3101 (renamed as msi2500) and rtl2832 - added SDR driver for airspy - added demux driver: si2165 - rework at several RC subsystem, making the code for RC-5 SZ variant to be added at the standard RC5 decoder - added decoder for the XMP IR protocol - tuner driver moved from staging into mainstream: msi3101 (renamed as msi001) - added documentation for some additional SDR pixfmt - some device tree bindings documented - added support for exynos3250 at s5p-jpeg - remove the obsolete, unmaintained and broken mx1_camera driver - added support for remote controllers at au0828 driver - added a RC driver: sunxi-cir - several driver fixes, enhancements and cleanups. * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (455 commits) [media] cx23885: fix UNSET/TUNER_ABSENT confusion [media] coda: fix build error by making reset control optional [media] radio-miropcm20: fix sparse NULL pointer warning [media] MAINTAINERS: Update go7007 pattern [media] MAINTAINERS: Update solo6x10 patterns [media] media: atmel-isi: add primary DT support [media] media: atmel-isi: convert the pdata from pointer to structure [media] media: atmel-isi: add v4l2 async probe support [media] rcar_vin: add devicetree support [media] media: pxa_camera device-tree support [media] media: mt9m111: add device-tree suppport [media] soc_camera: add support for dt binding soc_camera drivers [media] media: soc_camera: pxa_camera documentation device-tree support [media] media: mt9m111: add device-tree documentation [media] s5p-mfc: remove unnecessary calling to function video_devdata() [media] s5p-jpeg: add chroma subsampling adjustment for Exynos3250 [media] s5p-jpeg: Prevent erroneous downscaling for Exynos3250 SoC [media] s5p-jpeg: Assure proper crop rectangle initialization [media] s5p-jpeg: fix g_selection op [media] s5p-jpeg: Adjust jpeg_bound_align_image to Exynos3250 needs ...
2014-07-30[media] au0828: add support for IR on HVR-950QMauro Carvalho Chehab6-4/+430
HVR-950Q uses an I2C remote controller at address 0x47 (7-bits notation). Add support for it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-30[media] au0828: improve I2C speedMauro Carvalho Chehab2-16/+27
Commits 21dc61d3c0a4 and 7a1dd50b89d4 reduced the board I2C speed to 20 MHz by default, due to a I2C stretch issue: while xc5000 uses i2c stretch when a command is sent to it, au0828 doesn't support this feature. However, this is needed only for Xceive tuners. The other I2C devices can work at the max speed. So, revert the workarounds at board level, handling it at I2C level, only when talking with xc5000. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-28Merge branch 'sched/urgent' into sched/core, to merge fixes before applying ↵Ingo Molnar3-10/+37
new changes Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-07-28[media] cx231xx: handle errors at read_eeprom()Mauro Carvalho Chehab1-1/+8
Fix the following warnings: drivers/media/usb/cx231xx/cx231xx-cards.c: In function 'read_eeprom': drivers/media/usb/cx231xx/cx231xx-cards.c:979:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-28[media] cx231xx: Add support for PCTV QuatroStick 522eMatthias Schwarzott1-1/+4
Add support for: [2013:025e] PCTV QuatroStick 522e The hardware is identical to Hauppauge WinTV 930C-HD (model 1114xx) Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-28[media] cx231xx: Add support for PCTV QuatroStick 521eMatthias Schwarzott1-1/+4
Add support for: [2013:0259] PCTV QuatroStick 521e The hardware is identical to Hauppauge WinTV 930C-HD (model 1113xx) Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-28[media] cx231xx: Add digital support for HVR930C-HD model 1114xxMatthias Schwarzott4-0/+107
Add support for: [2040:b131] Hauppauge WinTV 930C-HD (model 1114xx) Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Tested-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-28[media] cx231xx: Add digital support for HVR 930c-HD model 1113xxMatthias Schwarzott6-0/+132
Add support for: [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx) After loading the driver the first open to dvb device node fails. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-28[media] cx231xx: prepare for i2c_client attachmentMatthias Schwarzott1-0/+8
This is needed to support PCTV QuatroStick 522e which uses a si2157. The si2157 driver is written using i2c_client attachment. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Tested-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-27[media] cx231xx: return an error if it can't read PCB configMauro Carvalho Chehab3-5/+13
Instead of using some random value, return an error if the PCB config is not available or doesn't match a know profile Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-27[media] cx231xx: move analog init code to a separate functionMauro Carvalho Chehab1-106/+114
That makes easier to understand the code. It would also help to add support for having boards with just digital support on some latter patch, as allowed by some PCB configs. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-27[media] cx231xx: use devm_ functions to allocate memoryMauro Carvalho Chehab1-30/+13
The initialization is already too complex. Use devm_ functions to make the code simpler and easier to modify. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-27[media] cx231xx: Don't let an interface number to go past the arrayMauro Carvalho Chehab1-12/+30
On some newer boards, like HVR-930C HD, the information at the PCB tables are sometimes higher than the ones actually available on the device. That causes the probing code to go past the interfaces array. Add checks to the interface number before going past the array. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-27[media] cx231xx: Fix the max number of interfacesMauro Carvalho Chehab1-2/+1
The max number of interfaces was read from the wrong descriptor. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] em28xx-v4l: fix disabling ioctl VIDIOC_S_PARM for vbi devicesFrank Schaefer1-1/+1
Fixes an old copy+paste bug that has survived all recent code changes in this code area. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] em28xx-v4l: get rid of field "users" in struct em28xx_v4l2Frank Schaefer2-11/+13
Instead of counting the number of opened file handles, use function v4l2_fh_is_singular_file() in em28xx_v4l2_open() and em28xx_v4l2_close() to determine if the file handle is the first/last opened one. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] em28xx-v4l: simplify em28xx_v4l2_open() by using v4l2_fh_open()Frank Schaefer1-8/+7
Instead of calling ... struct v4l2_fh *fh = kzalloc(sizeof(*fh), GFP_KERNEL); filp->private_data = fh; v4l2_fh_init(fh, vdev); v4l2_fh_add(fh); ... simply use function v4l2_fh_open() which does all of these calls for us. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] em28xx-v4l: get rid of struct em28xx_fhFrank Schaefer2-61/+29
struct em28xx_fh isn't needed anymore because the only used field which is left is struct v4l2_fh fh. Use struct v4l2_fh directly and remvove struct em28xx_fh. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] em28xx-v4l: simplify some pointers in em28xx_init_camera()Frank Schaefer1-2/+2
Pointer v4l2" can be used instead of "dev->v4l2, which saves some characters. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] Fix typo in commentsRaimonds Cicans1-1/+1
Expression ((7bit i2c_addr << 1) & 0x01) can not be right because it is always 0 Signed-off-by: Raimonds Cicans <ray@apollo.lv> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c: remove ↵Fabian Frederick1-2/+1
unnecessary null test before usb_free_urb Fix checkpatch warning: WARNING: usb_free_urb(NULL) is safe this check is probably not required Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] af9035: override tuner for AVerMedia A835B devicesAntti Palosaari1-0/+19
Tuner ID set into EEPROM is wrong, which causes driver to select wrong tuner profile. That leads device non-working. Fix issue by overriding known bad tuner IDs with suitable default value. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] media: em28xx-dvb update fe exit flag to indicate device disconnectShuah Khan1-2/+6
Change em28xx_dvb_fini() to set fe exit flag to DVB_FE_DEVICE_REMOVED when device is disconnected. em28xx maintains device disconnect status in em28xx device. fe drivers will be able to now check the fe exit status to avoid accessing the device, from their release interfaces when called from disconnect path. This change depends on dvb-core change that exports fe exit flag by moving it from fepriv to fe. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] media: em28xx - fix i2c_xfer to return -ENODEV when dev is removedShuah Khan1-0/+6
In em28xx usb disconnect code path, some dvb fe and tuner drivers attempt i2c transfers from their release interfaces. When device is removed, return -ENODEV instead of attempting to transfer data over i2c. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] media: em28xx - remove reset_resume interfaceShuah Khan1-1/+0
em28xx uses resume interface as its reset_resume interface. If usb device is reset during suspend, reset_resume doesn't do the necessary initialization which leads to resume failure. Many systems don't maintain do not maintain suspend current to the USB host controllers during hibernation. Remove reset_resume to allow disconnect to be called followed by device restore sequence. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] media: em28xx - add error handling for KWORLD dvb_attach failuresShuah Khan1-3/+11
Add error hanlding when EM2870_BOARD_KWORLD_A340 dvb_attach() for fe and tuner fail in em28xx_dvb_init(). Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] media: em28xx-dvb - fix em28xx_dvb_resume() to not unregister i2c ↵Shuah Khan1-17/+0
and dvb em28xx_dvb_resume() unregisters i2c tuner, i2c demod, and dvb. This erroneous cleanup results in i2c tuner, i2c demod, and dvb devices unregistered and removed during resume. This error is a result of merge conflict between two patches that went into 3.15. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rtl28xxu: add [1b80:d3b0] Sveon STV21Sebastian1-0/+2
Added Sveon STV21 device based on Realtek RTL2832U and FC0013 tuner Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net> Acked-by: Antti Palosaari <crope@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] Fix regression in some dib0700 based devicesJames Harper1-1/+1
Fix regression in some dib0700 based devices. Set size_of_priv, and don't call dvb_detach unnecessarily. This resolves the oops(s) for my "Leadtek Winfast DTV Dongle (STK7700P based)" Signed-off-by: James Harper <james.harper@ejbdigital.com.au> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: rename dev->scanmask to dev->scancode_maskDavid Härdeman2-2/+2
We already have dev->scancode_filter and dev->scancode_wakeup_filter so rename dev->scanmask to dev->scancode_mask for consistency. Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: remove protocol arraysDavid Härdeman4-7/+7
The basic API of rc-core used to be: dev = rc_allocate_device(); dev->x = a; dev->y = b; dev->z = c; rc_register_device(); which is a pretty common pattern in the kernel, after the introduction of protocol arrays the API looks something like: dev = rc_allocate_device(); dev->x = a; rc_set_allowed_protocols(dev, RC_BIT_X); dev->z = c; rc_register_device(); There's no real need for the protocols to be an array, so change it back to be consistent (and in preparation for the following patches). [m.chehab@samsung.com: added missing changes at some files] Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>