No subject
Wed Jun 1 12:03:18 EDT 2011
code, and need to be reworked to allow multiplatform kernels. irq
controllers (or at least the root ones) are initialized with (struct
machine_desc*)->init_irq(). lldebug is currently selected at build
time so that it is available right from head.S. That's a pretty small
list. Everything else is just another device, and I don't see
fiddling about with early registration or fiddling with init order to
be a maintainable approach in the long run. Doing so means that for
each system, someone has to /choose/ which devices are special, and
the decision could be different for each board, and for each kernel
version. It would be far better to have a driver model that treats
all devices as peers, and is intelligent enough to handle ordering
issues gracefully.
This isn't a big deal for non-DT because using individual board .c
files makes it easy to encode those per-board decisions, whereas the
DT model is a whole lot simpler if a generic & consistent approach can
be used.
g.
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the linux-arm-kernel
mailing list