All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3 v2] linux infrared remote control drivers
@ 2009-10-20 13:56 Jarod Wilson
  2009-10-20 13:58 ` [PATCH 1/3 v2] lirc core device driver infrastructure Jarod Wilson
                   ` (3 more replies)
  0 siblings, 4 replies; 248+ messages in thread
From: Jarod Wilson @ 2009-10-20 13:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-input, linux-media, Janne Grunau, Christoph Bartelmus

This here is a second go at submitting linux infrared remote control
(lirc) drivers for kernel inclusion, with a much smaller patch set that
includes only the core lirc driver and two device drivers, all three of
which have been heavily updated since the last submission, based on
feedback received.

Never meant for it to be more than a year before the second attempt at
submitting lirc drivers, but day jobs and life tend to get in the way.
Development work has been ongoing despite all that, just took a bit
longer than anticipated to address as much of the review comments as
possible and get up the guts for another submission. ;)

For those not in the know, lirc has existed out-of-tree at lirc.org for
years and years, and is currently patched into the kernels or provided
as add-on kernel module packages in a number of distributions (its been
patched into Fedora kernels going on 2.5 years now), so the code is in
fairly wide use and is reasonably well tested, despite not being in the
upstream kernel itself.

The drivers included in this submission are for the Windows MCE USB IR
transceivers and the SoundGraph iMON USB receivers/displays. I have
multiple devices driven by each of these drivers, and have done fairly
extensive testing on them, currently primarily on 2.6.31 and 2.6.32.

The MCE transceiver can handle just about any IR protocol you can throw
at it on the RX side, thus it passes raw IR through to the userspace
lircd daemon for processing. An lircd.conf file maps IR codes to key 
codes, and they can be consumed by the system either via applications
with lirc client support, or they can be fed back into the input subsys
via uinput. The transmit side has no input subsys interaction. Note
that this driver now handles both generations of MCE transceivers.

The iMON receivers come in two flavors, an early version that passes
raw IR, and all more recent versions that do onboard decoding of IR
signals. The iMON driver now supports running as a pure input device on
devices with onboard decoding, as well as "classic" lirc mode for the
ones that don't decode onboard and includes a modparam option to let
the onboard decode devices continue to operate in "classic" mode, for
those who prefer it.

There's been talk about a raw IR input device type/ioctls/whatever. But
it doesn't yet exist, and I know *I* don't have time to write it up...
lircd and lirc drivers could be adapted to use such a thing if/when it
sees the light of day, but for now, the lirc_dev ("classic" lirc mode)
interface is quite well battle-tested, and very capable for both raw IR
receive and transmit. There's also been a patchset proposed to do raw
IR decoding in the kernel. I'm fine with that idea too, but only if
there is *also* a way to get the raw IR out to userspace (lircd), as
there are some esoteric IR protocols out there and we can be a lot more
nimble about adding support for decoding new and different protocols
in userspace than we can in the kernel -- and lircd can now feed all
the resulting key codes back into the input subsystem via uinput too.

The hope is that we can get lirc_dev (upon which all other lirc drivers
depend) merged, along with these initial two drivers, then we can start
reviewing the additional 15 or so lirc drivers for inclusion as well.

Combined diffstat:

 MAINTAINERS                      |    9 +
 drivers/input/Kconfig            |    2 +
 drivers/input/Makefile           |    1 +
 drivers/input/lirc/Kconfig       |   26 +
 drivers/input/lirc/Makefile      |    8 +
 drivers/input/lirc/lirc.h        |  100 ++
 drivers/input/lirc/lirc_dev.c    |  837 +++++++++++++
 drivers/input/lirc/lirc_dev.h    |  194 +++
 drivers/input/lirc/lirc_imon.c   | 2471 ++++++++++++++++++++++++++++++++++++++
 drivers/input/lirc/lirc_imon.h   |  209 ++++
 drivers/input/lirc/lirc_mceusb.c | 1235 +++++++++++++++++++
 11 files changed, 5092 insertions(+), 0 deletions(-)

Git tree:
* git://git.wilsonet.com/linux-2.6-lirc.git/
Git web:
* http://git.wilsonet.com/linux-2.6-lirc.git/
Upstream lirc project:
* http://www.lirc.org/

(If you're going to clone, I'd highly suggest adding it as a remote
to a linus' tree checkout rather than clone'ing directly, as I don't
have nearly as much bandwidth at home as kernel.org... ;)

-- 
Jarod Wilson
jarod@redhat.com

^ permalink raw reply	[flat|nested] 248+ messages in thread

end of thread, other threads:[~2009-12-13  1:17 UTC | newest]

Thread overview: 248+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-20 13:56 [PATCH 0/3 v2] linux infrared remote control drivers Jarod Wilson
2009-10-20 13:58 ` [PATCH 1/3 v2] lirc core device driver infrastructure Jarod Wilson
2009-11-23 11:47   ` Mauro Carvalho Chehab
2009-11-23 12:36     ` [RFC] Should we create a raw input interface for IR's ? - Was: " Mauro Carvalho Chehab
2009-11-23 14:14       ` Krzysztof Halasa
2009-11-23 15:20         ` Devin Heitmueller
2009-11-23 15:20           ` Devin Heitmueller
2009-11-23 16:53           ` James Mastros
2009-11-23 16:53             ` James Mastros
2009-11-23 20:09             ` Krzysztof Halasa
2009-11-23 17:05           ` James Mastros
2009-11-23 17:05             ` James Mastros
2009-11-23 17:12             ` Devin Heitmueller
2009-11-23 17:12               ` Devin Heitmueller
2009-11-23 17:12               ` Devin Heitmueller
2009-11-23 17:50             ` Mauro Carvalho Chehab
2009-11-23 20:14               ` Krzysztof Halasa
2009-11-23 16:19         ` Stefan Richter
2009-11-23 17:39           ` Mauro Carvalho Chehab
2009-11-23 20:23             ` Krzysztof Halasa
2009-11-26 12:16               ` Mauro Carvalho Chehab
2009-11-26 18:18                 ` Krzysztof Halasa
2009-11-26 19:06                   ` Mauro Carvalho Chehab
2009-11-28  2:39                     ` Mauro Carvalho Chehab
2009-11-28  2:54                       ` Dmitry Torokhov
2009-11-28  9:43                         ` Mauro Carvalho Chehab
2009-11-28 10:31                           ` Stefan Richter
2009-11-28 10:43                           ` Arnd Bergmann
2009-11-23 17:29         ` Mauro Carvalho Chehab
2009-11-23 19:17           ` Jarod Wilson
2009-11-23 20:46             ` Krzysztof Halasa
2009-11-23 21:10             ` Christoph Bartelmus
2009-11-23 21:10               ` Christoph Bartelmus
2009-11-24  4:18               ` Jarod Wilson
2009-11-23 20:41           ` Krzysztof Halasa
2009-11-26 12:36             ` Mauro Carvalho Chehab
2009-11-26 13:22               ` Andy Walls
2009-11-26 18:24               ` Krzysztof Halasa
2009-11-26 19:08                 ` Mauro Carvalho Chehab
2009-11-26 20:33                   ` Krzysztof Halasa
2009-11-26 21:05                     ` Mauro Carvalho Chehab
2009-11-26 21:27                       ` Krzysztof Halasa
2009-11-26 22:07                         ` Mauro Carvalho Chehab
2009-11-27  0:19                           ` Krzysztof Halasa
2009-11-27  0:34                             ` Arnd Bergmann
2009-11-26 23:14                         ` Dmitry Torokhov
2009-11-26 23:10                       ` Dmitry Torokhov
2009-11-26 22:59                   ` Trent Piepho
2009-11-27  0:45                     ` Krzysztof Halasa
2009-11-27  2:50                     ` hermann pitton
2009-11-26 20:37               ` Christoph Bartelmus
2009-11-26 20:37                 ` Christoph Bartelmus
2009-11-26 20:59                 ` Mauro Carvalho Chehab
2009-11-26 22:05                   ` Christoph Bartelmus
2009-11-26 22:05                     ` Christoph Bartelmus
2009-11-26 22:14                     ` Mauro Carvalho Chehab
2009-11-26 23:09                   ` Trent Piepho
2009-11-23 17:37         ` Dmitry Torokhov
2009-11-23 20:51           ` Krzysztof Halasa
2009-11-26  5:21             ` Dmitry Torokhov
2009-11-26 17:46               ` Krzysztof Halasa
2009-11-26 17:50                 ` Mauro Carvalho Chehab
2009-11-26 21:39                 ` Dmitry Torokhov
2009-11-27  0:13                   ` Krzysztof Halasa
2009-11-27  0:13                     ` Krzysztof Halasa
2009-11-27  0:26                     ` Dmitry Torokhov
2009-11-27  0:37                       ` Krzysztof Halasa
2009-11-27  0:37                         ` Krzysztof Halasa
2009-11-24  4:37           ` Jarod Wilson
2009-11-24 23:32             ` IR raw input is not sutable for input system Maxim Levitsky
2009-11-25  3:32               ` Trent Piepho
2009-11-25 13:28                 ` Maxim Levitsky
2009-11-25 21:32                   ` Sean Young
2009-11-25 22:30                     ` Krzysztof Halasa
2009-11-25 22:52                       ` Maxim Levitsky
2009-11-26 18:36                         ` Krzysztof Halasa
2009-11-25 17:18                 ` Krzysztof Halasa
2009-11-26  5:41                 ` Dmitry Torokhov
2009-11-25 17:12               ` Krzysztof Halasa
2009-11-26  5:38               ` Dmitry Torokhov
2009-11-26  5:31             ` [RFC] Should we create a raw input interface for IR's ? - Was: Re: [PATCH 1/3 v2] lirc core device driver infrastructure Dmitry Torokhov
2009-11-26  6:16               ` Jarod Wilson
2009-11-26  6:16                 ` Jarod Wilson
2009-11-26 16:07                 ` Mauro Carvalho Chehab
2009-11-26 23:23                 ` Dmitry Torokhov
2009-11-27  2:28                   ` Jarod Wilson
2009-11-27  3:08                     ` Jon Smirl
2009-11-27  3:08                       ` Jon Smirl
2009-11-27  3:08                       ` Jon Smirl
2009-11-27  4:33                       ` Dmitry Torokhov
2009-11-27  4:33                         ` Dmitry Torokhov
2009-11-27  5:06                         ` Jon Smirl
2009-11-27  5:06                           ` Jon Smirl
2009-11-27  7:33                           ` Christoph Bartelmus
2009-11-27  7:33                             ` Christoph Bartelmus
2009-11-27 15:33                             ` Jon Smirl
2009-11-27 15:33                               ` Jon Smirl
2009-11-27 15:33                               ` Jon Smirl
2009-11-30  5:01                           ` Jarod Wilson
2009-11-27  4:30                     ` Dmitry Torokhov
2009-11-23 21:11         ` Christoph Bartelmus
2009-11-23 21:11           ` Christoph Bartelmus
2009-11-23 21:46           ` Krzysztof Halasa
2009-11-23 21:46             ` Krzysztof Halasa
2009-11-23 21:54             ` Devin Heitmueller
2009-11-23 21:54               ` Devin Heitmueller
2009-11-23 22:31               ` Krzysztof Halasa
2009-11-23 22:37                 ` Devin Heitmueller
2009-11-23 22:37                   ` Devin Heitmueller
2009-11-23 22:53                   ` Krzysztof Halasa
2009-12-12 22:04                 ` david
2009-11-24  1:14             ` Andy Walls
2009-11-26 13:25               ` Mauro Carvalho Chehab
2009-11-26 13:48                 ` Andy Walls
2009-11-26 16:35                   ` Mauro Carvalho Chehab
2009-11-24  0:53           ` Andy Walls
2009-11-24 13:32             ` Jarod Wilson
2009-11-24 13:32               ` Jarod Wilson
2009-11-25 16:53               ` Krzysztof Halasa
2009-11-25 17:20                 ` Christoph Bartelmus
2009-11-25 17:20                   ` Christoph Bartelmus
2009-11-25 17:40                   ` Krzysztof Halasa
2009-11-25 17:40                     ` Krzysztof Halasa
2009-11-25 18:07                     ` Jarod Wilson
2009-11-25 18:07                       ` Jarod Wilson
2009-11-25 18:20                       ` Devin Heitmueller
2009-11-25 18:20                         ` Devin Heitmueller
2009-11-25 18:43                         ` [RFC] Should we create a raw input interface for IR's ? Jarod Wilson
2009-11-25 20:49                           ` Krzysztof Halasa
2009-11-26  5:53                             ` Dmitry Torokhov
2009-11-26 18:40                               ` Krzysztof Halasa
2009-11-26 23:28                                 ` Dmitry Torokhov
2009-11-27  0:28                                   ` Krzysztof Halasa
2009-11-25 20:47                         ` [RFC] Should we create a raw input interface for IR's ? - Was: Re: [PATCH 1/3 v2] lirc core device driver infrastructure Krzysztof Halasa
2009-11-25 21:58                         ` Gerd Hoffmann
2009-11-25 22:31                           ` Christoph Bartelmus
2009-11-25 22:31                             ` Christoph Bartelmus
2009-11-25 23:22                             ` Gerd Hoffmann
2009-11-26  7:28                               ` Christoph Bartelmus
2009-11-26  7:28                                 ` Christoph Bartelmus
2009-11-26  8:39                                 ` Gerd Hoffmann
2009-11-26 16:41                               ` Krzysztof Halasa
2009-11-26  4:26                           ` Andy Walls
2009-11-26 14:45                           ` Mauro Carvalho Chehab
2009-11-26 15:48                             ` Jon Smirl
2009-11-26 15:48                               ` Jon Smirl
2009-11-26 15:48                               ` Jon Smirl
2009-11-26 16:03                               ` Jon Smirl
2009-11-26 16:03                                 ` Jon Smirl
2009-11-26 23:45                           ` Dmitry Torokhov
2009-11-26  3:50                         ` Andy Walls
2009-11-25 20:44                       ` Krzysztof Halasa
2009-11-25 20:44                         ` Krzysztof Halasa
2009-11-26  3:31                       ` Andy Walls
2009-11-26  4:00                         ` hermann pitton
2009-11-26  5:41                         ` Jarod Wilson
2009-11-26 14:28                       ` Mauro Carvalho Chehab
2009-11-25 17:44                 ` Jarod Wilson
2009-11-25 19:27                   ` Krzysztof Halasa
2009-11-26  4:46                     ` Jarod Wilson
2009-11-26  8:01                   ` Christoph Bartelmus
2009-11-26  8:01                     ` Christoph Bartelmus
2009-11-26  8:08                     ` Dmitry Torokhov
2009-11-26 16:25                     ` Mauro Carvalho Chehab
2009-11-26 18:13                       ` Krzysztof Halasa
2009-11-26 18:55                         ` Mauro Carvalho Chehab
2009-11-26 20:28                           ` Krzysztof Halasa
2009-11-26 21:28                             ` Mauro Carvalho Chehab
2009-11-27  7:45                       ` Christoph Bartelmus
2009-11-27  7:45                         ` Christoph Bartelmus
2009-11-26 13:54               ` Mauro Carvalho Chehab
2009-11-26 17:32                 ` Jarod Wilson
2009-11-26 17:49                   ` Mauro Carvalho Chehab
2009-11-26 17:49                     ` Mauro Carvalho Chehab
2009-11-26 23:50                     ` Dmitry Torokhov
2009-11-27  1:45                       ` Mauro Carvalho Chehab
2009-11-25 16:45             ` Krzysztof Halasa
2009-11-26 14:05               ` Mauro Carvalho Chehab
2009-11-26 19:43                 ` Andy Walls
2009-12-07 18:19                   ` Jarod Wilson
2009-12-07 23:02                     ` Mauro Carvalho Chehab
2009-12-08  2:42                     ` Andy Walls
2009-12-08  4:22                       ` Dmitry Torokhov
2009-12-08 11:44                         ` Mauro Carvalho Chehab
2009-12-08 14:13                           ` Krzysztof Halasa
2009-12-08 14:25                             ` Mauro Carvalho Chehab
2009-12-08 17:06                           ` Dmitry Torokhov
2009-12-08 12:35                         ` Andy Walls
2009-12-08 12:52                           ` Jon Smirl
2009-12-08 12:52                             ` Jon Smirl
2009-12-08 12:52                             ` Jon Smirl
2009-12-08 13:40                             ` Mauro Carvalho Chehab
2009-12-08 14:01                               ` Jon Smirl
2009-12-08 14:01                                 ` Jon Smirl
2009-12-08 14:01                                 ` Jon Smirl
2009-12-08 14:16                                 ` Mauro Carvalho Chehab
2009-12-08 14:31                                   ` Jon Smirl
2009-12-08 14:31                                     ` Jon Smirl
2009-12-08 14:40                                     ` Mauro Carvalho Chehab
2009-12-08 16:19                                       ` Jon Smirl
2009-12-08 16:19                                         ` Jon Smirl
2009-12-08 16:19                                         ` Jon Smirl
2009-12-08 23:30                                         ` Krzysztof Halasa
2009-12-09  0:04                                           ` Mauro Carvalho Chehab
2009-12-08 17:16                             ` Dmitry Torokhov
2009-12-08 17:16                               ` Dmitry Torokhov
2009-12-08 13:30                           ` Mauro Carvalho Chehab
2009-12-08 13:47                             ` Jon Smirl
2009-12-08 13:47                               ` Jon Smirl
2009-12-08 13:47                               ` Jon Smirl
2009-12-08 13:59                               ` Mauro Carvalho Chehab
2009-12-08 14:19                                 ` Jon Smirl
2009-12-08 14:19                                   ` Jon Smirl
2009-12-08 14:19                                   ` Jon Smirl
2009-12-08 14:34                                   ` Mauro Carvalho Chehab
2009-12-08 15:56                                     ` Jon Smirl
2009-12-08 15:56                                       ` Jon Smirl
2009-12-08 15:56                                       ` Jon Smirl
2009-12-08 16:27                                       ` Mauro Carvalho Chehab
2009-12-08 18:15                                         ` Jon Smirl
2009-12-08 18:15                                           ` Jon Smirl
2009-12-08 18:15                                           ` Jon Smirl
2009-12-09  0:28                                           ` Mauro Carvalho Chehab
2009-12-08 16:22                                     ` Ferenc Wagner
2009-12-08 11:32                       ` Mauro Carvalho Chehab
2009-12-08 12:46                         ` Andy Walls
2009-12-08 17:19                           ` Dmitry Torokhov
2009-12-09  0:07                             ` Mauro Carvalho Chehab
2009-11-26  5:49             ` Dmitry Torokhov
2009-11-26  6:23               ` Jarod Wilson
2009-11-26  9:14                 ` Gerd Hoffmann
2009-11-26 17:15                   ` Jarod Wilson
2009-11-26 12:28                 ` Andy Walls
2009-11-26 13:17             ` Mauro Carvalho Chehab
2009-11-23 22:25       ` Krzysztof Halasa
2009-11-24 23:23       ` Matthieu CASTET
2009-10-20 14:00 ` [PATCH 2/3 v2] lirc driver for Windows MCE IR transceivers Jarod Wilson
2009-11-13 20:43   ` Stefan Lippers-Hollmann
2009-11-15  6:55     ` Jarod Wilson
2009-11-23 12:46   ` Mauro Carvalho Chehab
2009-10-20 14:00 ` [PATCH 3/3 v2] lirc driver for SoundGraph iMON IR receivers and displays Jarod Wilson
2009-11-23 12:58   ` Mauro Carvalho Chehab
2009-11-24  4:31     ` Jarod Wilson
2009-11-04 22:56 ` [PATCH 0/3 v2] linux infrared remote control drivers Jarod Wilson
2009-11-05  0:07   ` Andy Walls
2009-11-05  3:28     ` Jarod Wilson
2009-11-05  0:31   ` Mauro Carvalho Chehab
2009-11-05  3:41     ` Jarod Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.