Support for broadcoms multifunctional devices

bnc#841170, fate#316090

and cleanup and so on.
sorry, not this time. The patch is long already. 14 out of 16 commits are cleanup / refactoring