Add more test info
[yaffs2.git] / yaffs_linux.h
1 /*
2  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
3  *
4  * Copyright (C) 2002-2007 Aleph One Ltd.
5  *   for Toby Churchill Ltd and Brightstar Engineering
6  *
7  * Created by Charles Manning <charles@aleph1.co.uk>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser General Public License version 2.1 as
11  * published by the Free Software Foundation.
12  *
13  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
14  */
15
16 #ifndef __YAFFS_LINUX_H__
17 #define __YAFFS_LINUX_H__
18
19 #include "devextras.h"
20 #include "yportenv.h"
21
22 struct yaffs_LinuxContext {
23         struct ylist_head       contextList; /* List of these we have mounted */
24         struct yaffs_DeviceStruct *dev;
25         struct super_block * superBlock;
26         struct task_struct *bgThread; /* Background thread for this device */
27         int bgRunning;
28         struct semaphore grossLock;     /* Gross locking semaphore */
29         __u8 *spareBuffer;      /* For mtdif2 use. Don't know the size of the buffer
30                                  * at compile time so we have to allocate it.
31                                  */
32         struct mtd_info *mtd;
33         struct ylist_head searchContexts;
34         void (*putSuperFunc)(struct super_block *sb);
35 };
36
37 #define yaffs_DeviceToContext(dev) ((struct yaffs_LinuxContext *)((dev)->context))
38
39 #endif
40