From a2c360fa1d33d6a5aa64c396197e119ff77d1379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Mon, 6 Mar 2017 18:59:23 +0900 Subject: Refactor amdgpu_kernel_close_fd helper Preparation for the following change. Assign pAMDGPUEnt->fd = -1 instead of 0 when we're not using the file descriptor anymore. Reviewed-by: Hans de Goede Reviewed-by: Alex Deucher --- src/amdgpu_kms.c | 7 +------ src/amdgpu_probe.c | 10 ++++++++++ src/amdgpu_probe.h | 2 ++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c index 31c2e86..92bf5fa 100644 --- a/src/amdgpu_kms.c +++ b/src/amdgpu_kms.c @@ -132,12 +132,7 @@ static void AMDGPUFreeRec(ScrnInfoPtr pScrn) pAMDGPUEnt->fd_ref--; if (!pAMDGPUEnt->fd_ref) { amdgpu_device_deinitialize(pAMDGPUEnt->pDev); -#ifdef XF86_PDEV_SERVER_FD - if (!(pAMDGPUEnt->platform_dev && - pAMDGPUEnt->platform_dev->flags & XF86_PDEV_SERVER_FD)) -#endif - drmClose(pAMDGPUEnt->fd); - pAMDGPUEnt->fd = 0; + amdgpu_kernel_close_fd(pAMDGPUEnt); } } diff --git a/src/amdgpu_probe.c b/src/amdgpu_probe.c index 94da7f6..fc93ac6 100644 --- a/src/amdgpu_probe.c +++ b/src/amdgpu_probe.c @@ -134,6 +134,16 @@ static int amdgpu_kernel_open_fd(ScrnInfoPtr pScrn, char *busid, return fd; } +void amdgpu_kernel_close_fd(AMDGPUEntPtr pAMDGPUEnt) +{ +#ifdef XF86_PDEV_SERVER_FD + if (!(pAMDGPUEnt->platform_dev && + pAMDGPUEnt->platform_dev->flags & XF86_PDEV_SERVER_FD)) +#endif + drmClose(pAMDGPUEnt->fd); + pAMDGPUEnt->fd = -1; +} + static Bool amdgpu_open_drm_master(ScrnInfoPtr pScrn, AMDGPUEntPtr pAMDGPUEnt, char *busid) { diff --git a/src/amdgpu_probe.h b/src/amdgpu_probe.h index 0f43233..9e4a9a4 100644 --- a/src/amdgpu_probe.h +++ b/src/amdgpu_probe.h @@ -71,6 +71,8 @@ typedef struct { char *render_node; } AMDGPUEntRec, *AMDGPUEntPtr; +extern void amdgpu_kernel_close_fd(AMDGPUEntPtr pAMDGPUEnt); + extern const OptionInfoRec *AMDGPUOptionsWeak(void); extern Bool AMDGPUPreInit_KMS(ScrnInfoPtr, int); -- cgit v1.2.3