On Fri, 2023-06-30 at 00:25 +0200, Danilo Krummrich wrote: > > +#ifdef CONFIG_LOCKDEP > +typedef struct lockdep_map *lockdep_map_p; > +#define drm_gpuva_manager_ext_assert_held(mgr) \ > + lockdep_assert(lock_is_held((mgr)->ext_lock) != LOCK_STATE_NOT_HELD) > +/** > + * drm_gpuva_manager_set_ext_lock - set the external lock according to > + * @DRM_GPUVA_MANAGER_LOCK_EXTERN > + * @mgr: the &drm_gpuva_manager to set the lock for > + * @lock: the lock to set > + * > + * If @DRM_GPUVA_MANAGER_LOCK_EXTERN is set, drivers need to call this function > + * to provide the lock used to lock linking and unlinking of &drm_gpuvas to the > + * &drm_gem_objects GPUVA list. > + */ > +#define drm_gpuva_manager_set_ext_lock(mgr, lock) \ > + (mgr)->ext_lock = &(lock)->dep_map > +#else > +typedef struct { /* nothing */ } lockdep_map_p; lockdep_map_p conflicts with an identical typedef in maple_tree.h when CONFIG_LOCKDEP is not set (it's being pulled in by mm.h in drm_vma_manager.h). I'll just comment the line out for now. > +#define drm_gpuva_manager_ext_assert_held(mgr) do { (void)(mgr); } while (0) > +#define drm_gpuva_manager_set_ext_lock(mgr, lock) do { } while (0) > +#endif > +