From: Trent Piepho <xyzzy@speakeasy.org>
To: Simon Arlott <simon@fire.lp0.eu>
Cc: Markus Rechberger <mrechberger@gmail.com>,
Jan Engelhardt <jengelh@linux01.gwdg.de>,
Manu Abraham <abraham.manu@gmail.com>,
Linux DVB <linux-dvb@linuxtv.org>,
Linux Kernel Mailing list <linux-kernel@vger.kernel.org>,
helge.hafting@aitel.hist.no, akpm@linux-foundation.org,
torvalds@linux-foundation.org
Subject: Re: [linux-dvb] DST/BT878 module customization (.. was: Critical points about ...)
Date: Tue, 1 May 2007 15:57:47 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.58.0705011500570.309@shell2.speakeasy.net> (raw)
In-Reply-To: <4636E0E2.5020601@simon.arlott.org.uk>
On Tue, 1 May 2007, Simon Arlott wrote:
> On 30/04/07 22:17, Markus Rechberger wrote:
> > From my side I do not see any problem with that patch, if someone else
> > has a problem with it please state out the reason.
>
> I have no problem with the patch since it has nothing to do with my DVB
> card but you're only encouraging Uwe to be abusive since it seems to
> help get him what he wants:
I've been aware of the problem with dst not fully using the dvb customization
systems(*) for a long time. It came up when dvb_attach() et al were first
being integrated, well before any rejected patches or strongly worded emails
or whatever from certain people that I'm aware of.
I saw some discussion about dst by Markus, Mauro, and Andrew Morton, and since
I already know about the issues here, I felt I should post a patch for them
any other reasonable developers who might spend time on this.
If there is an abusive person, I'm not going to let it affect my behavior.
You lose if you let them influence your decisions one way, or influence them
another way.
(*) There are two customization/dependency control systems in DVB. One is
dvb_attach(), the other is DVB_FE_CUSTOMISE. They are not two entirely
separate systems, but overlap in their design a great deal.
The significant part, common to both, is the overall design of the driver
framework. DVB uses what I would describe as an object oriented system. A
driver for a certain type of hardware exports a single attach function, which
returns an object for one instance of that hardware. All control of that
hardware is done via methods defined in this object. There is typical
hierarchy, where an 'adapter' object will contain a 'frontend' object which
will contain a 'tuner' object. Of course hardware designers are not
constrained by the software frameworks we create, so sometimes it's more
complex (e.g., dst).
This design means the actual hard link between different drivers is limited to
each driver's single attach function (**). By breaking this one link, we can
control which drivers must be loaded or linked to only those necessary or
wanted. dvb_attach() and DVB_FE_CUSTOMISE are two different ways of
controlling these links.
dvb_attach() is based on symbol_request()
A. It's only useful with modules
B. It doesn't prevent drivers from being compiled
C. It allows one to build support for hardware, yet not actually load that
support until it is needed. This allows supporting a wide array of
possible hardware without a large amount of wasted resources, useful for
distribution kernels for example.
DVB_FE_CUSTOMISE is based on Kconfig and static inline stub functions
A. It works with drivers compiled into the kernel, not using modules.
B. It prevents drivers from even being compiled in the first place.
C. Disabled drivers are truly disabled, it is not possible to have support
for hardware and yet not load it.
This is useful for the smallest & simplest kernel, for set top boxes and the
like. It's entirely possible to use both at once: compile some drivers into
your kernel, leave others as modules, not compile modules for hardware you
don't have, only load the modules for the hardware you are using at the
moment, and still support hardware you might connect later.
(**) The dvb-pll module still exports more symbols than just dvb_pll_attach(),
that is why the customization systems don't fully work with it yet. It also
exports dvb_pll_configure(), an obsolete interface which only a couple
remaining users that have yet been converted. And it exports PLL definition
structs, which isn't a difficult problem and I know several ways to fix it, we
just haven't decided or actually done it yet.
next prev parent reply other threads:[~2007-05-01 22:57 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-30 21:17 Markus Rechberger
2007-05-01 6:40 ` [linux-dvb] " Simon Arlott
2007-05-01 9:00 ` Markus Rechberger
2007-05-01 9:31 ` Uwe Bugla
2007-05-01 22:57 ` Trent Piepho [this message]
2007-05-02 13:30 ` Manu Abraham
2007-05-02 15:51 ` Uwe Bugla
2007-05-02 16:43 ` Manu Abraham
2007-05-02 16:45 ` Manu Abraham
2007-05-02 17:33 ` Markus Rechberger
2007-05-03 11:20 ` Uwe Bugla
2007-05-03 14:44 ` Manu Abraham
2007-05-03 15:31 ` Uwe Bugla
2007-05-03 15:48 ` Manu Abraham
2007-05-03 15:59 ` Markus Rechberger
2007-05-03 16:17 ` Manu Abraham
2007-05-03 17:19 ` Markus Rechberger
[not found] ` <1178215045.12651.124.camel@localhost>
2007-05-03 19:03 ` Manu Abraham
2007-05-03 21:00 ` Markus Rechberger
2007-05-03 21:42 ` Manu Abraham
2007-05-03 22:06 ` Markus Rechberger
2007-05-03 22:31 ` Manu Abraham
2007-05-03 23:09 ` Markus Rechberger
2007-05-04 0:47 ` hermann pitton
2007-05-04 1:30 ` Uwe Bugla
2007-05-04 0:07 ` Uwe Bugla
2007-05-05 18:06 ` Mauro Carvalho Chehab
2007-05-05 18:46 ` Manu Abraham
2007-05-07 20:54 ` Mauro Carvalho Chehab
2007-05-07 21:25 ` Manu Abraham
2007-05-07 21:34 ` Michael Krufky
2007-05-07 21:49 ` Manu Abraham
2007-05-07 21:51 ` Uwe Bugla
[not found] ` <a3ef07920705031119x332db12dob997e5ebc6a8e218@mail.gmail.com>
2007-05-03 20:49 ` Markus Rechberger
2007-05-03 16:25 ` Uwe Bugla
2007-05-03 16:05 ` Uwe Bugla
2007-05-03 16:15 ` Manu Abraham
2007-05-03 16:30 ` Michael Krufky
2007-05-03 16:35 ` Manu Abraham
2007-05-07 23:33 ` Trent Piepho
2007-05-08 0:00 ` Manu Abraham
2007-05-01 14:55 ` Mauro Carvalho Chehab
2007-05-01 16:40 ` [linux-dvb] " Uwe Bugla
2007-05-01 18:30 ` Uwe Bugla
2007-05-01 18:50 ` Simon Arlott
2007-05-01 19:34 ` Uwe Bugla
2007-05-01 20:35 ` Simon Arlott
2007-05-01 21:29 ` Uwe Bugla
2007-05-01 19:20 ` e9hack
2007-05-01 19:26 ` Uwe Bugla
2007-05-01 23:16 ` Trent Piepho
2007-05-02 2:03 ` Mauro Carvalho Chehab
2007-05-02 11:10 ` Trent Piepho
2007-05-02 12:04 ` Uwe Bugla
2007-05-03 14:02 ` Mauro Carvalho Chehab
2007-05-03 15:15 ` Manu Abraham
2007-05-03 15:36 ` Uwe Bugla
2007-05-04 5:13 ` Trent Piepho
2007-05-04 9:23 ` Mauro Carvalho Chehab
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.0705011500570.309@shell2.speakeasy.net \
--to=xyzzy@speakeasy.org \
--cc=abraham.manu@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=helge.hafting@aitel.hist.no \
--cc=jengelh@linux01.gwdg.de \
--cc=linux-dvb@linuxtv.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mrechberger@gmail.com \
--cc=simon@fire.lp0.eu \
--cc=torvalds@linux-foundation.org \
/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