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

#ifdef IN_MPERS

extern const struct xlat mtd_type_options[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat mtd_type_options[] = {
#if defined(MTD_ABSENT) || (defined(HAVE_DECL_MTD_ABSENT) && HAVE_DECL_MTD_ABSENT)
  XLAT(MTD_ABSENT),
#endif
#if defined(MTD_RAM) || (defined(HAVE_DECL_MTD_RAM) && HAVE_DECL_MTD_RAM)
  XLAT(MTD_RAM),
#endif
#if defined(MTD_ROM) || (defined(HAVE_DECL_MTD_ROM) && HAVE_DECL_MTD_ROM)
  XLAT(MTD_ROM),
#endif
#if defined(MTD_NORFLASH) || (defined(HAVE_DECL_MTD_NORFLASH) && HAVE_DECL_MTD_NORFLASH)
  XLAT(MTD_NORFLASH),
#endif
#if defined(MTD_NANDFLASH) || (defined(HAVE_DECL_MTD_NANDFLASH) && HAVE_DECL_MTD_NANDFLASH)
  XLAT(MTD_NANDFLASH),
#endif
#if defined(MTD_DATAFLASH) || (defined(HAVE_DECL_MTD_DATAFLASH) && HAVE_DECL_MTD_DATAFLASH)
  XLAT(MTD_DATAFLASH),
#endif
#if defined(MTD_UBIVOLUME) || (defined(HAVE_DECL_MTD_UBIVOLUME) && HAVE_DECL_MTD_UBIVOLUME)
  XLAT(MTD_UBIVOLUME),
#endif
#if defined(MTD_MLCNANDFLASH) || (defined(HAVE_DECL_MTD_MLCNANDFLASH) && HAVE_DECL_MTD_MLCNANDFLASH)
  XLAT(MTD_MLCNANDFLASH),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
