Engage the Linux Foundation to develop your drivers.
The Linux Foundation is the place to get things into the kernel. They will help you integrate your hardware into the mainline kernel without compromising any internal IP you may be worried about. Its really the only way to get a driver working for any OS. Work with upstream not against it.
This translates to Windows and OS X as well. I was frustrated getting my device working with Windows. Complete pain and not plug and play by any means. OS X Mojave doesn't work at all and Linux shows the same behaviour. Flickering on and off rapidly an when looking at system logs it seems to be in a constant connect / disconnect rapid loop.
Open Source the whole driver stack and work with the upstream OS developers to get support built into the kernel will make your hardware plug and play on all operating systems.