Lines Matching defs:mtd
28 #include <linux/mtd/mtd.h>
31 struct mtd_info mtd;
37 static int phram_erase(struct mtd_info *mtd, struct erase_info *instr)
39 u_char *start = mtd->priv;
46 static int phram_point(struct mtd_info *mtd, loff_t from, size_t len,
49 *virt = mtd->priv + from;
54 static int phram_unpoint(struct mtd_info *mtd, loff_t from, size_t len)
59 static int phram_read(struct mtd_info *mtd, loff_t from, size_t len,
62 u_char *start = mtd->priv;
69 static int phram_write(struct mtd_info *mtd, loff_t to, size_t len,
72 u_char *start = mtd->priv;
84 mtd_device_unregister(&this->mtd);
85 iounmap(this->mtd.priv);
86 kfree(this->mtd.name);
101 new->mtd.priv = ioremap(start, len);
102 if (!new->mtd.priv) {
108 new->mtd.name = name;
109 new->mtd.size = len;
110 new->mtd.flags = MTD_CAP_RAM;
111 new->mtd._erase = phram_erase;
112 new->mtd._point = phram_point;
113 new->mtd._unpoint = phram_unpoint;
114 new->mtd._read = phram_read;
115 new->mtd._write = phram_write;
116 new->mtd.owner = THIS_MODULE;
117 new->mtd.type = MTD_RAM;
118 new->mtd.erasesize = PAGE_SIZE;
119 new->mtd.writesize = 1;
122 if (mtd_device_register(&new->mtd, NULL, 0)) {
131 iounmap(new->mtd.priv);