Honestly, Google should require as part of the Play Store certification that vendors ship their goddamn drivers in a quality that is acceptable to upstream Linux, or at least get them to staging quality.
The situation exists entirely because Google created it, they designed a HAL (hardware abstraction layer) with the intention of letting device manufacturers design devices while skirting GPLv2 requirements.