1c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner/**************************************************************************** 2c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner **************************************************************************** 3c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** 4c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** This header was automatically generated from a Linux kernel header 5c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** of the same name, to make information necessary for userspace to 6c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** call into the kernel available to libc. It contains only constants, 7c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** structures, and macros generated from the original header, and thus, 8c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** contains no copyrightable information. 9c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner *** 10c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner **************************************************************************** 11c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************/ 12c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#ifndef __MTD_TRANS_H__ 13c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define __MTD_TRANS_H__ 14c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 15c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#include <linux/mutex.h> 16c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 17c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct hd_geometry; 18c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct mtd_info; 19c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct mtd_blktrans_ops; 20c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct file; 21c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct inode; 22c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 23c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct mtd_blktrans_dev { 24c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct mtd_blktrans_ops *tr; 25c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct list_head list; 26c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct mtd_info *mtd; 27c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct mutex lock; 28c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int devnum; 29c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int blksize; 30c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned long size; 31c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int readonly; 32c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void *blkcore_priv; 33c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 34c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 35c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct blkcore_priv; 36c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 37c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct mtd_blktrans_ops { 38c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner char *name; 39c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int major; 40c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int part_bits; 41c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 42c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int (*readsect)(struct mtd_blktrans_dev *dev, 43c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned long block, char *buffer); 44c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int (*writesect)(struct mtd_blktrans_dev *dev, 45c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner unsigned long block, char *buffer); 46c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 47c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int (*getgeo)(struct mtd_blktrans_dev *dev, struct hd_geometry *geo); 48c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int (*flush)(struct mtd_blktrans_dev *dev); 49c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 50c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int (*open)(struct mtd_blktrans_dev *dev); 51c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int (*release)(struct mtd_blktrans_dev *dev); 52c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 53c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void (*add_mtd)(struct mtd_blktrans_ops *tr, struct mtd_info *mtd); 54c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner void (*remove_dev)(struct mtd_blktrans_dev *dev); 55c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 56c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct list_head devs; 57c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct list_head list; 58c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct module *owner; 59c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 60c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct mtd_blkcore_priv *blkcore_priv; 61c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner}; 62c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner 63c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#endif 64