[i2c] [PATCH, RFC] Earlier I2C initialization
David Brownell
david-b at pacbell.net
Thu Jun 12 22:21:03 CEST 2008
On Wednesday 11 June 2008, Maciej W. Rozycki wrote:
> > That being said, I'm not sure if the comparison with the PCI subsystem
> > holds... I am under the impression that PCI bus handling doesn't
> > require dedicated drivers? At least I can't see any under drivers/pci.
>
> Of course it does require them. It is just due to their very nature they
> tend to be placed under arch/,
PCI root hubs, yes. The drivers/pci/hotplug bridges are slightly
more generic, ditto drivers/pci/pcie and the CardBus bridges in
drivers/pcmcia. At one point, lack of a generic (non-hotplug) PCI
bridge driver was viewed as a weakness of that driver stack.
Also, drivers/acpi/pci_root.c binds the root at subsys_initcall.
That's done *after* some earlier PCI magic; I never bothered
to sort through that little maze.
> although there are some cases where the
> same system controller can be used for a range of processors (e.g. some
> Marvell chips can be used either with MIPS or PowerPC CPUs) and they might
> be arguably put in a place more suitable for sharing between
> architectures. See arch/mips/pci/ for an example of a generous bunch of
> PCI host drivers.
Which, for the record, get very early initialization using two
different mechanisms:
- many use arch_initcall()
- the "arch" subtree is linked before the "drivers" subtree
I don't think I2C needs to worry about arch_initcall just now,
but if necessary it could initialize earlier than subsys_initcall.
- Dave
More information about the i2c
mailing list