0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef __MTD_NAND_ECC_MXIC_H__
0010 #define __MTD_NAND_ECC_MXIC_H__
0011
0012 #include <linux/platform_device.h>
0013 #include <linux/device.h>
0014
0015 struct mxic_ecc_engine;
0016
0017 #if IS_ENABLED(CONFIG_MTD_NAND_ECC_MXIC) && IS_REACHABLE(CONFIG_MTD_NAND_CORE)
0018
0019 struct nand_ecc_engine_ops *mxic_ecc_get_pipelined_ops(void);
0020 struct nand_ecc_engine *mxic_ecc_get_pipelined_engine(struct platform_device *spi_pdev);
0021 void mxic_ecc_put_pipelined_engine(struct nand_ecc_engine *eng);
0022 int mxic_ecc_process_data_pipelined(struct nand_ecc_engine *eng,
0023 unsigned int direction, dma_addr_t dirmap);
0024
0025 #else
0026
0027 static inline struct nand_ecc_engine_ops *mxic_ecc_get_pipelined_ops(void)
0028 {
0029 return NULL;
0030 }
0031
0032 static inline struct nand_ecc_engine *
0033 mxic_ecc_get_pipelined_engine(struct platform_device *spi_pdev)
0034 {
0035 return ERR_PTR(-EOPNOTSUPP);
0036 }
0037
0038 static inline void mxic_ecc_put_pipelined_engine(struct nand_ecc_engine *eng) {}
0039
0040 static inline int mxic_ecc_process_data_pipelined(struct nand_ecc_engine *eng,
0041 unsigned int direction,
0042 dma_addr_t dirmap)
0043 {
0044 return -EOPNOTSUPP;
0045 }
0046
0047 #endif
0048
0049 #endif