From: Dmitry Torokhov <dtor_core@ameritech.net>
To: Greg KH <greg@kroah.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>,
linux-kernel@vger.kernel.org,
linux-usb-devel@lists.sourceforge.net,
Kay Sievers <kay.sievers@vrfy.org>
Subject: Re: [RFC] Changes to the driver model class code.
Date: Tue, 15 Mar 2005 22:42:33 -0500 [thread overview]
Message-ID: <200503152242.34234.dtor_core@ameritech.net> (raw)
In-Reply-To: <20050315221431.GC28880@kroah.com>
On Tuesday 15 March 2005 17:14, Greg KH wrote:
> > Ease-of-use, maybe. However, it also means
> > ease-of-getting-reference-counting-wrong. And reference counting trumps it
> > all :)
>
> It will not make the reference counting logic easier to get wrong, or
> easier to get right. It totally takes it away from the user, and makes
> them implement it themselves if they so wish (like the USB HCD patch
> does.)
Exactly, _IF_ they wish. And as practice shows proper reference counting
is not the very first thing people are concerned about.
I see the the new class interface useful in the following scenario:
- We have a proper subsystem that already does proper refcounting and
one might not want to consolidate core reference counting with
subsystems as it is too invasive.
If you consider the following scenario I do not think we want to
encourage it:
- We have "bad" system and user says "ah, I'll just use the new model
so I don't have to think about lifetime rules at the moment, I don't
have time/have something more interesting to do/I'll do that later
when I have time".
There is a third scenario:
- We have a completely new system or a system undergoing overhaul: the
coder tries to do it right and does consider all lifetime rules and
makes sure that all objects are properly accounted for. In this case
old interface is much more clear and easier to use than the new one.
I also not quite sure why a bus with its devices and drivers can be
implemented correctly (I believe we have a bunch of them now - PCI, USB,
serio, gameport) but class interface cannot be tamed?
--
Dmitry
next prev parent reply other threads:[~2005-03-16 3:42 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-15 17:08 [RFC] Changes to the driver model class code Greg KH
2005-03-15 17:09 ` Greg KH
2005-03-15 17:10 ` Greg KH
2005-03-15 17:10 ` Greg KH
2005-03-15 17:11 ` Greg KH
2005-03-15 17:47 ` Dmitry Torokhov
2005-03-15 19:34 ` Greg KH
2005-03-15 19:47 ` [linux-usb-devel] " Dmitry Torokhov
2005-03-15 20:15 ` Dominik Brodowski
2005-03-15 22:14 ` Greg KH
2005-03-16 1:01 ` Dominik Brodowski
2005-03-16 3:42 ` Dmitry Torokhov [this message]
2005-03-27 14:42 ` Dominik Brodowski
2005-03-15 19:08 ` Dominik Brodowski
2005-03-15 19:30 ` [linux-usb-devel] " Dmitry Torokhov
2005-03-15 19:34 ` Sean
2005-03-15 19:45 ` John Lenz
2005-03-15 19:51 ` Greg KH
2005-03-15 20:06 ` Dominik Brodowski
2005-03-15 20:14 ` [linux-usb-devel] " Dmitry Torokhov
2005-03-15 20:35 ` David Brownell
2005-03-15 20:48 ` Dmitry Torokhov
2005-03-15 21:14 ` David Brownell
2005-03-15 21:23 ` Dominik Brodowski
2005-03-15 22:05 ` Dmitry Torokhov
2005-03-15 22:29 ` David Brownell
2005-03-16 23:16 ` Jon Smirl
2005-03-17 6:17 ` Greg KH
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=200503152242.34234.dtor_core@ameritech.net \
--to=dtor_core@ameritech.net \
--cc=greg@kroah.com \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=linux@dominikbrodowski.net \
/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