i2c: Do earlier driver model init

Move I2C driver model init earlier in the boot sequence.

This avoids oopsing in statically linked systems when some
subsystems register I2C drivers in subsys_initcall() code,
but those subsystems are linked (and initialized) before I2C.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
David Brownell 2008-10-14 17:30:06 +02:00 committed by Jean Delvare
parent f1453ee3a4
commit a10f9e7caf

View File

@ -986,7 +986,10 @@ static void __exit i2c_exit(void)
bus_unregister(&i2c_bus_type);
}
subsys_initcall(i2c_init);
/* We must initialize early, because some subsystems register i2c drivers
* in subsys_initcall() code, but are linked (and initialized) before i2c.
*/
postcore_initcall(i2c_init);
module_exit(i2c_exit);
/* ----------------------------------------------------