X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fchar%2Fdsp56k.c;h=e233cf280bc024498c3fdd637d219e8159bb6f2a;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=9b1bf60ffbe7f536deabd2e252479e0a9370808b;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/drivers/char/dsp56k.c b/drivers/char/dsp56k.c index 9b1bf60ff..e233cf280 100644 --- a/drivers/char/dsp56k.c +++ b/drivers/char/dsp56k.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -483,7 +484,7 @@ static int dsp56k_release(struct inode *inode, struct file *file) return 0; } -static const struct file_operations dsp56k_fops = { +static struct file_operations dsp56k_fops = { .owner = THIS_MODULE, .read = dsp56k_read, .write = dsp56k_write, @@ -517,9 +518,17 @@ static int __init dsp56k_init_driver(void) } class_device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL, "dsp56k"); + err = devfs_mk_cdev(MKDEV(DSP56K_MAJOR, 0), + S_IFCHR | S_IRUSR | S_IWUSR, "dsp56k"); + if(err) + goto out_class; + printk(banner); goto out; +out_class: + class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0)); + class_destroy(dsp56k_class); out_chrdev: unregister_chrdev(DSP56K_MAJOR, "dsp56k"); out: @@ -532,6 +541,7 @@ static void __exit dsp56k_cleanup_driver(void) class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0)); class_destroy(dsp56k_class); unregister_chrdev(DSP56K_MAJOR, "dsp56k"); + devfs_remove("dsp56k"); } module_exit(dsp56k_cleanup_driver);