mtd: Introduce and use iteration macro for reading the MTD device table
[linux-2.6/libata-dev.git] / drivers / mtd / mtdcore.h
blobe2f93a300738999c436a8b23f1f12bd3135bbc39
1 /* linux/drivers/mtd/mtdcore.h
3 * Header file for driver private mtdcore exports
5 */
7 /* These are exported solely for the purpose of mtd_blkdevs.c. You
8 should not use them for _anything_ else */
10 extern struct mutex mtd_table_mutex;
11 extern struct mtd_info *mtd_table[MAX_MTD_DEVICES];
13 static inline struct mtd_info *__mtd_next_device(int i)
15 while (i < MAX_MTD_DEVICES) {
16 if (mtd_table[i])
17 return mtd_table[i];
18 i++;
20 return NULL;
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))