aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-22[media] lirc_zilog: error out if buffer read bytes != chunk sizeJarod Wilson1-1/+7
Give it a few tries, then exit. Prevents a possible endless loop situation. Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc: silence some compile warningsJarod Wilson2-2/+2
Both lirc_imon and lirc_sasem were causing gcc to complain about the possible use of uninitialized variables. Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] hdpvr: use same polling interval as other OSJarod Wilson1-1/+2
The hdpvr's IR part, in short, sucks. As observed with a usb traffic sniffer, the Windows software for it uses a polling interval of 405ms. Its still not behaving as well as I'd like even with this change, but this inches us closer and closer to that point... Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] ir-kbd-i2c: pass device code w/key in hauppauge caseJarod Wilson1-1/+1
The new hauppauge key tables use both device code button code. Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] rc/keymaps: Remove the obsolete rc-rc5-tv keymapMauro Carvalho Chehab4-98/+3
This keymap were used for the Hauppauge Black remote controller only. It also contains some keycodes not found there. As the Hauppauge Black is now part of the hauppauge keymap, just remove it. Also, remove the modprobe hacks to select between the Gray and the Black versions of the remote controller as: - Both are supported by default by the keymap; - If the user just wants one keyboard supported, it is just a matter of changing the keymap via the userspace tool (ir-keytable), removing the keys that he doesn't desire. As ir-keytable auto-loads the keys via udev, this is better than obscure modprobe parameters. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] remove the old RC_MAP_HAUPPAUGE_NEW RC mapMauro Carvalho Chehab11-117/+25
The rc-hauppauge-new map is a messy thing, as it bundles 3 different remote controllers as if they were just one, discarding the address byte. Also, some key maps are wrong. With the conversion to the new rc-core, it is likely that most of the devices won't be working properly, as the i2c driver and the raw decoders are now providing 16 bits for the remote, instead of just 8. delete mode 100644 drivers/media/rc/keymaps/rc-hauppauge-new.c Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc/keymaps: Rename Hauppauge table as rc-hauppaugeMauro Carvalho Chehab7-11/+17
There are two "hauppauge-new" keymaps, one with protocol unknown, and the other with the protocol marked accordingly. However, both tables are miss-named. Also, the old rc-hauppauge-new is broken, as it mixes three different controllers as if they were just one. This patch solves half of the problem by renaming the correct keycode table as just rc-hauppauge. This table contains the codes for the four different types of remote controllers found on Hauppauge cards, properly mapped with their different addresses. create mode 100644 drivers/media/rc/keymaps/rc-hauppauge.c delete mode 100644 drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c [Jarod: fix up RC_MAP_HAUPPAUGE defines] Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc-rc5-hauppauge-new: Fix Hauppauge Grey mappingMauro Carvalho Chehab1-41/+47
The keys for the old black were messed with the ones for the hauppauge grey. Fix it. Also, fixes some keycodes and order the keys according with the way they appear inside the remote controller. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc-rc5-hauppauge-new: Add support for the old Black RCMauro Carvalho Chehab1-1/+35
Hans borrowed me an old Black Hauppauge RC. Thanks to that, we can fix the RC5 table for Hauppauge. Thanks-to: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc-rc5-hauppauge-new: Add the old control to the tableMauro Carvalho Chehab1-1/+55
Adds the old grey remote controller to Hauppauge table. Hans borrowed me an old gray Hauppauge RC. Thanks to that, we can fix the RC5 table for Hauppauge. Thanks-to: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc-winfast: Fix the keycode tablesMauro Carvalho Chehab1-11/+11
One of the remotes has a picture available at: http://lirc.sourceforge.net/remotes/leadtek/Y04G0004.jpg As there's one variant with a set direction keys plus vol/chann keys, and the same table is used for both models, change it to represent all keys, avoiding the usage of weird function keys. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] a800: Fix a few wrong IR key assignmentsMauro Carvalho Chehab1-4/+4
Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] opera1: Use multimedia keys instead of an app-specific mappingMauro Carvalho Chehab1-17/+16
This driver uses an app-specific keymap for one of the tables. This is wrong. Instead, use the standard keycodes. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] dw2102: Use multimedia keys instead of an app-specific mappingMauro Carvalho Chehab1-20/+20
This driver uses an app-specific keymap for one of the tables. This is wrong. Instead, use the standard keycodes. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc/keymaps: Use KEY_LEFTMETA were pertinentMauro Carvalho Chehab4-4/+4
Using xev and testing the "Windows" key on a normal keyboard, it is mapped as KEY_LEFTMETA. So, as this is the standard code for it, use it, instead of a generic, meaningless KEY_PROG1. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc/keymaps: Fix most KEY_PROG[n] keycodesMauro Carvalho Chehab4-6/+6
Those KEY_PROG[n] keys were used on places where the developer didn't know for sure what key should be used. On several cases, using KEY_RED, KEY_GREEN, KEY_YELLOW would be enough. On others, there are specific keys for that already. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc/keymaps: Use KEY_VIDEO for Video SourceMauro Carvalho Chehab17-22/+22
Each keyboard map were using a different definition for the Source/Video Source key. Behold Columbus were the only one using KEY_PROPS. As we want to standardize those keys at X11 and at userspace applications, we need to use just one code for it. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] rc/keymaps: use KEY_CAMERA for snapshotsMauro Carvalho Chehab8-8/+9
On a few places, KEY_MHP were used for snapshots. However, KEY_CAMERA is used for it on all the other keyboards that have a snapshot/Picture button. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jarod Wilson <[email protected]>
2011-03-22[media] lirc_zilog: Update TODO list based on work completed and revised plansAndy Walls1-26/+25
Update the TODO.lirc_zilog based on what has been completed. Also revised the development plan for lirc_zilog to not try and split Tx/Rx for one IR transceiver unit between lirc_zilog and ir-kbd-i2c, since that would be a ref-counting nightmare. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Fix somewhat confusing information messages in ir_probe()Andy Walls1-1/+3
The total sequence of messages emitted by the ir_porbe() calls for a transceiver's two i2c_clients was confusing. Clean it up a bit. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Add locking of the i2c_clients when in useAndy Walls1-4/+37
Lock the i2c_client pointers and prevent i2c_client removal when lirc_zilog is perfoming a series of operations that require valid i2c_client pointers. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Add ref counting of struct IR, IR_tx, and IR_rxAndy Walls1-204/+380
This is a major change to add pointer reference counting for struct IR, struct IR_tx, and struct IR_rx object instances. This ref counting gets lirc_zilog closer to gracefully handling bridge drivers and hot-unplugged USB devices disappearing out from under lirc_zilog when the /dev/lircN node is still open. (mutexes to protect the i2c_client pointers in struct IR_tx and struct IR_rx still need to be added.) This reference counting also helps lirc_zilog clean up properly when the i2c_clients disappear. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Move constants from ir_probe() into the lirc_driver templateAndy Walls1-12/+15
ir_probe() makes a number of constant assignments into the lirc_driver object after copying in a template. Make better use of the template. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Always allocate a Rx lirc_buffer objectAndy Walls1-31/+31
Always allocate a lirc_buffer object, instead of just upon setup of the Rx i2c_client. If we do not allocate a lirc_buffer object, because we are not handling the Rx i2c_client, lirc_dev will allocate its own lirc_buffer anyway and not tell us about its location. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Remove unneeded rx->buf_lockAndy Walls1-14/+9
Remove the rx->buf_lock that protected the rx->buf lirc_buffer. The underlying operations on the objects within the lirc_buffer are already protected by spinlocks, or the objects are constant (e.g. chunk_size). Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Don't acquire the rx->buf_lock in the poll() functionAndy Walls1-7/+14
There is no need to take the rx->buf_lock in the the poll() function as all the underling calls made on objects in the rx->buf lirc_buffer object are protected by spinlocks. Corrected a bad error return value in poll(): return POLLERR instead of -ENODEV. Added some comments to poll() for when, in the future, I forget what poll() and poll_wait() are supposed to do. [Jarod: minor debug spew fix] Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Use kernel standard methods for marking device non-seekableAndy Walls1-7/+2
lirc_zilog had its own llseek stub that returned -ESPIPE. Get rid of it and use the kernel's no_llseek() and nonseekable_open() functions instead. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Convert the instance open count to an atomic_tAndy Walls1-10/+5
The open count is simply used for deciding if the Rx polling thread needs to poll the IR chip for userspace. Simplify the manipulation of the open count by using an atomic_t and not requiring a lock The polling thread errantly didn't try to take the lock anyway. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Convert ir_device instance array to a linked listAndy Walls1-28/+31
Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Remove broken, ineffective reference countingAndy Walls1-31/+1
The set_use_inc() and set_use_dec() functions tried to lock the underlying bridge driver device instance in memory by changing the use count on the device's i2c_clients. This worked for PCI devices (ivtv, cx18, bttv). It doesn't work for hot-pluggable usb devices (pvrusb2 and hdpvr). With usb device instances, the driver may get locked into memory, but the unplugged hardware is gone. The set_use_inc() set_use_dec() functions also tried to have lirc_zilog change its own module refernce count, which is racy and not guaranteed to work. The lirc_dev module does actually perform proper module ref count manipulation on the lirc_zilog module, so there is need for lirc_zilog to attempt a buggy module get on itself anyway. lirc_zilog also errantly called these functions on itself in open() and close(), but lirc_dev did that already too. So let's just gut the bodies of the set_use_*() functions, and remove the extra calls to them from within lirc_zilog. Proper reference counting of the struct IR, IR_rx, and IR_tx objects -- to handle the case when the underlying bttv, ivtv, cx18, hdpvr, or pvrusb2 bridge driver module or device instance goes away -- will be added in subsequent patches. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc_zilog: Restore checks for existence of the IR_tx objectAndy Walls1-7/+20
This reverts commit 8090232a237ab62e22307fc060097da1a283dd66 and adds an additional check for ir->tx == NULL. The user may need us to handle an RX only unit. Apparently there are TV capture units in existence with Rx only wiring and/or RX only firmware for the on-board Zilog Z8 IR unit. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] hdpvr: i2c master enhancementsJarod Wilson1-17/+50
Make the hdpvr's i2c master implementation more closely mirror that of the pvrusb2 driver. Currently makes no significant difference in IR reception behavior with ir-kbd-i2c (i.e., it still sucks). Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] imon: add more panel scancode mappingsJarod Wilson1-1/+10
Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] docs: fix typo in lirc_device_interface.xmlJarod Wilson1-1/+1
Reported-by: Daniel Burr <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] tm6000: fix s-video inputDmitri Belimov4-24/+43
Add compatibility for composite and s-video inputs. Some TV cards hasn't it. Fix S-Video input, the s-video cable has only video signals no audio. Call the function of audio configure kill chroma in signal. only b/w video. Known bugs: - after s-video the audio for radio didn't work, TV crashed hardly - after composite TV crashed hardly too. P.S. After this patch I'll want to rework the procedure of configure video. Now it has a lot of junk and dubles. With my best regards, Dmitry. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] lirc: remove staging lirc_it87 and lirc_ite8709 driversJuan J. Garcia de Soria5-1699/+0
Remove older drivers lirc_it87 and lirc_ite8709 from the LIRC staging area, since they're now superceded by ite-cir. Signed-off-by: Juan J. Garcia de Soria <[email protected]> Tested-by: Stephan Raue <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] ite-cir: Fix some CodingStyle issuesMauro Carvalho Chehab2-24/+29
Cc: Juan J. Garcia de Soria <[email protected]> Cc: Stephan Raue <[email protected]> Cc: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] rc: New rc-based ite-cir driver for several ITE CIRsJuan J. Garcia de Soria4-0/+2226
This is a second version of an rc-core based driver for the ITE Tech IT8712F CIR and now for a pair of other variants of the IT8512 CIR too. This driver should replace the lirc_it87 and lirc_ite8709 currently living in the LIRC staging directory. The driver should support the ITE8704, ITE8713, ITE8708 and ITE8709 (this last one yet untested) PNP ID's. The code doesn'te reuse code from the pre-existing LIRC drivers, but has been written from scratch using the nuvoton.cir driver as a skeleton. This new driver shouldn't exhibit timing problems when running under load (or with interrupts disabled for relatively long times). It works OOTB with the RC6 MCE remote bundled with the ASUS EEEBox. TX support is implemented, but I'm unable to test it since my hardware lacks TX capability. Signed-off-by: Juan J. Garcia de Soria <[email protected]> Tested-by: Stephan Raue <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] drivers/media/rc/Kconfig: use tabs, instead of spacesMauro Carvalho Chehab1-11/+11
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] saa7134: Fix strange kconfig dependency on RC_CORESteven Rostedt1-0/+1
As the code in saa7134-input is not a module, but the config for it is set as a boolean instead of a tristate, this causes a strange dependency on RC_CORE. VIDEO_SAA7134_RC (which determines if saa7134-input.o is built) depends on RC_CORE and VIDEO_SAA7134. If VIDEO_SAA7134 is compiled as 'y' but RC_CORE is compiled as 'm' VIDEO_SAA7134_RC can still be set to 'y' which causes undefined symbols that it needs from RC_CORE. The simplest solution is to not allow VIDEO_SAA7134_RC be enabled if RC_CORE compiled as a module (m) and VIDEO_SA7134 is compiled into the kernel (y). Suggested-by: Mauro Carvalho Chehab <[email protected]> Cc: Michal Marek <[email protected]> Cc: linux-kbuild <[email protected]> Signed-off-by: Steven Rostedt <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] STV0288 added full frontend statusMalcolm Priestley1-2/+5
status now returns FE_HAS_CARRIER FE_HAS_SIGNAL FE_HAS_VITERBI Signed-off-by: Malcolm Priestley <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - zc3xx: Add exposure control for sensor hv7131rJean-François Moine1-7/+69
Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - main: Add endpoint direction test in alt_xferPatrice Chotard1-1/+2
This patch fixes a bug in gspca, more precisely in alt_xfer(). This function looks for an input transfer endpoint in an alternate setting. By default it returns the first endpoint corresponding to the transfer type indicated in parameter. But with some USB devices, the first endpoint corresponding to the transfer type is not always an INPUT endpoint but an OUTPUT one. This patch adds the endpoint direction test to be sure to return an INPUT endpoint Signed-off-by: Patrice CHOTARD <[email protected]> Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - nw80x: Fix exposure for some webcamsJean-François Moine1-0/+3
Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - nw80x: Get the sensor ID when bridge et31x110Jean-François Moine1-0/+20
Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - nw80x: Fix some image resolutionsJean-François Moine1-3/+13
No 352x288 for Ds3303 and no 320x240 for Generic802. Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - nw80x: Check the bridge from the webcam typeJean-François Moine1-68/+78
Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - nw80x: Fix the gain, exposure and autogainJean-François Moine1-89/+46
The autogain now uses common functions. Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - nw80x: Do some initialization at probe timeJean-François Moine1-30/+55
Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2011-03-22[media] gspca - nw80x: The webcam dsb-c110 is the same as the twinkleJean-François Moine1-181/+1
Signed-off-by: Jean-François Moine <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>