summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-10-21[media] gspca - ov519: Use the new video control mechanismJean-François Moine
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gspca - stk014: Use the new video control mechanismJean-François Moine
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gspca - main: New video control mechanismJean-François Moine
The new control mechanism uses dynamic control values in the subdriver descriptor. It simplifies standard control handling. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Fix uvc_query_v4l2_ctrl() and uvc_xu_ctrl_query() lockingLaurent Pinchart
Take the ctrl_mutex mutex before touching control information in those functions. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Fix bogus XU controls informationLaurent Pinchart
XU control information is supposed to be entirely discoverable using standard UVC queries. As some devices report bogus information (such as reporting a read-only control as being read-write), add a fixup table for XU controls. This table can also be used to selectively disable requests supposed to be supported by all XU controls (GET_MIN, GET_MAX, GET_DEF, GET_RES) but not correctly (or at all) supported by the device. The table currently disables GET_CUR on the Logitech motor control XU pan/tilt controls. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Delay initialization of XU controlsLaurent Pinchart
XU controls initialization requires querying the device for control information. As some buggy UVC devices will crash when queried repeatedly in a tight loop, delay XU controls initialization until first use. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Embed uvc_control_info inside struct uvc_controlLaurent Pinchart
Now that control information structures are not shared between control instances, embed a uvc_control_info instance inside the uvc_control structure instead of storing a pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Remove sysadmin requirements for UVCIOC_CTRL_MAPMartin Rubli
This patch removes the sysadmin requirements for UVCIOC_CTRL_MAP (and the stub implementation of UVCIOC_CTRL_ADD). This requirement no longer makes sense with the new XU control access mechanisms since XU controls can be accessed without adding control mappings first. A maximum number (currently 1024) of control mappings per device is enforced to avoid excess memory consumption caused by careless user space applications. Signed-off-by: Martin Rubli <martin_rubli@logitech.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Hardcode the index/selector relationship for XU controlsLaurent Pinchart
Devices advertise XU controls using a bitmask, in which each bit corresponds to a control. The control selector, used to query the control, isn't available in the USB descriptors. All known UVC devices use control selectors equal to the control bit index plus one. Hardcode that relationship in the driver, making the UVCIOC_CTRL_ADD ioctl obsolete. All necessary information about XU controls can be obtained by the driver at enumeration time. The UVCIOC_CTRL_ADD ioctl is still supported for compatibility reasons, but now always returns -EEXIST. Finally, control mappings are now on a per-device basis and no longer global. As this changes the userspace interface, bump the driver version number to 1.0.0 (it was about time). Signed-off-by: Martin Rubli <martin_rubli@logitech.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Generate discontinuous sequence numbers when frames are lostLaurent Pinchart
Increase the sequence number of the v4l2_buffer structure regardless of any buffer states, so that discontinuous sequence numbers allow applications to detect lost video frames. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Set bandwidth to at least 1024 with the FIX_BANDWIDTH quirkLaurent Pinchart
The bandwidth estimate computed with the FIX_BANDIWDTH quirk is too low for many cameras. Don't use maximum packet sizes lower than 1024 bytes to try and work around the problem. According to measurements done on two different camera models, the value is high enough to get most resolutions working while not preventing two simultaneous VGA streams at 15 fps. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Update e-mail address and copyright noticesLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Print query name in uvc_query_ctrl()Laurent Pinchart
Instead of printing the query hex value in error messages, print its name to make the messages more readable. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Constify the uvc_entity_match_guid argumentsLaurent Pinchart
They're not modified by the function, make them const. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] uvcvideo: Blacklist more controls for Hercules Dualpix ExchangeLaurent Pinchart
The Hercules Dualpix Exchange (06f8:3005) camera expose an absolute zoom that is not implemented. Blacklist it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] radio-mr800: fix locking orderHans Verkuil
Don't hold the lock before unregistering the device, since when the device is unregistered the datastruct containing the lock may be freed (if the refcount went to 0). Also fixed the framework documentation that erroneously suggested the wrong locking order as well. Reported-by: David Ellingsworth <david@identd.dyndns.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Acked-by: David Ellingsworth <david@identd.dyndns.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9015: move remote controllers to new RC coreAntti Palosaari
Use new RC core instead of old legacy RC implementation. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] fix A-Link DTU(m) remote controller PIP buttonAntti Palosaari
Button is PIP => KEY_NEW http://www.linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] fix TerraTec remote controller PIP buttonAntti Palosaari
Button is PIP => KEY_NEW http://www.linuxtv.org/wiki/index.php/Remote_Controllers Thanks to Cart. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] fix MSI DIGIVOX mini III remote controller power buttonsAntti Palosaari
Fix power button mappings as defined in http://www.linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] Total Media In Hand remote controllerAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] rename rc-msi-digivox.c -> rc-msi-digivox-iii.cAntti Palosaari
Rename remote controller driver I added earlier. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] MSI DIGIVOX mini II remote controllerAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] A-Link DTU(m) remote controllerAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] TwinHan AzureWave AD-TU700(704J) remote controllerAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] LeadTek Y04G0051 remote controller keytableAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] AverMedia RM-KS remote controller keytableAntti Palosaari
Imported from af9015.h. Initial keytable was from Jose Alberto Reguero <jareguero@telefonica.net> and Felipe Morales Moreno <felipe.morales.moreno@gmail.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] Digittrade DVB-T USB Stick remote controller keytableAntti Palosaari
Digittrade DVB-T USB Stick remote controller. Imported from af9015.h. Initial keytable was from Alain Kalker <miki@dds.nl> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] TrekStor DVB-T USB Stick remote controllerAntti Palosaari
Imported from af9015.h. Initial keytable was from Marc Schneider <macke@macke.org> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] MSI DIGIVOX mini III remote controller keytableAntti Palosaari
MSI DIGIVOX mini III remote controller. Uses NEC extended 0x61d6. This remote seems to be same as rc-kworld-315u.c. Anyhow, add new remote since rc-kworld-315u.c lacks NEC extended address byte. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] TerraTec remote controller keytableAntti Palosaari
TerraTec slim remote, 7 rows, 4 columns. Uses NEC extended 0x02bd. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9015: remove needless variable setAntti Palosaari
Variable is don't care in that case. No need to set value. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9015: make checkpatch.pl happyAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] v4l/dvb: add support for AVerMedia AVerTV Red HD+ (A850T)Yann E. MORIN
The AVerTV Red HD+ (A850T) is basically the same as the existing AVerTV Volar Black HD (A850), but is specific to the french market. The A850T identifies itself as a A850, but has its own PID. It even suffers from the same EEPROM deficiencies. This is based off a collection of information gathered from the french support forums for Ubuntu, which I tried to properly format into this patch: http://forum.ubuntu-fr.org/viewtopic.php?pid=3322825 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9013: cache some reg values to reduce reg readsAntti Palosaari
Demod + tuner specific RF AGC and IF AGC limit values are read from demod memory in every signal strength query. Cache those to reduce I2C traffic. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] af9013: optimize code sizeAntti Palosaari
Precalculate coefficients register values. This reduces text size around 300 bytes. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] V4L-DVB: tm6000: Move VBI init to a separate functionMauro Carvalho Chehab
While here, documment that VBI may need changes, based on video STD, and do some cleanup at device init, to be sure that VBI init will happen all the times, and to remove a duplicated video standard call. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] tm6000: Improve audio standards handling and add SECAM-DKDmitry Belimov
Rework audio. Add SECAM-DK, move SECAM to SECAM-B | SECAM-G. Add some new audio standards and tricks for future, see tm6000_set_audio_std. For SECAM-DK it works. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] tm6000: add audio standards tableMauro Carvalho Chehab
The better is to remove the audio init from tm6000-core and add a separate per-standard set of tables. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] em28xx-audio: fix some locking issuesMauro Carvalho Chehab
Those locking issues affect tvtime, causing a kernel oops/panic, due to a race condition. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: use core-assisted lockMauro Carvalho Chehab
Instead of doing its own lock, use core-assisted one. As a bonus, it will do the proper unlock during queue wait events. This fixes a long-standing bug where softwares like tvtime would hang if you try to use cx231xx-alsa. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Colibri carrier offset was wrong for PAL/MMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: remove some unused functionsMauro Carvalho Chehab
This file came originally from cx23885 driver. Some functions aren't used. Now that they are declared as static, we have those errors: drivers/media/video/cx231xx/cx231xx-417.c:615: warning: ‘mc417_gpio_set’ defined but not used drivers/media/video/cx231xx/cx231xx-417.c:625: warning: ‘mc417_gpio_clear’ defined but not used drivers/media/video/cx231xx/cx231xx-417.c:635: warning: ‘mc417_gpio_enable’ defined but not used As they're not used, just remove them. If needed, they can be restored from the git logs or from the cx23885 driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: declare static functions as suchMauro Carvalho Chehab
drivers/media/video/cx23885/built-in.o: In function `mc417_memory_write': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:482: multiple definition of `mc417_memory_write' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:477: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_gpio_set': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:636: multiple definition of `mc417_gpio_set' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:615: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_gpio_enable': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:656: multiple definition of `mc417_gpio_enable' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:635: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_memory_read': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:546: multiple definition of `mc417_memory_read' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:541: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_gpio_clear': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:646: multiple definition of `mc417_gpio_clear' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:625: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_register_read': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:388: multiple definition of `mc417_register_read' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:401: first defined here drivers/media/video/cx23885/built-in.o: In function `mc417_register_write': /home/v4l/v4l/patchwork/drivers/media/video/cx23885/cx23885-417.c:324: multiple definition of `mc417_register_write' drivers/media/video/cx231xx/built-in.o:/home/v4l/v4l/patchwork/drivers/media/video/cx231xx/cx231xx-417.c:343: first defined here Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx-417: Fix a gcc warningMauro Carvalho Chehab
gcc didn't like to have i++ inside a complex operation: drivers/media/video/cx231xx/cx231xx-417.c: In function ‘cx231xx_load_firmware’: drivers/media/video/cx231xx/cx231xx-417.c:1059: warning: operation on ‘i’ may be undefined drivers/media/video/cx231xx/cx231xx-417.c:1061: warning: operation on ‘i’ may be undefined drivers/media/video/cx231xx/cx231xx-417.c:1063: warning: operation on ‘i’ may be undefined Btw, I agree with gcc, as we're using i and i++ at the same operation and, depending on how optimization may occur, it may produce a wrong code. While here, fix CodingStyle issues on the changed code. Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] CodingStyle cleanup at s5h1432 and cx231xxMauro Carvalho Chehab
The patches received from the vendor contained a lot of CodingStyle issues. Cleans the style issues reported by checkpatch.pl on those drivers. It is better to do such style fixes when merging a big set of changes than latter. Of course, the better is to receive patches already cleaned ;) Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx-audio: fix some locking issuesMauro Carvalho Chehab
Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] tda18271: allow restricting max out to 4 bytesMauro Carvalho Chehab
By default, tda18271 tries to optimize I2C bus by updating all registers at the same time. Unfortunately, some devices doesn't support it. The current logic has a problem when small_i2c is equal to 8, since there are some transfers using 11 + 1 bytes. Fix the problem by enforcing the max size at the right place, and allows reducing it to max = 3 + 1. Acked-by: Michael Krufky <mkrufky@kernellabs.com> Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: Only change gpio direction when neededMauro Carvalho Chehab
Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] cx231xx: better handle the master port enable commandMauro Carvalho Chehab
Improves the logic, for it to be clearer and to avoid having board-dependent config there. Acked-by: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>