summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/jffs2/include/linux/mtd/rawnand.h
blob: fe47ba6fbfd692158258ac56a7a7b9f4f0d7f079 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef __LINUX_MTD_RAWNAND_H__
#define __LINUX_MTD_RAWNAND_H__

#define mtd_read_oob(mtd_sp, offset, ops) ({ \
  struct jffs2_sb_info *sb_info = RTEMS_CONTAINER_OF(&(mtd_sp), struct jffs2_sb_info, mtd); \
  int sc = jffs2_flash_oob_read(sb_info, offset, (ops)->oobbuf, (ops)->ooblen); \
  if (sc) { \
    sc = -EIO; \
  } else { \
    (ops)->oobretlen = (ops)->ooblen; \
  } \
  sc; \
})
#define mtd_write_oob(mtd_sp, offset, ops) ({ \
  struct jffs2_sb_info *sb_info = RTEMS_CONTAINER_OF(&(mtd_sp), struct jffs2_sb_info, mtd); \
  int sc = jffs2_flash_oob_write(sb_info, offset, (ops)->oobbuf, (ops)->ooblen); \
  if (sc != RTEMS_SUCCESSFUL) { \
    sc = -EIO; \
  } else { \
    (ops)->oobretlen = (ops)->ooblen; \
  } \
  sc; \
})
#define MTD_OPS_AUTO_OOB 1

#endif /* __LINUX_MTD_RAWNAND_H__ */