linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: ocomber <ocomber@cmedltd.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: Need persistent node to USB port naming
Date: Fri, 13 May 2005 08:50:22 +0000	[thread overview]
Message-ID: <1115974222.10045.168.camel@localhost.localdomain> (raw)
In-Reply-To: <NDBBIKDDCLAGMMFDHHDBEEEPDAAA.stephenm@glw.com>

On Thu, 2005-05-12 at 14:58 -0500, Stephen Morgan wrote:
> Hello all,
> 
> I'm converting a driver for a USB device from Linux 2.4 to 2.6.  The device
> is embedded and the host is an embedded PC.  There may be as many as 6
> identical devices attached.  The only way they are differentiated is by the
> USB port they're plugged into - the cabling is fixed.  So, when the user
> asks for 'foo_dev0' for instance, he wants the first USB device - 'foo_dev1'
> should give him the 2nd device, etc.
> 
> Under 2.4, I created six nodes, assigning them minors 192 thru 197.  In the
> driver's probe(), I used usb_make_path to create an index to the device.
> For file ops, I used (MINOR(inode_p->i_rdev) - 192) to get an index from the
> node.
> 
> So far, under 2.6, the best approach I can see is to create a udev .rules
> file to make the nodes, like so: BUS="usb", PLACE="1-1", NAME="usb/foo_dev0"
> 
> Is this the best way to go, or have I overlooked something simpler?
> 
> Thanks
> 
> Stephen Morgan

If your driver is aware of which usb port it is plugged into, it could
turn this into a sysfs attribute which can be picked up by udev:

BUS="usb", KERNEL="foo", NAME="%k", SYMLINK="%s{USBPORT}"

It may be that the USB port already exists as a sysfs attribute without
you having to explicitly code this - I can't check this at the mo.

You can find what sysfs attributes exist for your devices with something
like:
udevinfo -a -p /class/usb/(DEVICE)

Hope this helps :0)

-Oli





-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_ids93&alloc_id\x16281&op=click
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

  reply	other threads:[~2005-05-13  8:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-12 19:58 Need persistent node to USB port naming Stephen Morgan
2005-05-13  8:50 ` ocomber [this message]
2005-05-13 16:55 ` Stephen Morgan
2005-05-13 18:55 ` Greg KH
2005-05-13 23:29 ` Stephen Morgan
2005-05-14  6:04 ` Greg KH
2005-05-14 16:33 ` Ian Pilcher
2005-05-16 15:40 ` Stephen Morgan
2005-05-16 15:56 ` Greg KH
2005-05-16 21:40 ` Stephen Morgan
2005-05-16 21:53 ` Greg KH
2005-05-18 20:56 ` Stephen Morgan

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=1115974222.10045.168.camel@localhost.localdomain \
    --to=ocomber@cmedltd.com \
    --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).