mtd: Extend isbad and markbad func for mtd_dev_s

Signed-off-by: huxiandong <huxiandong@xiaomi.com>
This commit is contained in:
huxiandong 2023-01-04 22:08:03 +08:00 committed by Alan Carvalho de Assis
parent 8c7fc2c175
commit 266455f01c
3 changed files with 11 additions and 0 deletions

View File

@ -164,6 +164,8 @@ static struct rp2040_flash_dev_s my_dev =
NULL,
#endif
rp2040_flash_ioctl,
NULL,
NULL,
"rp_flash"
},
.lock = NXMUTEX_INITIALIZER,

View File

@ -101,6 +101,8 @@ static struct progmem_dev_s g_progmem =
progmem_write,
#endif
progmem_ioctl,
NULL,
NULL,
"progmem",
}
};

View File

@ -83,6 +83,8 @@
#define MTD_READ(d,s,n,b) ((d)->read ? (d)->read(d,s,n,b) : (-ENOSYS))
#define MTD_WRITE(d,s,n,b) ((d)->write ? (d)->write(d,s,n,b) : (-ENOSYS))
#define MTD_IOCTL(d,c,a) ((d)->ioctl ? (d)->ioctl(d,c,a) : (-ENOSYS))
#define MTD_ISBAD(d,b) ((d)->isbad ? (d)->isbad(d,b) : (-ENOSYS))
#define MTD_MARKBAD(d,b) ((d)->markbad ? (d)->markbad(d,b) : (-ENOSYS))
/* If any of the low-level device drivers declare they want sub-sector erase
* support, then define MTD_SUBSECTOR_ERASE.
@ -185,6 +187,11 @@ struct mtd_dev_s
int (*ioctl)(FAR struct mtd_dev_s *dev, int cmd, unsigned long arg);
/* Check/Mark bad block for the specified block number */
int (*isbad)(FAR struct mtd_dev_s *dev, off_t block);
int (*markbad)(FAR struct mtd_dev_s *dev, off_t block);
/* Name of this MTD device */
FAR const char *name;