diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index c08b63e8471..fe6529f39e4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -2901,7 +2901,11 @@ static const struct attribute_group *amdgpu_sysfs_groups[] = { #endif static struct pci_driver amdgpu_kms_pci_driver = { +#ifdef __linux__ .name = DRIVER_NAME, +#elif defined(__FreeBSD__) + .name = "drmn", /* LinuxKPI expects this name to enable drm support */ +#endif .id_table = pciidlist, .probe = amdgpu_pci_probe, .remove = amdgpu_pci_remove, @@ -2935,13 +2939,8 @@ static int __init amdgpu_init(void) /* Ignore KFD init failures. Normal when CONFIG_HSA_AMD is not set. */ amdgpu_amdkfd_init(); -#ifdef __linux__ /* let modprobe override vga console setting */ return pci_register_driver(&amdgpu_kms_pci_driver); -#elif defined(__FreeBSD__) - amdgpu_kms_pci_driver.bsdclass = drm_devclass; - return linux_pci_register_drm_driver(&amdgpu_kms_pci_driver); -#endif error_fence: amdgpu_sync_fini(); @@ -2953,11 +2952,7 @@ static int __init amdgpu_init(void) static void __exit amdgpu_exit(void) { amdgpu_amdkfd_fini(); -#ifdef __linux__ pci_unregister_driver(&amdgpu_kms_pci_driver); -#elif defined(__FreeBSD__) - linux_pci_unregister_drm_driver(&amdgpu_kms_pci_driver); -#endif amdgpu_unregister_atpx_handler(); amdgpu_acpi_release(); amdgpu_sync_fini(); diff --git a/drivers/gpu/drm/drm_os_freebsd.c b/drivers/gpu/drm/drm_os_freebsd.c index 178b702b585..4a227805540 100644 --- a/drivers/gpu/drm/drm_os_freebsd.c +++ b/drivers/gpu/drm/drm_os_freebsd.c @@ -25,8 +25,6 @@ __FBSDID("$FreeBSD$"); #undef fb_info #undef cdev -devclass_t drm_devclass; - MALLOC_DEFINE(DRM_MEM_DRIVER, "drm_driver", "DRM DRIVER Data Structures"); SYSCTL_NODE(_dev, OID_AUTO, drm, CTLFLAG_RW, 0, "DRM args (compat)"); diff --git a/drivers/gpu/drm/drm_os_freebsd.h b/drivers/gpu/drm/drm_os_freebsd.h index d2bab7ed20e..4426a3af4a1 100644 --- a/drivers/gpu/drm/drm_os_freebsd.h +++ b/drivers/gpu/drm/drm_os_freebsd.h @@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$"); MALLOC_DECLARE(DRM_MEM_DRIVER); -extern devclass_t drm_devclass; extern int skip_ddb; struct drm_minor; diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index b0b193d2a4f..c164fa5339c 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -1090,7 +1090,11 @@ static void i915_pci_shutdown(struct pci_dev *pdev) } static struct pci_driver i915_pci_driver = { +#ifdef __linux__ .name = DRIVER_NAME, +#elif defined(__FreeBSD__) + .name = "drmn", /* LinuxKPI expects this name to enable drm support */ +#endif .id_table = pciidlist, .probe = i915_pci_probe, .remove = i915_pci_remove, @@ -1100,19 +1104,10 @@ static struct pci_driver i915_pci_driver = { int i915_pci_register_driver(void) { -#ifdef __linux__ return pci_register_driver(&i915_pci_driver); -#elif defined(__FreeBSD__) - i915_pci_driver.bsdclass = drm_devclass; - return linux_pci_register_drm_driver(&i915_pci_driver); -#endif } void i915_pci_unregister_driver(void) { -#ifdef __linux__ pci_unregister_driver(&i915_pci_driver); -#elif defined(__FreeBSD__) - linux_pci_unregister_drm_driver(&i915_pci_driver); -#endif } diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 54ece00535f..2d272159b2d 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -602,7 +602,11 @@ static const struct drm_driver kms_driver = { }; static struct pci_driver radeon_kms_pci_driver = { +#ifdef __linux__ .name = DRIVER_NAME, +#elif defined(__FreeBSD__) + .name = "drmn", /* LinuxKPI expects this name to enable drm support */ +#endif .id_table = pciidlist, .probe = radeon_pci_probe, .remove = radeon_pci_remove, @@ -621,21 +625,12 @@ static int __init radeon_module_init(void) DRM_INFO("radeon kernel modesetting enabled.\n"); radeon_register_atpx_handler(); -#ifdef __linux__ return pci_register_driver(&radeon_kms_pci_driver); -#elif defined(__FreeBSD__) - radeon_kms_pci_driver.bsdclass = drm_devclass; - return linux_pci_register_drm_driver(&radeon_kms_pci_driver); -#endif } static void __exit radeon_module_exit(void) { -#ifdef __linux__ pci_unregister_driver(&radeon_kms_pci_driver); -#elif defined(__FreeBSD__) - linux_pci_unregister_drm_driver(&radeon_kms_pci_driver); -#endif radeon_unregister_atpx_handler(); #ifdef __linux__ mmu_notifier_synchronize();