RE: gpmc_cs_request() causes early boot hang

From: Mohammed, Afzal
Date: Mon Sep 24 2012 - 07:13:27 EST


Hi Mark,

On Mon, Sep 24, 2012 at 16:21:40, Mark Jackson wrote:
> On 24/09/12 05:51, Mohammed, Afzal wrote:

> > It seems you are using PSP Kernel.
> >
> > Invoking omap_init_gpmc before gpmc request should help.
>
> Okay ... I'm now using earlyprintk and omap_init_gpmc(), but I still get boot hangs.

> Surely omap-gpmc needs to be setup before any calls such as gpmc_cs_request() ?
>
> Is there a method to delay my test code, or maybe get the omap-gpmc registered earlier ?

Hope below patch helps you (untested)

Regards
Afzal

----8<-------------------

diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index 1c53c05..a4c6912 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -827,7 +827,19 @@ static struct platform_driver gpmc_driver = {
},
};

-module_platform_driver(gpmc_driver);
+static __init int gpmc_init(void)
+{
+ return platform_driver_register(&gpmc_driver);
+}
+
+static __exit void gpmc_exit(void)
+{
+ platform_driver_unregister(&gpmc_driver);
+
+}
+
+postcore_initcall(gpmc_init);
+module_exit(gpmc_exit);

int gpmc_suspend(void)
{
----8<----------------

èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—