linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hannu Savolainen <hannu@opensound.com>
To: viro@parcelfarce.linux.theplanet.co.uk
Cc: Linus Torvalds <torvalds@osdl.org>, Larry McVoy <lm@bitmover.com>,
	Andre Hedrick <andre@linux-ide.org>,
	Arjan van de Ven <arjanv@redhat.com>,
	Valdis.Kletnieks@vt.edu,
	Kendall Bennett <KendallB@scitechsoft.com>,
	linux-kernel@vger.kernel.org
Subject: Re: Driver API (was Re: Linux GPL and binary module exception clause?)
Date: Thu, 11 Dec 2003 14:47:49 +0200 (EET)	[thread overview]
Message-ID: <Pine.LNX.4.58.0312111427530.12975@zeus.compusonic.fi> (raw)
In-Reply-To: <20031211100627.GJ4176@parcelfarce.linux.theplanet.co.uk>

On Thu, 11 Dec 2003 viro@parcelfarce.linux.theplanet.co.uk wrote:

> It doesn't work.  Let me give you an example: right now we have a way to get
> from struct inode to struct block device - inode->i_bdev.  You can wrap it
> into helper functions, whatever - it won't live to 2.8.
>
> 	Why?  Because if we want to handle device removal in a sane way, that
> association will have to go.  We will still have a need (and a way) to get
> from opened struct file of block device to its struct block_device.  And _that_
> association will remain stable through the entire life of struct file.  Even
> when the mapping from inode to block device gets changed.
I don't see this as a problem. I'm talking about an ABI for _character_
drivers only. Everybody who needs a "loosely coupled" device driver
will probably want to implement a character driver. If you look at any
operating systems there are very few differences between the character
driver interfaces of them. There have not been any dramatic changes in
this interface since Linux 0.99.x times. Some parameters have changed but
that's almost it.

Block devices, network devices and things like that are tighter coupled
by nature. I don't eventry to claim it's going to be possible to create
an ABI for them. At least I don't see it necessary.

In a charcter driver all you need to know from the inode structure is
basicly just the device (minor) number. It's not hard to implement the
ABI layer so that the minor number can be provided regardless of the
changes made to the kernel behind it.

To the client driver the ABI "wrapper" is a black box. It can't
see what is inside the box. In particular it can't see the kernel behind
it. If something changes in the kernel some changes are needed to the
internals of the box too.

Best regards,

Hannu
-----
Hannu Savolainen (hannu@opensound.com)
http://www.opensound.com (Open Sound System (OSS))
http://www.compusonic.fi (Finnish OSS pages)
OH2GLH QTH: Karkkila, Finland LOC: KP20CM

  reply	other threads:[~2003-12-11 12:48 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-04 23:50 Linux GPL and binary module exception clause? Paul Adams
2003-12-05  0:07 ` Nick Piggin
2003-12-05  2:07   ` Kendall Bennett
2003-12-05 15:57     ` Thierry Vignaud
2003-12-05  4:23   ` Peter Chubb
2003-12-05  4:42     ` Nick Piggin
2003-12-05  8:23       ` Peter Chubb
2003-12-05 17:19         ` Linus Torvalds
2003-12-05 18:42           ` Jeremy Fitzhardinge
2003-12-05  5:13     ` Valdis.Kletnieks
2003-12-05  5:26       ` Hua Zhong
2003-12-05  6:34       ` David Schwartz
2003-12-05  6:58         ` Linus Torvalds
2003-12-05 11:16           ` David Schwartz
2003-12-05 13:34             ` Anders Karlsson
2003-12-05 14:03             ` Ryan Anderson
2003-12-05 16:38               ` Shawn Willden
2003-12-05 16:54                 ` Arjan van de Ven
2003-12-05 17:03                   ` Shawn Willden
2003-12-05 22:36                   ` Derek Fawcus
2003-12-05 17:34                 ` Linus Torvalds
2003-12-05 17:35               ` Hua Zhong
2003-12-05 18:12                 ` Filip Van Raemdonck
2003-12-05 18:37                   ` Hua Zhong
2003-12-05 19:56                     ` 'Filip Van Raemdonck'
2003-12-05 20:26                       ` Hua Zhong
2003-12-06  0:08                         ` Filip Van Raemdonck
2003-12-05 19:55               ` David Schwartz
2003-12-05 20:14                 ` Linus Torvalds
2003-12-05 21:16                   ` Shawn Willden
2003-12-09  0:17                   ` Kernel 2.6-test10 on an Opteron Ananda Bhattacharya
2003-12-09 12:16                     ` Petr Sebor
2003-12-09 20:31                     ` bill davidsen
2003-12-08 15:38                 ` Linux GPL and binary module exception clause? Jesse Pollard
2003-12-05 14:59             ` Jesse Pollard
2003-12-05 19:15               ` Kendall Bennett
2003-12-05 18:44           ` Kendall Bennett
2003-12-05 19:09             ` Valdis.Kletnieks
2003-12-05 19:22               ` Arjan van de Ven
2003-12-10 13:52                 ` Andre Hedrick
2003-12-10 15:18                   ` Linus Torvalds
2003-12-10 15:32                     ` Larry McVoy
2003-12-10 16:21                       ` Linus Torvalds
2003-12-10 16:34                         ` Larry McVoy
2003-12-10 17:10                           ` Linus Torvalds
2003-12-10 17:25                             ` Chris Friesen
2003-12-10 17:58                               ` Linus Torvalds
2003-12-10 17:56                             ` Larry McVoy
2003-12-10 18:02                               ` Linus Torvalds
2003-12-10 18:08                                 ` Larry McVoy
2003-12-10 18:17                                   ` Linus Torvalds
2003-12-10 18:38                                     ` Larry McVoy
2003-12-10 19:15                                       ` Linus Torvalds
2003-12-11  0:50                                         ` Driver API (was Re: Linux GPL and binary module exception clause?) Hannu Savolainen
2003-12-11  4:01                                           ` Peter Chubb
2003-12-11 15:47                                             ` Jason Kingsland
2003-12-11 22:47                                               ` Peter Chubb
2003-12-11 10:06                                           ` viro
2003-12-11 12:47                                             ` Hannu Savolainen [this message]
2003-12-11 13:33                                               ` viro
2003-12-11 14:54                                                 ` Hannu Savolainen
2003-12-10 18:37                                   ` Linux GPL and binary module exception clause? Jan-Benedict Glaw
2003-12-10 19:51                                 ` Hua Zhong
2003-12-10 20:09                                 ` Andre Hedrick
2003-12-11  1:24                               ` Andrew Pimlott
2003-12-11  7:43                               ` Rob Landley
2003-12-11  8:11                                 ` Hua Zhong
2003-12-11  8:37                                   ` Rob Landley
2003-12-11 18:22                                     ` Hua Zhong
2003-12-11 21:20                                     ` Andre Hedrick
2003-12-11 21:59                                       ` Rob Landley
2003-12-11 22:42                                         ` Andre Hedrick
2003-12-12  5:39                                           ` Rob Landley
2003-12-12  7:21                                             ` Andre Hedrick
2003-12-12  7:39                                               ` Rob Landley
2003-12-12  7:56                                                 ` Andre Hedrick
2003-12-12  9:27                                                   ` Rob Landley
2003-12-10 18:14                             ` David Schwartz
2003-12-10 18:21                               ` Linus Torvalds
2003-12-10 19:48                             ` Kendall Bennett
2003-12-11  7:32                           ` Rob Landley
2003-12-11 14:03                             ` Geert Uytterhoeven
2003-12-10 22:49                         ` Oliver Hunt
2003-12-10 17:15                     ` Hua Zhong
2003-12-10 17:42                       ` Linus Torvalds
2003-12-10 19:32                         ` Andre Hedrick
2003-12-10 22:43                           ` Jason Kingsland
2003-12-10 22:49                             ` Andre Hedrick
2003-12-10 23:11                           ` Linus Torvalds
2003-12-10 23:24                             ` Andre Hedrick
2003-12-10 19:48                         ` Kendall Bennett
2003-12-10 21:15                           ` viro
2003-12-10 22:36                             ` Kendall Bennett
2003-12-10 23:13                               ` viro
2003-12-11 15:29                               ` Jesse Pollard
2003-12-11 18:47                                 ` Kendall Bennett
2003-12-11 18:55                                   ` Nick Piggin
2003-12-11 22:18                                   ` Jesse Pollard
2003-12-10 22:18                           ` Larry McVoy
2003-12-10 22:25                             ` Andre Hedrick
2003-12-10 23:38                             ` Linus Torvalds
2003-12-11  1:03                               ` Larry McVoy
2003-12-11 14:46                                 ` Ingo Molnar
2003-12-10 23:39                             ` Andrea Arcangeli
2003-12-11 17:44                             ` Robin Rosenberg
2003-12-11 17:56                               ` Valdis.Kletnieks
2003-12-11 18:16                                 ` Nick Piggin
2003-12-11 18:50                                 ` Mihai RUSU
2003-12-11 18:37                               ` David Schwartz
2003-12-11 12:04                         ` David Woodhouse
2003-12-10 17:49                       ` Jörn Engel
2003-12-10 18:16                     ` Andre Hedrick
2003-12-05 19:25               ` Kendall Bennett
2003-12-05 19:26             ` Linus Torvalds
2003-12-05 15:50         ` Valdis.Kletnieks
2003-12-05 18:44         ` Kendall Bennett
2003-12-06  0:02           ` Maciej Zenczykowski
2003-12-05 18:44       ` Kendall Bennett
2003-12-10 13:16       ` Andre Hedrick
2003-12-10 15:02         ` Jesse Pollard
2003-12-10 20:37           ` Theodore Ts'o
2003-12-11 16:26             ` Jesse Pollard
2003-12-05 13:52   ` Richard B. Johnson
2003-12-05  0:09 ` Oliver Hunt
2003-12-05 10:55   ` Russell King
2003-12-05  0:46 ` Erik Andersen
2003-12-05  0:58   ` Zwane Mwaikambo
2003-12-05  1:03     ` Erik Andersen
2003-12-05  1:21       ` Larry McVoy
2003-12-05  1:30         ` Hua Zhong
2003-12-05  1:58         ` Linus Torvalds
2003-12-06  3:00           ` Larry McVoy
2003-12-06  4:39             ` Linus Torvalds
2003-12-06  5:14               ` Larry McVoy
2003-12-06  5:48                 ` Linus Torvalds
2003-12-06 17:14                   ` Larry McVoy
2003-12-06 15:38                 ` Theodore Ts'o
2003-12-06 16:47                   ` Jason Kingsland
2003-12-06 21:30                   ` David Schwartz
2003-12-06 21:42                     ` Larry McVoy
2003-12-07 13:01               ` Ingo Molnar
2003-12-07 22:11                 ` Rob Landley
2003-12-06 14:13             ` Andrew Pimlott
2003-12-06 17:50               ` Larry McVoy
2003-12-06 21:19                 ` Theodore Ts'o
2003-12-06 21:45                   ` Larry McVoy
2003-12-08 16:34                 ` Andrew Pimlott
2003-12-11 12:37           ` David Woodhouse
2003-12-11 12:42             ` Andre Hedrick
2003-12-11 12:58               ` David Woodhouse
2003-12-12 20:26                 ` Brian Beattie
2003-12-13 12:03                   ` David Woodhouse
2003-12-13 15:04                     ` jeff millar
2003-12-13 17:27                     ` Gene Heskett
2003-12-14  0:51                     ` Linux, Inc. (Re: Linux GPL and binary module exception clause?) Andre Hedrick
2003-12-14  1:06                       ` Andre Hedrick
2003-12-14  2:40                         ` David S. Miller
2003-12-14  2:37                           ` Andre Hedrick
2003-12-14  6:55                         ` Rob Landley
2003-12-14  6:35                       ` Rob Landley
2003-12-11 13:54             ` Linux GPL and binary module exception clause? Andrew Pimlott
2003-12-11 15:12               ` David Woodhouse
2003-12-05  3:58         ` Jason Kingsland
2003-12-05  1:58   ` David Schwartz
2003-12-05  4:58     ` Erik Andersen
2003-12-05  6:34       ` David Schwartz
2003-12-05  6:43         ` Linus Torvalds
2003-12-05  2:07   ` Kendall Bennett
2003-12-05  7:39     ` Stefan Smietanowski
2003-12-05  1:47 ` Linus Torvalds
2003-12-10 12:57   ` Andre Hedrick
2003-12-10 15:14     ` Linus Torvalds
2003-12-10 15:25       ` Larry McVoy
2003-12-10 18:58         ` Andre Hedrick
2003-12-12 19:40     ` Pavel Machek
2003-12-12 22:08       ` Andre Hedrick
2003-12-12 23:06         ` Jamie Lokier
2003-12-12 23:43         ` Pavel Machek
2003-12-15 18:01     ` Adam Sampson
2003-12-15 21:12       ` Andre Hedrick

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=Pine.LNX.4.58.0312111427530.12975@zeus.compusonic.fi \
    --to=hannu@opensound.com \
    --cc=KendallB@scitechsoft.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=andre@linux-ide.org \
    --cc=arjanv@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm@bitmover.com \
    --cc=torvalds@osdl.org \
    --cc=viro@parcelfarce.linux.theplanet.co.uk \
    /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).