sdk-hwV1.3/lichee/linux-4.9/modules/nand/common1/nfd/nand_panic.h

55 lines
1.4 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __NAND_PANIC_H__
#define __NAND_PANIC_H__
#include "nand_blk.h"
#define PANIC_NAND_VERSION "0.4.0"
extern dma_addr_t panic_dma_handle;
extern void *panic_buf_handle;
extern void *panic_map_buff;
void panic_mark_enable(void);
int is_panic_enable(void);
int is_on_panic(void);
int panic_init_part(const char *name, unsigned int off, unsigned int size);
int panic_read(struct _nftl_blk *nftl_blk, uint32 start_sector,
uint32 sector_num, uchar *buf);
int panic_write(struct _nftl_blk *nftl_blk, uint32 start_sector,
uint32 sector_num, uchar *buf);
int critical_dev_nand_read(const char *dev, size_t sec_off,
size_t sec_cnt, char *buf);
int critical_dev_nand_write(const char *dev, size_t sec_off,
size_t sec_cnt, char *buf);
#if IS_ENABLED(CONFIG_PSTORE_BLK)
dma_addr_t nand_panic_dma_map(__u32 rw, void *buf, __u32 len, __u32 buf_no);
void nand_panic_dma_unmap(__u32 rw, dma_addr_t dma_handle, __u32 len);
int nand_panic_init(struct _nftl_blk *nftl_blk);
int nand_support_panic(void);
#else
static dma_addr_t __maybe_unused nand_panic_dma_map(__u32 rw, void *buf, __u32 len, __u32 buf_no)
{
return -1;
}
static void __maybe_unused nand_panic_dma_unmap(__u32 rw, dma_addr_t dma_handle, __u32 len)
{
return;
}
static int __maybe_unused nand_support_panic(void)
{
return -1;
}
static int __maybe_unused nand_panic_init(struct _nftl_blk *nftl_blk)
{
return -1;
}
#endif
#endif