Re: [PATCH, RFC] Earlier I2C initialization

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: David Brownell
Date: Tuesday, June 10, 2008 - 1:55 pm

> > >>> i2c should really be initialised before framebuffer devices because

That's only one of many examples.  The more general reason to
want to change the position of I2C so it's early in the link
order (like many other "system" busses) is to ensure that I2C
drivers can rely on that initialization no matter where they
are in *link order* ... it's not just an init sequence issue.



If they happen to sit outside the I2C tree and *before* it in
link order, things will misbehave.

Agreed init sequencing declarations should Do The Right Thing.
But those declarations are of two types:  *_initcall() stuff,
and link order.  We've seen cases where the initcalls alone are
insufficient.


The gpiochip_add() function needed a bit of care to ensure that
platforms can use GPIOs well before tasking and IRQs work, and
thus before any initcalls run.  So that's not a problem.

Re PCI ... someone could investigate.


For the record, the OMAP tree puts I2C in the link order
later than this.  It wasn't moved earlier mostly out of
paranoia like yours.  (See below.  I'm not sure why "cbus"
is listed twice, or what OMAP boards have similar issues
with serio ...)

- Dave

# we also need input/serio early so serio bus is initialized by the time
# serial drivers start registering their serio ports
obj-$(CONFIG_SERIO)             += input/serio/
obj-y                           += serial/
obj-$(CONFIG_PARPORT)           += parport/
obj-y                           += base/ block/ misc/ mfd/ net/ media/ cbus/
obj-y                           += i2c/
obj-y                           += cbus/
obj-$(CONFIG_ARCH_OMAP)         += dsp/dspgateway/
obj-$(CONFIG_NUBUS)             += nubus/
obj-$(CONFIG_ATM)               += atm/
obj-y                           += macintosh/
obj-$(CONFIG_IDE)               += ide/
obj-$(CONFIG_SCSI)              += scsi/
obj-$(CONFIG_ATA)               += ata/
obj-$(CONFIG_FUSION)            += message/
 
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Mon Jun 9, 2:27 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Mon Jun 9, 11:57 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Uli Luckas, (Tue Jun 10, 2:46 am)
Re: [PATCH, RFC] Earlier I2C initialization, David Brownell, (Tue Jun 10, 1:55 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Tue Jun 10, 2:33 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Tue Jun 10, 8:12 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Wed Jun 11, 12:40 am)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Wed Jun 11, 1:11 am)
Re: [PATCH, RFC] Earlier I2C initialization, Russell King - ARM Linux, (Wed Jun 11, 2:00 am)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Wed Jun 11, 2:14 am)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Wed Jun 11, 5:05 am)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Wed Jun 11, 5:18 am)
Re: [PATCH, RFC] Earlier I2C initialization, David Brownell, (Wed Jun 11, 11:31 am)
Re: [PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Wed Jun 11, 1:13 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Wed Jun 11, 1:23 pm)
Re: [PATCH, RFC] Earlier I2C initialization, David Brownell, (Wed Jun 11, 1:27 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Wed Jun 11, 1:54 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Wed Jun 11, 2:24 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Maciej W. Rozycki, (Wed Jun 11, 2:31 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Thu Jun 12, 11:44 am)
Re: [PATCH, RFC] Earlier I2C initialization, David Brownell, (Thu Jun 12, 12:57 pm)
Re: [PATCH, RFC] Earlier I2C initialization, David Brownell, (Thu Jun 12, 1:21 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Tue Jun 24, 9:39 am)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Tue Jun 24, 10:06 am)
Re: [PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Thu Jun 26, 2:12 pm)
Re: [PATCH, RFC] Earlier I2C initialization, Jean Delvare, (Fri Jun 27, 3:41 am)
Re: [PATCH, RFC] Earlier I2C initialization, Ryan Mallon, (Sun Jun 29, 1:34 pm)