On Tue, Dec 01, 2009 at 02:55:27AM +0100, Kay Sievers wrote: > On Tue, Dec 1, 2009 at 02:52, Johannes Stezenbach <js@xxxxxxxxx> 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@xxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html