• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asus-wl-520gu-7.0.1.45/src/linux/linux/drivers/mtd/

Lines Matching refs:mtd

14 #include <linux/mtd/mtd.h>
15 #include <linux/mtd/compatmac.h>
37 static void mtd_notify_add(struct mtd_info* mtd);
38 static void mtd_notify_remove(struct mtd_info* mtd);
49 struct mtd_info *mtd; /* Locked */
87 static int erase_write (struct mtd_info *mtd, unsigned long pos,
101 erase.mtd = mtd;
110 ret = MTD_ERASE(mtd, &erase);
116 pos, len, mtd->name);
127 ret = MTD_WRITE (mtd, pos, len, &retlen, buf);
138 struct mtd_info *mtd = mtdblk->mtd;
145 "at 0x%lx, size 0x%x\n", mtd->name,
148 ret = erase_write (mtd, mtdblk->cache_offset,
168 struct mtd_info *mtd = mtdblk->mtd;
174 mtd->name, pos, len);
177 return MTD_WRITE (mtd, pos, len, &retlen, buf);
192 ret = erase_write (mtd, pos, size, buf);
209 ret = MTD_READ(mtd, sect_start, sect_size, &retlen, mtdblk->cache_data);
237 struct mtd_info *mtd = mtdblk->mtd;
243 mtd->name, pos, len);
246 return MTD_READ (mtd, pos, len, &retlen, buf);
265 ret = MTD_READ (mtd, pos, size, &retlen, buf);
285 struct mtd_info *mtd;
299 mtd = get_mtd_device(NULL, dev);
300 if (!mtd)
302 if (MTD_ABSENT == mtd->type) {
303 put_mtd_device(mtd);
326 put_mtd_device(mtd);
332 mtdblk->mtd = mtd;
336 if ((mtdblk->mtd->flags & MTD_CAP_RAM) != MTD_CAP_RAM &&
337 mtdblk->mtd->erasesize) {
338 mtdblk->cache_size = mtdblk->mtd->erasesize;
339 mtdblk->cache_data = vmalloc(mtdblk->mtd->erasesize);
341 put_mtd_device(mtdblk->mtd);
356 put_mtd_device(mtdblk->mtd);
363 mtd_sizes[dev] = mtdblk->mtd->size/1024;
364 if (mtdblk->mtd->erasesize)
365 mtd_blksizes[dev] = mtdblk->mtd->erasesize;
368 set_device_ro (inode->i_rdev, !(mtdblk->mtd->flags & MTD_WRITEABLE));
398 if (mtdblk->mtd->sync)
399 mtdblk->mtd->sync(mtdblk->mtd);
400 put_mtd_device(mtdblk->mtd);
437 if ((req->sector + req->current_nr_sectors) > (mtdblk->mtd->size >> 9))
457 if ( !(mtdblk->mtd->flags & MTD_WRITEABLE) )
548 return put_user((mtdblk->mtd->size >> 9), (unsigned long *) arg);
552 return put_user((u64)mtdblk->mtd->size, (u64 *)arg);
565 if (mtdblk->mtd->sync)
566 mtdblk->mtd->sync(mtdblk->mtd);
599 static void mtd_notify_add(struct mtd_info* mtd)
603 if (!mtd || mtd->type == MTD_ABSENT)
606 sprintf(name, "%d", mtd->index);
607 devfs_rw_handle[mtd->index] = devfs_register(devfs_dir_handle, name,
608 DEVFS_FL_DEFAULT, MTD_BLOCK_MAJOR, mtd->index,
613 static void mtd_notify_remove(struct mtd_info* mtd)
615 if (!mtd || mtd->type == MTD_ABSENT)
618 devfs_unregister(devfs_rw_handle[mtd->index]);