I have written the following lines of code to get a char device working.
( lines with # indicate that I have tried versions of this code snippet without them) class_hello = class_create(THIS_MODULE, device_name); # class_hello->devnode = &hello_devnode; retval = alloc_chrdev_region( &dev_file, 0, 1, device_name ); cdev_init( &device, &file_ops ); # device.owner = THIS_MODULE; # kobject_set_name(&device.kobj, device_name); cdev_add( &device, MKDEV(dev_file, 0), 1 ) device = device_create( class_hello, NULL, MKDEV(dev_file, 0), NULL, device_name ); # kobj_device->devt = MKDEV(dev_file, 0); Make it open / close / read / write works fine - but look at that $ ls /sys/class/hello/hello power subsystem uevent The "dev" entry is missing - and udev does not react. Anybody knows what is else needed to make udev react?
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
