class_simple_device_remove(MKDEV(MISC_MAJOR, misc->minor)); 
class_device_destroy(misc_class, MKDEV(MISC_MAJOR, misc->minor)); 
int misc_deregister(struct miscdevice * misc){	int i = misc->minor;	if (list_empty(&misc->list))		return -EINVAL;	down(&misc_sem);	list_del(&misc->list);	class_simple_device_remove(MKDEV(MISC_MAJOR, misc->minor));	devfs_remove(misc->devfs_name);	if (i < DYNAMIC_MINORS && i>0) {		misc_minors[i>>3] &= ~(1 << (misc->minor & 7));	}	up(&misc_sem);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ca8eca6884861c1ce294b05aacfdf9045bba9aff/misc.c/clean/drivers/char/misc.c