On Fri, Aug 29, 2014 at 12:12:43PM +0200, David Herrmann wrote: > One step closer to dropping all the drm_bus_* code: > Add a driver->set_busid() callback and make all drivers use the generic > helpers. Nouveau is the only driver that uses two different bus-types with > the same drm_driver. This is totally broken if both buses are available on > the same machine (unlikely, but lets be safe).
It's not at all unlikely. There are quite a few people using nouveau to drive an discrete GPU over PCIe on Tegra K1. I've also been noticing lately (and I'm not sure why I didn't see it earlier, possibly because the relevant patches weren't in nouveau yet) that the nouveau kernel driver crashes when running X on Tegra K1 with nouveau (and the gk20a GPU) enabled. The reason being that the device is wrongfully marked as drm_pci_bus. > Therefore, we create two > different drivers for each platform during module_init() and set the > set_busid() callback respectively.