]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/mtd/mtdblock_ro.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[linux-2.6-omap-h63xx.git] / drivers / mtd / mtdblock_ro.c
index 0c830ba41ef05b3e93c39f316b1217149645b672..f79dbb49b1a2601ae596283d75ca83564121d0d5 100644 (file)
@@ -33,21 +33,17 @@ static int mtdblock_writesect(struct mtd_blktrans_dev *dev,
 
 static void mtdblock_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)
 {
-       struct mtd_blktrans_dev *dev = kmalloc(sizeof(*dev), GFP_KERNEL);
+       struct mtd_blktrans_dev *dev = kzalloc(sizeof(*dev), GFP_KERNEL);
 
        if (!dev)
                return;
 
-       memset(dev, 0, sizeof(*dev));
-
        dev->mtd = mtd;
        dev->devnum = mtd->index;
-       dev->blksize = 512;
+
        dev->size = mtd->size >> 9;
        dev->tr = tr;
-       if ((mtd->flags & (MTD_CLEAR_BITS|MTD_SET_BITS|MTD_WRITEABLE)) !=
-           (MTD_CLEAR_BITS|MTD_SET_BITS|MTD_WRITEABLE))
-               dev->readonly = 1;
+       dev->readonly = 1;
 
        add_mtd_blktrans_dev(dev);
 }
@@ -62,6 +58,7 @@ static struct mtd_blktrans_ops mtdblock_tr = {
        .name           = "mtdblock",
        .major          = 31,
        .part_bits      = 0,
+       .blksize        = 512,
        .readsect       = mtdblock_readsect,
        .writesect      = mtdblock_writesect,
        .add_mtd        = mtdblock_add_mtd,