summaryrefslogtreecommitdiffstats
path: root/drivers/media
Commit message (Collapse)AuthorAgeFilesLines
* V4L/DVB (12749): em28xx: remove unneeded code that set VINCTRL registerDevin Heitmueller2009-09-181-3/+0
| | | | | | | | | | | Remove redundant call to set the vinctrl register. This eliminates any ambiguity as to how the register is configured (since it is now always set in em28xx_set_outfmt). This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12748): em28xx: implement g_std v4l callDevin Heitmueller2009-09-181-3/+18
| | | | | | | | | | | | | | | We need to implement the g_std call, or else the default norm always gets returned, which breaks VBI capturing if you had changed the standard to NTSC using s_std. I had temporarily changed the default norm to NTSC so that zvbi-ntsc-cc wouldn't choke, so now that we are returning the correct value, switch it back to PAL as the default. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12747): em28xx: only advertise VBI capability if supportedDevin Heitmueller2009-09-181-1/+3
| | | | | | | | | | Change the code so we only claim to support VBI if the underlying chipset actually has the support. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12746): em28xx: do not create /dev/vbiX device if VBI not supportedDevin Heitmueller2009-09-182-10/+17
| | | | | | | | | | Do not create the VBI device in cases where VBI is not supported on the target em28xx chip. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12745): em28xx: remove unreferenced variableDevin Heitmueller2009-09-181-1/+0
| | | | | | | Remove an unreferenced variable introduced during the VBI introduction. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12744): em28xx: restructure fh/dev locking to handle both video and vbiDevin Heitmueller2009-09-182-90/+102
| | | | | | | | | | | The current locking infrastructure didn't support having multiple fds accessing the device (such as video and vbi). Rework the locking infrastructure, borrowing the design from cx88. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12743): em28xx: fix mmap_mapper with vbiDevin Heitmueller2009-09-181-1/+4
| | | | | | | | When adding support for both video and VBI, I missed the mmap ioctl. Add the missing call. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12742): em28xx: add raw VBI support for NTSCDevin Heitmueller2009-09-186-27/+430
| | | | | | | | | | | | | | | Add support for raw VBI capture for the em28xx bridge, currently only for NTSC. Support for PAL capture to follow shortly (including the removal of numerous hard-coded NTSC-specific sizes for capture buffers, etc). Note that the code currently changes the default current norm from PAL to NTSC (so that zvbi-ntsc-cc works properly). The default norm really should be moved into a board-level parameter. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12741): em28xx: make video isoc stream work when VBI is enabledDevin Heitmueller2009-09-184-9/+173
| | | | | | | | | | | | | | | | | | | | | Add code enabling the VBI registers for variants of the em28xx chip that support VBI, and make sure the isoc streaming code continues to work for the video component of the stream (note the video and vbi data arrive intermixed on the same isoc pipe). Note that this version just drops the actual VBI data onto the floor as opposed to processing it. The "#ifdef 0" tags are for the videobuf code that appears in the next patch in this series. We created a separate version of the isoc_copy version for parsing the version of the stream that includes VBI data. In theory, they might be able to be merged at some point in the future, but the initial goal is to ensure that we do not cause any regressions with devices that do not have VBI support. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12740): em28xx: better describe vinctrl registersDevin Heitmueller2009-09-182-1/+14
| | | | | | | | Properly document the video input control register, in preparation for the addition of VBI support. Note this patch makes no functional changes. Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* Merge branch 'master' of ↵Paul Mundt2009-09-16185-8662/+16639
|\ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sh/kernel/vmlinux.lds.S
| * Merge branch 'for_linus' of ↵Linus Torvalds2009-09-15184-8661/+16638
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (213 commits) V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2 V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent object V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a persistent object V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111 V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 sensors. V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968 V4L/DVB (12703): gspca - sn9c20x: Reduces size of object V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensors V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e. V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r. V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor hv7131r. V4L/DVB (12693): gspca - sunplus: The brightness is signed. V4L/DVB (12692): gspca - sunplus: Optimize code. V4L/DVB (12691): gspca - sonixj: Don't use mdelay(). V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added. V4L/DVB (12686): dvb-core: check supported QAM modulations V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value ...
| | * V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2Douglas Schilling Landgraf2009-09-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Added Kworld DVD Maker 2 Thanks to C Western <l@c-m-w.me.uk> for reporting this board. Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12713): em28xx: Cleanups at ir_i2c handlerMauro Carvalho Chehab2009-09-121-16/+4
| | | | | | | | | | | | | | | | | | | | | There are some extra parenthesis at the clauses, and some switch() tests for boards that don't have i2c ir. Remove those extra code. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when neededMauro Carvalho Chehab2009-09-122-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the logic to load ir i2c ancillary module is broken. It is associated to Hauppauge devices with IR flag on their eeprom, no matter if the device uses i2c or em28xx direct IR support. That's wrong. Instead, add a flag to the boards that use i2c IR chips and load the module only for those devices and if ir is not disabled. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent objectMauro Carvalho Chehab2009-09-122-31/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers, Dustin Mitchell, Andy Walls and Jean Delvare to rise this question. Before this patch, if ir-kbd-i2c were probed after SAA7134, trash data were used. Compile tested only, but the patch is identical to em28xx one. So, it should work properly. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a ↵Andy Walls2009-09-121-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | persistent object ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers for pointing out a solution, and Dustin Mitchell for testing against a 2.6.30 kernel. Reported-by: Dustin Mitchell <soxslayer@gmail.com> Reported-by: Brian Rogers <brian@xyzw.org> Tested-by: Dustin Mitchell <soxslayer@gmail.com> Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent objectMauro Carvalho Chehab2009-09-122-17/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers, Dustin Mitchell, Andy Walls and Jean Delvare to rise this question. Before this patch, if ir-kbd-i2c were probed after em28xx, trash data were used. After the patch, no matter what order, it is properly reported as tested by me: input: i2c IR (i2c IR (EM2840 Hauppaug as /class/input/input10 ir-kbd-i2c: i2c IR (i2c IR (EM2840 Hauppaug detected at i2c-4/4-0030/ir0 [em28xx #0] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111Brian Johnson2009-09-121-2/+14
| | | | | | | | | | | | | | | Signed-off-by: Brian Johnson <brijohn@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 ↵Brian Johnson2009-09-121-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | sensors. Using the MT9M111's IFP to handle exposure/gain gives better results. Signed-off-by: Brian Johnson <brijohn@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968Brian Johnson2009-09-121-0/+20
| | | | | | | | | | | | | | | Signed-off-by: Brian Johnson <brijohn@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12703): gspca - sn9c20x: Reduces size of objectJoe Perches2009-09-121-45/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use s16 instead of int where possible. Use struct instead of arrays Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Brian Johnson <brijohn@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensorsBrian Johnson2009-09-121-11/+42
| | | | | | | | | | | | | | | | | | | | | | | | Fixes broken exposure on SOI968 webcams that was causing the camera to display a black screen Signed-off-by: Brian Johnson <brijohn@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and ↵Jean-Francois Moine2009-09-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 0c45:613e. Let 0c45:60fc in sn9c102 and 0c45:613e in gspca-sonixj (sensor not supported). Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r.Jean-Francois Moine2009-09-121-11/+12
| | | | | | | | | | | | | | | Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor ↵Jean-Francois Moine2009-09-121-79/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hv7131r. The new exchanges are taken from the information file of the ms-win driver (usbvm326.inf - webcam 15b8:6002). Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12693): gspca - sunplus: The brightness is signed.Jean-Francois Moine2009-09-121-3/+3
| | | | | | | | | | | | | | | Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12692): gspca - sunplus: Optimize code.Jean-Francois Moine2009-09-121-207/+165
| | | | | | | | | | | | | | | Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12691): gspca - sonixj: Don't use mdelay().Jean-Francois Moine2009-09-121-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added.Stephane Marguet (Stemp)2009-09-121-0/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Stephane Marguet (Stemp) <smarguet@gmail.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12686): dvb-core: check supported QAM modulationsJanne Grunau2009-09-121-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Check the modulation in dvb_frontend_check_parameters against frontend's capabilties for FE_QAM devices. Signed-off-by: Janne Grunau <j@jannau.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return valueJanne Grunau2009-09-121-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various frontend driver have parameter checks in their set_frontend functions and return an error if the parameters are not supported, tda10021 and cx24116 to name two. The tuning ioctls FE_SET_FRONTEND/FE_SET_PROPERTY only change values in the property cache and return before set_frontend is called. If a set_frontend call in software zigzag algorithm fails and the card was previously locked it will report a lock and the new parameters but is still tuned to the old transport. This is not detectable from userspace. This change checks the return values of fe->ops.set_frontend and changes the state to the added FESTATE_ERROR for software zigzag. No lock will be reported to userspace if the State is FESTATE_ERROR. Signed-off-by: Janne Grunau <j@jannau.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12684): DVB: make DVB_MAX_ADAPTERS configurableJanne Grunau2009-09-122-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for more than 8 DVB devices is requested regularly so make it a kconfig variable instead of a header define. Values in the range 4-32 are tested. Signed-off-by: Janne Grunau <j@jannau.net> Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12627): gspca_mr97310a: Add one more vivitar mini cam to the list ↵Hans de Goede2009-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | of CIF cams gspca_mr97310a: Add one more vivitar mini cam to the list of CIF cams Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12626): gspca_mr97310a: Allow overriding of detected sensor typeHans de Goede2009-09-121-0/+17
| | | | | | | | | | | | | | | | | | | | | gspca_mr97310a: Allow overriding of detected sensor type Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12624): gspca_mr97310a: Use correct register for CIF type 1 sensor ↵Hans de Goede2009-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | gain settings gspca_mr97310a: Use correct register for CIF type 1 sensor gain settings Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12623): gspca_mr97310a: Add controls for CIF type 0 sensor camsHans de Goede2009-09-121-9/+47
| | | | | | | | | | | | | | | | | | | | | gspca_mr97310a: Add controls for CIF type 0 sensor cams Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12622): gspca_mr97310a: make the probing a bit less chattyHans de Goede2009-09-121-14/+8
| | | | | | | | | | | | | | | | | | | | | gspca_mr97310a: make the probing a bit less chatty Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12621): gspca_mr97310a: Move detection of CIF sensor type to ↵Hans de Goede2009-09-121-25/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | probe() function gspca_mr97310a: Move detection of CIF sensor type to probe() function, so that the right controls are set to disabled from the start, rather then having them disappear all of a sudden when the stream is started. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12620): gspca_mr97310a: cleanup/fixup control handlingHans de Goede2009-09-121-53/+45
| | | | | | | | | | | | | | | | | | | | | gspca_mr97310a: cleanup/fixup control handling Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12619): gspca: mr97310a fix detection of sensortype for vivicam ↵Hans de Goede2009-09-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | with id byte of 0x53 gspca: mr97310a fix detection of sensortype for vivicam with id byte of 0x53 Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12618): gspca: mr97310a add support for CIF and more VGA camera'sTheodore Kilgore2009-09-121-115/+682
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds supports for mr97310a camera's with CIF sensors (2 different types) and for VGA mr97310a camera with a different sensor then supported until now. This patch also add support for controls for one of the 2 CIF sensors, this was written by Thomas Kaiser <thomas@kaiser-linux.li> Signed-off-by: Theodore Kilgore <kilgota@auburn.edu> Signed-off-by: Thomas Kaiser <thomas@kaiser-linux.li> Signed-off-by: Hans de Goede <hdgoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12617): gspca_pac207: enable higher framerates / lower exposure ↵Hans de Goede2009-09-121-18/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | settings Now that we've figured out the higher compression settings (supported in libv4l-0.6.0 and later, so after this patch the driver should be used with libv4l-0.6.0 or higher only!), we can enable higher framerates. Which means lower exposure times, which is important for the use of the pac207 in full daylight. This patch also tweakes the brightness default and the per color gain balances to use the values which are adviced by Pixart in the pac207 application note. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12616): gspca_pac207: remove a number of unneeded (repeated) ↵Hans de Goede2009-09-121-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | register writes gspca_pac207: remove a number of unneeded (repeated) register writes Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12613): cx25840: fix determining the firmware nameHans Verkuil2009-09-121-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the model there are three different firmwares to choose from. Unfortunately if a cx23885 is loaded first, then the global firmware name is overwritten with that firmware and if ivtv is loaded next, then it tries to load the wrong firmware. In addition, the original approach would also overwrite any firmware that the user specified explicitly. Cc: Jarod Wilson <jarod@wilsonet.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12612): si4713: simplify the code to remove a compiler warning.Hans Verkuil2009-09-121-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The compiler warned about an uninitialized stereo variable. By simplifying the code it 1) improved readability and 2) fixed the compiler warning. Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12600): dvb-usb-remote: return KEY_RESERVED if there's free space ↵Mauro Carvalho Chehab2009-09-121-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for new keys The input subsystem checks if get_keycode works for a scan code. Due to that, we need to return a valid value when there's some space at the table that can be used by a scancode. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12599): dvb-usb-remote: Allow dynamically replacing the IR keycodesMauro Carvalho Chehab2009-09-121-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements handler for EVIOCGKEYCODE/EVIOCSKEYCODE via adding two new callbacks to the input device. Since on dvb-usb a scan code has 16 bits, to fulfill rc5 standard codes, the default getkeycode/setkeycode input methods would require the driver to spend up to 64 Kb of a sparse table. Instead, add two new callbacks to the event device. With this, it is now possible to replace the keycode tables. There are, however, a few implementation details at the current patch: 1) It will replace the existing device keytable, instead of creating an instance of the data. This works. However, if two devices pointing to the same table were connected, changing the IR table of one will also change the IR table for the other (the solution for this one is simple: just kmalloc some memory); 2) In order to change the scan code, you need first to change the key to KEY_RESERVED or KEY_UNKNOWN to free some space at the table (solution: allocate some additional space for newer scan codes or allow dynamic table grow); 3) The table size cannot be extended. It would be easy to allow the table to grow dynamically: just calling kmalloc(size+1); kfree(old). Yet, maybe we can just create a bigger table with a fixed size, like for example a table with 128 entries. This should be enough even for a very big IR. The current issues should be addressed on a later patch. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12598): dvb-usb: store rc5 custom and data at the same fieldMauro Carvalho Chehab2009-09-1219-1169/+1186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to be closer to V4L IR implementation, it is needed to replace u8 custom, data to: u16 scan This allows using non-rc5 mappings, like the 8 bit keycodes used on older protocols. It will also allow future implementations of rc6 keystrokes when needed. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| | * V4L/DVB (12595): common/ir: use a struct for keycode tablesMauro Carvalho Chehab2009-09-1212-2508/+2796
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, V4L uses a scancode table whose index is the scancode and the value is the keycode. While this works, it has some drawbacks: 1) It requires that the scancode to be at the range 00-7f; 2) keycodes should be masked on 7 bits in order for it to work; 3) due to the 7 bits approach, sometimes it is not possible to replace the default keyboard to another one with a different encoding rule; 4) it is different than what is done with dvb-usb approach; 5) it requires a typedef for it to work. This is not a recommended Linux CodingStyle. This patch is part of a larger series of IR changes. It basically replaces the IR_KEYTAB_TYPE tables by a structured table: struct ir_scancode { u16 scancode; u32 keycode; }; This is very close to what dvb does. So, a further integration with DVB code will be easy. While we've changed the tables, for now, the IR keycode handling is still based on the old approach. The only notable effect is the redution of about 35% of the ir-common module size: text data bss dec hex filename 6721 29208 4 35933 8c5d old/ir-common.ko 5756 18040 4 23800 5cf8 new/ir-common.ko In thesis, we could be using above u8 for scancode, reducing even more the size of the module, but defining it as u16 is more convenient, since, on dvb, each scancode has up to 16 bits, and we currently have a few troubles with rc5, as their scancodes are defined with more than 8 bits. This patch itself shouldn't be doing any functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
OpenPOWER on IntegriCloud