Re: [RFC] Updates to sysfs_create_subdir()

From: Kyle Moffett
Date: Tue Nov 29 2005 - 01:41:39 EST


On Nov 29, 2005, at 00:44, Greg KH wrote:
On Mon, Nov 28, 2005 at 08:10:36PM -0500, Kyle Moffett wrote:
If the kernel gets this, then udev needs to allow attributes with more generic paths too. It would be nice if I could use this [Pulled from the sample udev output halfway down this page: http:// www.reactivated.net/writing_udev_rules.html#identify-sysfs].

BUS="scsi", SYSFS{../../../manufacturer}="Tekom Technologies, Inc", NAME="my_camera"

Why can't you do this today? Have you tried it?

Hmm, no, I don't suppose I have. I guess I was taking the udev docs and other similar pages at their word that you couldn't match things in multiple subdirs. *tries* Interesting; it appears to work, but it would be nice if it was documented somewhere; this is _really_ handy for certain devices with partial or missing udev support. (I can specify the 3rd proprietary tape drive in the changer even if the drives themselves don't have any useful SCSI info attached to them.) Thanks for pointing this out!

I do have one question, though. Is there any way to access the "DEVICE" or "SUBSYSTEM" values of those parent sysfs nodes? I can see that those are symlinks in sysfs to other sysfs dirs, so there's no real way to match them with SYSFS{*}, but I'm hoping that perhaps they could be extended to accept a path in {} brackets much as SYSFS {} does. Thanks for the help! And btw, here are the rules I've worked out for my PowerBook (I frequently tinker with the MAC address when doing odd networking hackery, so it's not so useful for matching purposes):

## The built-in ethernet
SUBSYSTEM="net", SYSFS{device/devspec}="/pci@f4000000/ethernet@f", NAME="net_eth"
## The built-in firewire (via eth1394)
SUBSYSTEM="net", SYSFS{device/../devspec}="/pci@f4000000/firewire@e", NAME="net_fw"

Cheers,
Kyle Moffett

--
Unix was not designed to stop people from doing stupid things, because that would also stop them from doing clever things.
-- Doug Gwyn


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/