public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arne Caspari <arnem@informatik.uni-bremen.de>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Ben Collins <bcollins@debian.org>, Adrian Bunk <bunk@stusta.de>,
	linux1394-devel@lists.sourceforge.net,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [2.6 patch] ieee1394_core.c: remove unneeded EXPORT_SYMBOL's
Date: Tue, 21 Dec 2004 09:33:45 +0100	[thread overview]
Message-ID: <41C7DFE9.5070604@informatik.uni-bremen.de> (raw)
In-Reply-To: <1103573716.31512.10.camel@localhost.localdomain>

Alan Cox wrote:
> On Llu, 2004-12-20 at 15:46, Ben Collins wrote:
> 
>>>You might as well remove the ifdef if you do that since vendors will
>>>have to guess what the right answer is an will probably uniformly say
>>>"Y". At that point its basically a non-option. Far better to submit the
>>>driver
>>
>>You are missing the point though. Lots of these are part of our API, and
> 
> 
> I think you missed my point. Any vendor faced with that Config option
> will say Y so almost every tree will always have it - so why ask as
> opposed to keeping the status quo.

My concerns with this option is actually that some mainstream 
distribution will say "N" here accidentally. So every customer with this 
distribution will call us and require intense support. If Linux will 
cause intense support, it will just not be supported at all because 
Windows support is almost zero in this regard and we make almost zero 
profits with Linux sales - and 99.99 % of our income with Windows sales.

> Sure but if Adrian was trying to just tidy licensing issues he'd submit
> a switch to EXPORT_SYMBOL_GPL. (Admittedly for anything as closely tied
> as the innards of the ieee1394 layer its probably implied anyway).

I do not see the licensing issue of a stable kernel API where venders 
can rely on. Our driver is GPL so there should no be a licensing issue.


The reason why I have not submitted this driver is as follows:

If I submit a driver and there is a firmware change in our device that 
breaks compatibility to older drivers ( as there once was ), customers 
which get the new devices will have a driver that is not working. So 
each customer asks us for support and we need to guide him to replace 
the kernel driver with the new one. This situation will remain until 
mainstream distributions update their kernel.

In the current situation we just have a website which says that you have 
to get the driver from sourceforge and compile it yourself. This works 
rather good: Customers that bought a device automatically got the right 
driver. And if I need to make some changes in the driver ( ie. fix bugs 
or add functionality ), I do not need to wait until the patches go into 
mainstream distributions ( you can not wait for that ) but just update 
the SF site and let the customer go through the same steps he already 
had gone through in the beginning.

It is all about avoiding ( expensive ) support. I can not stress this 
point enough: If supporting Linux becomes a cost factor it will just not 
be supported. There is virtually no profit for us in this market.

> There are two conflicting goals here - to have clean complete API's and
> to stamp out the large number of unused, historic and at times bogus
> exports. If these API's are needed and used then they should stay just
> as some others elsewhere in the kernel have.

On Windows I can rely on a stable kernel API for many years now. We have 
single drivers that work on the WindowsXP of today and also work on 
Windows 2000 which is almost 5 years old. They would most likely even 
work on Windows98 if we would support that platform. Windows circumvents 
the symbol export problem by using their IO Request Blocks etc. which 
makes things more complicated but at least stable.

Linux does not have such a model. So in my eyes, special care has to be 
taken to generate an API that is valid today and will remain valid for 
some years. Vendors need to be able to rely on a stable API.

I would take it like in a library: The API should not change between 
minor versions - likewise it should be stable in the kernel among all 
2.6.x versions. If it changes to version 2.7.x or 2.8.x it would be OK 
since we could release a driver for a 2.8.x tree then.

  /Arne

  reply	other threads:[~2004-12-21  8:38 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-20  1:53 [2.6 patch] ieee1394_core.c: remove unneeded EXPORT_SYMBOL's Adrian Bunk
2004-12-20  2:10 ` Dan Dennedy
2004-12-20  2:25   ` Adrian Bunk
2004-12-20  2:42     ` Lee Revell
2004-12-20  4:27       ` Dan Dennedy
2004-12-20 22:53         ` Adrian Bunk
2004-12-20 22:58           ` Lee Revell
2004-12-20 23:02             ` Adrian Bunk
2004-12-20 23:21               ` Lee Revell
2004-12-21  0:40               ` Alan Cox
2004-12-21 17:17             ` Greg KH
2004-12-21 17:20               ` Lee Revell
2004-12-21 17:27                 ` Greg KH
2004-12-21 22:19                 ` Theodore Ts'o
2004-12-22 14:08                   ` Alan Cox
2004-12-20  9:01 ` Arne Caspari
2004-12-20 12:15   ` Arjan van de Ven
2004-12-20 13:20     ` Arne Caspari
2004-12-20 14:35       ` Alan Cox
2004-12-22  8:29       ` Arjan van de Ven
2004-12-22  8:57         ` Stefan Richter
2004-12-22 12:01           ` Christoph Hellwig
2004-12-22 12:21             ` Arne Caspari
2004-12-22 16:04             ` Stefan Richter
2004-12-20 14:39   ` Ben Collins
2004-12-20 15:15     ` Alan Cox
2004-12-20 15:46       ` Ben Collins
2004-12-20 20:15         ` Alan Cox
2004-12-21  8:33           ` Arne Caspari [this message]
2004-12-21 12:00             ` Adrian Bunk
2004-12-21 12:49               ` Arne Caspari
2004-12-21 17:15                 ` Greg KH
2004-12-21 18:51                   ` Arne Caspari
2004-12-21 18:58                     ` Greg KH
2004-12-20 17:51   ` Adrian Bunk
2004-12-20 21:05     ` Lee Revell
2004-12-20 21:49       ` girish wadhwani
2004-12-21  8:37         ` Arne Caspari
2004-12-21  9:06           ` Bernard Leach
2004-12-21 23:35         ` Pieter Palmers
2004-12-22  0:56           ` Lee Revell
2004-12-21  0:42     ` updated: " Adrian Bunk
2004-12-21  8:46       ` Arne Caspari
2004-12-21 17:13         ` 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=41C7DFE9.5070604@informatik.uni-bremen.de \
    --to=arnem@informatik.uni-bremen.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bcollins@debian.org \
    --cc=bunk@stusta.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.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