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

#ifdef IN_MPERS

# error static const struct xlat mtd_flags_options in mpers mode

#else

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
};

#endif /* !IN_MPERS */
