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.