From: Johannes Stezenbach <js@sig21.net>
To: linux-hotplug@vger.kernel.org
Subject: Re: udev keymaps: support for force_release quirk
Date: Tue, 01 Dec 2009 02:21:20 +0000 [thread overview]
Message-ID: <20091201022120.GA18101@sig21.net> (raw)
In-Reply-To: <20091126173912.GA25185@sig21.net>
On Tue, Dec 01, 2009 at 02:55:27AM +0100, Kay Sievers wrote:
> On Tue, Dec 1, 2009 at 02:52, Johannes Stezenbach <js@sig21.net> wrote:
> > On Mon, Nov 30, 2009 at 05:37:04PM -0800, Dmitry Torokhov wrote:
> >> On Tue, Dec 01, 2009 at 02:28:06AM +0100, Kay Sievers wrote:
> >> > On Tue, Dec 1, 2009 at 00:27, Johannes Stezenbach <js@sig21.net> wrote:
> >> > > + strncat(fn, "/device/device/force_release", sizeof(fn));
> >> >
> >> > You can only select a parent device by it's subsystem/devtype. Any
> >> > hardcoded assumption about the order of parents is wrong, and the
> >> > "device" link is deprecated, it must not appear anywhere in udev code.
> >
> > I have to admit I have no clue how else to do it. I'd be glad
> > to hear your advice.
>
> For udev it would be something like:
> udev_device_get_parent_with_subsystem_devtype(..., "serio", NULL);
>
> To find the first parent device which is a device on the "serio" bus.
I saw your other mail the moment after I sent mine...
I'll wait for Martin's comments but at the moment I'm thinking
it might be easier and cleaner with the seperate utility
and a rule for SUBSYSTEM="serio". Because, on second thought,
in theory there could be keys which need the force_release quirk
but no keycode remapping? No idea if that's the case in practice,
and it could be handled with a dummy keycode assignment, but
that's unclean. Maybe
./force_release /sys/devices/platform/i8042/serio0 samsung-other-force-release
with samsung-other-force-release looking like
0x82 # Fn+F4 CRT/LCD (high keycode: "displaytoggle")
0x83 # Fn+F2
0x84 # Fn+F5 backlight on/off
...
and rules like
ACTION!="add", GOTO="force_release_end"
SUBSYSTEM!="serio", GOTO="force_release_end"
KERNEL!="serio*", GOTO="force_release_end"
DRIVERS!="atkbd", GOTO="force_release_end"
ENV{DMI_VENDOR}="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}="*N130*", RUN+"force_release $sys$devname samsung-other-force-release"
LABEL="force_release_end"
Would that work?
Thanks
Johannes
next prev parent reply other threads:[~2009-12-01 2:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-26 17:39 udev keymaps: support for force_release quirk Johannes Stezenbach
2009-11-27 15:33 ` Martin Pitt
2009-11-27 15:48 ` Johannes Stezenbach
2009-11-27 15:57 ` Martin Pitt
2009-11-28 19:14 ` Greg KH
2009-11-28 21:36 ` Johannes Stezenbach
2009-11-30 23:27 ` Johannes Stezenbach
2009-12-01 1:28 ` Kay Sievers
2009-12-01 1:37 ` Dmitry Torokhov
2009-12-01 1:49 ` Kay Sievers
2009-12-01 1:52 ` Johannes Stezenbach
2009-12-01 1:55 ` Kay Sievers
2009-12-01 2:21 ` Johannes Stezenbach [this message]
2009-12-03 3:12 ` Dmitry Torokhov
2009-12-06 21:49 ` Johannes Stezenbach
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=20091201022120.GA18101@sig21.net \
--to=js@sig21.net \
--cc=linux-hotplug@vger.kernel.org \
/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).