static void __exit ib_ucm_cleanup(void)
  {
 -      class_device_destroy(ib_ucm_class, IB_UCM_DEV);
 -      class_destroy(ib_ucm_class);
 -      cdev_del(&ib_ucm_cdev);
 -      unregister_chrdev_region(IB_UCM_DEV, 1);
 +      ib_unregister_client(&ucm_client);
 +      class_unregister(&ucm_class);
 +      unregister_chrdev_region(IB_UCM_BASE_DEV, IB_UCM_MAX_DEVICES);
+       idr_destroy(&ctx_id_table);
  }
  
  module_init(ib_ucm_init);