I noticed that swsusp uses quite a few interesting casts for __pa() and cousins. This patch moves some types around to eliminate some of those casts in the normal code. The casts that it adds are around alloc's and frees, which is a much more usual place to see them. Pavel also noticed that there's a superfluous PAGE_ALIGN() right before a >>PAGE_SHIFT in pfn_is_nosave(), so that's been removed as well. I haven't had a chance to do anything but test it, because that would involve me setting up a swsusp rig, which I'm more prone to screw up than the patch itself :) I'd appreciate if anyone with a stable setup could make sure I didn't do anything too stupid. -- Dave