Re: Linux 2.6.26-rc1

From: Stefan Richter
Date: Tue May 06 2008 - 15:46:02 EST


Mauro Carvalho Chehab wrote:
On Tue, 06 May 2008 16:34:27 +0200
Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote:
But it is /trivial/ to fix. If A selects B, you have to copy all of B's
dependencies to A or select these dependencies by A.

So it's totally simple to do it right. The only nuisance is that you
always have to update B's dependencies and selections whenever A's
dependencies are changed.

This is easy to maintain, if you have just a few selects, but this is not the
case of V4L drivers. Look some examples:

IVTV driver:
[...]
You may argue to not use select, but it is really hard to avoid, since each of
those main drivers (cx88, ivtv, bttv, etc) supports a large number of different
devices, that needs different chips. Most V4L/DVB devices has an internal I2C
bus that gives the flexibility for the board manufacturers to add/replace the
internal components at the i2c bus. So, the Kernel uses abstraction layers that
allows that the same driver to use different internal components.

Shouldn't layers actually untangle dependencies, i.e. concentrate dependencies? A "high-level driver" does not depend on "low-level drivers" and the low-level drivers' dependencies anymore. It only depends on a "core driver" and on foreign subsystem APIs.

And yes, the core driver may very well provide some functionality which not all of the high-level drivers need, or not all of the low-level drivers are able to support.

(All theoretical since I have no idea of what kinds of modules of functionality you have/need and whether it really can be simpler organized.)
--
Stefan Richter
-=====-==--- -=-= --==-
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/