aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/IR/imon.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2010-05-19V4L/DVB: IR/imon: remove dead IMON_KEY_RELEASE_OFFSETJarod Wilson1-6/+6
On Tue, May 04, 2010 at 06:06:41PM +0200, Dan Carpenter wrote: > On Tue, May 04, 2010 at 10:03:18AM -0400, Jarod Wilson wrote: > > @@ -1205,7 +1204,7 @@ static u32 imon_panel_key_lookup(u64 hw_code) > > if (imon_panel_key_table[i].hw_code == (code | 0xffee)) > > break; > > > > - keycode = imon_panel_key_table[i % IMON_KEY_RELEASE_OFFSET].keycode; > > + keycode = imon_panel_key_table[i].keycode; > > > > return keycode; > > } > > There is still potentially a problem here because if we don't hit the > break statement, then we're one past the end of the array. D'oh. Okay, here's v2, should fix that buglet too. This hack was used when the imon driver was using internal key lookup routines, but became dead weight when the driver was converted to use ir-core's key lookup routines. These bits simply didn't get removed, drop 'em now. Pointed out by Dan Carpenter. v2: fix possible attempt to access beyond end of key table array, also pointed out by Dan. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: media/IR/imon: potential double unlock on errorDan Carpenter1-1/+0
If there is an error here we should unlock in the caller (which is imon_init_intf1()). We can remove this stray unlock. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: media/IR/imon: testing the wrong variableDan Carpenter1-1/+1
There is a typo here. We meant to test "ir" instead of "props". The "props" variable was tested earlier. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: media/IR/imon: precendence issue: ! vs ==Dan Carpenter1-1/+1
The original condition is always false because ! has higher precedence than == and neither 0 nor 1 is equal to IMON_DISPLAY_TYPE_VGA. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: IR/imon: add proper auto-repeat supportJarod Wilson1-5/+6
Simplified from version 1, in that hacks heisted from ati_remote2.c aren't actually necessary, the real fix for too many repeats was from setting too long a timer release value (200ms) on repeats in mce mode -- this patch drops the release timeout to 33ms, matching the input subsystem default input_dev->rep[REP_PERIOD]. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: IR/imon: minor change_protocol fixupsJarod Wilson1-11/+9
This is a follow-up to my prior patch implementing ir-core's change_protocol functionality in the imon driver, which eliminates a false warning when change_protocol is called without a specific protocol selected yet (i.e., still IR_TYPE_UNKNOWN). It also removes some extraneous blank lines getting spewn into dmesg. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: IR/imon: convert to ir-core protocol change handlingJarod Wilson1-86/+65
Drop the imon driver's internal protocol definitions in favor of using those provided by ir-core. Should make ir-keytable Just Work for switching protocol on the fly on the imon devices that support both the native imon remotes and mce remotes. The imon-no-pad-stabilize pseudo-protocol was dropped as a protocol, and converted to a separate modprobe option (which it probably should have been in the first place). On the TODO list is to convert this to an as yet unwritten protocol-specific options framework. While the mce remotes obviously map to IR_TYPE_RC6, I've yet to look at what the actual ir signals from the native imon remotes are, so for the moment, imon native ir is mapped to IR_TYPE_OTHER. Nailing it down more accurately is also on the TODO list. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: irmon: Cleanup some warning noiseMauro Carvalho Chehab1-25/+27
Driver is not properly initializing u64 constants on 32 bit systems: drivers/media/IR/imon.c:301: warning: integer constant is too large for ‘long’ type drivers/media/IR/imon.c:302: warning: integer constant is too large for ‘long’ type drivers/media/IR/imon.c:304: warning: integer constant is too large for ‘long’ type drivers/media/IR/imon.c:305: warning: integer constant is too large for ‘long’ type drivers/media/IR/imon.c:308: warning: integer constant is too large for ‘long’ type drivers/media/IR/imon.c:309: warning: integer constant is too large for ‘long’ type drivers/media/IR/imon.c:310: warning: integer constant is too large for ‘long’ type Fix also a few troubles at error printk handling: drivers/media/IR/imon.c: In function ‘imon_init_intf0’: drivers/media/IR/imon.c:1909: warning: ‘ret’ may be used uninitialized in this function drivers/media/IR/imon.c: In function ‘imon_init_intf1’: drivers/media/IR/imon.c:1989: warning: ‘ret’ may be used uninitialized in this function Cc: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19V4L/DVB: ir-core: add imon driverJarod Wilson1-0/+2417
This is a new driver for the SoundGraph iMON and Antec Veris IR/display devices commonly found in many home theater pc cases and as after-market case additions. [mchehab@redhat.com: add KERN_CONT on line 2098 to shutup checkpatc.pl] Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>