e2f93a300738999c436a8b23f1f12bd3135bbc39
[safe/jmp/linux-2.6] / drivers / mtd / mtdcore.h
1 /* linux/drivers/mtd/mtdcore.h
2  *
3  * Header file for driver private mtdcore exports
4  *
5  */
6
7 /* These are exported solely for the purpose of mtd_blkdevs.c. You
8    should not use them for _anything_ else */
9
10 extern struct mutex mtd_table_mutex;
11 extern struct mtd_info *mtd_table[MAX_MTD_DEVICES];
12
13 static inline struct mtd_info *__mtd_next_device(int i)
14 {
15         while (i < MAX_MTD_DEVICES) {
16                 if (mtd_table[i])
17                         return mtd_table[i];
18                 i++;
19         }
20         return NULL;
21 }
22
23 #define mtd_for_each_device(mtd)                        \
24         for ((mtd) = __mtd_next_device(0);              \
25              (mtd) != NULL;                             \
26              (mtd) = __mtd_next_device(mtd->index + 1))