| /* SPDX-License-Identifier: MIT */ | |
| /* | |
| * Copyright 2024 Advanced Micro Devices, Inc. | |
| * | |
| * Lockdep annotation interface for AMDGPU | |
| */ | |
| #ifndef __AMDGPU_LOCKDEP_H__ | |
| #define __AMDGPU_LOCKDEP_H__ | |
| #include <linux/lockdep.h> | |
| struct amdgpu_device; | |
| #ifdef CONFIG_LOCKDEP | |
| /** | |
| * amdgpu_lockdep_init - Train lockdep on correct lock ordering | |
| * | |
| * Call once during module init to establish the lock dependency chain. | |
| */ | |
| int amdgpu_lockdep_init(void); | |
| /** | |
| * amdgpu_lockdep_set_class - Associate lock class keys with real locks | |
| * @adev: AMDGPU device | |
| * | |
| * Call during device init to associate lock classes with actual locks. | |
| */ | |
| void amdgpu_lockdep_set_class(struct amdgpu_device *adev); | |
| #else /* !CONFIG_LOCKDEP */ | |
| static inline int amdgpu_lockdep_init(void) { return 0; } | |
| static inline void amdgpu_lockdep_set_class(struct amdgpu_device *adev) {} | |
| #endif /* CONFIG_LOCKDEP */ | |
| #endif /* __AMDGPU_LOCKDEP_H__ */ |