From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759249AbbJ3OXv (ORCPT ); Fri, 30 Oct 2015 10:23:51 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:18540 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759043AbbJ3OXt (ORCPT ); Fri, 30 Oct 2015 10:23:49 -0400 X-AuditID: cbfec7f4-f79c56d0000012ee-50-56337d7128f8 From: Marek Szyprowski To: linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org Cc: Marek Szyprowski , Wolfram Sang , Krzysztof Kozlowski Subject: [PATCH] i2c: exynos5: register driver early in subsys initcall to avoid probe defer Date: Fri, 30 Oct 2015 15:23:28 +0100 Message-id: <1446215008-30506-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.2 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFJMWRmVeSWpSXmKPExsVy+t/xy7qFtcZhBodvm1q8fmFo0fH3C6PF 5V1z2CxmnN/HZLH2yF12i5UnZjE7sHn0bVnF6HHy1BMWj8+b5AKYo7hsUlJzMstSi/TtErgy Fh5wL5jPWfHk3gymBsZ2ji5GTg4JAROJtTvmMkPYYhIX7q1nA7GFBJYySrRO8uxi5AKym5gk 5n06wASSYBMwlOh62wVWJCKQILF39gxGkCJmgSZGiXN3drKAJIQF4iROrfkFNJWDg0VAVeJK azxImFfAQ+JJ6012iGVyEv9frmCawMi9gJFhFaNoamlyQXFSeq6hXnFibnFpXrpecn7uJkZI CHzZwbj4mNUhRgEORiUe3h8JRmFCrIllxZW5hxglOJiVRHhn5RmHCfGmJFZWpRblxxeV5qQW H2KU5mBREuedu+t9iJBAemJJanZqakFqEUyWiYNTqoHRus1povi3qemmvyW1Ow+7r12jUs+z R6wnwaFvYa2Q+N71/PrNrouN06S/RCv33pw/6UDymz3pvan988OSLr6ceFZCw/OV2jQ9/iiV HysdHoZpmT1mf3fN/r3E7WAfQSbe0hUyaU4xcyY+vM0QwsdiZMEwa9qj0stF71ibclX8j2d+ 4tnG/VeJpTgj0VCLuag4EQCxVG5//QEAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org i2c bus drivers should be registered earlier than typical drivers to let important i2c devices (like PMICs/regulators) get registered early enough to avoid probe defer of all devices in typical embedded system. Signed-off-by: Marek Szyprowski --- drivers/i2c/busses/i2c-exynos5.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-exynos5.c b/drivers/i2c/busses/i2c-exynos5.c index b29c7500461a..934a5cbcbdd3 100644 --- a/drivers/i2c/busses/i2c-exynos5.c +++ b/drivers/i2c/busses/i2c-exynos5.c @@ -867,7 +867,17 @@ static struct platform_driver exynos5_i2c_driver = { }, }; -module_platform_driver(exynos5_i2c_driver); +static int __init i2c_adap_exynos5_i2c_init(void) +{ + return platform_driver_register(&exynos5_i2c_driver); +} +subsys_initcall(i2c_adap_exynos5_i2c_init); + +static void __exit i2c_adap_exynos5_i2c_exit(void) +{ + platform_driver_unregister(&exynos5_i2c_driver); +} +module_exit(i2c_adap_exynos5_i2c_exit); MODULE_DESCRIPTION("Exynos5 HS-I2C Bus driver"); MODULE_AUTHOR("Naveen Krishna Chatradhi, "); -- 1.9.2