andy git 06/15 suspend/resume observations

Andy Green andy at
Thu Jun 19 00:39:53 CEST 2008

Hash: SHA1

Somebody in the thread at some point said:

|> Hm what's going on here... in the resume:
|> 	/* We must defer the auto flowcontrol because we resume before
|> 	 * the serial driver */
|> 	if (!schedule_work(&gsmwork))
|> 		dev_err(&pdev->dev,
|> 			"Unable to schedule GSM wakeup work\n");
| I'm not a great expert when it comes to the device tree, but I do know
| that part of the purpose is to deal with dependencies like this. Perhaps
| there is a failure to register the GSM driver as dependant upon the
| serial driver (a child of?) which would make this issue go away without
| using deferred work?

Maybe it can do it, but the device tree has a limitation that devices in
it only have one parent.  Our drivers can be dependent on, eg, pcf50633
and Glamo, or pcf50633 and ttySAC0.  I think the resume_dependency stuff
I added recently brings something to the party that isn't there already.
But the device tree stuff works great if it can be expressed in a
single parent - child relationship.

On the deferred work aspect it doesn't look needed for GTA02 but I have
to tread warily for GTA01 so I guess we leave it.  I'm hoping if I have
to spend any more time in this area I will understand the deal about the
flow control issue, it seems everyone would like it to disappear into
suspend / resume actions in kernel.

- -Andy
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora -


More information about the openmoko-kernel mailing list