git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
mtd
/
devices
/
phram.c
diff --git
a/drivers/mtd/devices/phram.c
b/drivers/mtd/devices/phram.c
index
e8685ee
..
56cc1ca
100644
(file)
--- a/
drivers/mtd/devices/phram.c
+++ b/
drivers/mtd/devices/phram.c
@@
-1,8
+1,8
@@
/**
* $Id: phram.c,v 1.16 2005/11/07 11:14:25 gleixner Exp $
*
/**
* $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:
*
*
* Usage:
*
@@
-126,12
+126,10
@@
static int register_device(char *name, unsigned long start, unsigned long len)
struct phram_mtd_list *new;
int ret = -ENOMEM;
struct phram_mtd_list *new;
int ret = -ENOMEM;
- new = k
m
alloc(sizeof(*new), GFP_KERNEL);
+ new = k
z
alloc(sizeof(*new), GFP_KERNEL);
if (!new)
goto out0;
if (!new)
goto out0;
- memset(new, 0, sizeof(*new));
-
ret = -EIO;
new->mtd.priv = ioremap(start, len);
if (!new->mtd.priv) {
ret = -EIO;
new->mtd.priv = ioremap(start, len);
if (!new->mtd.priv) {
@@
-142,7
+140,7
@@
static int register_device(char *name, unsigned long start, unsigned long len)
new->mtd.name = name;
new->mtd.size = len;
new->mtd.name = name;
new->mtd.size = len;
- new->mtd.flags = MTD_CAP_RAM
| MTD_ERASEABLE | MTD_VOLATILE
;
+ new->mtd.flags = MTD_CAP_RAM;
new->mtd.erase = phram_erase;
new->mtd.point = phram_point;
new->mtd.unpoint = phram_unpoint;
new->mtd.erase = phram_erase;
new->mtd.point = phram_point;
new->mtd.unpoint = phram_unpoint;
@@
-151,6
+149,7
@@
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.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)) {
ret = -EAGAIN;
if (add_mtd_device(&new->mtd)) {
@@
-266,12
+265,16
@@
static int phram_setup(const char *val, struct kernel_param *kp)
return 0;
ret = parse_num32(&start, token[1]);
return 0;
ret = parse_num32(&start, token[1]);
- if (ret)
+ if (ret) {
+ kfree(name);
parse_err("illegal start address\n");
parse_err("illegal start address\n");
+ }
ret = parse_num32(&len, token[2]);
ret = parse_num32(&len, token[2]);
- if (ret)
+ if (ret) {
+ kfree(name);
parse_err("illegal device length\n");
parse_err("illegal device length\n");
+ }
register_device(name, start, len);
register_device(name, start, len);
@@
-296,5
+299,5
@@
module_init(init_phram);
module_exit(cleanup_phram);
MODULE_LICENSE("GPL");
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");
MODULE_DESCRIPTION("MTD driver for physical RAM");