/*
* drivers/mtd/mtdblock.h
*
* common defines for mtdblock-core and mtdblock-2x
*
* $Id: mtdblock.h,v 1.1 2002/11/27 10:33:37 gleixner Exp $
*
*/
#ifndef __MTD_MTDBLOCK_H__
#define __MTD_MTDBLOCK_H__
#define MAJOR_NR MTD_BLOCK_MAJOR
#define DEVICE_NAME "mtdblock"
struct mtdblk_dev {
struct mtd_info *mtd; /* Locked */
int count;
struct semaphore cache_sem;
unsigned char *cache_data;
unsigned long cache_offset;
unsigned int cache_size;
enum { STATE_EMPTY, STATE_CLEAN, STATE_DIRTY } cache_state;
};
extern int write_cached_data (struct mtdblk_dev *mtdblk);
extern int do_cached_write (struct mtdblk_dev *mtdblk, unsigned long pos,
int len, const char *buf);
extern int do_cached_read (struct mtdblk_dev *mtdblk, unsigned long pos,
int len, char *buf);
extern void __exit cleanup_mtdblock(void);
extern int __init init_mtdblock(void);
#endif