As I mentioned earlier, display_ops is needed to have no any dependency of drm framework directly like below,
DRM Framework | Exynos DRM Framework / | \ Real device drivers
In particular, in case of ARM based DRM drivers with separated devices, I still tend to think it's better design than that device drivers implement the connector callbacks directly, but I will try to consider what is the better way.
I think we need to start considering a framework where subdrivers just add drm objects themselves, then the toplevel node is responsible for knowing that everything for the current configuration is loaded.
I realise we may need to make changes to the core drm to allow this but we should probably start to create a strategy for fixing the API issues that this throws up.
Note I'm not yet advocating for dynamic addition of nodes once the device is in use, or removing them.
Dave.