Lines Matching refs:mtd
32 static int lpddr_read(struct mtd_info *mtd, loff_t adr, size_t len,
34 static int lpddr_write_buffers(struct mtd_info *mtd, loff_t to,
36 static int lpddr_writev(struct mtd_info *mtd, const struct kvec *vecs,
38 static int lpddr_erase(struct mtd_info *mtd, struct erase_info *instr);
39 static int lpddr_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len);
40 static int lpddr_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len);
41 static int lpddr_point(struct mtd_info *mtd, loff_t adr, size_t len,
43 static int lpddr_unpoint(struct mtd_info *mtd, loff_t adr, size_t len);
53 struct mtd_info *mtd; in lpddr_cmdset() local
57 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in lpddr_cmdset()
58 if (!mtd) in lpddr_cmdset()
60 mtd->priv = map; in lpddr_cmdset()
61 mtd->type = MTD_NORFLASH; in lpddr_cmdset()
64 mtd->_read = lpddr_read; in lpddr_cmdset()
65 mtd->type = MTD_NORFLASH; in lpddr_cmdset()
66 mtd->flags = MTD_CAP_NORFLASH; in lpddr_cmdset()
67 mtd->flags &= ~MTD_BIT_WRITEABLE; in lpddr_cmdset()
68 mtd->_erase = lpddr_erase; in lpddr_cmdset()
69 mtd->_write = lpddr_write_buffers; in lpddr_cmdset()
70 mtd->_writev = lpddr_writev; in lpddr_cmdset()
71 mtd->_lock = lpddr_lock; in lpddr_cmdset()
72 mtd->_unlock = lpddr_unlock; in lpddr_cmdset()
74 mtd->_point = lpddr_point; in lpddr_cmdset()
75 mtd->_unpoint = lpddr_unpoint; in lpddr_cmdset()
77 mtd->size = 1 << lpddr->qinfo->DevSizeShift; in lpddr_cmdset()
78 mtd->erasesize = 1 << lpddr->qinfo->UniformBlockSizeShift; in lpddr_cmdset()
79 mtd->writesize = 1 << lpddr->qinfo->BufSizeShift; in lpddr_cmdset()
85 kfree(mtd); in lpddr_cmdset()
107 return mtd; in lpddr_cmdset()
470 static int do_erase_oneblock(struct mtd_info *mtd, loff_t adr) in do_erase_oneblock() argument
472 struct map_info *map = mtd->priv; in do_erase_oneblock()
497 static int lpddr_read(struct mtd_info *mtd, loff_t adr, size_t len, in lpddr_read() argument
500 struct map_info *map = mtd->priv; in lpddr_read()
521 static int lpddr_point(struct mtd_info *mtd, loff_t adr, size_t len, in lpddr_point() argument
524 struct map_info *map = mtd->priv; in lpddr_point()
574 static int lpddr_unpoint (struct mtd_info *mtd, loff_t adr, size_t len) in lpddr_unpoint() argument
576 struct map_info *map = mtd->priv; in lpddr_unpoint()
619 static int lpddr_write_buffers(struct mtd_info *mtd, loff_t to, size_t len, in lpddr_write_buffers() argument
627 return lpddr_writev(mtd, &vec, 1, to, retlen); in lpddr_write_buffers()
631 static int lpddr_writev(struct mtd_info *mtd, const struct kvec *vecs, in lpddr_writev() argument
634 struct map_info *map = mtd->priv; in lpddr_writev()
678 static int lpddr_erase(struct mtd_info *mtd, struct erase_info *instr) in lpddr_erase() argument
682 struct map_info *map = mtd->priv; in lpddr_erase()
690 ret = do_erase_oneblock(mtd, ofs); in lpddr_erase()
704 static int do_xxlock(struct mtd_info *mtd, loff_t adr, uint32_t len, int thunk) in do_xxlock() argument
707 struct map_info *map = mtd->priv; in do_xxlock()
739 static int lpddr_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len) in lpddr_lock() argument
741 return do_xxlock(mtd, ofs, len, DO_XXLOCK_LOCK); in lpddr_lock()
744 static int lpddr_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len) in lpddr_unlock() argument
746 return do_xxlock(mtd, ofs, len, DO_XXLOCK_UNLOCK); in lpddr_unlock()