class_simple_device_add(raw_class, MKDEV(RAW_MAJOR, 0), NULL, "rawctl"); 
class_device_create(raw_class, MKDEV(RAW_MAJOR, 0), NULL, "rawctl"); 
static int __init raw_init(void){	int i;	dev_t dev = MKDEV(RAW_MAJOR, 0);	if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw"))		goto error;	cdev_init(&raw_cdev, &raw_fops);	if (cdev_add(&raw_cdev, dev, MAX_RAW_MINORS)) {		kobject_put(&raw_cdev.kobj);		unregister_chrdev_region(dev, MAX_RAW_MINORS);		goto error;	}	raw_class = class_simple_create(THIS_MODULE, "raw");	if (IS_ERR(raw_class)) {		printk(KERN_ERR "Error creating raw class.\n");		cdev_del(&raw_cdev);		unregister_chrdev_region(dev, MAX_RAW_MINORS);		goto error;	}	class_simple_device_add(raw_class, MKDEV(RAW_MAJOR, 0), NULL, "rawctl");	devfs_mk_cdev(MKDEV(RAW_MAJOR, 0),		      S_IFCHR | S_IRUGO | S_IWUGO,		      "raw/rawctl");	for (i = 1; i < MAX_RAW_MINORS; i++)		devfs_mk_cdev(MKDEV(RAW_MAJOR, i),			      S_IFCHR | S_IRUGO | S_IWUGO,			      "raw/raw%d", i);	return 0;error:	printk(KERN_ERR "error register raw device\n");	return 1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ca8eca6884861c1ce294b05aacfdf9045bba9aff/raw.c/buggy/drivers/char/raw.c