⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfi_cmdset_0001_mp.h

📁 linux得一些常用命令,以及linux环境下的c编程
💻 H
字号:
#ifndef _MTD_CFI_CMDSET_0001_MP_H#define _MTD_CFI_CMDSET_0001_MP_H/* FLash partition */struct flpartition{	unsigned long offset;	unsigned long size;	flstate_t state;	flstate_t oldstate;	spinlock_t *mutex;	spinlock_t _spinlock;	wait_queue_head_t wq;	struct cfi_intelext_regioninfo *info;};/* FLash private data */struct flprivate {	unsigned long num_writing;	unsigned long num_erasing;	int num_partitions;	struct flpartition *partitions;	int curpos;	struct cfi_pri_intelext *extp;};#define PARTITION_SEL(chip, adr) ({	\	int __num;	\	unsigned long __start, __end; 	\	struct flpartition *__p=NULL, *__p0;	\	struct flprivate *__priv = (struct flprivate*) chip->priv; \	for (__num=0; __num < __priv->num_partitions; __num++) {	\		__p0 = __priv->partitions + __priv->curpos; \		__start = __p0->offset; \		__end = __start + __p0->size; \		if ( (adr >= __start) && (adr < __end)) { \			__p = __p0;\			break; \		}; \		__priv->curpos = (__priv->curpos + 1) % __priv->num_partitions; \	} \	__p; \})#define CFI_READ_QUERY(map, base, adr, extp, size) \do {  \	struct cfi_private *__cfi = map->fldrv_priv; \	int __ofs_factor = __cfi->interleave * __cfi->device_type; \	int __i; \	for (__i=0; __i<(size); __i++)  \		((unsigned char*)(extp))[__i] =  \			cfi_read_query(map, (base+(((adr)+__i)*__ofs_factor))); \}while(0); #define CFI_QUERY_SIZE(map, base, adr) ({ \	struct cfi_private *__cfi = map->fldrv_priv; \	int __ofs_factor = __cfi->interleave * __cfi->device_type; \	struct cfi_pri_intelext __ext; \	struct cfi_intelext_regioninfo __rinfo; \	int __ofs = 0, __num_r, __ri; \	CFI_READ_QUERY(map, base, adr, (&__ext), sizeof(__ext)); \	__ofs += sizeof(__ext); \	if (__ext.MajorVersion == '1' && __ext.MinorVersion == '3') { \		__ofs += (__ext.NumProtectionFields - 1) * (sizeof(__u32) + 6); \		__ofs += 6; \		__num_r = cfi_read_query(map, (base + ((adr+__ofs)*__ofs_factor))); \		__ofs ++; \		for (__ri=0; __ri < __num_r; __ri++) { \			CFI_READ_QUERY(map, base, adr+__ofs, (&__rinfo), sizeof(__rinfo)); \			__ofs += sizeof(__rinfo); \			__ofs += (__rinfo.NumBlockTypes - 1) * sizeof(struct cfi_intelext_blockinfo); \		} \	} \	__ofs; \})#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -