]> bbs.cooldavid.org Git - net-next-2.6.git/blame - drivers/mtd/mtdcore.h
mtd: Introduce and use iteration macro for reading the MTD device table
[net-next-2.6.git] / drivers / mtd / mtdcore.h
CommitLineData
356d70f1
BD
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
10extern struct mutex mtd_table_mutex;
11extern struct mtd_info *mtd_table[MAX_MTD_DEVICES];
f1332ba2
BH
12
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))