diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 70ba1113689a7..fb91c882326ad 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -1198,9 +1198,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return PTR_ERR(ddev); adev->ddev = ddev; #endif -#ifdef AMDKCL_CHECK_DRM_DEVICE_DEV_PRIVATE - ddev->dev_private = (void *)adev; -#endif + kcl_drm_dev_init_private(ddev, (void *)adev); kcl_drm_vma_offset_manager_init(ddev->vma_offset_manager); #ifdef HAVE_DRM_DRV_DRIVER_ATOMIC @@ -1251,10 +1249,8 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, pci_disable_device(pdev); err_free: #ifndef HAVE_DRM_DRIVER_RELEASE -#ifdef AMDKCL_CHECK_DRM_DEVICE_DEV_PRIVATE - ddev->dev_private = NULL; -#endif kfree(adev); + kcl_drm_dev_fini_private(ddev); #endif drm_dev_put(ddev); return ret; @@ -1280,10 +1276,8 @@ amdgpu_pci_remove(struct pci_dev *pdev) pci_set_drvdata(pdev, NULL); #ifndef HAVE_DRM_DRIVER_RELEASE if (dev) { -#ifdef AMDKCL_CHECK_DRM_DEVICE_DEV_PRIVATE - dev->dev_private = NULL; -#endif kfree(drm_to_adev(dev)); + kcl_drm_dev_fini_private(dev); } #endif drm_dev_put(dev); diff --git a/include/kcl/backport/kcl_drm_backport.h b/include/kcl/backport/kcl_drm_backport.h index 8267885a2f24e..f32e51d37d7d1 100644 --- a/include/kcl/backport/kcl_drm_backport.h +++ b/include/kcl/backport/kcl_drm_backport.h @@ -77,14 +77,6 @@ int _kcl_drm_syncobj_find_fence(struct drm_file *file_private, #define AMDKCL_AMDGPU_DEBUGFS_CLEANUP #endif -/* - * commit v5.5-rc2-1531-ge62bf83aa1bb - * drm/irq: remove check on dev->dev_private - */ -#if DRM_VERSION_CODE < DRM_VERSION(5, 6, 0) -#define AMDKCL_CHECK_DRM_DEVICE_DEV_PRIVATE -#endif - #ifndef HAVE_DRM_GEM_OBJECT_LOOKUP_2ARGS static inline struct drm_gem_object * _kcl_drm_gem_object_lookup(struct drm_file *filp, u32 handle) diff --git a/include/kcl/kcl_drm.h b/include/kcl/kcl_drm.h index df669bd106a4c..741d494cce6f4 100644 --- a/include/kcl/kcl_drm.h +++ b/include/kcl/kcl_drm.h @@ -4,12 +4,29 @@ #include #include +#include #include #include #if defined(HAVE_DRM_COLOR_LUT_SIZE) #include #endif +/* + * commit v5.5-rc2-1531-ge62bf83aa1bb + * drm/irq: remove check on dev->dev_private + */ +static inline +void kcl_drm_dev_init_private(struct drm_device *dev, void *priv) +{ + dev->dev_private = priv; +} + +static inline +void kcl_drm_dev_fini_private(struct drm_device *dev) +{ + dev->dev_private = NULL; +} + #if !defined(HAVE_DRM_DRM_PRINT_H) struct drm_printer { void (*printfn)(struct drm_printer *p, struct va_format *vaf);