Re: [PATCH 30/47] Driver core: create devices/virtual/ tree

Dmitry Torokhov
2006-09-26T17:15:25Z

On 9/26/06, Greg KH <greg@kroah.com> wrote:
> On Tue, Sep 26, 2006 at 09:51:04AM -0400, Dmitry Torokhov wrote:
> > On 9/26/06, Greg KH <greg@kroah.com> wrote:
> > >On Tue, Sep 26, 2006 at 09:24:15AM -0400, Dmitry Torokhov wrote:
> > >> On 9/26/06, Greg KH <greg@kroah.com> wrote:
> > >> >From: Greg Kroah-Hartman <gregkh@suse.de>
> > >> >
> > >> >This change creates a devices/virtual/CLASS_NAME tree for struct devices
> > >> >that belong to a class, yet do not have a "real" struct device for a
> > >> >parent. It automatically creates the directories on the fly as needed.
> > >> >
> > >>
> > >> Why do you need multiple virtual devices? All parentless class devices
> > >> could grow from a single virtual device.
> > >
> > >They could, but it's a mess of a single directory if you do that.
> > >Having /sys/devices/virtual/tty/ as a place for all tty virtual device
> > >is nicer than /sys/devices/virtual/ as a single place for all of them
> > >(mem, network, tty, misc, etc.)
> > >
> >
> > You supposed to use classes for classification, and devices to
> > represent the tree so that would be /sys/class/tty/...
>
> Yes, the symlink is still in /sys/class/tty, that hasn't gone away:
> $ tree /sys/class/tty/
> /sys/class/tty/
> |-- console -> ../../devices/virtual/tty/console
> |-- ptmx -> ../../devices/virtual/tty/ptmx
> |-- tty -> ../../devices/virtual/tty/tty
> |-- tty0 -> ../../devices/virtual/tty/tty0
> |-- tty1 -> ../../devices/virtual/tty/tty1
> |-- tty10 -> ../../devices/virtual/tty/tty10
> ...
>
> It's just that /sys/devices/virtual would look very messy otherwise:

It is supposed to be messy - it shows "physical" connections. If you
want to have nice separation look in /dev/class...

> $ ls /sys/devices/virtual/
> cpuid input mem misc msr net pci_bus ppp sound tty vc vtconsole
>
> $ ls /sys/devices/virtual/*/ | wc -l
> 133
>
> Also, that would mean that we could not have the name of a device
> associated with a class to be the same as any other device associated
> with any other class. In the future that might be a problem, as our
> namespace is only so big :)
>

That is a better reason for separating it but I don;t think we have
clashes right now and as we converting more and more drivers to the
driver model your virtual directory should start shrinking, not
growing.

--
Dmitry