]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mtd/devices/phram.c
mtd: harmonize mtd_point interface implementation
[karo-tx-linux.git] / drivers / mtd / devices / phram.c
index 38035551a7d2cdba02702b0b177fdd7b0bcefbe5..9d2bf1741fb2905f346ed88878b469509c925fc5 100644 (file)
@@ -33,38 +33,24 @@ struct phram_mtd_list {
 
 static LIST_HEAD(phram_list);
 
-
 static int phram_erase(struct mtd_info *mtd, struct erase_info *instr)
 {
        u_char *start = mtd->priv;
 
-       if (instr->addr + instr->len > mtd->size)
-               return -EINVAL;
-
        memset(start + instr->addr, 0xff, instr->len);
 
        /* This'll catch a few races. Free the thing before returning :)
         * I don't feel at all ashamed. This kind of thing is possible anyway
         * with flash, but unlikely.
         */
-
        instr->state = MTD_ERASE_DONE;
-
        mtd_erase_callback(instr);
-
        return 0;
 }
 
 static int phram_point(struct mtd_info *mtd, loff_t from, size_t len,
                size_t *retlen, void **virt, resource_size_t *phys)
 {
-       if (from + len > mtd->size)
-               return -EINVAL;
-
-       /* can we return a physical address with this driver? */
-       if (phys)
-               return -EINVAL;
-
        *virt = mtd->priv + from;
        *retlen = len;
        return 0;
@@ -80,14 +66,7 @@ static int phram_read(struct mtd_info *mtd, loff_t from, size_t len,
 {
        u_char *start = mtd->priv;
 
-       if (from >= mtd->size)
-               return -EINVAL;
-
-       if (len > mtd->size - from)
-               len = mtd->size - from;
-
        memcpy(buf, start + from, len);
-
        *retlen = len;
        return 0;
 }
@@ -97,20 +76,11 @@ static int phram_write(struct mtd_info *mtd, loff_t to, size_t len,
 {
        u_char *start = mtd->priv;
 
-       if (to >= mtd->size)
-               return -EINVAL;
-
-       if (len > mtd->size - to)
-               len = mtd->size - to;
-
        memcpy(start + to, buf, len);
-
        *retlen = len;
        return 0;
 }
 
-
-
 static void unregister_devices(void)
 {
        struct phram_mtd_list *this, *safe;