From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: Adam Belay <ambx1@neo.rr.com>, Greg KH <gregkh@suse.de>,
Vojtech Pavlik <vojtech@suse.cz>, Hannes Reinecke <hare@suse.de>,
Patrick Mochel <mochel@digitalimplant.org>,
airlied@linux.ie, linux-kernel@vger.kernel.org
Subject: Re: [patch 0/8] Nesting class_device patches that actually work
Date: Tue, 18 Oct 2005 10:41:57 -0500 [thread overview]
Message-ID: <d120d5000510180841o12799ce1jd910a4f57b67c64@mail.gmail.com> (raw)
In-Reply-To: <20051018150833.GA7890@vrfy.org>
On 10/18/05, Kay Sievers <kay.sievers@vrfy.org> wrote:
> On Tue, Oct 18, 2005 at 03:18:22AM -0400, Adam Belay wrote:
> > On Mon, Oct 17, 2005 at 10:26:17PM -0700, Greg KH wrote:
> > > On Mon, Oct 17, 2005 at 07:24:30PM -0400, Adam Belay wrote:
> > > >
> > > > Sounds good to me. The changes to driver model internals may be substantial.
> > > > For example, because buses and classes will share more code, it's
> > > > reasonable to allow drivers to bind to any "device" object, even class
> > > > devices. Of course this would be limited to classes that choose to
> > > > implement driver matching etc. We are doing this now with the pci express
> > > > port driver.
> > >
> > > That's a bus, not a class device. Drivers bind to devices through a
> > > bus. That's why we have busses.
> >
> > If class devices and devices belong in the same tree, then clearly the original
> > distinction is artificial. "struct bus_type" is a class of "struct device".
> > "struct class" is a class of "struct class_dev". We now know of devices
> > in between these two extremes (e.g. pci express port driver). It's also
> > possible that drivers will want to bind to class devices (e.g. a partition
> > driver binding to a block device). Isn't it fair to say that the "bus_type"
> > vs. "class" distinction is also artificial? At the very least they are
> > duplicating some code.
>
> I agree and would like to see the "bus" functionality just as set of special
> methods of a unified device struture also used for class devices.
>
> > > > > Oh, one tiny problem. "virtual devices" are not currently represented
> > > > > in our device tree, but are in the class tree. Things like the
> > > > > different vc and ttys and misc devices are examples of this. I'll just
> > > > > put them on the "platform" bus if no one minds.
> > > >
> > > > I think we should be trying to kill off the platform bus (it's artifical and
> > > > doesn't show the real relationships between these devices). Instead, just
> > > > hang them off the root of the tree.
> > >
> > > Everything that's currently a platform device go to the root? No,
> > > that's not going to happen, sorry.
>
> But will sticking stuff like "mice" or "tty" into "platform" will really
> work? These devices belong to their own primary class like "input" or "tty" and
> they can not be part of a "bus" at the same time, right?
>
> I'm dreaming of:
> - merging "struct device" and "struct class_device"
>
> - provide current "bus" and "class" methodes for _all_ devices
>
This way you are fattening object interface and I don't think it is a
good thing. While we may want to have sysfs representation of all
devices be in /sys/devices internally we should keep the interfaces
and implementation clean and do not turn it into a kitchen sink.
--
Dmitry
next prev parent reply other threads:[~2005-10-18 15:41 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20051013014147.235668000@echidna.kroah.org>
2005-10-13 2:08 ` Greg KH
2005-10-13 2:10 ` Greg KH
2005-10-13 23:38 ` Kay Sievers
2005-10-13 2:10 ` [patch 1/8] Driver Core: add the ability for class_device structures to be nested Greg KH
2005-10-13 2:10 ` [patch 2/8] Driver Core: fix up all callers of class_device_create() Greg KH
2005-10-13 2:10 ` [patch 3/8] Driver Core: document struct class_device properly Greg KH
2005-10-13 2:10 ` [patch 4/8] input: register the input class device sooner Greg KH
2005-10-13 2:10 ` [patch 5/8] input: export input_dev_class so that input drivers can use it Greg KH
2005-10-13 2:10 ` [patch 6/8] input: move the input class devices under their new input_dev devices Greg KH
2005-10-13 2:11 ` [patch 7/8] input: remove the input_class structure, as it is unused Greg KH
2005-10-13 2:11 ` [patch 8/8] input: rename input_dev_class to input_class to be correct Greg KH
2005-10-13 6:38 ` [patch 0/8] Nesting class_device patches that actually work Vojtech Pavlik
2005-10-13 21:21 ` Dmitry Torokhov
2005-10-13 10:58 ` Kay Sievers
2005-10-13 21:35 ` Dmitry Torokhov
2005-10-13 23:37 ` Hannes Reinecke
2005-10-14 8:45 ` Kay Sievers
2005-10-14 12:14 ` Kay Sievers
2005-10-14 12:49 ` linux-os (Dick Johnson)
2005-10-14 13:49 ` Kay Sievers
2005-10-17 10:02 ` Vojtech Pavlik
2005-10-18 5:13 ` Dmitry Torokhov
2005-10-14 17:02 ` Dmitry Torokhov
2005-10-15 15:08 ` Kay Sievers
2005-10-17 5:41 ` Dmitry Torokhov
2005-10-17 21:44 ` Greg KH
2005-10-17 21:54 ` Dmitry Torokhov
2005-10-17 23:26 ` Adam Belay
2005-10-18 0:03 ` Kay Sievers
2005-10-17 23:24 ` Adam Belay
2005-10-17 23:44 ` Kay Sievers
2005-10-18 5:26 ` Greg KH
2005-10-18 7:18 ` Adam Belay
2005-10-18 7:54 ` Greg KH
2005-10-18 8:34 ` Vojtech Pavlik
2005-10-18 15:08 ` Kay Sievers
2005-10-18 15:41 ` Dmitry Torokhov [this message]
2005-10-18 6:04 ` Greg KH
2005-10-18 7:05 ` Greg KH
2005-10-18 7:35 ` Greg KH
2005-10-17 9:26 ` Vojtech Pavlik
2005-12-01 18:59 ` Patrick Mochel
2005-10-14 9:52 ` Christoph Hellwig
2005-10-14 16:36 ` Dmitry Torokhov
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=d120d5000510180841o12799ce1jd910a4f57b67c64@mail.gmail.com \
--to=dmitry.torokhov@gmail.com \
--cc=airlied@linux.ie \
--cc=ambx1@neo.rr.com \
--cc=dtor_core@ameritech.net \
--cc=gregkh@suse.de \
--cc=hare@suse.de \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mochel@digitalimplant.org \
--cc=vojtech@suse.cz \
/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
Powered by JetHome