mtdchar: Register the full range of minor numbers
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 29 Jan 2010 21:00:04 +0000 (21:00 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Thu, 25 Feb 2010 12:46:04 +0000 (12:46 +0000)
register_chrdev() registers minor numbers up to 255, but we can now
potentially have much larger numbers.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/mtdchar.c

index 9f826cda2748b0e78f809dcbe7dc07a4daa00df1..c355491d1326fb91452b2ce59ae127628627696a 100644 (file)
@@ -955,7 +955,8 @@ static int __init init_mtdchar(void)
 {
        int status;
 
-       status = register_chrdev(MTD_CHAR_MAJOR, "mtd", &mtd_fops);
+       status = __register_chrdev(MTD_CHAR_MAJOR, 0, 1 << MINORBITS,
+                                  "mtd", &mtd_fops);
        if (status < 0) {
                printk(KERN_NOTICE "Can't allocate major number %d for Memory Technology Devices.\n",
                       MTD_CHAR_MAJOR);
@@ -966,7 +967,7 @@ static int __init init_mtdchar(void)
 
 static void __exit cleanup_mtdchar(void)
 {
-       unregister_chrdev(MTD_CHAR_MAJOR, "mtd");
+       __unregister_chrdev(MTD_CHAR_MAJOR, 0, 1 << MINORBITS, "mtd");
 }
 
 module_init(init_mtdchar);