blob: e2f93a300738999c436a8b23f1f12bd3135bbc39 [file] [log] [blame]
Ben Dooks356d70f2007-05-28 20:28:34 +01001/* 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
10extern struct mutex mtd_table_mutex;
11extern struct mtd_info *mtd_table[MAX_MTD_DEVICES];
Ben Hutchingsf1332ba2010-01-29 20:57:11 +000012
13static 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))