/* Generated by ./xlat/gen.sh from ./xlat/mtd_flags_options.in; do not edit. */

static const struct xlat mtd_flags_options[] = {
#if defined(MTD_WRITEABLE) || (defined(HAVE_DECL_MTD_WRITEABLE) && HAVE_DECL_MTD_WRITEABLE)
	XLAT(MTD_WRITEABLE),
#endif
#if defined(MTD_BIT_WRITEABLE) || (defined(HAVE_DECL_MTD_BIT_WRITEABLE) && HAVE_DECL_MTD_BIT_WRITEABLE)
	XLAT(MTD_BIT_WRITEABLE),
#endif
#if defined(MTD_NO_ERASE) || (defined(HAVE_DECL_MTD_NO_ERASE) && HAVE_DECL_MTD_NO_ERASE)
	XLAT(MTD_NO_ERASE),
#endif
#if defined(MTD_POWERUP_LOCK) || (defined(HAVE_DECL_MTD_POWERUP_LOCK) && HAVE_DECL_MTD_POWERUP_LOCK)
	XLAT(MTD_POWERUP_LOCK),
#endif
	XLAT_END
};
