09.11.2021 17:17, Dmitry Osipenko пишет: > 09.11.2021 17:08, Dmitry Osipenko пишет: >>> +static void host1x_drm_dev_deinit(struct host1x_device *dev) >>> +{ >>> + struct drm_device *drm = dev_get_drvdata(&dev->dev); >> And platform_unregister_drivers() should be moved here. >> > > Nah, that should cause deadlock. This ad-hoc is too lame. Actually, there is no problem here as I see now. The host1x driver populates DT nodes after host1x_register() [1], meaning that Host1x DRM will be always inited first. [1] https://elixir.bootlin.com/linux/v5.15/source/drivers/gpu/host1x/dev.c#L475 Still I'm not a fan of the ad-hoc solution. > Another solution is to defer probing of DP AUX driver while > tegra_drm_device() returns NULL, but it's icky. > > Reverting the original DP AUX DDC registration order is the best option > so far, IMO. >