From 2170297a60a3c3b8da6998cbb2499badb974e1c2 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Tue, 14 Oct 2008 17:30:06 +0200 Subject: [PATCH] --- yaml --- r: 114489 b: refs/heads/master c: a10f9e7caf8d3028d8fb1d4c3d590492cde3df3e h: refs/heads/master i: 114487: 1177073e2fa141d0c01286ef7650bc07db849e5c v: v3 --- [refs] | 2 +- trunk/drivers/i2c/i2c-core.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 57676d8e7689..712b9e5d5087 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f1453ee3a4da94250849606882948c590a4ad8dd +refs/heads/master: a10f9e7caf8d3028d8fb1d4c3d590492cde3df3e diff --git a/trunk/drivers/i2c/i2c-core.c b/trunk/drivers/i2c/i2c-core.c index a96e1bf27649..80ae12048e85 100644 --- a/trunk/drivers/i2c/i2c-core.c +++ b/trunk/drivers/i2c/i2c-core.c @@ -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); /* ----------------------------------------------------