From patchwork Thu May 16 02:50:07 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Barry Song X-Patchwork-Id: 244206 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 72EC52C009E for ; Thu, 16 May 2013 13:22:50 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753919Ab3EPDWt (ORCPT ); Wed, 15 May 2013 23:22:49 -0400 Received: from cluster-d.mailcontrol.com ([85.115.60.190]:54955 "EHLO cluster-d.mailcontrol.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753546Ab3EPDWs (ORCPT ); Wed, 15 May 2013 23:22:48 -0400 X-Greylist: delayed 1917 seconds by postgrey-1.27 at vger.kernel.org; Wed, 15 May 2013 23:22:48 EDT Received: from shaasiexc01.ASIA.ROOT.PRI ([210.13.83.101]) by rly52d.srv.mailcontrol.com (MailControl) with ESMTP id r4G2oDCi004139 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 16 May 2013 03:50:17 +0100 Received: from barry-laptop.ROOT.PRI (10.125.36.150) by asimail.csr.com (10.125.12.88) with Microsoft SMTP Server (TLS) id 14.2.318.1; Thu, 16 May 2013 10:50:12 +0800 From: Barry Song To: , CC: , , Xiaomeng Hou , Barry Song Subject: [PATCH] i2c: sirf: move driver init from module_init to subsys_initcall Date: Thu, 16 May 2013 10:50:07 +0800 Message-ID: <1368672607-5536-1-git-send-email-Baohua.Song@csr.com> X-Mailer: git-send-email 1.8.2.3 MIME-Version: 1.0 X-Originating-IP: [10.125.36.150] X-Scanned-By: MailControl 14771.152 (www.mailcontrol.com) on 10.68.0.162 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Xiaomeng Hou if we initilize i2c bus by module_init, there are some devices which want initialization earlier than i2c and could not do that in time, so move i2c driver initilization to subsys_initcall and make i2c ready before devices init. Signed-off-by: Xiaomeng Hou Signed-off-by: Barry Song --- drivers/i2c/busses/i2c-sirf.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-sirf.c b/drivers/i2c/busses/i2c-sirf.c index 5a7ad24..e438f48 100644 --- a/drivers/i2c/busses/i2c-sirf.c +++ b/drivers/i2c/busses/i2c-sirf.c @@ -454,7 +454,19 @@ static struct platform_driver i2c_sirfsoc_driver = { .probe = i2c_sirfsoc_probe, .remove = i2c_sirfsoc_remove, }; -module_platform_driver(i2c_sirfsoc_driver); + +static __init int i2c_sirfsoc_init(void) +{ + return platform_driver_register(&i2c_sirfsoc_driver); +} + +static void __exit i2c_sirfsoc_exit(void) +{ + platform_driver_unregister(&i2c_sirfsoc_driver); +} + +subsys_initcall(i2c_sirfsoc_init); +module_exit(i2c_sirfsoc_exit); MODULE_DESCRIPTION("SiRF SoC I2C master controller driver"); MODULE_AUTHOR("Zhiwu Song , "