aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/lirc
Commit message (Collapse)AuthorAgeFilesLines
* [media] staging/lirc: Update lirc TODO filesMauro Carvalho Chehab2010-12-302-3/+13
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] lirc_zilog: Remove use of deprecated struct i2c_adapter.id fieldAndy Walls2010-12-301-16/+31
| | | | | | | | | | | | Remove use of deprecated struct i2c_adapter.id field. In the process, perform different detection of the HD PVR's Z8 IR microcontroller versus the other Hauppauge cards with the Z8 IR microcontroller. Also added a comment about probe() function behavior that needs to be fixed. Signed-off-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] Remove staging/lirc/lirc_i2c driverMauro Carvalho Chehab2010-12-303-544/+0
| | | | | | | | | | | | | | | | | | This driver duplicates the same functionality found at ir-kbd-i2c. There were a few missing key parsers that were added by the previous patches. The only thing left on lirc_i2c driver is the IR parsing for Asus TV-Box and Creative/VisionTek BreakOut-Box. Those devices use pcf8574 chip for IR. They are old video adapters with TV tuners. Their code were never merged upstream, and they are not chipped anymore. So, it is very unlikely that someone would have interests on porting them to the Linux Kernel. Due to that, let's remove lirc_i2c, as all the remaining functionality are already mapped via ir-kbd-i2c. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] lirc_zilog: Fix a warningMauro Carvalho Chehab2010-12-291-1/+0
| | | | | | | drivers/staging/lirc/lirc_zilog.c: In function ‘send_code’: drivers/staging/lirc/lirc_zilog.c:886:1: warning: label ‘done’ defined but not used Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] staging/lirc: Fix compilation when LIRC=mMauro Carvalho Chehab2010-12-291-12/+12
| | | | | | | | | | | | | | | | | | | | drivers/staging/lirc/lirc_bt829.c:141: undefined reference to `lirc_register_driver' drivers/built-in.o:(.rodata+0x20f68): undefined reference to `lirc_dev_fop_read' drivers/built-in.o:(.rodata+0x20f7c): undefined reference to `lirc_dev_fop_poll' drivers/built-in.o:(.rodata+0x20f8c): undefined reference to `lirc_dev_fop_open' drivers/built-in.o:(.rodata+0x20f94): undefined reference to `lirc_dev_fop_close' drivers/built-in.o:(.rodata+0x21030): undefined reference to `lirc_dev_fop_open' drivers/built-in.o:(.rodata+0x21038): undefined reference to `lirc_dev_fop_close' This happens when .config is like: CONFIG_LIRC=m CONFIG_IR_LIRC_CODEC=m CONFIG_LIRC_STAGING=y CONFIG_LIRC_BT829=y Don't allow that. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6Linus Torvalds2010-10-284-21/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (841 commits) Staging: brcm80211: fix usage of roundup in structures Staging: bcm: fix up network device reference counting Staging: keucr: fix up US_ macro change staging: brcm80211: brcmfmac: Removed codeversion from firmware filenames. staging: brcm80211: Remove unnecessary header files. staging: brcm80211: Remove unnecessary includes from bcmutils.c staging: brcm80211: Removed unnecessary pktsetprio() function. Staging: brcm80211: remove typedefs.h Staging: brcm80211: remove uintptr typedef usage Staging: hv: remove struct vmbus_channel_interface Staging: hv: remove Open from struct vmbus_channel_interface Staging: hv: storvsc: call vmbus_open directly Staging: hv: netvsc: call vmbus_open directly Staging: hv: channel: export vmbus_open to modules Staging: hv: remove Close from struct vmbus_channel_interface Staging: hv: netvsc: call vmbus_close directly Staging: hv: storvsc: call vmbus_close directly Staging: hv: channel: export vmbus_close to modules Staging: hv: remove SendPacket from struct vmbus_channel_interface Staging: hv: storvsc: call vmbus_sendpacket directly ... Fix up conflicts in drivers/staging/cx25821/cx25821-audio-upstream.c drivers/staging/cx25821/cx25821-audio.h due to warring whitespace cleanups (neither of which were all that great)
| * Merge 'staging-next' to Linus's treeGreg Kroah-Hartman2010-10-284-21/+21
| |\ | | | | | | | | | | | | | | | | | | | | | This merges the staging-next tree to Linus's tree and resolves some conflicts that were present due to changes in other trees that were affected by files here. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: lirc: fix PTR_ERR() checkDan Carpenter2010-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is a typo. It's supposed to be IS_ERR() here instead of PTR_ERR(). Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * staging: lirc: remove duplicated includeNicolas Kaiser2010-10-051-1/+0
| | | | | | | | | | | | | | | | | | | | | Remove duplicated include. Signed-off-by: Nicolas Kaiser <nikai@nikai.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * staging: lirc: Remove unnecessary casts of private_dataJoe Perches2010-09-052-7/+7
| | | | | | | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: lirc, fix lock imbalanceJiri Slaby2010-09-041-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [2nd version -- melded all three together] 1) There is a missing return or goto statement in one fail path in sasem_probe, so that the code contiues its normal execution (and unlocks a mutex twice). Fix that by jumping to the right place. Anyway the code is very broken on its fail paths and there are many leaks. But that's a different story. 2) There is an omitted unlock in one fail path in vfd_write, jump to the right place to unlock the lock. 3) In the probe function, there is one more error where the lock is not unlocked. Fix that by jumping to the proper place. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Jarod Wilson <jarod@redhat.com> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: lirc, fix NULL dereferenceJiri Slaby2010-09-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When 'context' allocation fails in imon_probe, we jump to unlock context->ctx_lock. This is wrong as context is NULL and the lock is not locked. Fix the labels. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Jarod Wilson <jarod@redhat.com> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * staging: Use available error codesJulia Lawall2010-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An error code is stored in a variable, but 0 is returned instead. Use the variable instead of 0. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ local idexpression x; constant C; @@ if (...) { ... x = -C ... when != x ( return <+...x...+>; | return NULL; | return; | * return ...; ) } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: lirc: fix compiler warningJarod Wilson2010-08-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Fri, Aug 13, 2010 at 03:38:40PM +0200, Dan Carpenter wrote: > Speak of left over stuff, it's weird that I didn't notice this before > but gcc complains about an unitialized variable in > imon_incoming_packet(). > > drivers/staging/lirc/lirc_imon.c: In function ‘imon_incoming_packet’: > drivers/staging/lirc/lirc_imon.c:661: warning: ‘chunk_num’ may be used > uninitialized in this function > > I don't know how to fix that, but it looks important. Ew. Yeah, that doesn't look so hot like it is right now. The old lirc_imon driver had chunk_num = buf[7], and made much more extensive use of chunk_num. Simply removing chunk_num and using buf[7] should be fine. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * Staging: lirc: remove unneeded variableDan Carpenter2010-08-311-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | We never use control_req so I removed it. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | Merge branch 'v4l_for_linus' of ↵Linus Torvalds2010-10-288-162/+171
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (505 commits) [media] af9015: Fix max I2C message size when used with tda18271 [media] IR: initialize ir_raw_event in few more drivers [media] Guard a divide in v4l1 compat layer [media] imon: fix nomouse modprobe option [media] imon: remove redundant change_protocol call [media] imon: fix my egregious brown paper bag w/rdev/idev split [media] cafe_ccic: Configure ov7670 correctly [media] ov7670: allow configuration of image size, clock speed, and I/O method [media] af9015: support for DigitalNow TinyTwin v3 [1f4d:9016] [media] af9015: map DigitalNow TinyTwin v2 remote [media] DigitalNow TinyTwin remote controller [media] af9015: RC fixes and improvements videodev2.h.xml: Update to reflect the latest changes at videodev2.h [media] v4l: document new Bayer and monochrome pixel formats [media] DocBook/v4l: Add missing formats used on gspca cpia1 and sn9c2028 [media] firedtv: add parameter to fake ca_system_ids in CA_INFO [media] tm6000: fix a macro coding style issue tm6000: Remove some ugly debug code [media] Nova-S-Plus audio line input [media] [RFC,1/1] V4L2: Use new CAP bits in existing RDS capable drivers ...
| * | [media] lirc_it87: add another pnp idJarod Wilson2010-10-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Jochen Kühner reports lirc_it87 works with his hardware with this device ID. Tested-by: Jochen Kühner <jochen.kuehner@gmx.de> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | [media] lirc_igorplugusb: add Fit PC2 device IDJarod Wilson2010-10-221-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | [media] lirc_igorplugusb: handle hw buffer overruns betterJarod Wilson2010-10-221-25/+38
| | | | | | | | | | | | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | [media] lirc_igorplugusb: assorted fixupsJarod Wilson2010-10-221-58/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | Tighten up error checking, rename some functions to less generic names, remove unnecessary cruft, add missing debug modparam wiring, and fix up some printk output. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | [media] lirc_parallel: build on smp and kill dead codeJarod Wilson2010-10-222-27/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Talked to Christoph Bartelmus about this a bit, and he says this driver actually *should* work okay on CONFIG_SMP, the check was a legacy one from the very early days of SMP support before it had stabilized (yes, this driver is that ancient). Also remove some completely unused code, only noticed after building this driver for the first time in an eternity (on an SMP host now, of course). Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | [media] lirc: wire up .compat_ioctl to main ioctl handlerJarod Wilson2010-10-215-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [media] staging/lirc: ioctl portability fixupsJarod Wilson2010-10-215-50/+47
| | | | | | | | | | | | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * | [media] lirc_igorplugusb: Fix a compilation waringMauro Carvalho Chehab2010-10-211-1/+1
| |/ | | | | | | | | | | | | drivers/staging/lirc/lirc_igorplugusb.c: In function ‘usb_remote_probe’: drivers/staging/lirc/lirc_igorplugusb.c:393: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘unsigned int’ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | llseek: automatically add .llseek fopArnd Bergmann2010-10-153-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Julia Lawall <julia@diku.dk> Cc: Christoph Hellwig <hch@infradead.org>
* | lirc: make chardev nonseekableArnd Bergmann2010-09-162-0/+2
|/ | | | | | | | | There does not seem to be a need for lirc to allow seeking on the file descriptor, so let's just disallow this before users start relying on it. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* V4L/DVB: STAGING: remove lirc_ene0100 driverMaxim Levitsky2010-08-083-655/+0
| | | | | | | | Add latest unported version of this driver to media/IR. Next patch will port it to ir core. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: IR: put newly ported streamzap driver in proper homeJarod Wilson2010-08-083-748/+0
| | | | | | | | | Moves drivers/staging/lirc/lirc_streamzap.c to drivers/media/IR/streamzap.c, along with making the requisite Kconfig and Makefile changes. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: port lirc_streamzap to ir-coreJarod Wilson2010-08-081-446/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ports lirc_streamzap.c over to ir-core in-place, to be followed by a patch moving the driver over to drivers/media/IR/streamzap.c and enabling the proper Kconfig bits. Presently, the in-kernel keymap doesn't work, as the stock Streamzap remote uses an RC-5-like, but not-quite-RC-5 protocol, which the in-kernel RC-5 decoder doesn't cope with. The remote can be used right now with the lirc bridge driver though, and other remotes (at least an RC-6(A) MCE remote) work perfectly with the driver. I'll take a look at making the existing RC-5 decoder cope with this odd duck, possibly implement another standalone decoder engine, or just throw up my hands and say "meh, use lirc"... But the driver itself should be perfectly sound. Remaining items on the streamzap TODO list: - add LIRC_SET_REC_TIMEOUT-alike support - add LIRC_GET_M{AX,IN}_TIMEOUT-alike support - add LIRC_GET_REC_RESOLUTION-alike support All of the above should be trivial to add. There are patches pending to add this support to ir-core from Maxim Levitsky, and I'll take care of these once his patches get integrated. None of them are currently essential though. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: fix non-CONFIG_MODULES build horkageJarod Wilson2010-08-082-5/+8
| | | | | | | | | | | | | | | | | | | Fix when CONFIG_MODULES is not enabled: drivers/staging/lirc/lirc_parallel.c:243: error: implicit declaration of function 'module_refcount' drivers/staging/lirc/lirc_it87.c:150: error: implicit declaration of function 'module_refcount' drivers/built-in.o: In function `it87_probe': lirc_it87.c:(.text+0x4079b0): undefined reference to `init_chrdev' lirc_it87.c:(.text+0x4079cc): undefined reference to `drop_chrdev' drivers/built-in.o: In function `lirc_it87_exit': lirc_it87.c:(.exit.text+0x38a5): undefined reference to `drop_chrdev' Its a quick hack and untested beyond building, since I don't have the hardware, but it should do the trick. Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: fix Kconfig dependenciesJanne Grunau2010-08-081-9/+10
| | | | | | Signed-off-by: Janne Grunau <j@jannau.net> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: CodingStyle cleanupsMauro Carvalho Chehab2010-08-0210-11/+10
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: wire up Kconfig and Makefile bitsJarod Wilson2010-08-023-0/+137
| | | | | | | Make the bits under staging/lirc/ buildable, and add a TODO note. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_zilog driverJarod Wilson2010-08-021-0/+1387
| | | | | | | Commonly found on several Hauppauge video capture devices. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_ttusbir driverJarod Wilson2010-08-021-0/+397
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_streamzap driverJarod Wilson2010-08-021-0/+821
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_sir driverJarod Wilson2010-08-021-0/+1282
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_serial driverJarod Wilson2010-08-021-0/+1313
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_sasem driverJarod Wilson2010-08-021-0/+933
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_parallel driverJarod Wilson2010-08-022-0/+731
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_it87 driverJarod Wilson2010-08-022-0/+1135
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_ite8709 driverJarod Wilson2010-08-021-0/+542
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_imon driverJarod Wilson2010-08-021-0/+1058
| | | | | | | | | | Nb: this is a very trimmed-down lirc_imon, which only supports the oldest generation of imon devices that don't do onboard signal decoding like the most recent generation imon devices -- those are now supported by the ir-core imon driver. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_igorplugusb driverJarod Wilson2010-08-021-0/+555
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging: Add an specific TODO note for lirc_i2cMauro Carvalho Chehab2010-08-021-0/+3
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_i2c driverJarod Wilson2010-08-021-0/+536
| | | | | Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_ene0100 driverJarod Wilson2010-08-022-0/+815
| | | | | | [mchehab@redhat.com: fixed a few WARNING: please, no space before tabs] Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: staging/lirc: add lirc_bt829 driverJarod Wilson2010-08-021-0/+383
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>