There are two ways to do that w/o creating a dependcy on anything.
1) merge the drivers w/o the suspend_blockers. It's not rocket science
to have a patch which brings them back for android.
2) merge the drivers with empty stub implementations for annotation.
android just has to patch in the real one.
While I'd prefer #1, I' not in the way of #2.
Both ways can get the drivers into the kernel and it could/should have
been done right from the beginning, but now we face a situation where
drivers are held hostage.
Then we can sit down more relaxed and fix the stuff in a way which
makes both sides happy. If we manage to replace them, we can deprecate
the stub implementation and remove it after a grace period. If we
rename them it's not an issue either. We can rename them right away to
a qos interface, but that does not really make a difference.
What we really want to avoid is implementing an user space contract in
a frenzy which binds us forever.
It's not the suspend_blockers which are the causing the nightmare,
it's solely the drivers itself especially when there are different
implementations in both trees. And frankly, the drivers in android are
not in a shape which makes them flood in within 2 weeks. That's
serious work to get them brushed up and polished. So that gives us
quite a period of time to solve the suspend problem.