> so rather than the canonical combination of cdev_init() and > cdev_add(), this appears to register the pre-defined DSP56K major > number, then goes straight to registering the driver with sysfs. > Check register_chrdev code. [1] As you can see register_chrdev does cdev_alloc + cdev_add. > is this now an alternative way of registering character drivers, if > you want to register them with sysfs as well? as i read it, > device_create() will create the /dev file so is this just a newer way > to register character drivers? Yes, it is an alternative way of registering chrdev, but it doesn't have anything to do with sysfs layer. * device_create * creates a device object and link it into sysfs tree. * generates an event -> udev creates /dev/ file in userspace. * register_chrdev - reserves major/minor and sets up char device file operations. > > i don't think i've run across any other drivers that have this > structure but, then again, i haven't been looking that hard. yet. thanks, Daniel. [1] http://lxr.linux.no/linux+v2.6.38/fs/char_dev.c#L264 _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies