if (!kfd_initialized)
                return;
 
-       adev->kfd.dev = kgd2kfd_probe((struct kgd_dev *)adev, vf);
+       adev->kfd.dev = kgd2kfd_probe(adev, vf);
 
        if (adev->kfd.dev)
                amdgpu_amdkfd_total_mem_size += adev->gmc.real_vram_size;
 
 #if IS_ENABLED(CONFIG_HSA_AMD)
 int kgd2kfd_init(void);
 void kgd2kfd_exit(void);
-struct kfd_dev *kgd2kfd_probe(struct kgd_dev *kgd, bool vf);
+struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf);
 bool kgd2kfd_device_init(struct kfd_dev *kfd,
                         struct drm_device *ddev,
                         const struct kgd2kfd_shared_resources *gpu_resources);
 }
 
 static inline
-struct kfd_dev *kgd2kfd_probe(struct kgd_dev *kgd, bool vf)
+struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf)
 {
        return NULL;
 }
 
 
 static int kfd_resume(struct kfd_dev *kfd);
 
-struct kfd_dev *kgd2kfd_probe(struct kgd_dev *kgd, bool vf)
+struct kfd_dev *kgd2kfd_probe(struct amdgpu_device *adev, bool vf)
 {
        struct kfd_dev *kfd;
        const struct kfd_device_info *device_info;
        const struct kfd2kgd_calls *f2g;
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
        struct pci_dev *pdev = adev->pdev;
 
        switch (adev->asic_type) {
        if (!kfd)
                return NULL;
 
-       kfd->kgd = kgd;
        kfd->adev = adev;
        kfd->device_info = device_info;
        kfd->pdev = pdev;
 
 };
 
 struct kfd_dev {
-       struct kgd_dev *kgd;
        struct amdgpu_device *adev;
 
        const struct kfd_device_info *device_info;
 
 #define KGD_MAX_QUEUES 128
 
 struct kfd_dev;
-struct kgd_dev;
-
 struct kgd_mem;
 
 enum kfd_preempt_type {