Tim, so, at least, what about of spliting the tdehardwaredevices.c?
It even won't break any API.

I can adopt my current workarounds and provide the patch in an hour.