diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2005-06-21 00:15:16 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-26 15:25:06 -0400 |
commit | 0936f26f55918af595b108208e64c37a0a481722 (patch) | |
tree | b9bbefd4d57b474a349f31e0d3d9de5a239251bf | |
parent | 94f6c59dcf16f10a20fbe3d1f098b159433f94bd (diff) |
[PATCH] devfs: Remove devfs support from the sound subsystem
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | sound/core/info.c | 1 | ||||
-rw-r--r-- | sound/core/sound.c | 24 | ||||
-rw-r--r-- | sound/oss/soundcard.c | 16 | ||||
-rw-r--r-- | sound/sound_core.c | 6 |
4 files changed, 2 insertions, 45 deletions
diff --git a/sound/core/info.c b/sound/core/info.c index 10c1772bf3ea..340332c6d973 100644 --- a/sound/core/info.c +++ b/sound/core/info.c | |||
@@ -29,7 +29,6 @@ | |||
29 | #include <sound/info.h> | 29 | #include <sound/info.h> |
30 | #include <sound/version.h> | 30 | #include <sound/version.h> |
31 | #include <linux/proc_fs.h> | 31 | #include <linux/proc_fs.h> |
32 | #include <linux/devfs_fs_kernel.h> | ||
33 | #include <linux/mutex.h> | 32 | #include <linux/mutex.h> |
34 | #include <stdarg.h> | 33 | #include <stdarg.h> |
35 | 34 | ||
diff --git a/sound/core/sound.c b/sound/core/sound.c index cd862728346c..264f2efd1af8 100644 --- a/sound/core/sound.c +++ b/sound/core/sound.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <sound/control.h> | 32 | #include <sound/control.h> |
33 | #include <sound/initval.h> | 33 | #include <sound/initval.h> |
34 | #include <linux/kmod.h> | 34 | #include <linux/kmod.h> |
35 | #include <linux/devfs_fs_kernel.h> | ||
36 | #include <linux/mutex.h> | 35 | #include <linux/mutex.h> |
37 | 36 | ||
38 | #define SNDRV_OS_MINORS 256 | 37 | #define SNDRV_OS_MINORS 256 |
@@ -42,7 +41,6 @@ int snd_major; | |||
42 | EXPORT_SYMBOL(snd_major); | 41 | EXPORT_SYMBOL(snd_major); |
43 | 42 | ||
44 | static int cards_limit = 1; | 43 | static int cards_limit = 1; |
45 | static int device_mode = S_IFCHR | S_IRUGO | S_IWUGO; | ||
46 | 44 | ||
47 | MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>"); | 45 | MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>"); |
48 | MODULE_DESCRIPTION("Advanced Linux Sound Architecture driver for soundcards."); | 46 | MODULE_DESCRIPTION("Advanced Linux Sound Architecture driver for soundcards."); |
@@ -51,10 +49,6 @@ module_param(major, int, 0444); | |||
51 | MODULE_PARM_DESC(major, "Major # for sound driver."); | 49 | MODULE_PARM_DESC(major, "Major # for sound driver."); |
52 | module_param(cards_limit, int, 0444); | 50 | module_param(cards_limit, int, 0444); |
53 | MODULE_PARM_DESC(cards_limit, "Count of auto-loadable soundcards."); | 51 | MODULE_PARM_DESC(cards_limit, "Count of auto-loadable soundcards."); |
54 | #ifdef CONFIG_DEVFS_FS | ||
55 | module_param(device_mode, int, 0444); | ||
56 | MODULE_PARM_DESC(device_mode, "Device file permission mask for devfs."); | ||
57 | #endif | ||
58 | MODULE_ALIAS_CHARDEV_MAJOR(CONFIG_SND_MAJOR); | 52 | MODULE_ALIAS_CHARDEV_MAJOR(CONFIG_SND_MAJOR); |
59 | 53 | ||
60 | /* this one holds the actual max. card number currently available. | 54 | /* this one holds the actual max. card number currently available. |
@@ -273,8 +267,6 @@ int snd_register_device(int type, struct snd_card *card, int dev, | |||
273 | return minor; | 267 | return minor; |
274 | } | 268 | } |
275 | snd_minors[minor] = preg; | 269 | snd_minors[minor] = preg; |
276 | if (type != SNDRV_DEVICE_TYPE_CONTROL || preg->card >= cards_limit) | ||
277 | devfs_mk_cdev(MKDEV(major, minor), S_IFCHR | device_mode, "snd/%s", name); | ||
278 | if (card) | 270 | if (card) |
279 | device = card->dev; | 271 | device = card->dev; |
280 | class_device_create(sound_class, NULL, MKDEV(major, minor), device, "%s", name); | 272 | class_device_create(sound_class, NULL, MKDEV(major, minor), device, "%s", name); |
@@ -314,9 +306,6 @@ int snd_unregister_device(int type, struct snd_card *card, int dev) | |||
314 | return -EINVAL; | 306 | return -EINVAL; |
315 | } | 307 | } |
316 | 308 | ||
317 | if (mptr->type != SNDRV_DEVICE_TYPE_CONTROL || | ||
318 | mptr->card >= cards_limit) /* created in sound.c */ | ||
319 | devfs_remove("snd/%s", mptr->name); | ||
320 | class_device_destroy(sound_class, MKDEV(major, minor)); | 309 | class_device_destroy(sound_class, MKDEV(major, minor)); |
321 | 310 | ||
322 | snd_minors[minor] = NULL; | 311 | snd_minors[minor] = NULL; |
@@ -411,24 +400,17 @@ int __exit snd_minor_info_done(void) | |||
411 | 400 | ||
412 | static int __init alsa_sound_init(void) | 401 | static int __init alsa_sound_init(void) |
413 | { | 402 | { |
414 | short controlnum; | ||
415 | |||
416 | snd_major = major; | 403 | snd_major = major; |
417 | snd_ecards_limit = cards_limit; | 404 | snd_ecards_limit = cards_limit; |
418 | devfs_mk_dir("snd"); | ||
419 | if (register_chrdev(major, "alsa", &snd_fops)) { | 405 | if (register_chrdev(major, "alsa", &snd_fops)) { |
420 | snd_printk(KERN_ERR "unable to register native major device number %d\n", major); | 406 | snd_printk(KERN_ERR "unable to register native major device number %d\n", major); |
421 | devfs_remove("snd"); | ||
422 | return -EIO; | 407 | return -EIO; |
423 | } | 408 | } |
424 | if (snd_info_init() < 0) { | 409 | if (snd_info_init() < 0) { |
425 | unregister_chrdev(major, "alsa"); | 410 | unregister_chrdev(major, "alsa"); |
426 | devfs_remove("snd"); | ||
427 | return -ENOMEM; | 411 | return -ENOMEM; |
428 | } | 412 | } |
429 | snd_info_minor_register(); | 413 | snd_info_minor_register(); |
430 | for (controlnum = 0; controlnum < cards_limit; controlnum++) | ||
431 | devfs_mk_cdev(MKDEV(major, controlnum<<5), S_IFCHR | device_mode, "snd/controlC%d", controlnum); | ||
432 | #ifndef MODULE | 414 | #ifndef MODULE |
433 | printk(KERN_INFO "Advanced Linux Sound Architecture Driver Version " CONFIG_SND_VERSION CONFIG_SND_DATE ".\n"); | 415 | printk(KERN_INFO "Advanced Linux Sound Architecture Driver Version " CONFIG_SND_VERSION CONFIG_SND_DATE ".\n"); |
434 | #endif | 416 | #endif |
@@ -437,16 +419,10 @@ static int __init alsa_sound_init(void) | |||
437 | 419 | ||
438 | static void __exit alsa_sound_exit(void) | 420 | static void __exit alsa_sound_exit(void) |
439 | { | 421 | { |
440 | short controlnum; | ||
441 | |||
442 | for (controlnum = 0; controlnum < cards_limit; controlnum++) | ||
443 | devfs_remove("snd/controlC%d", controlnum); | ||
444 | |||
445 | snd_info_minor_unregister(); | 422 | snd_info_minor_unregister(); |
446 | snd_info_done(); | 423 | snd_info_done(); |
447 | if (unregister_chrdev(major, "alsa") != 0) | 424 | if (unregister_chrdev(major, "alsa") != 0) |
448 | snd_printk(KERN_ERR "unable to unregister major device number %d\n", major); | 425 | snd_printk(KERN_ERR "unable to unregister major device number %d\n", major); |
449 | devfs_remove("snd"); | ||
450 | } | 426 | } |
451 | 427 | ||
452 | module_init(alsa_sound_init) | 428 | module_init(alsa_sound_init) |
diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c index d33bb464f70e..a33289948902 100644 --- a/sound/oss/soundcard.c +++ b/sound/oss/soundcard.c | |||
@@ -38,7 +38,6 @@ | |||
38 | #include <linux/wait.h> | 38 | #include <linux/wait.h> |
39 | #include <linux/slab.h> | 39 | #include <linux/slab.h> |
40 | #include <linux/ioport.h> | 40 | #include <linux/ioport.h> |
41 | #include <linux/devfs_fs_kernel.h> | ||
42 | #include <linux/major.h> | 41 | #include <linux/major.h> |
43 | #include <linux/delay.h> | 42 | #include <linux/delay.h> |
44 | #include <linux/proc_fs.h> | 43 | #include <linux/proc_fs.h> |
@@ -564,9 +563,6 @@ static int __init oss_init(void) | |||
564 | sound_dmap_flag = (dmabuf > 0 ? 1 : 0); | 563 | sound_dmap_flag = (dmabuf > 0 ? 1 : 0); |
565 | 564 | ||
566 | for (i = 0; i < sizeof (dev_list) / sizeof *dev_list; i++) { | 565 | for (i = 0; i < sizeof (dev_list) / sizeof *dev_list; i++) { |
567 | devfs_mk_cdev(MKDEV(SOUND_MAJOR, dev_list[i].minor), | ||
568 | S_IFCHR | dev_list[i].mode, | ||
569 | "sound/%s", dev_list[i].name); | ||
570 | class_device_create(sound_class, NULL, | 566 | class_device_create(sound_class, NULL, |
571 | MKDEV(SOUND_MAJOR, dev_list[i].minor), | 567 | MKDEV(SOUND_MAJOR, dev_list[i].minor), |
572 | NULL, "%s", dev_list[i].name); | 568 | NULL, "%s", dev_list[i].name); |
@@ -574,15 +570,10 @@ static int __init oss_init(void) | |||
574 | if (!dev_list[i].num) | 570 | if (!dev_list[i].num) |
575 | continue; | 571 | continue; |
576 | 572 | ||
577 | for (j = 1; j < *dev_list[i].num; j++) { | 573 | for (j = 1; j < *dev_list[i].num; j++) |
578 | devfs_mk_cdev(MKDEV(SOUND_MAJOR, | ||
579 | dev_list[i].minor + (j*0x10)), | ||
580 | S_IFCHR | dev_list[i].mode, | ||
581 | "sound/%s%d", dev_list[i].name, j); | ||
582 | class_device_create(sound_class, NULL, | 574 | class_device_create(sound_class, NULL, |
583 | MKDEV(SOUND_MAJOR, dev_list[i].minor + (j*0x10)), | 575 | MKDEV(SOUND_MAJOR, dev_list[i].minor + (j*0x10)), |
584 | NULL, "%s%d", dev_list[i].name, j); | 576 | NULL, "%s%d", dev_list[i].name, j); |
585 | } | ||
586 | } | 577 | } |
587 | 578 | ||
588 | if (sound_nblocks >= 1024) | 579 | if (sound_nblocks >= 1024) |
@@ -596,14 +587,11 @@ static void __exit oss_cleanup(void) | |||
596 | int i, j; | 587 | int i, j; |
597 | 588 | ||
598 | for (i = 0; i < sizeof (dev_list) / sizeof *dev_list; i++) { | 589 | for (i = 0; i < sizeof (dev_list) / sizeof *dev_list; i++) { |
599 | devfs_remove("sound/%s", dev_list[i].name); | ||
600 | class_device_destroy(sound_class, MKDEV(SOUND_MAJOR, dev_list[i].minor)); | 590 | class_device_destroy(sound_class, MKDEV(SOUND_MAJOR, dev_list[i].minor)); |
601 | if (!dev_list[i].num) | 591 | if (!dev_list[i].num) |
602 | continue; | 592 | continue; |
603 | for (j = 1; j < *dev_list[i].num; j++) { | 593 | for (j = 1; j < *dev_list[i].num; j++) |
604 | devfs_remove("sound/%s%d", dev_list[i].name, j); | ||
605 | class_device_destroy(sound_class, MKDEV(SOUND_MAJOR, dev_list[i].minor + (j*0x10))); | 594 | class_device_destroy(sound_class, MKDEV(SOUND_MAJOR, dev_list[i].minor + (j*0x10))); |
606 | } | ||
607 | } | 595 | } |
608 | 596 | ||
609 | unregister_sound_special(1); | 597 | unregister_sound_special(1); |
diff --git a/sound/sound_core.c b/sound/sound_core.c index 6f849720aef3..7535ec821dcf 100644 --- a/sound/sound_core.c +++ b/sound/sound_core.c | |||
@@ -44,7 +44,6 @@ | |||
44 | #include <linux/sound.h> | 44 | #include <linux/sound.h> |
45 | #include <linux/major.h> | 45 | #include <linux/major.h> |
46 | #include <linux/kmod.h> | 46 | #include <linux/kmod.h> |
47 | #include <linux/devfs_fs_kernel.h> | ||
48 | #include <linux/device.h> | 47 | #include <linux/device.h> |
49 | 48 | ||
50 | #define SOUND_STEP 16 | 49 | #define SOUND_STEP 16 |
@@ -172,8 +171,6 @@ static int sound_insert_unit(struct sound_unit **list, const struct file_operati | |||
172 | else | 171 | else |
173 | sprintf(s->name, "sound/%s%d", name, r / SOUND_STEP); | 172 | sprintf(s->name, "sound/%s%d", name, r / SOUND_STEP); |
174 | 173 | ||
175 | devfs_mk_cdev(MKDEV(SOUND_MAJOR, s->unit_minor), | ||
176 | S_IFCHR | mode, s->name); | ||
177 | class_device_create(sound_class, NULL, MKDEV(SOUND_MAJOR, s->unit_minor), | 174 | class_device_create(sound_class, NULL, MKDEV(SOUND_MAJOR, s->unit_minor), |
178 | dev, s->name+6); | 175 | dev, s->name+6); |
179 | return r; | 176 | return r; |
@@ -197,7 +194,6 @@ static void sound_remove_unit(struct sound_unit **list, int unit) | |||
197 | p = __sound_remove_unit(list, unit); | 194 | p = __sound_remove_unit(list, unit); |
198 | spin_unlock(&sound_loader_lock); | 195 | spin_unlock(&sound_loader_lock); |
199 | if (p) { | 196 | if (p) { |
200 | devfs_remove(p->name); | ||
201 | class_device_destroy(sound_class, MKDEV(SOUND_MAJOR, p->unit_minor)); | 197 | class_device_destroy(sound_class, MKDEV(SOUND_MAJOR, p->unit_minor)); |
202 | kfree(p); | 198 | kfree(p); |
203 | } | 199 | } |
@@ -570,7 +566,6 @@ static void __exit cleanup_soundcore(void) | |||
570 | /* We have nothing to really do here - we know the lists must be | 566 | /* We have nothing to really do here - we know the lists must be |
571 | empty */ | 567 | empty */ |
572 | unregister_chrdev(SOUND_MAJOR, "sound"); | 568 | unregister_chrdev(SOUND_MAJOR, "sound"); |
573 | devfs_remove("sound"); | ||
574 | class_destroy(sound_class); | 569 | class_destroy(sound_class); |
575 | } | 570 | } |
576 | 571 | ||
@@ -580,7 +575,6 @@ static int __init init_soundcore(void) | |||
580 | printk(KERN_ERR "soundcore: sound device already in use.\n"); | 575 | printk(KERN_ERR "soundcore: sound device already in use.\n"); |
581 | return -EBUSY; | 576 | return -EBUSY; |
582 | } | 577 | } |
583 | devfs_mk_dir ("sound"); | ||
584 | sound_class = class_create(THIS_MODULE, "sound"); | 578 | sound_class = class_create(THIS_MODULE, "sound"); |
585 | if (IS_ERR(sound_class)) | 579 | if (IS_ERR(sound_class)) |
586 | return PTR_ERR(sound_class); | 580 | return PTR_ERR(sound_class); |