forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
49 lines
1.3 KiB
/* 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__ */
|
|
|