linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / mtd / devices / phram.c
index 6c7337f..e8685ee 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * $Id: phram.c,v 1.16 2005/11/07 11:14:25 gleixner Exp $
  *
- * Copyright (c) ????          Jochen Schäuble <psionic@psionic.de>
- * Copyright (c) 2003-2004     Jörn Engel <joern@wh.fh-wedel.de>
+ * Copyright (c) ????          Jochen Schäuble <psionic@psionic.de>
+ * Copyright (c) 2003-2004     Jörn Engel <joern@wh.fh-wedel.de>
  *
  * Usage:
  *
@@ -142,7 +142,7 @@ static int register_device(char *name, unsigned long start, unsigned long len)
 
        new->mtd.name = name;
        new->mtd.size = len;
-       new->mtd.flags = MTD_CAP_RAM;
+       new->mtd.flags = MTD_CAP_RAM | MTD_ERASEABLE | MTD_VOLATILE;
         new->mtd.erase = phram_erase;
        new->mtd.point = phram_point;
        new->mtd.unpoint = phram_unpoint;
@@ -151,7 +151,6 @@ static int register_device(char *name, unsigned long start, unsigned long len)
        new->mtd.owner = THIS_MODULE;
        new->mtd.type = MTD_RAM;
        new->mtd.erasesize = PAGE_SIZE;
-       new->mtd.writesize = 1;
 
        ret = -EAGAIN;
        if (add_mtd_device(&new->mtd)) {
@@ -267,16 +266,12 @@ static int phram_setup(const char *val, struct kernel_param *kp)
                return 0;
 
        ret = parse_num32(&start, token[1]);
-       if (ret) {
-               kfree(name);
+       if (ret)
                parse_err("illegal start address\n");
-       }
 
        ret = parse_num32(&len, token[2]);
-       if (ret) {
-               kfree(name);
+       if (ret)
                parse_err("illegal device length\n");
-       }
 
        register_device(name, start, len);
 
@@ -301,5 +296,5 @@ module_init(init_phram);
 module_exit(cleanup_phram);
 
 MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Jörn Engel <joern@wh.fh-wedel.de>");
+MODULE_AUTHOR("Jörn Engel <joern@wh.fh-wedel.de>");
 MODULE_DESCRIPTION("MTD driver for physical RAM");