Re: [PATCH] i2c: exynos5: Move initialization code to subsys_initcall()
On Tue, Jan 13, 2015 at 02:13:51PM +0200, Tomi Valkeinen wrote: On 12/01/15 10:43, Joonyoung Shim wrote: +Cc Tomi Valkeinen, Hi Uwe, On 01/12/2015 04:50 PM, Uwe Kleine-König wrote: Hello, On Mon, Jan 12, 2015 at 11:53:02AM +0900, Joonyoung Shim wrote: This is required in order to ensure that core system devices such as voltage regulators attached via I2C are available early in boot. Deferred probing isn't an option? If so I suggest adding the reasoning in a comment to stop the next person converting it to that. (And if not, please fix accordingly to use deferred probing.) I couldn't get penguin logo since the commit 92b004d (video/logo: prevent use of logos after they have been freed) and i just tried old way because i missed the flow to move to deferred probing. Fb driver probe seems to be ran between fb_logo_late_init late_initcall and the freeing of the logos. Any ideas? Thierry mentioned on IRC that he encountered the same issue. And I encountered it also. So... I'd rather not revert the fix, as it's quite a nasty one, and it happens while console lock is held, so it looks like the machine just froze. But I don't know how it could be improved with the current kernel. We could make the logos non-initdata, but I don't much like that option. Or we could perhaps implement some new way to catch the freeing of initdata. Any other ideas? I think we could still make the logos non-initdata based on a Kconfig symbol. Another option might be to copy the logo data to memory that's not automatically freed after init, so that we get better control over when it is released. I tried tracing the various parts that would need this data, but couldn't find any place after which it isn't needed anymore. Specifically it is code that can be executed on every console switch, so we can't really get rid of it at any sensible time. I'd argue that if it's needed at every VT switch where the framebuffer console is activated, then we really can't get rid of it at all. Or we don't display the logo at every switch and can free the backing memory right after the first switch for example. Thierry pgpXFoIadIHjm.pgp Description: PGP signature
Re: [PATCH] i2c: exynos5: Move initialization code to subsys_initcall()
On 12/01/15 10:43, Joonyoung Shim wrote: +Cc Tomi Valkeinen, Hi Uwe, On 01/12/2015 04:50 PM, Uwe Kleine-König wrote: Hello, On Mon, Jan 12, 2015 at 11:53:02AM +0900, Joonyoung Shim wrote: This is required in order to ensure that core system devices such as voltage regulators attached via I2C are available early in boot. Deferred probing isn't an option? If so I suggest adding the reasoning in a comment to stop the next person converting it to that. (And if not, please fix accordingly to use deferred probing.) I couldn't get penguin logo since the commit 92b004d (video/logo: prevent use of logos after they have been freed) and i just tried old way because i missed the flow to move to deferred probing. Fb driver probe seems to be ran between fb_logo_late_init late_initcall and the freeing of the logos. Any ideas? Thierry mentioned on IRC that he encountered the same issue. And I encountered it also. So... I'd rather not revert the fix, as it's quite a nasty one, and it happens while console lock is held, so it looks like the machine just froze. But I don't know how it could be improved with the current kernel. We could make the logos non-initdata, but I don't much like that option. Or we could perhaps implement some new way to catch the freeing of initdata. Any other ideas? Tomi signature.asc Description: OpenPGP digital signature
Re: [PATCH] i2c: exynos5: Move initialization code to subsys_initcall()
+Cc Tomi Valkeinen, Hi Uwe, On 01/12/2015 04:50 PM, Uwe Kleine-König wrote: Hello, On Mon, Jan 12, 2015 at 11:53:02AM +0900, Joonyoung Shim wrote: This is required in order to ensure that core system devices such as voltage regulators attached via I2C are available early in boot. Deferred probing isn't an option? If so I suggest adding the reasoning in a comment to stop the next person converting it to that. (And if not, please fix accordingly to use deferred probing.) I couldn't get penguin logo since the commit 92b004d (video/logo: prevent use of logos after they have been freed) and i just tried old way because i missed the flow to move to deferred probing. Fb driver probe seems to be ran between fb_logo_late_init late_initcall and the freeing of the logos. Any ideas? Thanks for pointing. -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] i2c: exynos5: Move initialization code to subsys_initcall()
This is required in order to ensure that core system devices such as voltage regulators attached via I2C are available early in boot. Signed-off-by: Joonyoung Shim jy0922.s...@samsung.com --- 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 b29c750..18ca097 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 exynos5_i2c_init_driver(void) +{ + return platform_driver_register(exynos5_i2c_driver); +} +subsys_initcall(exynos5_i2c_init_driver); + +static void __exit exynos5_i2c_exit_driver(void) +{ + platform_driver_unregister(exynos5_i2c_driver); +} +module_exit(exynos5_i2c_exit_driver); MODULE_DESCRIPTION(Exynos5 HS-I2C Bus driver); MODULE_AUTHOR(Naveen Krishna Chatradhi, ch.nav...@samsung.com); -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] i2c: exynos5: Move initialization code to subsys_initcall()
Hello, On Mon, Jan 12, 2015 at 11:53:02AM +0900, Joonyoung Shim wrote: This is required in order to ensure that core system devices such as voltage regulators attached via I2C are available early in boot. Deferred probing isn't an option? If so I suggest adding the reasoning in a comment to stop the next person converting it to that. (And if not, please fix accordingly to use deferred probing.) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html