linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jon Smirl <jonsmirl@gmail.com>
To: "David Härdeman" <david@hardeman.nu>
Cc: Andy Walls <awalls@md.metrocast.net>,
	Jarod Wilson <jarod@wilsonet.com>,
	Mauro Carvalho Chehab <mchehab@redhat.com>,
	linux-input@vger.kernel.org,
	Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: [PATCH 00/15] ir-core: Several improvements to allow adding LIRC and decoder plugins
Date: Sat, 24 Apr 2010 08:35:48 -0400	[thread overview]
Message-ID: <m2j9e4733911004240535k4b14d64fu940f5dff17837b20@mail.gmail.com> (raw)
In-Reply-To: <20100424052254.GB3101@hardeman.nu>

On Sat, Apr 24, 2010 at 1:22 AM, David Härdeman <david@hardeman.nu> wrote:
> On Fri, Apr 23, 2010 at 06:20:28PM -0400, Andy Walls wrote:
>> Not that my commit rate has been > 0 LOC lately, but I'd like to see
>> lirc_dev, just to get transmit worked out for the CX23888 chip and
>> cx23885 driver.
>>
>> I think this device will bring to light some assumptions LIRC currently
>> makes about transmit that don't apply to the CX23888 (i.e. LIRC having
>> to perform the pulse timing).  The cx23888-ir implementation has a kfifo
>> for holding outgoing pulse data and the hardware itself has an 8 pulse
>> measurement deep fifo.
>
> I think we're eventually going to want to let rc-core create a chardev
> per rc device to allow for things like reading out scancodes (when
> creating keymaps for new and unknown remotes), raw timings (for
> debugging in-kernel decoders and writing new ones), possibly also
> ioctl's (for e.g. setting all RX parameters in one go or to
> create/destroy additional keymaps, though I'm sure some will want all of
> that to go through sysfs).

That problem is handled differently in the graphics code.  You only
have one /dev device for graphics. IOCTLs on it are divided into
ranges - core and driver. The IOCTL call initially lands in the core
code, but if it is in the driver range it simply gets forwarded to the
specific driver and handled there.

Doing it that was avoids needing two /dev devices nodes for the same
device. Two device nodes has problems.  How do you keep them from
being open by two different users and different privilege levels, or
one is open and one closed, etc...

Splitting the IOCTL range is easy to add to input core and it won't
effect any existing user space code.

Don't forget about binary sysfs attributes. I have scars from
implementing sysfs attributes as text that other people thought should
have been binary.

There has long been talk of implementing sysfs transactions. I think
the closest thing that got implemented was to not make the attributes
take effect until an action occurs. For example, you would set all of
the RX parameters using sysfs. They would be written into shadow
variables. Then you write to a 'commit' attribute. The write triggers
the copy from the shadow variables to the real ones.

Why are the TX variables being set via sysfs? I think the attributes
were read only in the code I wrote. Instead I set them via commands in
the input stream. Setting via the stream make it easy to change them
on each transmit.  The input layer already supports transactions
wrapping in output. The same transactions could be used to wrap input
parameter setting.  Start an input transaction, set the TX variables,
send the pulse data, end the input transaction. I don't remember if I
got around to implementing that.


>
> That same chardev could also be used to implement TX, once a suitable
> interface has been fleshed out. The end result might not look exactly
> like lirc...
>
> --
> David Härdeman
>



-- 
Jon Smirl
jonsmirl@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2010-04-24 12:35 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-01 17:56 [PATCH 00/15] ir-core: Several improvements to allow adding LIRC and decoder plugins Mauro Carvalho Chehab
2010-04-02  1:44 ` Jon Smirl
2010-04-02 10:20   ` David Härdeman
2010-04-05 20:49     ` Jarod Wilson
2010-04-07  9:32       ` David Härdeman
2010-04-23 17:40         ` Jarod Wilson
2010-04-23 18:06           ` Jon Smirl
2010-04-23 18:29             ` Mauro Carvalho Chehab
2010-04-23 22:20             ` Andy Walls
2010-04-24  5:22               ` David Härdeman
2010-04-24 12:35                 ` Jon Smirl [this message]
2010-04-24 14:15                   ` David Härdeman
2010-04-24 15:07                     ` Jon Smirl
2010-04-24 21:23                       ` David Härdeman
2010-04-24 21:59                         ` Jon Smirl
2010-04-24  5:12           ` David Härdeman
2010-04-28  4:32             ` Jarod Wilson
2010-05-25 21:05               ` Jarod Wilson
2010-05-26 18:28                 ` Jarod Wilson

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=m2j9e4733911004240535k4b14d64fu940f5dff17837b20@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=awalls@md.metrocast.net \
    --cc=david@hardeman.nu \
    --cc=jarod@wilsonet.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.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).