Re: [PATCH] i2c: exynos5: Move initialization code to subsys_initcall()

2015-01-16 Thread Thierry Reding
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()

2015-01-13 Thread Tomi Valkeinen
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()

2015-01-12 Thread Joonyoung Shim
+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()

2015-01-11 Thread Joonyoung Shim
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()

2015-01-11 Thread Uwe Kleine-König
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