Re: [RFC] subclasses in sysfs to solve world peace

Kay Sievers
2005-09-16T02:43:54Z

On Thu, Sep 15, 2005 at 09:36:08PM -0500, Dmitry Torokhov wrote:
> On Thursday 15 September 2005 21:14, Kay Sievers wrote:
> > On Thu, Sep 15, 2005 at 09:03:41PM -0500, Dmitry Torokhov wrote:
> > > On Thursday 15 September 2005 20:54, Kay Sievers wrote:
> > > > On Thu, Sep 15, 2005 at 08:23:43PM -0500, Dmitry Torokhov wrote:
> > > > > On Thursday 15 September 2005 20:04, Kay Sievers wrote:
> > > > > > I like that the child devices are actually below the parent device
> > > > > > and represent the logical structure. I prefer that compared to the
> > > > > > symlink-representation between the classes at the same directory
> > > > > > level which the input patches propose.
> > > > >
> > > > > Why don't we take it a step further and abandon classes altogether?
> > > > > This way everything will grow from their respective hardware devices.
> > > >
> > > > Not everything is hardware. :)
> > > >
> > > > > Class represent a set of objects with similar characteristics. In
> > > > > this regard event0 is no "lesser" than input0. Although they are
> > > > > linked they are objects of the same importance. I do want to see
> > > > > all input interfaces without scanning bunch of directories.
> > > >
> > > > No problem, how about this:
> > > > /sys/class/input/
> > > > |-- input0
> > > > | |-- event0
> > > > | | `-- dev
> > > > | `-- mouse0
> > > > | | `-- dev
> > > > |-- input1
> > > > | |-- event1
> > > > | | `-- dev
> > > > | `-- ts0
> > > > | | `-- dev
> > > > |-- mice
> > > > | `-- dev
> > > > `-- interfaces
> > > > |-- event0 ->·../input0/event0
> > > > |-- event1 ->·../input1/event1
> > > > |-- mouse0 ->·../input0/mouse0
> > > > |-- mice -> ../mice
> > > > `-- ts0 -> ../input1/ts0
> > > >
> > >
> > > I am thinking... the rule would be - when adding a class device if it
> > > has a class_device parent then it gets added to parent's directory and
> > > symlinked into class. Otherwise it gets added into class directory.
> >
> > Like this?
> >
> > /sys/class/input/
> > |-- input0
> > | |-- event0
> > | | `-- dev
> > | `-- mouse0
> > | | `-- dev
> > |-- input1
> > | |-- event1
> > | | `-- dev
> > | `-- ts0
> > | | `-- dev
> > |-- mice
> > | `-- dev
> > |-- event0 ->·input0/event0
> > |-- event1 ->·input1/event1
> > |-- mouse0 ->·input0/mouse0
> > `-- ts0 -> input1/ts0
> >
>
> No, like your first picture, except 'interfaces/mice' will be a directory,
> not a symlink, since it does not have class_device parent. I should have
> said "Otherwise it gets added into _its_ class directory".

Ah, I see. But the second model would work without any changes to
existing software. :)

Kay