I've been sitting on these patches for a long while and finally got around to finishing them.
They implement a better pinning, as requested by Ingo. I'm not entirely sure I like what 2/3 does, but it does avoid extra code bloat, where all other attempts resulted in changed code for !lockdep.