Lines Matching refs:mtd
242 static int lpddr2_nvm_do_block_op(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_do_block_op() argument
245 struct map_info *map = mtd->priv; in lpddr2_nvm_do_block_op()
260 add += mtd->erasesize; in lpddr2_nvm_do_block_op()
307 static int lpddr2_nvm_read(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_read() argument
310 struct map_info *map = mtd->priv; in lpddr2_nvm_read()
325 static int lpddr2_nvm_write(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_write() argument
328 struct map_info *map = mtd->priv; in lpddr2_nvm_write()
344 if (!(IS_ALIGNED(add, mtd->writesize))) { /* do sw program */ in lpddr2_nvm_write()
360 (u_long) mtd->writesize); in lpddr2_nvm_write()
381 static int lpddr2_nvm_erase(struct mtd_info *mtd, struct erase_info *instr) in lpddr2_nvm_erase() argument
383 int ret = lpddr2_nvm_do_block_op(mtd, instr->addr, instr->len, in lpddr2_nvm_erase()
396 static int lpddr2_nvm_unlock(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_unlock() argument
399 return lpddr2_nvm_do_block_op(mtd, start_add, len, LPDDR2_NVM_UNLOCK); in lpddr2_nvm_unlock()
405 static int lpddr2_nvm_lock(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_lock() argument
408 return lpddr2_nvm_do_block_op(mtd, start_add, len, LPDDR2_NVM_LOCK); in lpddr2_nvm_lock()
417 struct mtd_info *mtd; in lpddr2_nvm_probe() local
434 mtd = devm_kzalloc(&pdev->dev, sizeof(*mtd), GFP_KERNEL); in lpddr2_nvm_probe()
435 if (!mtd) in lpddr2_nvm_probe()
462 *mtd = (struct mtd_info) { in lpddr2_nvm_probe()
485 return mtd_device_parse_register(mtd, NULL, NULL, NULL, 0); in lpddr2_nvm_probe()