linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Devin Heitmueller <dheitmueller@kernellabs.com>
Cc: Jon Smirl <jonsmirl@gmail.com>,
	Maxim Levitsky <maximlevitsky@gmail.com>,
	awalls@radix.net, dmitry.torokhov@gmail.com, j@jannau.net,
	jarod@redhat.com, jarod@wilsonet.com, khc@pm.waw.pl,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org, lirc-list@lists.sourceforge.net,
	superm1@ubuntu.com, Christoph Bartelmus <lirc@bartelmus.de>
Subject: Re: [RFC v2] Another approach to IR
Date: Tue, 01 Dec 2009 15:29:44 -0200	[thread overview]
Message-ID: <4B155288.1060509@redhat.com> (raw)
In-Reply-To: <829197380912010909m59cb1078q5bd2e00af0368aaf@mail.gmail.com>

Devin Heitmueller wrote:
> On Tue, Dec 1, 2009 at 12:03 PM, Mauro Carvalho Chehab
> <mchehab@redhat.com> wrote:
>> Just taking an example from the dibcom0700 driver (as the same driver
>> supports several different RC5 and NEC codes at the same time),
>> the kernel table has several keycodes added there, all working
>> at the same time. Providing that the scancodes won't overlap, you can
>> map two different scancodes (from different IR's) to return the same
>> keycode (table is not complete - I just got a few common keycodes):
> 
> Mauro,
> 
> Just to be clear, the dib0700 does not actually support receiving RC5
> or NEC codes at the same time.  You have to tell the chip which mode
> to operate in, via a REQUEST_SET_RC to the firmware (see
> dib0700_core.c:405).  The em28xx works the same way (you have to tell
> it what type of IR format to receive).

Yes, I know. I have a dib0700-based device that came with a NEC table, and
I had to fix the driver to work with NEC on newer (1.20) firmwares and add the
corresponding table for my NEC IR. Still I prefer to use this device with a
RC5 IR from another manufacturer ;)

Yet, the same table works on my device with the shipped IR and with some
other RC5 IR's I have. Due to the lack of an API to select the IR standard,
I need to reload the module, passing a different modprobe parameter, to
set it to either mode.

> The fact that the driver currently uses the same lookup table for both
> types of remote controls however, was perhaps not the best design
> choice.  It really should be separated out, and merged with the
> regular ir-functions.c.  I just never got around to it.

I'm not sure if splitting the table on two would be the better way.

For sure we need to add an EVIOSETPROTO ioctl to allow the driver 
to change the protocol in runtime.

If we'll keep using the same table, all an userspace app need is to say what's
the desired IR mode. On the other hand, it should be easy for the application
to also replace the table when a different protocol is selected.

The point that I want to bold is that it is possible to use one big table to
support several different IR's at the same time. This may be a good solution for
devices that were shipped with more than one different IR models. It may also
be a good solution to avoid having a large number of keymaps, as we may consolidate
commonly used IR's on an unique table (or on a few groups of tables).

Cheers,
Mauro.



  reply	other threads:[~2009-12-01 17:30 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-01 15:08 [RFC v2] Another approach to IR Jon Smirl
2009-12-01 15:47 ` Maxim Levitsky
2009-12-01 16:16   ` Jon Smirl
2009-12-01 17:03     ` Mauro Carvalho Chehab
2009-12-01 17:09       ` Devin Heitmueller
2009-12-01 17:29         ` Mauro Carvalho Chehab [this message]
2009-12-01 17:54           ` Dmitry Torokhov
2009-12-01 19:00             ` Mauro Carvalho Chehab
2009-12-01 19:27               ` Jon Smirl
2009-12-01 20:11               ` Dmitry Torokhov
2009-12-01 21:05                 ` Mauro Carvalho Chehab
2009-12-02  9:38                   ` Dmitry Torokhov
2009-12-02 12:44                     ` Mauro Carvalho Chehab
2009-12-02 17:10                       ` Dmitry Torokhov
2009-12-02 17:30                         ` Jon Smirl
2009-12-02 18:23                           ` Dmitry Torokhov
2009-12-02 18:57                             ` Jon Smirl
2009-12-02 20:54                               ` Mauro Carvalho Chehab
2009-12-02 19:22                           ` Jarod Wilson
2009-12-02 19:56                             ` Dmitry Torokhov
2009-12-02 20:04                               ` Jarod Wilson
2009-12-02 20:14                                 ` Dmitry Torokhov
2009-12-02 20:23                                   ` Mauro Carvalho Chehab
2009-12-02 20:53                                     ` Dmitry Torokhov
2009-12-02 21:13                                       ` Mauro Carvalho Chehab
2009-12-03 16:03                                         ` Ferenc Wagner
2009-12-03 16:33                                           ` Mauro Carvalho Chehab
2009-12-03 16:50                                             ` Jon Smirl
2009-12-03 17:19                                               ` Mauro Carvalho Chehab
2009-12-03 17:31                                             ` Dmitry Torokhov
2009-12-04 16:11                                               ` Ferenc Wagner
2009-12-02 20:42                                   ` Jarod Wilson
2009-12-02 20:48                                     ` Dmitry Torokhov
2009-12-02 20:57                                       ` Jarod Wilson
2009-12-02 21:12                                         ` Trent Piepho
2009-12-02 21:28                                           ` Jarod Wilson
2009-12-02 21:40                                             ` Mauro Carvalho Chehab
2009-12-03 18:06                                             ` Krzysztof Halasa
2009-12-03  1:19                                   ` Andy Walls
2009-12-03  2:27                                     ` hermann pitton
2009-12-03  0:20                                 ` Jon Smirl
2009-12-03  2:22                                   ` Mauro Carvalho Chehab
2009-12-03  5:08                                     ` Jon Smirl
2009-12-03 11:09                                       ` Mauro Carvalho Chehab
2009-12-03 18:18                                         ` Krzysztof Halasa
2009-12-03 20:54                                           ` Mauro Carvalho Chehab
2009-12-03  2:48                                   ` Trent Piepho
2009-12-03  4:13                                     ` Jarod Wilson
2009-12-03  5:18                                       ` Jon Smirl
2009-12-03 11:20                                         ` Mauro Carvalho Chehab
2009-12-03 19:48                                   ` alhaz
2009-12-02 19:33                         ` Mauro Carvalho Chehab
2009-12-02 19:50                           ` Jon Smirl
2009-12-02 19:58                             ` Jon Smirl
2009-12-02 20:47                             ` Mauro Carvalho Chehab
2009-12-02 19:55                           ` Jarod Wilson
2009-12-03  1:02                             ` Andy Walls
2009-12-03 10:00                               ` Mauro Carvalho Chehab
2009-12-03 12:02                                 ` Andy Walls
2009-12-03 11:09                               ` Mauro Carvalho Chehab
2009-12-02 20:01                           ` Dmitry Torokhov
2009-12-02 15:37                     ` Jon Smirl
2009-12-02 17:00                       ` Dmitry Torokhov
2009-12-02 11:26                   ` Gerd Hoffmann
2009-12-02 12:45                     ` Mauro Carvalho Chehab
2009-12-01 17:35         ` Patrick Boettcher
2009-12-01 17:41           ` Mauro Carvalho Chehab
2009-12-01 18:19       ` Jon Smirl
2009-12-01 17:37   ` Mauro Carvalho Chehab
  -- strict thread matches above, loose matches on Subject: below --
2009-12-03 17:08 Emmanuel Fusté
2009-12-03 17:56 Emmanuel Fusté
2009-12-03 18:01 Emmanuel Fusté

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B155288.1060509@redhat.com \
    --to=mchehab@redhat.com \
    --cc=awalls@radix.net \
    --cc=dheitmueller@kernellabs.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=j@jannau.net \
    --cc=jarod@redhat.com \
    --cc=jarod@wilsonet.com \
    --cc=jonsmirl@gmail.com \
    --cc=khc@pm.waw.pl \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lirc-list@lists.sourceforge.net \
    --cc=lirc@bartelmus.de \
    --cc=maximlevitsky@gmail.com \
    --cc=superm1@ubuntu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).