Lines Matching refs:erase
652 struct erase_info *erase; in mtdchar_ioctl() local
657 erase=kzalloc(sizeof(struct erase_info),GFP_KERNEL); in mtdchar_ioctl()
658 if (!erase) in mtdchar_ioctl()
671 kfree(erase); in mtdchar_ioctl()
674 erase->addr = einfo64.start; in mtdchar_ioctl()
675 erase->len = einfo64.length; in mtdchar_ioctl()
681 kfree(erase); in mtdchar_ioctl()
684 erase->addr = einfo32.start; in mtdchar_ioctl()
685 erase->len = einfo32.length; in mtdchar_ioctl()
687 erase->mtd = mtd; in mtdchar_ioctl()
688 erase->callback = mtdchar_erase_callback; in mtdchar_ioctl()
689 erase->priv = (unsigned long)&waitq; in mtdchar_ioctl()
700 ret = mtd_erase(mtd, erase); in mtdchar_ioctl()
704 if (erase->state != MTD_ERASE_DONE && in mtdchar_ioctl()
705 erase->state != MTD_ERASE_FAILED) in mtdchar_ioctl()
710 ret = (erase->state == MTD_ERASE_FAILED)?-EIO:0; in mtdchar_ioctl()
712 kfree(erase); in mtdchar_ioctl()