12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * Copyright © 2019 Macronix
- * Author: Miquèl Raynal <[email protected]>
- *
- * Header for the Macronix external ECC engine.
- */
- #ifndef __MTD_NAND_ECC_MXIC_H__
- #define __MTD_NAND_ECC_MXIC_H__
- #include <linux/platform_device.h>
- #include <linux/device.h>
- struct mxic_ecc_engine;
- #if IS_ENABLED(CONFIG_MTD_NAND_ECC_MXIC) && IS_REACHABLE(CONFIG_MTD_NAND_CORE)
- struct nand_ecc_engine_ops *mxic_ecc_get_pipelined_ops(void);
- struct nand_ecc_engine *mxic_ecc_get_pipelined_engine(struct platform_device *spi_pdev);
- void mxic_ecc_put_pipelined_engine(struct nand_ecc_engine *eng);
- int mxic_ecc_process_data_pipelined(struct nand_ecc_engine *eng,
- unsigned int direction, dma_addr_t dirmap);
- #else /* !CONFIG_MTD_NAND_ECC_MXIC */
- static inline struct nand_ecc_engine_ops *mxic_ecc_get_pipelined_ops(void)
- {
- return NULL;
- }
- static inline struct nand_ecc_engine *
- mxic_ecc_get_pipelined_engine(struct platform_device *spi_pdev)
- {
- return ERR_PTR(-EOPNOTSUPP);
- }
- static inline void mxic_ecc_put_pipelined_engine(struct nand_ecc_engine *eng) {}
- static inline int mxic_ecc_process_data_pipelined(struct nand_ecc_engine *eng,
- unsigned int direction,
- dma_addr_t dirmap)
- {
- return -EOPNOTSUPP;
- }
- #endif /* CONFIG_MTD_NAND_ECC_MXIC */
- #endif /* __MTD_NAND_ECC_MXIC_H__ */
|