On 21/09/18 01:17AM, Fernando Ramos wrote:
+#include <drm/drm_drv.h>
Top-level headers generally come above the driver headers. Also, now that I think about this a bit more, all of the new includes in this set should probably be for 'drm_modeset_lock.h' instead of 'drm_drv.h'.
Ok. Let me try that.
Turns out that the DRM_MODESET_LOCK_ALL_*() macros expansion includes a call to drm_drv_uses_atomic_modeset() which is defined in "drm_drv.h".
Thus, #include'ing <drm/drm_drv.h> cannot be avoided.
This makes me wonder...
1. "drm_drv.h" includes "drm_device.h", which includes "drm_mode_config.h", which includes "drm_modeset_lock.h"
2. "drm_modeset_lock.h" defines DRM_MODESET_LOCK_ALL_*() which expands into drm_drv_uses_atomic_modeset()
3. drm_drv_uses_atomic_modeset() is declared in "drm_drv.h"
There seems to be a circular dependency here.
We can try to fix this, but I suggest to do it in a different patch series.