X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=fs%2Fchar_dev.c;h=c3bfa76765c45c6c516c467663cdb23e6d08907c;hb=bcb4be809d2a804ff040d95db4a664113833e702;hp=e6194e2b9bb9cbf39c9c85f23d346d55716293a1;hpb=463020ce428e2f00d4f33a383d6f39c7453a6854;p=powerpc.git diff --git a/fs/char_dev.c b/fs/char_dev.c index e6194e2b9b..c3bfa76765 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -108,13 +109,6 @@ __register_chrdev_region(unsigned int major, unsigned int baseminor, /* temporary */ if (major == 0) { for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i--) { - /* - * Disallow the LANANA-assigned LOCAL/EXPERIMENTAL - * majors - */ - if ((60 <= i && i <= 63) || (120 <= i && i <= 127) || - (240 <= i && i <= 254)) - continue; if (chrdevs[i] == NULL) break; } @@ -327,14 +321,13 @@ void unregister_chrdev_region(dev_t from, unsigned count) } } -int unregister_chrdev(unsigned int major, const char *name) +void unregister_chrdev(unsigned int major, const char *name) { struct char_device_struct *cd; cd = __unregister_chrdev_region(major, 0, 256); if (cd && cd->cdev) cdev_del(cd->cdev); kfree(cd); - return 0; } static DEFINE_SPINLOCK(cdev_lock); @@ -552,6 +545,7 @@ static struct kobject *base_probe(dev_t dev, int *part, void *data) void __init chrdev_init(void) { cdev_map = kobj_map_init(base_probe, &chrdevs_lock); + bdi_init(&directly_mappable_cdev_bdi); }