summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-10-21[media] firedtv: support for PSK8 for S2 devices. To watch HDTommy Jonsson
Add support for tuning with PSK8 modulation, pilot and rolloff with the S2 versions of firedtv. Signed-off-by: Tommy Jonsson <quazzie2@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (trivial simplification) Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] ir: avoid race conditions at device disconnectMauro Carvalho Chehab
It is possible that, while ir_unregister_class() is handling, some application could try to access the sysfs nodes, causing an OOPS. Reviewed-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/streamzap: fix usec to nsec conversionDan Carpenter
There is an integer overflow here because 0x03000000 * 1000 is too large for 31 bits. rawir.duration should be in terms of nsecs. IR_MAX_DURATION and 0x03000000 are already in terms of nsecs. STREAMZAP_TIMEOUT and STREAMZAP_RESOLUTION are 255 and 256 respectively and are in terms of usecs. The original code had a deadline of 1.005 seconds and the new code has a deadline of .065 seconds. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/streamzap: shorten up some define names for readabilityJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] lirc_dev: fixup error messages w/missing newlinesJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] lirc: wire up .compat_ioctl to main ioctl handlerJarod Wilson
As pointed out (and tested) by Joris van Rantwijk, we do actually need to wire up .compat_ioctl for 32-bit lirc userspace to work with 64-bit lirc kernelspace. Do it. And add a check to make sure we get a valid irctl in the ioctl handler. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] staging/lirc: ioctl portability fixupsJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/lirc: further ioctl portability fixupsJarod Wilson
>From Joris van Rantwijk <jorispubl@xs4all.nl>: I tested lirc_serial and found that it works fine. Except the LIRC ioctls do not work in my 64-bit-kernel/32-bit-user setup. I added compat_ioctl entries in the drivers to fix this. While doing so, I noticed inconsistencies in the argument type of the LIRC ioctls. All ioctls are declared in lirc.h as having argument type __u32, however there are a few places where the driver calls get_user/put_user with an unsigned long argument. The patch below changes lirc_dev and lirc_serial to use __u32 for all ioctl arguments, and adds compat_ioctl entries. It should probably also be done in the other low-level drivers, but I don't have hardware to test those. I've dropped the .compat_ioctl addition from Joris' original patch, as I swear the non-compat definition should now work for both 32-bit and 64-bit userspace. Technically, I think we still need/want a in getting a reply to you). Reported-by: Joris van Rantwijk <jorispubl@xs4all.nl> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/Kconfig: sort hardware entries alphabeticallyJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] nuvoton-cir: add proper rx fifo overrun handlingJarod Wilson
Per discussion with Andy Walls on irc, rx fifo overruns are not all that uncommon on a busy system, and the initial posting of the nuvoton-cir driver doesn't handle them well enough. With this addition, we'll drain the hw fifo, attempt to process any ir pulse trains completed with that flush, then we'll issue a hw rx fifo clear and reset the raw ir sample kfifo and start over collecting raw ir data. Also slightly refactors the cir interrupt enabling so that we always get consistent flags set and only have to modify them in one place, should they need to be altered. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR: add driver for Nuvoton w836x7hg integrated CIRJarod Wilson
This is a new ir-core pnp driver for the Nuvoton w836x7hg integrated CIR function. The chip is found on at least the ASRock ION 330HT boxes and apparently, on a number of Intel DP55-series motherboards: http://www.asrock.com/nettop/overview.asp?Model=ION%20330HT http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17685&lang=eng This driver was made possible by a hardware donation from Nuvoton, along with sample code (in the form of an lirc driver) and datasheet, so huge thanks to them for supporting this effort. Note that this driver constitutes a massive rewrite, porting from the lirc interfaces to the ir-core interfaces, and restructuring the driver to look more like Maxim Levitsky's ene_ir driver (as well as generally making it look more like kernel code). There's some work left to be done on this driver, to fully support the range of functionality possible, but receive and IR power-on/wake are both functional (may require setting wake key under another OS atm). The hardware I've got (one of the ASRock boxes) only supports RX, so TX is completely untested as of yet. Certain RX parameters, like sample resolution and RX IRQ sample length trigger level could possibly stand to be made tweakable via modparams or sysfs nodes, but the current values work well enough for me w/an MCE RC6A remote. The original lirc driver carried support for the Windows MCE IR keyboard/mouse device, which I plan to add back generically, in a way that should be usable by any raw IR receiver (or at least by this driver and the mceusb driver). Suspend and resume have also been tested, the power button on my remote can be used to wake the machine, and CIR functionality resumes just fine. Module unload/reload has also been tested, though not extensively or repetitively. Also tested to work with the lirc bridge plugin for userspace decoding. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gspca - sonixj: 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 - 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>