Lines Matching refs:erase
656 struct erase_info *erase; in mtdchar_ioctl() local
661 erase=kzalloc(sizeof(struct erase_info),GFP_KERNEL); in mtdchar_ioctl()
662 if (!erase) in mtdchar_ioctl()
675 kfree(erase); in mtdchar_ioctl()
678 erase->addr = einfo64.start; in mtdchar_ioctl()
679 erase->len = einfo64.length; in mtdchar_ioctl()
685 kfree(erase); in mtdchar_ioctl()
688 erase->addr = einfo32.start; in mtdchar_ioctl()
689 erase->len = einfo32.length; in mtdchar_ioctl()
691 erase->mtd = mtd; in mtdchar_ioctl()
692 erase->callback = mtdchar_erase_callback; in mtdchar_ioctl()
693 erase->priv = (unsigned long)&waitq; in mtdchar_ioctl()
704 ret = mtd_erase(mtd, erase); in mtdchar_ioctl()
708 if (erase->state != MTD_ERASE_DONE && in mtdchar_ioctl()
709 erase->state != MTD_ERASE_FAILED) in mtdchar_ioctl()
714 ret = (erase->state == MTD_ERASE_FAILED)?-EIO:0; in mtdchar_ioctl()
716 kfree(erase); in mtdchar_ioctl()