1 // SPDX-License-Identifier: MIT 2 /* 3 * Copyright © 2026 Intel Corporation 4 */ 5 6 #include <drm/drm_ras_genl_family.h> 7 #include "drm_ras_nl.h" 8 9 /* Track family registration so the drm_exit can be called at any time */ 10 static bool registered; 11 12 /** 13 * drm_ras_genl_family_register() - Register drm-ras genl family 14 * 15 * Only to be called one at drm_drv_init() 16 */ 17 int drm_ras_genl_family_register(void) 18 { 19 int ret; 20 21 registered = false; 22 23 ret = genl_register_family(&drm_ras_nl_family); 24 if (ret) 25 return ret; 26 27 registered = true; 28 return 0; 29 } 30 31 /** 32 * drm_ras_genl_family_unregister() - Unregister drm-ras genl family 33 * 34 * To be called one at drm_drv_exit() at any moment, but only once. 35 */ 36 void drm_ras_genl_family_unregister(void) 37 { 38 if (registered) { 39 genl_unregister_family(&drm_ras_nl_family); 40 registered = false; 41 } 42 } 43