1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2084db4b0SAkinobu Mita #include <linux/mtd/mtd.h> 3174cd4b1SIngo Molnar #include <linux/sched/signal.h> 42a6a28e7SRichard Weinberger 52a6a28e7SRichard Weinberger static inline int mtdtest_relax(void) 62a6a28e7SRichard Weinberger { 72a6a28e7SRichard Weinberger cond_resched(); 82a6a28e7SRichard Weinberger if (signal_pending(current)) { 92a6a28e7SRichard Weinberger pr_info("aborting test due to pending signal!\n"); 102a6a28e7SRichard Weinberger return -EINTR; 112a6a28e7SRichard Weinberger } 122a6a28e7SRichard Weinberger 132a6a28e7SRichard Weinberger return 0; 142a6a28e7SRichard Weinberger } 15084db4b0SAkinobu Mita 16084db4b0SAkinobu Mita int mtdtest_erase_eraseblock(struct mtd_info *mtd, unsigned int ebnum); 17084db4b0SAkinobu Mita int mtdtest_scan_for_bad_eraseblocks(struct mtd_info *mtd, unsigned char *bbt, 18084db4b0SAkinobu Mita unsigned int eb, int ebcnt); 19084db4b0SAkinobu Mita int mtdtest_erase_good_eraseblocks(struct mtd_info *mtd, unsigned char *bbt, 20084db4b0SAkinobu Mita unsigned int eb, int ebcnt); 21084db4b0SAkinobu Mita 22084db4b0SAkinobu Mita int mtdtest_read(struct mtd_info *mtd, loff_t addr, size_t size, void *buf); 23084db4b0SAkinobu Mita int mtdtest_write(struct mtd_info *mtd, loff_t addr, size_t size, 24084db4b0SAkinobu Mita const void *buf); 25