arg arg arg a post by paul psokolovsky on email@example.com describes a horror-story debugging session in suspend/resume, where, it turned out, he hadn't converted _one_ device driver for the h4000 from a legacy struct device to the more up-to-date struct platform_device.
apparently you can't mix-and-match both in your hardware: you have to all struct device or all platform_device.
anyway - he used memory checksumming to verify that memory pages had not been modified, and that was the technique by which he discovered that the h4000 lcd device was messing with memory. and he then noticed that it was using the old style.
i spent two nearly three weeks floundering around trying to find why the hell resume wasn't working, on the hw6915.
and i can't test it because i don't have my charger :)